kmail

composer.h

Go to the documentation of this file.
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 
00069   public: // kmkernel
00073     virtual void setAutoSaveFilename( const QString & filename ) = 0;
00074 
00075   public: // kmkernel, callback
00080     virtual void setAutoDelete( bool f ) = 0;
00081 
00086     virtual void setAutoDeleteWindow( bool f ) = 0;
00087 
00088   public: // kmcommand
00093     virtual void setFolder( KMFolder * aFolder ) = 0;
00094 
00095   public: // kmkernel, kmcommand, mailserviceimpl
00099     virtual void setCharset( const QCString & aCharset, bool forceDefault=false ) = 0;
00100 
00101   public: // kmcommand
00107     virtual void setReplyFocus( bool hasMessage=true ) = 0;
00108 
00113     virtual void setFocusToSubject() = 0;
00114 
00115   public: // callback
00117     virtual void setSigningAndEncryptionDisabled( bool v ) = 0;
00118 
00119   public slots: // kmkernel, callback
00120     virtual void slotSendNow() = 0;
00121 
00122   public slots: // kmkernel
00129     virtual void slotSetAlwaysSend( bool bAlwaysSend ) = 0;
00130   public slots: // kmkernel, callback
00134     virtual void slotWordWrapToggled(bool) = 0;
00135 
00136   public slots: // kmkernel
00137     virtual void autoSaveMessage() = 0;
00138 
00139   public: // kmkernel, attachmentlistview
00140     virtual bool addAttach( const KURL url ) = 0;
00141 
00142     virtual void disableWordWrap() = 0;
00143 
00144   public: // kmcommand
00148     virtual void addAttach( const KMMessagePart * msgPart ) = 0;
00149   };
00150 
00151 }
00152 
00153 #endif // __KMAIL_COMPOSER_H__