summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/composercontroller.h
diff options
context:
space:
mode:
authorRémi Nicole <nicole@kolabsystems.com>2018-02-21 21:11:01 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-02-21 21:19:32 +0100
commitd3228a2899992370e3fb19609eb1433d02de0f40 (patch)
treea78d3d04de3856ad4da058d16174ef58797a43cc /framework/src/domain/composercontroller.h
parent6299a2fee34e53938d7c230e7e29611a6bcdb2b9 (diff)
downloadkube-d3228a2899992370e3fb19609eb1433d02de0f40.tar.gz
kube-d3228a2899992370e3fb19609eb1433d02de0f40.zip
T7024 fix: implement attachment-based forwarding
Summary: Implement attachment-based forwarding. Some notes: - `loadAsDraft` was removed in favor of new enum `loadType` in QML, and callback based generic programming in C++ Reviewers: cmollekopf Tags: #kube Maniphest Tasks: T7024 Differential Revision: https://phabricator.kde.org/D10676
Diffstat (limited to 'framework/src/domain/composercontroller.h')
-rw-r--r--framework/src/domain/composercontroller.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/framework/src/domain/composercontroller.h b/framework/src/domain/composercontroller.h
index 0ace365b..ac83dfd3 100644
--- a/framework/src/domain/composercontroller.h
+++ b/framework/src/domain/composercontroller.h
@@ -81,12 +81,21 @@ class ComposerController : public Kube::Controller
81 KUBE_CONTROLLER_ACTION(saveAsDraft) 81 KUBE_CONTROLLER_ACTION(saveAsDraft)
82 82
83public: 83public:
84 enum LoadType {
85 Draft,
86 Reply,
87 Forward,
88 };
89 Q_ENUMS(LoadType);
90
84 explicit ComposerController(); 91 explicit ComposerController();
85 92
86 Completer *recipientCompleter() const; 93 Completer *recipientCompleter() const;
87 Selector *identitySelector() const; 94 Selector *identitySelector() const;
88 95
89 Q_INVOKABLE void loadMessage(const QVariant &draft, bool loadAsDraft); 96 Q_INVOKABLE void loadDraft(const QVariant &message);
97 Q_INVOKABLE void loadReply(const QVariant &message);
98 Q_INVOKABLE void loadForward(const QVariant &message);
90 99
91public slots: 100public slots:
92 virtual void clear() Q_DECL_OVERRIDE; 101 virtual void clear() Q_DECL_OVERRIDE;
@@ -95,6 +104,8 @@ private slots:
95 void findPersonalKey(); 104 void findPersonalKey();
96 105
97private: 106private:
107 void loadMessage(const QVariant &message, std::function<void(const KMime::Message::Ptr&)> callback);
108
98 void recordForAutocompletion(const QByteArray &addrSpec, const QByteArray &displayName); 109 void recordForAutocompletion(const QByteArray &addrSpec, const QByteArray &displayName);
99 void setMessage(const QSharedPointer<KMime::Message> &msg); 110 void setMessage(const QSharedPointer<KMime::Message> &msg);
100 void addAttachmentPart(KMime::Content *partToAttach); 111 void addAttachmentPart(KMime::Content *partToAttach);