diff options
author | Rémi Nicole <nicole@kolabsystems.com> | 2018-02-21 21:11:01 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-02-21 21:19:32 +0100 |
commit | d3228a2899992370e3fb19609eb1433d02de0f40 (patch) | |
tree | a78d3d04de3856ad4da058d16174ef58797a43cc /framework/src/domain/composercontroller.h | |
parent | 6299a2fee34e53938d7c230e7e29611a6bcdb2b9 (diff) | |
download | kube-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.h | 13 |
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 | ||
83 | public: | 83 | public: |
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 | ||
91 | public slots: | 100 | public 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 | ||
97 | private: | 106 | private: |
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); |