diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-07 00:59:11 +0200 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-09 01:57:32 +0200 |
| commit | 164b95968d67f2363a270540d00a028741e58976 (patch) | |
| tree | 7e7e200234c0eedf60fcf9da15ccc300b3dcf222 /app/qml/pages | |
| parent | 54a34201f993c3dc5bff0347349e1727febacf97 (diff) | |
Implemented ManagerPage and WatchPage
Diffstat (limited to 'app/qml/pages')
| -rw-r--r-- | app/qml/pages/ManagerPage.qml | 132 | ||||
| -rw-r--r-- | app/qml/pages/WatchPage.qml | 81 |
2 files changed, 135 insertions, 78 deletions
diff --git a/app/qml/pages/ManagerPage.qml b/app/qml/pages/ManagerPage.qml new file mode 100644 index 0000000..c042adc --- /dev/null +++ b/app/qml/pages/ManagerPage.qml @@ -0,0 +1,132 @@ +/* + Copyright (C) 2014 Jouni Roivas + Copyright (C) 2013 Jolla Ltd. + Contact: Thomas Perl <thomas.perl@jollamobile.com> + All rights reserved. + + You may use this file under the terms of BSD license as follows: + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the authors nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +import QtQuick 2.0 +import QtQml 2.1 +import Sailfish.Silica 1.0 + +Page { + id: page + + SilicaFlickable { + anchors.fill: parent + + contentHeight: column.height + + Column { + id: column + + width: page.width + spacing: Theme.paddingLarge + PageHeader { + title: qsTr("Pebble Manager") + } + + Label { + color: Theme.highlightColor + font.pixelSize: Theme.fontSizeSmall + visible: !pebbled.connected + text: qsTr("Waiting for watch...\nIf it can't be found plase check it's available and paired in Bluetooth settings.") + wrapMode: Text.Wrap + anchors { + left: parent.left + right: parent.right + margins: Theme.paddingLarge + } + + } + ListItem { + visible: pebbled.connected + Label { + text: pebbled.name + truncationMode: TruncationMode.Fade + 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: { + console.log('pebbled.(dis|en)able()'); + } + } + TextSwitch { + text: qsTr("Active") + description: pebbled.active ? qsTr("Running") : qsTr("Dead") + checked: pebbled.active + automaticCheck: false + onClicked: { + console.log('pebbled.start|stop()'); + } + } + TextSwitch { + text: qsTr("Connection") + description: pebbled.connected ? qsTr("Connected"): qsTr("Disconnected") + checked: pebbled.connected + automaticCheck: false + onClicked: { + console.log('pebbled.(dis)connect()'); + } + } + + Label { + text: qsTr("Settings") + font.family: Theme.fontFamilyHeading + color: Theme.highlightColor + anchors.right: parent.right + anchors.rightMargin: Theme.paddingMedium + } + TextSwitch { + text: qsTr("Silent when connected") + checked: false + automaticCheck: false + onClicked: { + console.log('settings.silentConnected'); + } + } + } + } +} diff --git a/app/qml/pages/WatchPage.qml b/app/qml/pages/WatchPage.qml index 5848293..efb12a0 100644 --- a/app/qml/pages/WatchPage.qml +++ b/app/qml/pages/WatchPage.qml @@ -32,45 +32,10 @@ import QtQuick 2.0 import QtQml 2.1 import Sailfish.Silica 1.0 -import watch 0.1 -import org.nemomobile.dbus 1.0 Page { id: page - property string name - property string address - property bool connected: false - - onNameChanged: console.log(name) - onAddressChanged: console.log(address) - onConnectedChanged: console.log(connected?"connected":"disconnected") - - WatchConnector { - id: watchConnector - } - - DBusInterface { - id: pebbled - destination: "org.pebbled" - path: "/" - iface: "org.pebbled" - signalsEnabled: true - - function pebbleChanged() { - page.name = getProperty("name"); - page.address = getProperty("address"); - } - function connectedChanged() { - page.connected = getProperty("connected"); - } - - Component.onCompleted: { - pebbled.pebbleChanged(); - pebbled.connectedChanged(); - } - } - SilicaFlickable { anchors.fill: parent @@ -82,53 +47,13 @@ Page { width: page.width spacing: Theme.paddingLarge PageHeader { - title: "Pebble Manager" - } - Label { - visible: !page.connected - text: "Waiting for watch...\nIf it can't be found plase\ncheck it's available and\npaired in Bluetooth settings." - width: column.width - } - ListItem { - visible: !!page.name - Label { - text: page.name - } - onVisibleChanged: { - if (parent.visible) { - // Connect with the device - watchConnector.deviceConnect(page.name, page.address); - } - } + title: pebbled.name } + Button { text: "Ping" onClicked: { - watchConnector.ping(66) - } - } - Button { - text: "Send SMS" - onClicked: { - watchConnector.sendSMSNotification("Dummy", "Hello world!") - } - } - Button { - text: "Ring" - onClicked: { - watchConnector.ring("+1234567890", "Test user") - } - } - Button { - text: "Start call" - onClicked: { - watchConnector.startPhoneCall() - } - } - Button { - text: "End call" - onClicked: { - watchConnector.endPhoneCall() + pebbled.ping(66) } } } |
