From 69a26cbfeb31cac3b1bceae2724f19ab62ab642a Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 2 May 2017 17:54:16 +0200 Subject: Replaced the composer popup --- components/kube/contents/ui/ComposerView.qml | 2 ++ components/kube/contents/ui/Kube.qml | 27 +++++---------------------- framework/qml/FocusComposer.qml | 17 ++++++++++------- 3 files changed, 17 insertions(+), 29 deletions(-) diff --git a/components/kube/contents/ui/ComposerView.qml b/components/kube/contents/ui/ComposerView.qml index 12b78544..d1bc2ea5 100644 --- a/components/kube/contents/ui/ComposerView.qml +++ b/components/kube/contents/ui/ComposerView.qml @@ -24,6 +24,8 @@ import org.kube.framework 1.0 as Kube Item { id:root signal done + property alias message: composer.message + property alias loadAsDraft: composer.loadAsDraft Kube.FocusComposer { id: composer diff --git a/components/kube/contents/ui/Kube.qml b/components/kube/contents/ui/Kube.qml index 72e74d71..dc89e69b 100644 --- a/components/kube/contents/ui/Kube.qml +++ b/components/kube/contents/ui/Kube.qml @@ -48,16 +48,14 @@ Controls2.ApplicationWindow { Kube.Listener { filter: Kube.Messages.reply onMessageReceived: { - composer.loadMessage(message.mail, false) - composer.open() + kubeViews.openComposerWithMail(message.mail, false) } } Kube.Listener { filter: Kube.Messages.edit onMessageReceived: { - composer.loadMessage(message.mail, true) - composer.open() + kubeViews.openComposerWithMail(message.mail, true) } } @@ -170,6 +168,9 @@ Controls2.ApplicationWindow { function openComposer() { kubeViews.push({item: composerView, immediate: true}) } + function openComposerWithMail(mail, openAsDraft) { + kubeViews.push({item: composerView, immediate: true, properties: {message: mail, loadAsDraft: openAsDraft}}) + } //Not components so we maintain state @@ -190,24 +191,6 @@ Controls2.ApplicationWindow { } //END Main content - //BEGIN Composer - Kube.Popup { - height: app.height * 0.85 - width: app.width * 0.85 - - x: app.width * 0.075 - y: app.height * 0.075 - - //Don't close the composer due to an accidental click outside - closePolicy: Controls2.Popup.CloseOnEscape | Controls2.Popup.CloseOnPressOutsideParent - - Kube.FocusComposer { - id: composer - anchors.fill: parent - } - } - //END Composer - //BEGIN AccountWizard KubeAccounts.AccountWizard { id: accountWizard diff --git a/framework/qml/FocusComposer.qml b/framework/qml/FocusComposer.qml index 5179cc66..0275cc91 100644 --- a/framework/qml/FocusComposer.qml +++ b/framework/qml/FocusComposer.qml @@ -27,6 +27,12 @@ Item { id: root signal done + property bool loadAsDraft: false + property variant message: {} + + //actions + property variant sendAction: composerController.sendAction + property variant saveAsDraftAction: composerController.saveAsDraftAction //Controller Kube.ComposerController { @@ -34,15 +40,12 @@ Item { onDone: root.done() } - //actions - property variant sendAction: composerController.sendAction - property variant saveAsDraftAction: composerController.saveAsDraftAction - //BEGIN functions - function loadMessage(message, loadAsDraft) { - composerController.loadMessage(message, loadAsDraft) + Component.onCompleted: { + if (root.message) { + composerController.loadMessage(root.message, root.loadAsDraft) + } } - //END functions Item { -- cgit v1.2.3