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 <qstring.h>
00014 #include <qcstring.h>
00015 
00016 class KMMessage;
00017 class KMFolder;
00018 class KMMessagePart;
00019 class QListViewItem;
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   protected:
00039     Composer( const char * name=0 ) : KMail::SecondaryWindow( name ) {}
00040   public: // mailserviceimpl
00044     virtual void send( int how ) = 0;
00045     virtual void addAttachmentsAndSend(const KURL::List &urls, const QString &comment, int how) = 0;
00046     virtual void addAttachment( KURL url, QString comment ) = 0;
00047     virtual void addAttachment( const QString & name,
00048                                 const QCString & cte,
00049                                 const QByteArray & data,
00050                                 const QCString & type,
00051                                 const QCString & subType,
00052                                 const QCString & paramAttr,
00053                                 const QString & paramValue,
00054                                 const QCString & contDisp) = 0;
00055   public: // kmcommand
00056     virtual void setBody( QString body ) = 0;
00057 
00058     virtual const MailComposerIface * asMailComposerIFace() const = 0;
00059     virtual MailComposerIface * asMailComposerIFace() = 0;
00060 
00061   public: // kmkernel, kmcommands, callback
00066     virtual void setMsg( KMMessage * newMsg, bool mayAutoSign=true,
00067                          bool allowDecryption=false, bool isModified=false) = 0;
00068 
00072    virtual bool isComposing() const = 0;
00073 
00074   public: // kmkernel
00078     virtual void setAutoSaveFilename( const QString & filename ) = 0;
00079 
00080 
00081 
00082   public: // kmkernel, callback
00087     virtual void setAutoDelete( bool f ) = 0;
00088 
00093     virtual void setAutoDeleteWindow( bool f ) = 0;
00094 
00095   public: // kmcommand
00100     virtual void setFolder( KMFolder * aFolder ) = 0;
00101 
00102   public: // kmkernel, kmcommand, mailserviceimpl
00106     virtual void setCharset( const QCString & aCharset, bool forceDefault=false ) = 0;
00107 
00108   public: // kmcommand
00114     virtual void setReplyFocus( bool hasMessage=true ) = 0;
00115 
00120     virtual void setFocusToSubject() = 0;
00121 
00122   public: // callback
00124     virtual void setSigningAndEncryptionDisabled( bool v ) = 0;
00125 
00126   public slots: // kmkernel, callback
00127     virtual void slotSendNow() = 0;
00128 
00129   public slots: // kmkernel
00136     virtual void slotSetAlwaysSend( bool bAlwaysSend ) = 0;
00137   public slots: // kmkernel, callback
00141     virtual void slotWordWrapToggled(bool) = 0;
00142 
00143   public slots: // kmkernel
00144     virtual void autoSaveMessage() = 0;
00145 
00146   public: // kmkernel, attachmentlistview
00147     virtual bool addAttach( const KURL url ) = 0;
00148 
00149     virtual void disableWordWrap() = 0;
00150 
00151     virtual void disableRecipientNumberCheck() = 0;
00152 
00153     virtual void disableForgottenAttachmentsCheck() = 0;
00154 
00155     virtual void ignoreStickyFields() = 0;
00156 
00157   public: // kmcommand
00161     virtual void addAttach( const KMMessagePart * msgPart ) = 0;
00162   };
00163 
00164 }
00165 
00166 #endif // __KMAIL_COMPOSER_H__