From 5941fdf6d65ecf29fc46dab000987041f5f4a8d8 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 14 Jun 2017 14:59:43 +0200 Subject: Attachment support in the composer --- framework/src/domain/composercontroller.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'framework/src/domain/composercontroller.h') 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 @@ #include #include #include +#include #include #include #include @@ -66,6 +67,7 @@ class ComposerController : public Kube::Controller Q_PROPERTY (QAbstractItemModel* toModel READ toModel CONSTANT) Q_PROPERTY (QAbstractItemModel* ccModel READ ccModel CONSTANT) Q_PROPERTY (QAbstractItemModel* bccModel READ bccModel CONSTANT) + Q_PROPERTY (QAbstractItemModel* attachmentModel READ attachmentModel CONSTANT) KUBE_CONTROLLER_ACTION(send) KUBE_CONTROLLER_ACTION(saveAsDraft) @@ -81,6 +83,7 @@ public: QAbstractItemModel *toModel() const; QAbstractItemModel *ccModel() const; QAbstractItemModel *bccModel() const; + QAbstractItemModel *attachmentModel() const; Q_INVOKABLE void addTo(const QString &); Q_INVOKABLE void removeTo(const QString &); @@ -88,6 +91,8 @@ public: Q_INVOKABLE void removeCc(const QString &); Q_INVOKABLE void addBcc(const QString &); Q_INVOKABLE void removeBcc(const QString &); + Q_INVOKABLE void addAttachment(const QUrl &); + Q_INVOKABLE void removeAttachment(const QString &); public slots: virtual void clear() Q_DECL_OVERRIDE; @@ -97,8 +102,19 @@ private slots: void updateSaveAsDraftAction(); private: + enum AttachmentRoles { + NameRole = Qt::UserRole + 1, + FilenameRole, + ContentRole, + MimeTypeRole, + DescriptionRole, + InlineRole, + IconNameRole + }; + void recordForAutocompletion(const QByteArray &addrSpec, const QByteArray &displayName); void setMessage(const QSharedPointer &msg); + void addAttachmentPart(KMime::Content *partToAttach); KMime::Message::Ptr assembleMessage(); QScopedPointer mRecipientCompleter; @@ -106,4 +122,5 @@ private: QScopedPointer mToModel; QScopedPointer mCcModel; QScopedPointer mBccModel; + QScopedPointer mAttachmentModel; }; -- cgit v1.2.3