diff options
Diffstat (limited to 'rockwork/Main.qml')
| -rw-r--r-- | rockwork/Main.qml | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/rockwork/Main.qml b/rockwork/Main.qml new file mode 100644 index 0000000..a4726b9 --- /dev/null +++ b/rockwork/Main.qml @@ -0,0 +1,101 @@ +import QtQuick 2.4 +import QtQuick.Layouts 1.1 +import Ubuntu.Components 1.3 +import RockWork 1.0 + +/*! + \brief MainView with a Label and Button elements. +*/ + +MainView { + applicationName: "rockwork.mzanetti" + + width: units.gu(40) + height: units.gu(70) + + ServiceController { + id: serviceController + serviceName: "rockworkd" + Component.onCompleted: { + if (!serviceController.serviceFileInstalled) { + print("Service file not installed. Installing now.") + serviceController.installServiceFile(); + } + if (!serviceController.serviceRunning) { + print("Service not running. Starting now.") + serviceController.startService(); + } + if (pebbles.version !== version) { + print("Service file version (", version, ") is not equal running service version (", pebbles.version, "). Restarting service.") + serviceController.restartService(); + } + } + } + + Pebbles { + id: pebbles + onCountChanged: loadStack() + onConnectedToServiceChanged: loadStack(); + } + + function loadStack() { + pageStack.clear() + if (!pebbles.connectedToService) { + pageStack.push(loadingComponent) + } else if (pebbles.count == 1) { + pageStack.push(Qt.resolvedUrl("MainMenuPage.qml"), {pebble: pebbles.get(0)}) + } else { + pageStack.push(Qt.resolvedUrl("PebblesPage.qml")) + } + } + + PageStack { + id: pageStack + Component.onCompleted: loadStack(); + } + + Component { + id: loadingComponent + Page { + title: "RockWork" + + Column { + width: parent.width - units.gu(4) + anchors.centerIn: parent + spacing: units.gu(4) + + Rectangle { + id: upgradeIcon + height: units.gu(10) + width: height + radius: width / 2 + color: UbuntuColors.blue + anchors.horizontalCenter: parent.horizontalCenter + Icon { + anchors.fill: parent + anchors.margins: units.gu(1) + name: "preferences-system-updates-symbolic" + color: "white" + } + + RotationAnimation on rotation { + duration: 2000 + loops: Animation.Infinite + from: 0 + to: 360 + running: upgradeIcon.visible + } + visible: true + } + + Label { + width: parent.width + horizontalAlignment: Text.AlignHCenter + fontSize: "large" + text: i18n.tr("Loading...") + } + } + + } + } +} |
