summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/kube/contents/ui/ComposerView.qml2
-rw-r--r--components/kube/contents/ui/Kube.qml27
-rw-r--r--framework/qml/FocusComposer.qml17
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
24Item { 24Item {
25 id:root 25 id:root
26 signal done 26 signal done
27 property alias message: composer.message
28 property alias loadAsDraft: composer.loadAsDraft
27 29
28 Kube.FocusComposer { 30 Kube.FocusComposer {
29 id: composer 31 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 {
48 Kube.Listener { 48 Kube.Listener {
49 filter: Kube.Messages.reply 49 filter: Kube.Messages.reply
50 onMessageReceived: { 50 onMessageReceived: {
51 composer.loadMessage(message.mail, false) 51 kubeViews.openComposerWithMail(message.mail, false)
52 composer.open()
53 } 52 }
54 } 53 }
55 54
56 Kube.Listener { 55 Kube.Listener {
57 filter: Kube.Messages.edit 56 filter: Kube.Messages.edit
58 onMessageReceived: { 57 onMessageReceived: {
59 composer.loadMessage(message.mail, true) 58 kubeViews.openComposerWithMail(message.mail, true)
60 composer.open()
61 } 59 }
62 } 60 }
63 61
@@ -170,6 +168,9 @@ Controls2.ApplicationWindow {
170 function openComposer() { 168 function openComposer() {
171 kubeViews.push({item: composerView, immediate: true}) 169 kubeViews.push({item: composerView, immediate: true})
172 } 170 }
171 function openComposerWithMail(mail, openAsDraft) {
172 kubeViews.push({item: composerView, immediate: true, properties: {message: mail, loadAsDraft: openAsDraft}})
173 }
173 174
174 175
175 //Not components so we maintain state 176 //Not components so we maintain state
@@ -190,24 +191,6 @@ Controls2.ApplicationWindow {
190 } 191 }
191 //END Main content 192 //END Main content
192 193
193 //BEGIN Composer
194 Kube.Popup {
195 height: app.height * 0.85
196 width: app.width * 0.85
197
198 x: app.width * 0.075
199 y: app.height * 0.075
200
201 //Don't close the composer due to an accidental click outside
202 closePolicy: Controls2.Popup.CloseOnEscape | Controls2.Popup.CloseOnPressOutsideParent
203
204 Kube.FocusComposer {
205 id: composer
206 anchors.fill: parent
207 }
208 }
209 //END Composer
210
211 //BEGIN AccountWizard 194 //BEGIN AccountWizard
212 KubeAccounts.AccountWizard { 195 KubeAccounts.AccountWizard {
213 id: accountWizard 196 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 {
27 id: root 27 id: root
28 28
29 signal done 29 signal done
30 property bool loadAsDraft: false
31 property variant message: {}
32
33 //actions
34 property variant sendAction: composerController.sendAction
35 property variant saveAsDraftAction: composerController.saveAsDraftAction
30 36
31 //Controller 37 //Controller
32 Kube.ComposerController { 38 Kube.ComposerController {
@@ -34,15 +40,12 @@ Item {
34 onDone: root.done() 40 onDone: root.done()
35 } 41 }
36 42
37 //actions
38 property variant sendAction: composerController.sendAction
39 property variant saveAsDraftAction: composerController.saveAsDraftAction
40 43
41 //BEGIN functions 44 Component.onCompleted: {
42 function loadMessage(message, loadAsDraft) { 45 if (root.message) {
43 composerController.loadMessage(message, loadAsDraft) 46 composerController.loadMessage(root.message, root.loadAsDraft)
47 }
44 } 48 }
45 //END functions
46 49
47 Item { 50 Item {
48 51