summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--framework/src/domain/composercontroller.cpp1
-rw-r--r--framework/src/domain/composercontroller.h3
-rw-r--r--framework/src/domain/controller.cpp1
-rw-r--r--framework/src/domain/controller.h1
-rw-r--r--views/composer/qml/View.qml3
5 files changed, 8 insertions, 1 deletions
diff --git a/framework/src/domain/composercontroller.cpp b/framework/src/domain/composercontroller.cpp
index 88c0c839..80fab809 100644
--- a/framework/src/domain/composercontroller.cpp
+++ b/framework/src/domain/composercontroller.cpp
@@ -353,6 +353,7 @@ void ComposerController::setMessage(const KMime::Message::Ptr &msg)
353 } 353 }
354 354
355 setExistingMessage(msg); 355 setExistingMessage(msg);
356 emit messageLoaded(body);
356} 357}
357 358
358void ComposerController::loadDraft(const QVariant &message) { 359void ComposerController::loadDraft(const QVariant &message) {
diff --git a/framework/src/domain/composercontroller.h b/framework/src/domain/composercontroller.h
index 0d12fcce..425054d8 100644
--- a/framework/src/domain/composercontroller.h
+++ b/framework/src/domain/composercontroller.h
@@ -96,6 +96,9 @@ public:
96 Q_INVOKABLE void loadReply(const QVariant &message); 96 Q_INVOKABLE void loadReply(const QVariant &message);
97 Q_INVOKABLE void loadForward(const QVariant &message); 97 Q_INVOKABLE void loadForward(const QVariant &message);
98 98
99signals:
100 void messageLoaded(const QString &body);
101
99public slots: 102public slots:
100 virtual void clear() Q_DECL_OVERRIDE; 103 virtual void clear() Q_DECL_OVERRIDE;
101 104
diff --git a/framework/src/domain/controller.cpp b/framework/src/domain/controller.cpp
index 09fe0b9d..7a2996b8 100644
--- a/framework/src/domain/controller.cpp
+++ b/framework/src/domain/controller.cpp
@@ -54,6 +54,7 @@ void Controller::clear()
54 for (const auto &p : dynamicPropertyNames()) { 54 for (const auto &p : dynamicPropertyNames()) {
55 setProperty(p, QVariant()); 55 setProperty(p, QVariant());
56 } 56 }
57 emit cleared();
57} 58}
58 59
59void Controller::run(const KAsync::Job<void> &job) 60void Controller::run(const KAsync::Job<void> &job)
diff --git a/framework/src/domain/controller.h b/framework/src/domain/controller.h
index d3c1075f..83dbb51f 100644
--- a/framework/src/domain/controller.h
+++ b/framework/src/domain/controller.h
@@ -100,6 +100,7 @@ public slots:
100signals: 100signals:
101 void done(); 101 void done();
102 void error(); 102 void error();
103 void cleared();
103 104
104protected: 105protected:
105 void run(const KAsync::Job<void> &job); 106 void run(const KAsync::Job<void> &job);
diff --git a/views/composer/qml/View.qml b/views/composer/qml/View.qml
index 3b7f0bf4..c6b09a7e 100644
--- a/views/composer/qml/View.qml
+++ b/views/composer/qml/View.qml
@@ -44,6 +44,8 @@ Kube.View {
44 44
45 sendAction.enabled: composerController.accountId && composerController.subject && (!composerController.encrypt || composerController.foundAllKeys) && (!composerController.sign && !composerController.encrypt || composerController.foundPersonalKeys) && !composerController.to.empty 45 sendAction.enabled: composerController.accountId && composerController.subject && (!composerController.encrypt || composerController.foundAllKeys) && (!composerController.sign && !composerController.encrypt || composerController.foundPersonalKeys) && !composerController.to.empty
46 saveAsDraftAction.enabled: composerController.accountId 46 saveAsDraftAction.enabled: composerController.accountId
47 onMessageLoaded: { textEditor.initialText = body }
48 onCleared: { textEditor.initialText = "" }
47 } 49 }
48 ] 50 ]
49 51
@@ -380,7 +382,6 @@ Kube.View {
380 382
381 onActiveFocusChanged: closeFirstSplitIfNecessary() 383 onActiveFocusChanged: closeFirstSplitIfNecessary()
382 Keys.onEscapePressed: recipients.forceActiveFocus() 384 Keys.onEscapePressed: recipients.forceActiveFocus()
383 initialText: composerController.body
384 onTextChanged: { 385 onTextChanged: {
385 composerController.body = text; 386 composerController.body = text;
386 } 387 }