composer.h
00001 /* -*- mode: C++; c-file-style: "gnu" -*- 00002 * KMComposeWin Header File 00003 * Author: Markus Wuebben <markus.wuebben@kde.org> 00004 */ 00005 #ifndef __KMAIL_COMPOSER_H__ 00006 #define __KMAIL_COMPOSER_H__ 00007 00008 #include "secondarywindow.h" 00009 00010 #include <kurl.h> 00011 #include <tdeglobalsettings.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 TDEIO { 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 00039 protected: 00040 Composer( const char * name=0 ) : KMail::SecondaryWindow( name ) {} 00041 public: // mailserviceimpl 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: // kmcommand 00057 virtual void setBody( TQString body ) = 0; 00058 00059 virtual const MailComposerIface * asMailComposerIFace() const = 0; 00060 virtual MailComposerIface * asMailComposerIFace() = 0; 00061 00062 public: // kmkernel, kmcommands, callback 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: // kmkernel 00079 virtual void setAutoSaveFilename( const TQString & filename ) = 0; 00080 00081 00082 00083 public: // kmkernel, callback 00088 virtual void setAutoDelete( bool f ) = 0; 00089 00094 virtual void setAutoDeleteWindow( bool f ) = 0; 00095 00096 public: // kmcommand 00101 virtual void setFolder( KMFolder * aFolder ) = 0; 00102 00103 public: // kmkernel, kmcommand, mailserviceimpl 00107 virtual void setCharset( const TQCString & aCharset, bool forceDefault=false ) = 0; 00108 00109 public: // kmcommand 00115 virtual void setReplyFocus( bool hasMessage=true ) = 0; 00116 00121 virtual void setFocusToSubject() = 0; 00122 00123 public: // callback 00125 virtual void setSigningAndEncryptionDisabled( bool v ) = 0; 00126 00127 public slots: // kmkernel, callback 00128 virtual void slotSendNow() = 0; 00129 00130 public slots: // kmkernel 00137 virtual void slotSetAlwaysSend( bool bAlwaysSend ) = 0; 00138 public slots: // kmkernel, callback 00142 virtual void slotWordWrapToggled(bool) = 0; 00143 00144 public slots: // kmkernel 00145 virtual void autoSaveMessage() = 0; 00146 00147 public: // kmkernel, attachmentlistview 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: // kmcommand 00162 virtual void addAttach( const KMMessagePart * msgPart ) = 0; 00163 }; 00164 00165 } 00166 00167 #endif // __KMAIL_COMPOSER_H__