kmail

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 <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: // 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__