From 1f469a85e48c19b2fcb4f119bed8b2d56cff8629 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 3 Aug 2017 21:04:29 -0600 Subject: Send mail to option This is mostly to demonstrate how this could work with additional menu entries. --- components/kube/contents/ui/ComposerView.qml | 4 ++++ components/kube/contents/ui/Kube.qml | 8 ++++---- framework/qml/MailViewer.qml | 6 +++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/components/kube/contents/ui/ComposerView.qml b/components/kube/contents/ui/ComposerView.qml index ada7796b..d7751e1a 100644 --- a/components/kube/contents/ui/ComposerView.qml +++ b/components/kube/contents/ui/ComposerView.qml @@ -31,6 +31,7 @@ Kube.View { property bool newMessage: false property bool loadAsDraft: false property variant message: {} + property variant recipients: [] //FIXME mean hack to unfuck hiding property variant _composerController: Kube.ComposerController { @@ -53,6 +54,9 @@ Kube.View { } } else if (newMessage) { composerController.clear() + for (var i = 0; i < root.recipients.length; ++i) { + composerController.addTo(root.recipients[i]) + } subject.forceActiveFocus() } } diff --git a/components/kube/contents/ui/Kube.qml b/components/kube/contents/ui/Kube.qml index c4058a30..05f4fbc3 100644 --- a/components/kube/contents/ui/Kube.qml +++ b/components/kube/contents/ui/Kube.qml @@ -58,7 +58,7 @@ Controls2.ApplicationWindow { Kube.Listener { filter: Kube.Messages.compose - onMessageReceived: kubeViews.openComposer(true) + onMessageReceived: kubeViews.openComposer(true, message.recipients) } //BEGIN Shortcuts @@ -134,7 +134,7 @@ Controls2.ApplicationWindow { Kube.IconButton { id: composerButton iconName: Kube.Icons.edit_inverted - onClicked: kubeViews.openComposer(false) + onClicked: kubeViews.openComposer(false, []) activeFocusOnTab: true checkable: true Controls2.ButtonGroup.group: viewButtonGroup @@ -252,9 +252,9 @@ Controls2.ApplicationWindow { } } - function openComposer(newMessage) { + function openComposer(newMessage, recipients) { composerButton.checked = true - kubeViews.push(composerView, {newMessage: newMessage}, Controls2.StackView.Immediate) + kubeViews.push(composerView, {newMessage: newMessage, recipients: recipients}, Controls2.StackView.Immediate) } function openComposerWithMail(mail, openAsDraft) { composerButton.checked = true diff --git a/framework/qml/MailViewer.qml b/framework/qml/MailViewer.qml index ef78371e..d16fde7c 100644 --- a/framework/qml/MailViewer.qml +++ b/framework/qml/MailViewer.qml @@ -140,11 +140,15 @@ Rectangle { Kube.SelectableLabel { width: parent.width - senderName.width - date_label.width - Kube.Units.largeSpacing - text: root.sender elide: Text.ElideRight opacity: 0.75 clip: true + + Kube.TextButton { + text: qsTr("Send mail to") + onClicked: Kube.Fabric.postMessage(Kube.Messages.compose, {"recipients": [root.sender]}) + } } } -- cgit v1.2.3