19#ifndef INCLUDED_SW_SOURCE_UIBASE_INC_MAILMERGEHELPER_HXX
20#define INCLUDED_SW_SOURCE_UIBASE_INC_MAILMERGEHELPER_HXX
22#include <com/sun/star/uno/Sequence.h>
23#include <com/sun/star/mail/XAuthenticator.hpp>
24#include <com/sun/star/mail/XConnectionListener.hpp>
25#include <com/sun/star/uno/XCurrentContext.hpp>
26#include <com/sun/star/mail/XMailMessage.hpp>
27#include <com/sun/star/datatransfer/XTransferable.hpp>
28#include <com/sun/star/beans/XPropertySet.hpp>
35#include <rtl/ustring.hxx>
51 css::uno::Reference<css::mail::XMailService>& xInMailService,
52 const OUString& rInMailServerPassword,
53 const OUString& rOutMailServerPassword,
63 std::unique_ptr<SwAddressPreview_Impl>
m_pImpl;
68 const Point& rTopLeft,
const Size& rSize,
bool bIsSelected);
73 void UpdateScrollBar();
88 void AddAddress(
const OUString& rAddress);
90 void SetAddress(
const OUString& rAddress);
95 sal_uInt16 GetSelectedAddress()
const;
96 void SelectAddress(sal_uInt16 nSelect);
97 void ReplaceSelectedAddress(
const OUString&);
98 void RemoveSelectedAddress();
101 void SetLayout(sal_uInt16 nRows, sal_uInt16 nColumns);
102 void EnableScrollBar();
106 const css::uno::Sequence<OUString>* pAssignments =
nullptr);
131 m_sAddress(
std::move(aAddress))
135 bool HasMore()
const {
return !m_sAddress.isEmpty(); }
139 public cppu::WeakImplHelper<css::mail::XAuthenticator>
146 : m_pParentWindow(nullptr)
149 : m_aUserName(
std::move(username))
151 , m_pParentWindow(pParent)
155 virtual OUString SAL_CALL getUserName()
override;
170 virtual css::uno::Any SAL_CALL getValueByName(
const OUString& Name)
override;
175 public cppu::WeakComponentImplHelper<css::mail::XConnectionListener>
177 using cppu::WeakComponentImplHelperBase::disposing;
181 cppu::WeakComponentImplHelper<css::mail::XConnectionListener>(
m_aMutex)
185 virtual void SAL_CALL connected(
const css::lang::EventObject& aEvent)
override;
187 virtual void SAL_CALL disconnected(
const css::lang::EventObject& aEvent)
override;
189 virtual void SAL_CALL disposing(
const css::lang::EventObject& aEvent)
override;
194 public cppu::WeakComponentImplHelper<css::datatransfer::XTransferable, css::beans::XPropertySet>
206 virtual css::uno::Any SAL_CALL getTransferData(
const css::datatransfer::DataFlavor& aFlavor)
override;
208 virtual css::uno::Sequence<css::datatransfer::DataFlavor> SAL_CALL getTransferDataFlavors()
override;
209 virtual sal_Bool SAL_CALL isDataFlavorSupported(
const css::datatransfer::DataFlavor& aFlavor)
override;
212 virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo()
override;
213 virtual void SAL_CALL
setPropertyValue(
const OUString& aPropertyName,
const css::uno::Any& aValue)
override;
215 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& PropertyName)
override;
216 virtual void SAL_CALL addPropertyChangeListener(
const OUString& aPropertyName,
217 const css::uno::Reference<css::beans::XPropertyChangeListener>& xListener)
override;
218 virtual void SAL_CALL removePropertyChangeListener(
const OUString& aPropertyName,
219 const css::uno::Reference<css::beans::XPropertyChangeListener >& aListener)
override;
220 virtual void SAL_CALL addVetoableChangeListener(
const OUString& PropertyName,
221 const css::uno::Reference<css::beans::XVetoableChangeListener>& aListener)
override;
222 virtual void SAL_CALL removeVetoableChangeListener(
const OUString& PropertyName,
223 const css::uno::Reference<css::beans::XVetoableChangeListener>& aListener)
override;
229 public cppu::WeakComponentImplHelper<css::mail::XMailMessage>
236 css::uno::Reference<css::datatransfer::XTransferable>
m_xBody;
249 virtual OUString SAL_CALL getSenderName()
override;
250 virtual OUString SAL_CALL getSenderAddress()
override;
251 virtual OUString SAL_CALL getReplyToAddress()
override;
252 virtual void SAL_CALL setReplyToAddress(
const OUString& _replytoaddress )
override;
253 virtual OUString SAL_CALL getSubject()
override;
254 virtual void SAL_CALL setSubject(
const OUString& _subject)
override;
256 virtual css::uno::Reference<css::datatransfer::XTransferable> SAL_CALL getBody()
override;
257 virtual void SAL_CALL setBody(
const css::uno::Reference<css::datatransfer::XTransferable>& _body)
override;
260 virtual void SAL_CALL addRecipient(
const OUString& sRecipientAddress )
override;
261 virtual void SAL_CALL addCcRecipient(
const OUString& sRecipientAddress )
override;
262 virtual void SAL_CALL addBccRecipient(
const OUString& sRecipientAddress )
override;
263 virtual css::uno::Sequence<OUString> SAL_CALL getRecipients()
override;
264 virtual css::uno::Sequence<OUString> SAL_CALL getCcRecipients()
override;
265 virtual css::uno::Sequence<OUString> SAL_CALL getBccRecipients()
override;
266 virtual void SAL_CALL addAttachment(
const css::mail::MailAttachment& aMailAttachment)
override;
267 virtual css::uno::Sequence<css::mail::MailAttachment> SAL_CALL getAttachments()
override;
270 m_sSenderName = rSenderName;
274 m_sSenderAddress = rSenderAddress;
SwAddressIterator(OUString aAddress)
std::unique_ptr< SwAddressPreview_Impl > m_pImpl
Link< LinkParamNone *, void > m_aSelectHdl
std::unique_ptr< weld::ScrolledWindow > m_xVScrollBar
DECL_DLLPRIVATE_LINK(ScrollHdl, weld::ScrolledWindow &, void)
void SetSelectHdl(const Link< LinkParamNone *, void > &rLink)
SwAuthenticator(OUString username, OUString password, weld::Window *pParent)
weld::Window * m_pParentWindow
OUString m_sConnectionType
OUString m_sSenderAddress
css::uno::Sequence< OUString > m_aRecipients
css::uno::Reference< css::datatransfer::XTransferable > m_xBody
css::uno::Sequence< OUString > m_aBccRecipients
void SetSenderName(const OUString &rSenderName)
void SetSenderAddress(const OUString &rSenderAddress)
css::uno::Sequence< css::mail::MailAttachment > m_aAttachments
css::uno::Sequence< OUString > m_aCcRecipients
OUString m_sReplyToAddress
uno::Reference< mail::XSmtpService > ConnectToSmtpServer(SwMailMergeConfigItem const &rConfigItem, uno::Reference< mail::XMailService > &rxInMailService, const OUString &rInMailServerPassword, const OUString &rOutMailServerPassword, weld::Window *pDialogParentWindow)
OUString CallSaveAsDialog(weld::Window *pParent, OUString &rFilter)
bool CheckMailAddress(std::u16string_view aMailAddress)
VBAHELPER_DLLPUBLIC bool setPropertyValue(css::uno::Sequence< css::beans::PropertyValue > &aProp, const OUString &aName, const css::uno::Any &aValue)
bool getPassword(const css::uno::Reference< css::task::XInteractionHandler > &xHandler, OUString &rOutPwd, bool bFirstTry, const OUString &rDocName)
bool getPropertyValue(ValueType &rValue, css::uno::Reference< css::beans::XPropertySet > const &xPropSet, OUString const &propName)