summaryrefslogtreecommitdiff
path: root/src/main.qml
diff options
context:
space:
mode:
authorArseniy Movshev <dodoradio@outlook.com>2022-10-22 13:31:50 +0100
committerArseniy Movshev <dodoradio@outlook.com>2023-01-07 14:19:27 +0000
commit95c72f71f9382e3bf2918892edc1e7137391554d (patch)
tree4eb93e137d72c7c8bb5604d8a66b6315ab0f87a9 /src/main.qml
parentb2f45991df2498a050352f3c6dd8c956bde535ee (diff)
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
Diffstat (limited to '')
-rw-r--r--src/main.qml145
1 files changed, 16 insertions, 129 deletions
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 <revestflo@gmail.com>
- * 2015 Tim Süberkrüb <tim.sueberkrueb@web.de>
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-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 '<font color=\"#FFFFFF\" size="3">' + Math.floor(mod / 3600000) + '<sup>h</sup>' + '<br></font>' +
- '<font color=\"#CCCCF3\" size="1">' + zeroPad(Math.floor((mod % 3600000) / 60000)) + '<sup>m</sup>' +
- zeroPad(Math.floor((mod % 60000) / 1000)) + '<sup>s</sup></font>'
-
- } else if (mod >= 60000) { // Minutes + Seconds + Tenth
- return '<font color="#FFFFFF" size="3">' + zeroPad(Math.floor((mod % 3600000) / 60000)) + '<sup>m</sup>' + '<br></font>' +
- '<font color="#CCCCF3" size="1">' + zeroPad(Math.floor((mod % 60000) / 1000)) + '<sup>s</sup>' +
- Math.floor((mod % 1000) / 100) + '</font>'
- } else { // Seconds + Tenth
- return '<font color="#FFFFFF" size="3">' + zeroPad(Math.floor((mod % 60000) / 1000)) + '<sup>s</sup>' + '</font>' +
- '<font color="#CCCCF3" size="1">' + Math.floor((mod % 1000) / 100) + '</font>'
- }
- }
-
- 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 {}
}
}