From 95c72f71f9382e3bf2918892edc1e7137391554d Mon Sep 17 00:00:00 2001 From: Arseniy Movshev Date: Sat, 22 Oct 2022 13:31:50 +0100 Subject: Fork from asteroid-stopwatch and initialise repo copied over the asteroidos boilerplate from asteroid-stopwatch and removed everything else started work on getting a UI to show up --- src/main.qml | 145 +++++++---------------------------------------------------- 1 file changed, 16 insertions(+), 129 deletions(-) (limited to 'src/main.qml') diff --git a/src/main.qml b/src/main.qml index 4cb01ae..5442abc 100644 --- a/src/main.qml +++ b/src/main.qml @@ -1,26 +1,7 @@ -/* - * Copyright (C) 2016 Florent Revest - * 2015 Tim Süberkrüb - * Part of this code is based on "Stopwatch" (https://github.com/baleboy/stopwatch) - * Copyright (C) 2011 Francesco Balestrieri - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import QtQuick 2.9 +import QtQuick 2.0 import org.asteroid.controls 1.0 -import Nemo.Configuration 1.0 +import QtPositioning 5.15 +import QtLocation 5.15 Application { id: app @@ -28,117 +9,23 @@ Application { centerColor: "#9800A6" outerColor: "#0C0009" - ConfigurationValue { - id: previousTime - key: "/stopwatch/previousTime" - defaultValue: -1 - } - ConfigurationValue { - id: elapsed - key: "/stopwatch/elapsed" - defaultValue: -1 - } - ConfigurationValue { - id: running - key: "/stopwatch/running" - defaultValue: false - } - - function zeroPad(n) { - return (n < 10 ? "0" : "") + n - } - - function toTimeString(usec) { - var mod = Math.abs(usec) - if (mod >= 3600000) { // Hours + Minutes + Seconds - return '' + Math.floor(mod / 3600000) + 'h' + '
' + - '' + zeroPad(Math.floor((mod % 3600000) / 60000)) + 'm' + - zeroPad(Math.floor((mod % 60000) / 1000)) + 's' - - } else if (mod >= 60000) { // Minutes + Seconds + Tenth - return '' + zeroPad(Math.floor((mod % 3600000) / 60000)) + 'm' + '
' + - '' + zeroPad(Math.floor((mod % 60000) / 1000)) + 's' + - Math.floor((mod % 1000) / 100) + '' - } else { // Seconds + Tenth - return '' + zeroPad(Math.floor((mod % 60000) / 1000)) + 's' + '' + - '' + Math.floor((mod % 1000) / 100) + '' - } - } - - function toHandsPosition(usec) { - var mod = Math.abs(usec) - return(Math.floor((mod % 60000) / 1000)*3) + Label { + text: "Map Data from OpenStreetMap" + anchors.centerIn: parent + z: 0 } - - PhysicalHands { - minuteHandPosition: toHandsPosition(elapsed.value) - hourHandPosition: toHandsPosition(elapsed.value) + Plugin { + id: mapProvider + name: "osm" } - - Item { - id: mainPage + LayerStack { + id: pagestack anchors.fill: parent - - state: running.value ? "running" : elapsed.value == -1 ? "zero" : "paused" - states: [ - State { name: "zero" }, - State { name: "running" }, - State { name: "paused" } - ] - - Label { - id: elapsedLabel - textFormat: Text.RichText - anchors.centerIn: parent - text: toTimeString(elapsed.value) - font.pixelSize: Dims.h(25) - horizontalAlignment: Text.AlignHCenter - - SequentialAnimation { - running: mainPage.state == "paused" - loops: Animation.Infinite - NumberAnimation { target: elapsedLabel; property: "opacity"; from: 1; to: 0; duration: 500 } - NumberAnimation { target: elapsedLabel; property: "opacity"; from: 0; to: 1; duration: 500 } - onStopped: elapsedLabel.opacity = 1 - } - } - - MouseArea { - anchors.fill: parent - onClicked: { - switch(mainPage.state) { - case "zero": - case "paused": - var curTime = new Date - previousTime.value = curTime.getTime() - running.value = true - break; - case "running": - running.value = false - break; - } - } - } - - IconButton { - id: resetButton - iconName: "ios-refresh" - visible: mainPage.state === "paused" - onClicked: elapsed.value = -1 - } + firstPage: mainmapview } - Timer { - interval: 100 - repeat: true - running: mainPage.state == "running" - triggeredOnStart: true - - onTriggered: { - var currentTime = new Date - var delta = (currentTime.getTime() - previousTime.value) - previousTime.value = currentTime.getTime() - elapsed.value += delta - } + Component { + id: mainmapview + MainMapView {} } } -- cgit v1.2.3-54-g00ecf