summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2019-09-17 23:29:26 -0700
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2019-10-04 21:15:20 +0000
commita2556f196bf439a270c7a6659daeb4434b45cf85 (patch)
tree923ea0c6d38cdb8d2e58491396d77c09cc27c8e6
parent4ab3093e029628fbd1ca73891c81373be884e85f (diff)
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.qml86
-rw-r--r--app/Messaging.qml18
-rw-r--r--app/Messaging.qrc1
-rw-r--r--app/Notification.qml26
-rw-r--r--app/NotificationPage.qml2
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
}
}