You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
4.8 KiB
153 lines
4.8 KiB
/* -*- mode: C++; c-file-style: "gnu" -*- |
|
This file is part of KMail, the KDE mail client. |
|
Copyright (c) 1997 Markus Wuebben <markus.wuebben@kde.org> |
|
|
|
This program is free software; you can redistribute it and/or modify |
|
it under the terms of the GNU General Public License as published by |
|
the Free Software Foundation; either version 2 of the License, or |
|
(at your option) any later version. |
|
|
|
This program is distributed in the hope that it will be useful, |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
GNU General Public License for more details. |
|
|
|
You should have received a copy of the GNU General Public License along |
|
with this program; if not, write to the Free Software Foundation, Inc., |
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
|
*/ |
|
|
|
#ifndef __KMAIL_COMPOSER_H__ |
|
#define __KMAIL_COMPOSER_H__ |
|
|
|
#include "secondarywindow.h" |
|
|
|
#include <kurl.h> |
|
#include <kglobalsettings.h> |
|
|
|
#include <QString> |
|
|
|
class KMMessage; |
|
class KMFolder; |
|
class KMMessagePart; |
|
class MailComposerIface; |
|
|
|
namespace KMail { |
|
|
|
class Composer; |
|
|
|
Composer *makeComposer( KMMessage *msg=0, uint identity=0 ); |
|
|
|
class Composer : public KMail::SecondaryWindow |
|
{ |
|
Q_OBJECT |
|
protected: |
|
Composer( const char *name=0 ) : KMail::SecondaryWindow( name ) {} |
|
|
|
public: // mailserviceimpl |
|
/** |
|
* From MailComposerIface |
|
*/ |
|
virtual void send( int how ) = 0; |
|
virtual void addAttachmentsAndSend( const KUrl::List &urls, |
|
const QString &comment, int how) = 0; |
|
virtual void addAttachment( const KUrl &url, const QString &comment ) = 0; |
|
virtual void addAttachment( const QString &name, |
|
const QByteArray &cte, |
|
const QByteArray &data, |
|
const QByteArray &type, |
|
const QByteArray &subType, |
|
const QByteArray ¶mAttr, |
|
const QString ¶mValue, |
|
const QByteArray &contDisp ) = 0; |
|
public: // kmcommand |
|
virtual void setBody( const QString &body ) = 0; |
|
virtual QString dbusObjectPath() const = 0; |
|
public: // kmkernel, kmcommands, callback |
|
/** |
|
* Set the message the composer shall work with. This discards |
|
* previous messages without calling applyChanges() on them before. |
|
*/ |
|
virtual void setMsg( KMMessage *newMsg, bool mayAutoSign=true, |
|
bool allowDecryption=false, bool isModified=false ) = 0; |
|
|
|
public: // kmkernel |
|
/** |
|
* Set the filename which is used for autosaving. |
|
*/ |
|
virtual void setAutoSaveFilename( const QString &filename ) = 0; |
|
|
|
public: // kmkernel, callback |
|
/** |
|
* If this flag is set the message of the composer is deleted when |
|
* the composer is closed and the message was not sent. Default: false |
|
*/ |
|
virtual void setAutoDelete( bool f ) = 0; |
|
|
|
public: // kmcommand |
|
/** |
|
* If this folder is set, the original message is inserted back after |
|
* canceling |
|
*/ |
|
virtual void setFolder( KMFolder *aFolder ) = 0; |
|
|
|
public: // kmkernel, kmcommand, mailserviceimpl |
|
/** |
|
* Recode to the specified charset |
|
*/ |
|
virtual void setCharset( const QByteArray &aCharset, bool forceDefault=false ) = 0; |
|
|
|
public: // kmcommand |
|
/** |
|
* Sets the focus to the edit-widget and the cursor below the |
|
* "On ... you wrote" line when hasMessage is true. |
|
* Make sure you call this _after_ setMsg(). |
|
*/ |
|
virtual void setReplyFocus( bool hasMessage=true ) = 0; |
|
|
|
/** |
|
* Sets the focus to the subject line edit. For use when creating a |
|
* message to a known recipient. |
|
*/ |
|
virtual void setFocusToSubject() = 0; |
|
|
|
public: // callback |
|
/** Disabled signing and encryption completely for this composer window. */ |
|
virtual void setSigningAndEncryptionDisabled( bool v ) = 0; |
|
|
|
public slots: // kmkernel, callback |
|
virtual void slotSendNow() = 0; |
|
|
|
public slots: // kmkernel |
|
/** |
|
Tell the composer to always send the message, even if the user |
|
hasn't changed the next. This is useful if a message is |
|
autogenerated (e.g., via a D-Bus call), and the user should |
|
simply be able to confirm the message and send it. |
|
*/ |
|
virtual void slotSetAlwaysSend( bool bAlwaysSend ) = 0; |
|
|
|
public slots: // kmkernel, callback |
|
/** |
|
* Switch wordWrap on/off |
|
*/ |
|
virtual void slotWordWrapToggled( bool ) = 0; |
|
|
|
public slots: // kmkernel |
|
virtual void autoSaveMessage() = 0; |
|
|
|
public: // kmkernel, attachmentlistview |
|
virtual bool addAttach( const KUrl &url ) = 0; |
|
|
|
virtual void disableWordWrap() = 0; |
|
|
|
public: // kmcommand |
|
/** |
|
* Add an attachment to the list. |
|
*/ |
|
virtual void addAttach( KMMessagePart *msgPart ) = 0; |
|
}; |
|
|
|
} |
|
|
|
#endif // __KMAIL_COMPOSER_H__
|
|
|