From 28acccbfc1174638945a323049290b685299437f Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 16 Dec 2016 14:48:30 +0100 Subject: Close the composer when done --- components/package/contents/ui/FocusComposer.qml | 6 +++--- framework/domain/composercontroller.cpp | 8 ++++++++ framework/domain/composercontroller.h | 3 +++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/components/package/contents/ui/FocusComposer.qml b/components/package/contents/ui/FocusComposer.qml index aee20cd5..d3f0d050 100644 --- a/components/package/contents/ui/FocusComposer.qml +++ b/components/package/contents/ui/FocusComposer.qml @@ -42,9 +42,9 @@ Controls2.Popup { property variant body } - /* onDone: { */ - /* root.close() */ - /* } */ + onDone: { + root.close() + } } //actions diff --git a/framework/domain/composercontroller.cpp b/framework/domain/composercontroller.cpp index 18ebc4c4..d2b3bc9c 100644 --- a/framework/domain/composercontroller.cpp +++ b/framework/domain/composercontroller.cpp @@ -183,6 +183,10 @@ Kube::Action* ComposerController::saveAsDraftAction() { auto action = new Kube::Action("org.kde.kube.actions.save-as-draft", *mContext); action->addPreHandler(messageHandler()); + action->addPostHandler(new Kube::ActionHandlerHelper( + [this](Kube::Context *context) { + emit done(); + })); return action; } @@ -193,6 +197,10 @@ Kube::Action* ComposerController::sendAction() // action->addPreHandler(identityHandler()); action->addPreHandler(messageHandler()); // action->addPreHandler(encryptionHandler()); + action->addPostHandler(new Kube::ActionHandlerHelper( + [this](Kube::Context *context) { + emit done(); + })); return action; } diff --git a/framework/domain/composercontroller.h b/framework/domain/composercontroller.h index 6fad0685..b7ff0757 100644 --- a/framework/domain/composercontroller.h +++ b/framework/domain/composercontroller.h @@ -69,6 +69,9 @@ public: public slots: void clear(); +signals: + void done(); + private: Kube::ActionHandler *messageHandler(); void recordForAutocompletion(const QByteArray &addrSpec, const QByteArray &displayName); -- cgit v1.2.3