summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/composercontroller.h
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/composercontroller.h')
-rw-r--r--framework/src/domain/composercontroller.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/framework/src/domain/composercontroller.h b/framework/src/domain/composercontroller.h
index 87349d0c..de154b66 100644
--- a/framework/src/domain/composercontroller.h
+++ b/framework/src/domain/composercontroller.h
@@ -24,6 +24,7 @@
24#include <QString> 24#include <QString>
25#include <QStringList> 25#include <QStringList>
26#include <QStringListModel> 26#include <QStringListModel>
27#include <QStandardItemModel>
27#include <QVariant> 28#include <QVariant>
28#include <sink/applicationdomaintype.h> 29#include <sink/applicationdomaintype.h>
29#include <KMime/Message> 30#include <KMime/Message>
@@ -66,6 +67,7 @@ class ComposerController : public Kube::Controller
66 Q_PROPERTY (QAbstractItemModel* toModel READ toModel CONSTANT) 67 Q_PROPERTY (QAbstractItemModel* toModel READ toModel CONSTANT)
67 Q_PROPERTY (QAbstractItemModel* ccModel READ ccModel CONSTANT) 68 Q_PROPERTY (QAbstractItemModel* ccModel READ ccModel CONSTANT)
68 Q_PROPERTY (QAbstractItemModel* bccModel READ bccModel CONSTANT) 69 Q_PROPERTY (QAbstractItemModel* bccModel READ bccModel CONSTANT)
70 Q_PROPERTY (QAbstractItemModel* attachmentModel READ attachmentModel CONSTANT)
69 71
70 KUBE_CONTROLLER_ACTION(send) 72 KUBE_CONTROLLER_ACTION(send)
71 KUBE_CONTROLLER_ACTION(saveAsDraft) 73 KUBE_CONTROLLER_ACTION(saveAsDraft)
@@ -81,6 +83,7 @@ public:
81 QAbstractItemModel *toModel() const; 83 QAbstractItemModel *toModel() const;
82 QAbstractItemModel *ccModel() const; 84 QAbstractItemModel *ccModel() const;
83 QAbstractItemModel *bccModel() const; 85 QAbstractItemModel *bccModel() const;
86 QAbstractItemModel *attachmentModel() const;
84 87
85 Q_INVOKABLE void addTo(const QString &); 88 Q_INVOKABLE void addTo(const QString &);
86 Q_INVOKABLE void removeTo(const QString &); 89 Q_INVOKABLE void removeTo(const QString &);
@@ -88,6 +91,8 @@ public:
88 Q_INVOKABLE void removeCc(const QString &); 91 Q_INVOKABLE void removeCc(const QString &);
89 Q_INVOKABLE void addBcc(const QString &); 92 Q_INVOKABLE void addBcc(const QString &);
90 Q_INVOKABLE void removeBcc(const QString &); 93 Q_INVOKABLE void removeBcc(const QString &);
94 Q_INVOKABLE void addAttachment(const QUrl &);
95 Q_INVOKABLE void removeAttachment(const QString &);
91 96
92public slots: 97public slots:
93 virtual void clear() Q_DECL_OVERRIDE; 98 virtual void clear() Q_DECL_OVERRIDE;
@@ -97,8 +102,19 @@ private slots:
97 void updateSaveAsDraftAction(); 102 void updateSaveAsDraftAction();
98 103
99private: 104private:
105 enum AttachmentRoles {
106 NameRole = Qt::UserRole + 1,
107 FilenameRole,
108 ContentRole,
109 MimeTypeRole,
110 DescriptionRole,
111 InlineRole,
112 IconNameRole
113 };
114
100 void recordForAutocompletion(const QByteArray &addrSpec, const QByteArray &displayName); 115 void recordForAutocompletion(const QByteArray &addrSpec, const QByteArray &displayName);
101 void setMessage(const QSharedPointer<KMime::Message> &msg); 116 void setMessage(const QSharedPointer<KMime::Message> &msg);
117 void addAttachmentPart(KMime::Content *partToAttach);
102 KMime::Message::Ptr assembleMessage(); 118 KMime::Message::Ptr assembleMessage();
103 119
104 QScopedPointer<Completer> mRecipientCompleter; 120 QScopedPointer<Completer> mRecipientCompleter;
@@ -106,4 +122,5 @@ private:
106 QScopedPointer<QStringListModel> mToModel; 122 QScopedPointer<QStringListModel> mToModel;
107 QScopedPointer<QStringListModel> mCcModel; 123 QScopedPointer<QStringListModel> mCcModel;
108 QScopedPointer<QStringListModel> mBccModel; 124 QScopedPointer<QStringListModel> mBccModel;
125 QScopedPointer<QStandardItemModel> mAttachmentModel;
109}; 126};