diff options
Diffstat (limited to 'app/qml')
| -rw-r--r-- | app/qml/pages/ManagerPage.qml | 622 |
1 files changed, 321 insertions, 301 deletions
diff --git a/app/qml/pages/ManagerPage.qml b/app/qml/pages/ManagerPage.qml index 8ff0db2..af5a6b2 100644 --- a/app/qml/pages/ManagerPage.qml +++ b/app/qml/pages/ManagerPage.qml @@ -1,301 +1,321 @@ -import QtQuick 2.0 -import QtQml 2.1 -import Sailfish.Silica 1.0 -import org.nemomobile.configuration 1.0 -import org.nemomobile.dbus 2.0 - -Page { - id: page - - ConfigurationGroup { - id: settings - path: "/org/pebbled/settings" - property string profileWhenConnected: "" - property string profileWhenDisconnected: "" - property bool transliterateMessage - property bool useSystemVolume - property bool incomingCallNotification - property bool notificationsCommhistoryd - property bool notificationsMissedCall - property bool notificationsEmails - property bool notificationsMitakuuluu - property bool notificationsTwitter - property bool notificationsFacebook - property bool notificationsOther - property bool notificationsAll - } - - DBusInterface { - id: profiled - - service: 'com.nokia.profiled' - iface: 'com.nokia.profiled' - path: '/com/nokia/profiled' - - property var profiles - } - - Component.onCompleted: { - profiled.typedCall('get_profiles', [], function (result) { - console.log('Got profiles: ' + result); - profiled.profiles = result; - }); - } - - - - SilicaFlickable { - id: flickable - anchors.fill: parent - contentHeight: column.height - - VerticalScrollDecorator { flickable: flickable } - - PullDownMenu { - MenuItem { - text: qsTr("Pebble Appstore") - onClicked: pageStack.push(Qt.resolvedUrl("AppStorePage.qml")) - } - MenuItem { - text: qsTr("About") - onClicked: pageStack.push(Qt.resolvedUrl("AboutPage.qml")) - } - } - - Column { - id: column - - width: page.width - spacing: Theme.paddingLarge - PageHeader { - title: qsTr("Pebble Manager") - } - - Label { - color: Theme.highlightColor - font.pixelSize: Theme.fontSizeSmall - visible: pebbled.active && !pebbled.connected - text: qsTr("Waiting for watch...\nIf it can't be found please check it's available and paired in Bluetooth settings.") - wrapMode: Text.Wrap - anchors { - left: parent.left - right: parent.right - margins: Theme.paddingLarge - } - - } - Button { - visible: pebbled.connected - text: pebbled.name - anchors { - left: parent.left - right: parent.right - margins: Theme.paddingLarge - } - onClicked: pageStack.push(Qt.resolvedUrl("WatchPage.qml")) - } - - Label { - text: qsTr("Service") - font.family: Theme.fontFamilyHeading - color: Theme.highlightColor - anchors.right: parent.right - anchors.rightMargin: Theme.paddingMedium - } - TextSwitch { - text: qsTr("Enabled") - description: pebbled.enabled ? qsTr("Automatic startup") : qsTr("Manual startup") - checked: pebbled.enabled - automaticCheck: false - onClicked: pebbled.setEnabled(!checked) - } - TextSwitch { - text: qsTr("Active") - description: pebbled.active ? qsTr("Running") : qsTr("Dead") - checked: pebbled.active - automaticCheck: false - onClicked: pebbled.setActive(!checked) - } - TextSwitch { - text: qsTr("Connection") - description: pebbled.connected ? qsTr("Connected"): qsTr("Disconnected") - checked: pebbled.connected - automaticCheck: false - onClicked: { - if (pebbled.connected) { - pebbled.disconnect(); - } else { - pebbled.reconnect(); - } - } - } - - Label { - text: qsTr("Settings") - font.family: Theme.fontFamilyHeading - color: Theme.highlightColor - anchors.right: parent.right - anchors.rightMargin: Theme.paddingMedium - } - TextSwitch { - text: qsTr("Forward phone calls") - checked: settings.incomingCallNotification - automaticCheck: false - onClicked: { - settings.incomingCallNotification = !settings.incomingCallNotification; - } - } - TextSwitch { - text: qsTr("Control main volume") - description: qsTr("Pebble music volume buttons change the main phone volume directly instead of through the music player") - checked: settings.useSystemVolume - automaticCheck: true - onClicked: { - settings.useSystemVolume = !settings.useSystemVolume; - } - } - TextSwitch { - text: qsTr("Transliterate messages") - description: qsTr("Messages are transliterated to ASCII before sending to Pebble") - checked: settings.transliterateMessage - automaticCheck: false - onClicked: { - settings.transliterateMessage = !settings.transliterateMessage; - } - } - - Label { - text: qsTr("Notifications") - font.family: Theme.fontFamilyHeading - color: Theme.highlightColor - anchors.right: parent.right - anchors.rightMargin: Theme.paddingMedium - } - - TextSwitch { - text: qsTr("Messaging") - description: qsTr("SMS and IM") - checked: settings.notificationsCommhistoryd - automaticCheck: false - onClicked: { - settings.notificationsCommhistoryd = !settings.notificationsCommhistoryd; - } - } - - TextSwitch { - text: qsTr("Missed call") - checked: settings.notificationsMissedCall - automaticCheck: false - onClicked: { - settings.notificationsMissedCall = !settings.notificationsMissedCall; - } - } - - TextSwitch { - text: qsTr("Emails") - checked: settings.notificationsEmails - automaticCheck: false - onClicked: { - settings.notificationsEmails = !settings.notificationsEmails; - } - } - - TextSwitch { - text: qsTr("Mitakuuluu") - checked: settings.notificationsMitakuuluu - automaticCheck: false - onClicked: { - settings.notificationsMitakuuluu = !settings.notificationsMitakuuluu; - } - } - - TextSwitch { - text: qsTr("Twitter") - checked: settings.notificationsTwitter - automaticCheck: false - onClicked: { - settings.notificationsTwitter = !settings.notificationsTwitter; - } - } - - TextSwitch { - visible: false //not yet supported - text: qsTr("Facebook") - checked: settings.notificationsFacebook - automaticCheck: false - onClicked: { - settings.notificationsFacebook = !settings.notificationsFacebook; - } - } - - TextSwitch { - text: qsTr("Other notifications") - checked: settings.notificationsOther - automaticCheck: false - onClicked: { - settings.notificationsOther = !settings.notificationsOther; - } - } - - TextSwitch { - text: qsTr("All notifications") - checked: settings.notificationsAll - automaticCheck: false - enabled: settings.notificationsOther - onClicked: { - settings.notificationsAll = !settings.notificationsAll; - } - } - - Label { - text: qsTr("Profiles") - font.family: Theme.fontFamilyHeading - color: Theme.highlightColor - anchors.right: parent.right - anchors.rightMargin: Theme.paddingMedium - } - - ComboBox { - label: qsTr("Connected") - menu: ContextMenu { - MenuItem { - text: qsTr("no change") - font.capitalization: Font.SmallCaps - } - Repeater { - model: profiled.profiles - delegate: MenuItem { - text: modelData - down: modelData === settings.profileWhenConnected - } - } - } - value: settings.profileWhenConnected || qsTr("no change") - onCurrentIndexChanged: { - settings.profileWhenConnected = currentIndex ? currentItem.text : "" - } - } - - ComboBox { - label: qsTr("Disconnected") - menu: ContextMenu { - MenuItem { - text: qsTr("no change") - font.capitalization: Font.SmallCaps - } - Repeater { - model: profiled.profiles - delegate: MenuItem { - text: modelData - down: modelData === settings.profileWhenDisconnected - } - } - } - value: settings.profileWhenDisconnected || qsTr("no change") - onCurrentIndexChanged: { - settings.profileWhenDisconnected = currentIndex ? currentItem.text : "" - } - } - } - } -} +import QtQuick 2.0
+import QtQml 2.1
+import Sailfish.Silica 1.0
+import org.nemomobile.configuration 1.0
+import org.nemomobile.dbus 2.0
+
+Page {
+ id: page
+
+ ConfigurationGroup {
+ id: settings
+ path: "/org/pebbled/settings"
+ property string profileWhenConnected: ""
+ property string profileWhenDisconnected: ""
+ property bool transliterateMessage
+ property bool useSystemVolume
+ property bool incomingCallNotification
+ property bool notificationsCommhistoryd
+ property bool notificationsMissedCall
+ property bool notificationsEmails
+ property bool notificationsTwitter
+ property bool notificationsFacebook
+ property bool notificationsTelegram
+ property bool notificationsHangouts
+ property bool notificationsWhatsapp
+ property bool notificationsOther
+ property bool notificationsAll
+ }
+
+ DBusInterface {
+ id: profiled
+
+ service: 'com.nokia.profiled'
+ iface: 'com.nokia.profiled'
+ path: '/com/nokia/profiled'
+
+ property var profiles
+ }
+
+ Component.onCompleted: {
+ profiled.typedCall('get_profiles', [], function (result) {
+ console.log('Got profiles: ' + result);
+ profiled.profiles = result;
+ });
+ }
+
+
+
+ SilicaFlickable {
+ id: flickable
+ anchors.fill: parent
+ contentHeight: column.height
+
+ VerticalScrollDecorator { flickable: flickable }
+
+ PullDownMenu {
+ MenuItem {
+ text: qsTr("Pebble Appstore")
+ onClicked: pageStack.push(Qt.resolvedUrl("AppStorePage.qml"))
+ }
+ MenuItem {
+ text: qsTr("About")
+ onClicked: pageStack.push(Qt.resolvedUrl("AboutPage.qml"))
+ }
+ }
+
+ Column {
+ id: column
+
+ width: page.width
+ spacing: Theme.paddingLarge
+ PageHeader {
+ title: qsTr("Pebble Manager")
+ }
+
+ Label {
+ color: Theme.highlightColor
+ font.pixelSize: Theme.fontSizeSmall
+ visible: pebbled.active && !pebbled.connected
+ text: qsTr("Waiting for watch...\nIf it can't be found please check it's available and paired in Bluetooth settings.")
+ wrapMode: Text.Wrap
+ anchors {
+ left: parent.left
+ right: parent.right
+ margins: Theme.paddingLarge
+ }
+
+ }
+ Button {
+ visible: pebbled.connected
+ text: pebbled.name
+ anchors {
+ left: parent.left
+ right: parent.right
+ margins: Theme.paddingLarge
+ }
+ onClicked: pageStack.push(Qt.resolvedUrl("WatchPage.qml"))
+ }
+
+ Label {
+ text: qsTr("Service")
+ font.family: Theme.fontFamilyHeading
+ color: Theme.highlightColor
+ anchors.right: parent.right
+ anchors.rightMargin: Theme.paddingMedium
+ }
+ TextSwitch {
+ text: qsTr("Enabled")
+ description: pebbled.enabled ? qsTr("Automatic startup") : qsTr("Manual startup")
+ checked: pebbled.enabled
+ automaticCheck: false
+ onClicked: pebbled.setEnabled(!checked)
+ }
+ TextSwitch {
+ text: qsTr("Active")
+ description: pebbled.active ? qsTr("Running") : qsTr("Dead")
+ checked: pebbled.active
+ automaticCheck: false
+ onClicked: pebbled.setActive(!checked)
+ }
+ TextSwitch {
+ text: qsTr("Connection")
+ description: pebbled.connected ? qsTr("Connected"): qsTr("Disconnected")
+ checked: pebbled.connected
+ automaticCheck: false
+ onClicked: {
+ if (pebbled.connected) {
+ pebbled.disconnect();
+ } else {
+ pebbled.reconnect();
+ }
+ }
+ }
+
+ Label {
+ text: qsTr("Settings")
+ font.family: Theme.fontFamilyHeading
+ color: Theme.highlightColor
+ anchors.right: parent.right
+ anchors.rightMargin: Theme.paddingMedium
+ }
+ TextSwitch {
+ text: qsTr("Forward phone calls")
+ checked: settings.incomingCallNotification
+ automaticCheck: false
+ onClicked: {
+ settings.incomingCallNotification = !settings.incomingCallNotification;
+ }
+ }
+ TextSwitch {
+ text: qsTr("Control main volume")
+ description: qsTr("Pebble music volume buttons change the main phone volume directly instead of through the music player")
+ checked: settings.useSystemVolume
+ automaticCheck: true
+ onClicked: {
+ settings.useSystemVolume = !settings.useSystemVolume;
+ }
+ }
+ TextSwitch {
+ text: qsTr("Transliterate messages")
+ description: qsTr("Messages are transliterated to ASCII before sending to Pebble")
+ checked: settings.transliterateMessage
+ automaticCheck: false
+ onClicked: {
+ settings.transliterateMessage = !settings.transliterateMessage;
+ }
+ }
+
+ Label {
+ text: qsTr("Notifications")
+ font.family: Theme.fontFamilyHeading
+ color: Theme.highlightColor
+ anchors.right: parent.right
+ anchors.rightMargin: Theme.paddingMedium
+ }
+
+ TextSwitch {
+ text: qsTr("Messaging")
+ description: qsTr("SMS and IM")
+ checked: settings.notificationsCommhistoryd
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsCommhistoryd = !settings.notificationsCommhistoryd;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("Missed call")
+ checked: settings.notificationsMissedCall
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsMissedCall = !settings.notificationsMissedCall;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("Emails")
+ checked: settings.notificationsEmails
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsEmails = !settings.notificationsEmails;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("Telegram")
+ checked: settings.notificationsTelegram
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsTelegram = !settings.notificationsTelegram;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("Whatsapp")
+ checked: settings.notificationsWhatsapp
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsWhatsapp = !settings.notificationsWhatsapp;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("Hangouts")
+ checked: settings.notificationsHangouts
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsHangouts = !settings.notificationsHangouts;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("Twitter")
+ checked: settings.notificationsTwitter
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsTwitter = !settings.notificationsTwitter;
+ }
+ }
+
+ TextSwitch {
+ visible: false //not yet supported
+ text: qsTr("Facebook")
+ checked: settings.notificationsFacebook
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsFacebook = !settings.notificationsFacebook;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("Other notifications")
+ checked: settings.notificationsOther
+ automaticCheck: false
+ onClicked: {
+ settings.notificationsOther = !settings.notificationsOther;
+ }
+ }
+
+ TextSwitch {
+ text: qsTr("All notifications")
+ checked: settings.notificationsAll
+ automaticCheck: false
+ enabled: settings.notificationsOther
+ onClicked: {
+ settings.notificationsAll = !settings.notificationsAll;
+ }
+ }
+
+ Label {
+ text: qsTr("Profiles")
+ font.family: Theme.fontFamilyHeading
+ color: Theme.highlightColor
+ anchors.right: parent.right
+ anchors.rightMargin: Theme.paddingMedium
+ }
+
+ ComboBox {
+ label: qsTr("Connected")
+ menu: ContextMenu {
+ MenuItem {
+ text: qsTr("no change")
+ font.capitalization: Font.SmallCaps
+ }
+ Repeater {
+ model: profiled.profiles
+ delegate: MenuItem {
+ text: modelData
+ down: modelData === settings.profileWhenConnected
+ }
+ }
+ }
+ value: settings.profileWhenConnected || qsTr("no change")
+ onCurrentIndexChanged: {
+ settings.profileWhenConnected = currentIndex ? currentItem.text : ""
+ }
+ }
+
+ ComboBox {
+ label: qsTr("Disconnected")
+ menu: ContextMenu {
+ MenuItem {
+ text: qsTr("no change")
+ font.capitalization: Font.SmallCaps
+ }
+ Repeater {
+ model: profiled.profiles
+ delegate: MenuItem {
+ text: modelData
+ down: modelData === settings.profileWhenDisconnected
+ }
+ }
+ }
+ value: settings.profileWhenDisconnected || qsTr("no change")
+ onCurrentIndexChanged: {
+ settings.profileWhenDisconnected = currentIndex ? currentItem.text : ""
+ }
+ }
+ }
+ }
+}
|
