diff options
author | Matt Ranostay <matt.ranostay@konsulko.com> | 2019-09-17 23:29:26 -0700 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2019-10-04 21:15:20 +0000 |
commit | a2556f196bf439a270c7a6659daeb4434b45cf85 (patch) | |
tree | 923ea0c6d38cdb8d2e58491396d77c09cc27c8e6 | |
parent | 4ab3093e029628fbd1ca73891c81373be884e85f (diff) |
messaging: add initial compose message pagehalibut_8.0.6halibut_8.0.5halibut_8.0.4halibut_8.0.3halibut_8.0.2halibut/8.0.6halibut/8.0.5halibut/8.0.4halibut/8.0.3halibut/8.0.28.0.68.0.58.0.48.0.38.0.2halibut
Add initial support for sending SMS messages. Along with support
for double clicking a message to autofill recipient field.
Bug-AGL: SPEC-2566
Change-Id: I214c2250f90d939c95b5e380272b37c0ba8dad64
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
-rw-r--r-- | app/ComposePage.qml | 86 | ||||
-rw-r--r-- | app/Messaging.qml | 18 | ||||
-rw-r--r-- | app/Messaging.qrc | 1 | ||||
-rw-r--r-- | app/Notification.qml | 26 | ||||
-rw-r--r-- | app/NotificationPage.qml | 2 |
5 files changed, 128 insertions, 5 deletions
diff --git a/app/ComposePage.qml b/app/ComposePage.qml new file mode 100644 index 0000000..7c6e5f1 --- /dev/null +++ b/app/ComposePage.qml @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2019 Konsulko Group + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import QtQuick 2.11 +import QtQuick.Layouts 1.11 +import QtQuick.Controls 2.4 + +Item { + id: root + + function setNumber(number) { + recipient.text = number + message.focus = true + } + + function clearFields() { + recipient.text = '' + message.text = '' + } + + Column { + anchors.fill: parent + anchors.margins: 20 + spacing: 60 + + Row { + Label { + font.pixelSize: 48 + text: "Recipient: " + } + + TextArea { + id: recipient + font.pixelSize: 48 + Layout.fillWidth: true + placeholderText: "Enter recipient #" + color: "white" + } + } + + Row { + id: msg_txt + Label { + id: msg_label + font.pixelSize: 48 + text: "Message: " + } + TextArea { + id: message + font.pixelSize: 48 + width: root.width - (2 * msg_label.width) + wrapMode: TextEdit.WrapAnywhere + placeholderText: "Enter message here!" + color: "white" + } + } + + Button { + anchors.horizontalCenter: parent.horizontalCenter + height: 100 + width: msg_txt.width / 2 + font.pixelSize: 48 + text: "Send Message" + + onClicked: { + if (message.text && recipient.text) { + messaging.compose(recipient.text, message.text); + root.clearFields(); + } + } + } + } +} diff --git a/app/Messaging.qml b/app/Messaging.qml index 58abf1c..8494145 100644 --- a/app/Messaging.qml +++ b/app/Messaging.qml @@ -18,6 +18,7 @@ import QtQuick 2.11 import QtQuick.Layouts 1.11 import QtQuick.Controls 2.4 +import AGL.Demo.Controls 1.0 ApplicationWindow { id: root @@ -42,6 +43,12 @@ ApplicationWindow { text: "Alerts" font.pixelSize: 50 } + + TabImageButton { + icon: "./images/ic_contacts_48px.svg" + text: "Compose" + font.pixelSize: 50 + } } StackLayout { @@ -52,6 +59,17 @@ ApplicationWindow { NotificationPage { id: alerts } + ComposePage { + id: compose + } + } + + Keyboard { + id: keyboard + target: activeFocusControl + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom } } } diff --git a/app/Messaging.qrc b/app/Messaging.qrc index 39d7216..d75fa46 100644 --- a/app/Messaging.qrc +++ b/app/Messaging.qrc @@ -1,6 +1,7 @@ <RCC> <qresource prefix="/"> <file>Messaging.qml</file> + <file>ComposePage.qml</file> <file>Notification.qml</file> <file>NotificationPage.qml</file> <file>TabImageButton.qml</file> diff --git a/app/Notification.qml b/app/Notification.qml index 6be41ff..f283b76 100644 --- a/app/Notification.qml +++ b/app/Notification.qml @@ -27,10 +27,14 @@ Item { anchors.left: parent.left anchors.right: parent.right - ImageButton { - padding: 10 - offImage: '../images/HMI_Settings_X.svg' - onClicked: notificationModel.remove(index) + Image { + id: button + scale: 0.5 + source: '../images/HMI_Settings_X.svg' + MouseArea { + anchors.fill: button + onClicked: notificationModel.remove(index) + } } Label { text: '<b>' + name + '</b>' @@ -46,4 +50,18 @@ Item { wrapMode: Text.WordWrap } } + + MouseArea { + anchors.fill: parent + propagateComposedEvents: true + onClicked: { + mouse.accepted = false + } + onDoubleClicked: { + if (number) { + bar.setCurrentIndex(1) + compose.setNumber(number) + } + } + } } diff --git a/app/NotificationPage.qml b/app/NotificationPage.qml index 6ce5e4a..e57cacf 100644 --- a/app/NotificationPage.qml +++ b/app/NotificationPage.qml @@ -26,7 +26,7 @@ Item { target: messaging onNotificationEvent: { - notificationModel.append({"name": message.sender.fn, "message": message.message }) + notificationModel.append({"name": message.sender.fn, "number": message.sender.tel, "message": message.message }) notificationView.currentIndex = notificationModel.count - 1 } } |