diff options
-rw-r--r-- | components/kube/contents/ui/ComposerView.qml | 2 | ||||
-rw-r--r-- | components/kube/contents/ui/Kube.qml | 27 | ||||
-rw-r--r-- | 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 | |||
24 | Item { | 24 | Item { |
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 | ||