summaryrefslogtreecommitdiff
path: root/rockwork/qml/NotificationsPage.qml
diff options
context:
space:
mode:
Diffstat (limited to 'rockwork/qml/NotificationsPage.qml')
-rw-r--r--rockwork/qml/NotificationsPage.qml99
1 files changed, 99 insertions, 0 deletions
diff --git a/rockwork/qml/NotificationsPage.qml b/rockwork/qml/NotificationsPage.qml
new file mode 100644
index 0000000..3942ecf
--- /dev/null
+++ b/rockwork/qml/NotificationsPage.qml
@@ -0,0 +1,99 @@
+import QtQuick 2.0
+import Sailfish.Silica 1.0
+import RockPool 1.0
+
+Page {
+ id: root
+
+ property var pebble: null
+
+ SilicaFlickable {
+ id: flickable
+ anchors.fill: parent
+ contentHeight: column.height
+ PageHeader {
+ title: qsTr("Notifications")
+ }
+ Column {
+
+ anchors.fill: parent
+ anchors.topMargin: units.gu(1)
+
+
+
+ Item {
+ width: parent.width
+ implicitHeight: infoLabel.height
+
+ Label {
+ id: infoLabel
+ anchors {
+ left: parent.left
+ right: parent.right
+ margins: units.gu(2)
+ }
+
+ wrapMode: Text.WordWrap
+ text: i18n.tr("Entries here will be added as notifications appear on the phone. Selected notifications will be shown on your Pebble smartwatch.")
+ }
+ }
+
+
+ ListView {
+ width: parent.width
+ //Layout.fillHeight: true
+ clip: true
+ model: root.pebble.notifications
+
+ delegate: ListItem {
+ Item {
+ Rectangle {
+ //SlotsLayout.position: SlotsLayout.Leading;
+ height: units.gu(5)
+ width: height
+ color: {
+ // Add some hacks for known icons
+ switch (model.icon) {
+ case "calendar":
+ return "orange";
+ case "settings":
+ return "grey";
+ case "dialog-question-symbolic":
+ return "red";
+ case "alarm-clock":
+ return "purple";
+ case "gpm-battery-050":
+ return "green";
+ }
+ return "black"
+ }
+ // source: Image {
+ // height: parent.height
+ // width: parent.width
+ // source: model.icon.indexOf("/") === 0 ? "file://" + model.icon : ""
+ // }
+ Label {
+ text: model.name
+ }
+
+ IconButton {
+ anchors.fill: parent
+ anchors.margins: units.gu(.5)
+ icon.source: model.icon.indexOf("/") !== 0 ? model.icon : ""
+ //color: "white"
+ }
+ }
+
+ Switch {
+ checked: model.enabled
+ // SlotsLayout.position: SlotsLayout.Trailing;
+ onClicked: {
+ root.pebble.setNotificationFilter(model.name, checked)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}