summaryrefslogtreecommitdiff
path: root/app/qml/pebble.qml
diff options
context:
space:
mode:
Diffstat (limited to 'app/qml/pebble.qml')
-rw-r--r--app/qml/pebble.qml88
1 files changed, 57 insertions, 31 deletions
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()
+ }
+ }
}