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 addAttachment( KURL url, QString comment ) = 0;
00046     virtual void addAttachment( const QString & name,
00047                                 const QCString & cte,
00048                                 const QByteArray & data,
00049                                 const QCString & type,
00050                                 const QCString & subType,
00051                                 const QCString & paramAttr,
00052                                 const QString & paramValue,
00053                                 const QCString & contDisp) = 0;
00054   public: // kmcommand
00055     virtual void setBody( QString body ) = 0;
00056 
00057     virtual const MailComposerIface * asMailComposerIFace() const = 0;
00058     virtual MailComposerIface * asMailComposerIFace() = 0;
00059 
00060   public: // kmkernel, kmcommands, callback
00065     virtual void setMsg( KMMessage * newMsg, bool mayAutoSign=true,
00066                          bool allowDecryption=false, bool isModified=false) = 0;
00067 
00068   public: // kmkernel
00072     virtual void setAutoSaveFilename( const QString & filename ) = 0;
00073 
00074   public: // kmkernel, callback
00079     virtual void setAutoDelete( bool f ) = 0;
00080 
00085     virtual void setAutoDeleteWindow( bool f ) = 0;
00086 
00087   public: // kmcommand
00092     virtual void setFolder( KMFolder * aFolder ) = 0;
00093 
00094   public: // kmkernel, kmcommand, mailserviceimpl
00098     virtual void setCharset( const QCString & aCharset, bool forceDefault=false ) = 0;
00099 
00100   public: // kmcommand
00106     virtual void setReplyFocus( bool hasMessage=true ) = 0;
00107 
00112     virtual void setFocusToSubject() = 0;
00113 
00114   public: // callback
00116     virtual void setSigningAndEncryptionDisabled( bool v ) = 0;
00117 
00118   public slots: // kmkernel, callback
00119     virtual void slotSendNow() = 0;
00120 
00121   public slots: // kmkernel
00128     virtual void slotSetAlwaysSend( bool bAlwaysSend ) = 0;
00129   public slots: // kmkernel, callback
00133     virtual void slotWordWrapToggled(bool) = 0;
00134 
00135   public slots: // kmkernel
00136     virtual void autoSaveMessage() = 0;
00137 
00138   public: // kmkernel, attachmentlistview
00139     virtual void addAttach( const KURL url ) = 0;
00140 
00141   public: // kmcommand
00145     virtual void addAttach( const KMMessagePart * msgPart ) = 0;
00146   };
00147 
00148 }
00149 
00150 #endif // __KMAIL_COMPOSER_H__
KDE Home | KDE Accessibility Home | Description of Access Keys