diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-06-14 14:59:43 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-06-14 15:51:56 +0200 |
commit | 5941fdf6d65ecf29fc46dab000987041f5f4a8d8 (patch) | |
tree | 07a04edf9079955aa725ea24014106dcb6616911 /framework/src/domain/composercontroller.h | |
parent | 8809ffea6390e593b1d83f69cc50dfe8d7dadad0 (diff) | |
download | kube-5941fdf6d65ecf29fc46dab000987041f5f4a8d8.tar.gz kube-5941fdf6d65ecf29fc46dab000987041f5f4a8d8.zip |
Attachment support in the composer
Diffstat (limited to 'framework/src/domain/composercontroller.h')
-rw-r--r-- | framework/src/domain/composercontroller.h | 17 |
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 | ||
92 | public slots: | 97 | public 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 | ||
99 | private: | 104 | private: |
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 | }; |