summaryrefslogtreecommitdiff
path: root/sw/source/ui/inc/mailmergehelper.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/inc/mailmergehelper.hxx')
-rw-r--r--sw/source/ui/inc/mailmergehelper.hxx349
1 files changed, 349 insertions, 0 deletions
diff --git a/sw/source/ui/inc/mailmergehelper.hxx b/sw/source/ui/inc/mailmergehelper.hxx
new file mode 100644
index 000000000000..954ce643d8e9
--- /dev/null
+++ b/sw/source/ui/inc/mailmergehelper.hxx
@@ -0,0 +1,349 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _MAILMERGEHELPER_HXX
+#define _MAILMERGEHELPER_HXX
+
+#include <svtools/stdctrl.hxx>
+#include <unotools/configitem.hxx>
+#include <com/sun/star/uno/Sequence.h>
+#include "com/sun/star/mail/XAuthenticator.hpp"
+#include "com/sun/star/mail/XConnectionListener.hpp"
+#include "com/sun/star/uno/XCurrentContext.hpp"
+#include "com/sun/star/mail/XMailMessage.hpp"
+#include "com/sun/star/datatransfer/XTransferable.hpp"
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/compbase1.hxx>
+#include <cppuhelper/compbase2.hxx>
+#include <vcl/scrbar.hxx>
+#include "swdllapi.h"
+
+
+class SwMailMergeConfigItem;
+namespace com{ namespace sun{ namespace star{
+ namespace uno{
+ class XComponentContext;
+ }
+ namespace lang{
+ class XMultiServiceFactory;
+ }
+ namespace mail{
+ class XSmtpService;
+ class XMailService;
+ }
+}}}
+/*-- 14.06.2004 12:27:42---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+namespace SwMailMergeHelper
+{
+ SW_DLLPUBLIC String CallSaveAsDialog(String& rFilter);
+ SW_DLLPUBLIC bool CheckMailAddress( const ::rtl::OUString& rMailAddress );
+ SW_DLLPUBLIC com::sun::star::uno::Reference< com::sun::star::mail::XSmtpService >
+ ConnectToSmtpServer( SwMailMergeConfigItem& rConfigItem,
+ com::sun::star::uno::Reference< com::sun::star::mail::XMailService >& xInMailService,
+ const String& rInMailServerPassword,
+ const String& rOutMailServerPassword,
+ Window* pDialogParentWindow = 0 );
+}
+/* -----------------06.04.2004 10:29-----------------
+
+ --------------------------------------------------*/
+class SW_DLLPUBLIC SwBoldFixedInfo : public FixedInfo
+{
+public:
+ SwBoldFixedInfo(Window* pParent, const ResId& rResId);
+ ~SwBoldFixedInfo();
+};
+struct SwAddressPreview_Impl;
+namespace com{namespace sun{namespace star{
+ namespace container{
+ class XNameAccess;
+ }
+}}}
+
+/*-- 27.04.2004 13:20:00---------------------------------------------------
+ Preview window used to show the possible selection of address blocks
+ and also the resulting address filled with database data
+ -----------------------------------------------------------------------*/
+class SW_DLLPUBLIC SwAddressPreview : public Window
+{
+ ScrollBar aVScrollBar;
+ SwAddressPreview_Impl* pImpl;
+ Link m_aSelectHdl;
+
+ void DrawText_Impl( const ::rtl::OUString& rAddress, const Point& rTopLeft, const Size& rSize, bool bIsSelected);
+
+ virtual void Paint(const Rectangle&);
+ virtual void MouseButtonDown( const MouseEvent& rMEvt );
+ virtual void KeyInput( const KeyEvent& rKEvt );
+ virtual void StateChanged( StateChangedType nStateChange );
+ void UpdateScrollBar();
+
+ DECL_LINK(ScrollHdl, ScrollBar*);
+
+public:
+ SwAddressPreview(Window* pParent, const ResId rResId);
+ ~SwAddressPreview();
+
+ /** The address string is a list of address elements separated by spaces
+ and breaks. The addresses fit into the given layout. If more addresses then
+ rows/columns should be used a scrollbar will be added.
+
+ AddAddress appends the new address to the already added ones.
+ Initially the first added address will be selected
+ */
+ void AddAddress(const ::rtl::OUString& rAddress);
+ // for preview mode - replaces the currently used address by the given one
+ void SetAddress(const ::rtl::OUString& rAddress);
+ // removes all addresses
+ void Clear();
+
+ // returns the selected address
+ sal_uInt16 GetSelectedAddress() const;
+ void SelectAddress(sal_uInt16 nSelect);
+ void ReplaceSelectedAddress(const ::rtl::OUString&);
+ void RemoveSelectedAddress();
+
+ // set the number of rows and columns of addresses
+ void SetLayout(sal_uInt16 nRows, sal_uInt16 nColumns);
+ void EnableScrollBar(bool bEnable = true);
+
+ // fill the actual data into a string (address block or greeting)
+ static String FillData(
+ const ::rtl::OUString& rAddress,
+ SwMailMergeConfigItem& rConfigItem,
+ const ::com::sun::star::uno::Sequence< ::rtl::OUString>* pAssignments = 0);
+
+ void SetSelectHdl (const Link& rLink) {m_aSelectHdl = rLink;}
+};
+
+/*-- 11.05.2004 15:39:59---------------------------------------------------
+ iterate over an address block or a greeting line
+ the iterator returns the parts either as pure string
+ or as column
+ -----------------------------------------------------------------------*/
+struct SwMergeAddressItem
+{
+ String sText;
+ bool bIsColumn;
+ bool bIsReturn;
+ SwMergeAddressItem() :
+ bIsColumn(false),
+ bIsReturn(false) {}
+};
+class SW_DLLPUBLIC SwAddressIterator
+{
+ String sAddress;
+public:
+ SwAddressIterator(const String& rAddress) :
+ sAddress(rAddress){}
+
+ SwMergeAddressItem Next();
+ bool HasMore() const{return sAddress.Len() > 0;}
+};
+
+/*-- 21.05.2004 10:31:15---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+class SW_DLLPUBLIC SwAuthenticator :
+ public cppu::WeakImplHelper1< ::com::sun::star::mail::XAuthenticator>
+{
+ ::rtl::OUString m_aUserName;
+ ::rtl::OUString m_aPassword;
+ Window* m_pParentWindow;
+public:
+ SwAuthenticator() : m_pParentWindow(0) {}
+ SwAuthenticator(const ::rtl::OUString& username, const ::rtl::OUString& password, Window* pParent) :
+ m_aUserName(username),
+ m_aPassword(password),
+ m_pParentWindow( pParent )
+ {}
+ ~SwAuthenticator();
+
+ virtual ::rtl::OUString SAL_CALL getUserName( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getPassword( ) throw (::com::sun::star::uno::RuntimeException);
+
+};
+/*-- 25.08.2004 12:48:47---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+class SW_DLLPUBLIC SwConnectionContext :
+ public cppu::WeakImplHelper1< ::com::sun::star::uno::XCurrentContext >
+{
+ ::rtl::OUString m_sMailServer;
+ sal_Int16 m_nPort;
+ ::rtl::OUString m_sConnectionType;
+
+public:
+ SwConnectionContext(const ::rtl::OUString& rMailServer, sal_Int16 nPort, const ::rtl::OUString& rConnectionType);
+ ~SwConnectionContext();
+
+ virtual ::com::sun::star::uno::Any SAL_CALL getValueByName( const ::rtl::OUString& Name )
+ throw (::com::sun::star::uno::RuntimeException);
+};
+/*-- 21.05.2004 10:39:20---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+class SwMutexBase
+{
+public:
+ osl::Mutex m_aMutex;
+};
+/*-- 21.05.2004 10:39:20---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+class SW_DLLPUBLIC SwConnectionListener :
+ public SwMutexBase,
+ public cppu::WeakComponentImplHelper1< ::com::sun::star::mail::XConnectionListener >
+{
+ using cppu::WeakComponentImplHelperBase::disposing;
+
+public:
+ SwConnectionListener() :
+ cppu::WeakComponentImplHelper1< ::com::sun::star::mail::XConnectionListener>(m_aMutex)
+ {}
+ ~SwConnectionListener();
+
+ virtual void SAL_CALL connected(const ::com::sun::star::lang::EventObject& aEvent)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL disconnected(const ::com::sun::star::lang::EventObject& aEvent)
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL disposing(const com::sun::star::lang::EventObject& aEvent)
+ throw(com::sun::star::uno::RuntimeException);
+};
+
+/*-- 13.07.2004 09:02:12---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+class SwMailTransferable :
+ public SwMutexBase,
+ public cppu::WeakComponentImplHelper2
+ <
+ ::com::sun::star::datatransfer::XTransferable,
+ ::com::sun::star::beans::XPropertySet
+ >
+{
+ rtl::OUString m_aMimeType;
+ rtl::OUString m_sBody;
+ rtl::OUString m_aURL;
+ rtl::OUString m_aName;
+ bool m_bIsBody;
+
+ public:
+ SwMailTransferable(const rtl::OUString& rURL, const rtl::OUString& rName, const rtl::OUString& rMimeType);
+ SwMailTransferable(const rtl::OUString& rBody, const rtl::OUString& rMimeType);
+ ~SwMailTransferable();
+ virtual ::com::sun::star::uno::Any SAL_CALL
+ getTransferData( const ::com::sun::star::datatransfer::DataFlavor& aFlavor )
+ throw (::com::sun::star::datatransfer::UnsupportedFlavorException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > SAL_CALL
+ getTransferDataFlavors( )
+ throw (::com::sun::star::uno::RuntimeException) ;
+ virtual ::sal_Bool SAL_CALL
+ isDataFlavorSupported( const ::com::sun::star::datatransfer::DataFlavor& aFlavor )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ //XPropertySet
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+};
+
+/*-- 22.06.2004 16:38:34---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+class SwMailMessage :
+ public SwMutexBase,
+ public cppu::WeakComponentImplHelper1< ::com::sun::star::mail::XMailMessage >
+{
+ ::rtl::OUString m_sSenderName;
+ ::rtl::OUString m_sSenderAddress;
+ ::rtl::OUString m_sReplyToAddress;
+ ::rtl::OUString m_sSubject;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable> m_xBody;
+// ::com::sun::star::mail::MailMessageBody m_aBody;
+
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aRecipients;
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aCcRecipients;
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aBccRecipients;
+// ::com::sun::star::uno::Sequence< ::com::sun::star::mail::MailAttachmentDescriptor > m_aAttachments;
+ ::com::sun::star::uno::Sequence< ::com::sun::star::mail::MailAttachment > m_aAttachments;
+public:
+ SwMailMessage();
+ ~SwMailMessage();
+
+ // Attributes
+ virtual ::rtl::OUString SAL_CALL getSenderName() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSenderAddress() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getReplyToAddress() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setReplyToAddress( const ::rtl::OUString& _replytoaddress ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSubject() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setSubject( const ::rtl::OUString& _subject ) throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > SAL_CALL
+ getBody()
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setBody( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& _body )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ // Methods
+ virtual void SAL_CALL addRecipient( const ::rtl::OUString& sRecipientAddress ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addCcRecipient( const ::rtl::OUString& sRecipientAddress ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addBccRecipient( const ::rtl::OUString& sRecipientAddress ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
+ getRecipients( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
+ getCcRecipients( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
+ getBccRecipients( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addAttachment( const ::com::sun::star::mail::MailAttachment& aMailAttachment )
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::mail::MailAttachment > SAL_CALL
+ getAttachments( ) throw (::com::sun::star::uno::RuntimeException);
+ void SetSenderName(const ::rtl::OUString& rSenderName)
+ {m_sSenderName = rSenderName;}
+ void SetSenderAddress(const ::rtl::OUString& rSenderAddress)
+ {m_sSenderAddress = rSenderAddress;}
+};
+/*-- 21.05.2004 10:17:22---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SW_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext>
+ getCurrentCmpCtx(
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::lang::XMultiServiceFactory> rSrvMgr);
+#endif
+