diff options
Diffstat (limited to 'app/qml')
| -rw-r--r-- | app/qml/pages/ManagerPage.qml | 31 | ||||
| -rw-r--r-- | app/qml/pages/WatchInfo.qml | 52 | ||||
| -rw-r--r-- | app/qml/pebble.qml | 88 |
3 files changed, 94 insertions, 77 deletions
diff --git a/app/qml/pages/ManagerPage.qml b/app/qml/pages/ManagerPage.qml index bfafeb5..894797d 100644 --- a/app/qml/pages/ManagerPage.qml +++ b/app/qml/pages/ManagerPage.qml @@ -1,34 +1,3 @@ -/* - 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 diff --git a/app/qml/pages/WatchInfo.qml b/app/qml/pages/WatchInfo.qml index 9ae1135..94445fb 100644 --- a/app/qml/pages/WatchInfo.qml +++ b/app/qml/pages/WatchInfo.qml @@ -5,19 +5,6 @@ import Sailfish.Silica 1.0 Page { id: watchInfoPage - property string firmwareVersion - property string recoveryVersion - - Component.onCompleted: { - pebbled.info.firmware.forEach(function(firmware){ - if (firmware.recovery) { - recoveryVersion = firmware.version - } else { - firmwareVersion = firmware.version - } - }) - } - Column { id: column width: watchInfoPage.width @@ -65,7 +52,7 @@ Page { text: qsTr("Firmware") } Label { - text: firmwareVersion + text: app.firmwareVersion } Label { @@ -73,8 +60,43 @@ Page { text: qsTr("Recovery") } Label { - text: recoveryVersion + text: app.recoveryVersion + } + } + + Label { + text: qsTr("Firmware") + font.family: Theme.fontFamilyHeading + color: Theme.highlightColor + anchors.right: parent.right + anchors.rightMargin: Theme.paddingMedium + } + Grid { + columns: 2 + spacing: Theme.paddingMedium + anchors { + left: parent.left + right: parent.right + margins: Theme.paddingLarge + } + + Label { + color: Theme.highlightColor + text: qsTr("Latest") + } + Label { + text: app.firmwareLatest || qsTr("unknown") + } + } + Button { + visible: app.firmwareLatest && app.firmwareVersion && app.firmwareVersion !== app.firmwareLatest + text: qsTr("Upgrade Firmware") + anchors { + left: parent.left + right: parent.right + margins: Theme.paddingLarge * 2 } + onClicked: pageStack.push(Qt.resolvedUrl("FirmwareUpgrade.qml")) } } } diff --git a/app/qml/pebble.qml b/app/qml/pebble.qml index 2e26ebe..a4b8b1f 100644 --- a/app/qml/pebble.qml +++ b/app/qml/pebble.qml @@ -1,34 +1,3 @@ -/* - 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 Sailfish.Silica 1.0 import "pages" @@ -36,6 +5,63 @@ import org.pebbled 0.1 ApplicationWindow { + id: app + + property string firmwareVersion + property string recoveryVersion + property string hardwareVersion + property string firmwareLatest + initialPage: Component { ManagerPage { } } cover: Qt.resolvedUrl("cover/CoverPage.qml") + + function parseInfo() { + if (pebbled.info.firmware && pebbled.info.firmware.length) { + pebbled.info.firmware.forEach(function(firmware){ + if (firmware.recovery) { + recoveryVersion = firmware.version + } else { + firmwareVersion = firmware.version + hardwareVersion = firmware.hardware + } + }) + } else { + firmwareVersion = recoveryVersion = hardwareVersion = "" + } + } + + function notifyNewFirmware() { + firmwareLatest = pebbleFirmware.latest.friendlyVersion || "" + if (firmwareLatest && firmwareVersion && firmwareVersion !== firmwareLatest) { + pebbled.notifyFirmware(firmwareLatest); + } + } + + Component.onCompleted: { + parseInfo() + } + + Connections { + target: pebbled + onInfoChanged: { + parseInfo() + } + } + + onHardwareVersionChanged: { + if (hardwareVersion) { + pebbleFirmware.updateLatest(hardwareVersion) + } + } + + onFirmwareVersionChanged: { + notifyNewFirmware() + } + + Connections { + target: pebbleFirmware + onLatestChanged: { + notifyNewFirmware() + } + } } |
