00001
00002
00003
00004
00005 #ifndef __KMAIL_COMPOSER_H__
00006 #define __KMAIL_COMPOSER_H__
00007
00008 #include "secondarywindow.h"
00009
00010 #include <kurl.h>
00011 #include <kglobalsettings.h>
00012
00013 #include <tqstring.h>
00014 #include <tqcstring.h>
00015
00016 class KMMessage;
00017 class KMFolder;
00018 class KMMessagePart;
00019 class TQListViewItem;
00020 class MailComposerIface;
00021
00022 namespace KIO {
00023 class Job;
00024 }
00025
00026 namespace GpgME {
00027 class Error;
00028 }
00029
00030 namespace KMail {
00031
00032 class Composer;
00033
00034 Composer * makeComposer( KMMessage * msg=0, uint identity=0 );
00035
00036 class Composer : public KMail::SecondaryWindow {
00037 Q_OBJECT
00038 TQ_OBJECT
00039 protected:
00040 Composer( const char * name=0 ) : KMail::SecondaryWindow( name ) {}
00041 public:
00045 virtual void send( int how ) = 0;
00046 virtual void addAttachmentsAndSend(const KURL::List &urls, const TQString &comment, int how) = 0;
00047 virtual void addAttachment( KURL url, TQString comment ) = 0;
00048 virtual void addAttachment( const TQString & name,
00049 const TQCString & cte,
00050 const TQByteArray & data,
00051 const TQCString & type,
00052 const TQCString & subType,
00053 const TQCString & paramAttr,
00054 const TQString & paramValue,
00055 const TQCString & contDisp) = 0;
00056 public:
00057 virtual void setBody( TQString body ) = 0;
00058
00059 virtual const MailComposerIface * asMailComposerIFace() const = 0;
00060 virtual MailComposerIface * asMailComposerIFace() = 0;
00061
00062 public:
00067 virtual void setMsg( KMMessage * newMsg, bool mayAutoSign=true,
00068 bool allowDecryption=false, bool isModified=false) = 0;
00069
00073 virtual bool isComposing() const = 0;
00074
00075 public:
00079 virtual void setAutoSaveFilename( const TQString & filename ) = 0;
00080
00081
00082
00083 public:
00088 virtual void setAutoDelete( bool f ) = 0;
00089
00094 virtual void setAutoDeleteWindow( bool f ) = 0;
00095
00096 public:
00101 virtual void setFolder( KMFolder * aFolder ) = 0;
00102
00103 public:
00107 virtual void setCharset( const TQCString & aCharset, bool forceDefault=false ) = 0;
00108
00109 public:
00115 virtual void setReplyFocus( bool hasMessage=true ) = 0;
00116
00121 virtual void setFocusToSubject() = 0;
00122
00123 public:
00125 virtual void setSigningAndEncryptionDisabled( bool v ) = 0;
00126
00127 public slots:
00128 virtual void slotSendNow() = 0;
00129
00130 public slots:
00137 virtual void slotSetAlwaysSend( bool bAlwaysSend ) = 0;
00138 public slots:
00142 virtual void slotWordWrapToggled(bool) = 0;
00143
00144 public slots:
00145 virtual void autoSaveMessage() = 0;
00146
00147 public:
00148 virtual bool addAttach( const KURL url ) = 0;
00149
00150 virtual void disableWordWrap() = 0;
00151
00152 virtual void disableRecipientNumberCheck() = 0;
00153
00154 virtual void disableForgottenAttachmentsCheck() = 0;
00155
00156 virtual void ignoreStickyFields() = 0;
00157
00158 public:
00162 virtual void addAttach( const KMMessagePart * msgPart ) = 0;
00163 };
00164
00165 }
00166
00167 #endif // __KMAIL_COMPOSER_H__