diff options
author | Arseniy Movshev <dodoradio@outlook.com> | 2022-10-22 13:31:50 +0100 |
---|---|---|
committer | Arseniy Movshev <dodoradio@outlook.com> | 2023-01-07 14:19:27 +0000 |
commit | 95c72f71f9382e3bf2918892edc1e7137391554d (patch) | |
tree | 4eb93e137d72c7c8bb5604d8a66b6315ab0f87a9 /src | |
parent | b2f45991df2498a050352f3c6dd8c956bde535ee (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 'src')
-rw-r--r-- | src/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/MainMapView.qml | 58 | ||||
-rw-r--r-- | src/main.qml | 145 | ||||
-rw-r--r-- | src/resources.qrc | 1 |
4 files changed, 79 insertions, 133 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 446b4c9..2c3e089 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,8 @@ -add_library(asteroid-stopwatch main.cpp resources.qrc) -set_target_properties(asteroid-stopwatch PROPERTIES PREFIX "" SUFFIX "") +add_library(asteroid-map main.cpp resources.qrc) +set_target_properties(asteroid-map PROPERTIES PREFIX "" SUFFIX "") -target_link_libraries(asteroid-stopwatch PUBLIC +target_link_libraries(asteroid-map PUBLIC AsteroidApp) -install(TARGETS asteroid-stopwatch +install(TARGETS asteroid-map DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/src/MainMapView.qml b/src/MainMapView.qml new file mode 100644 index 0000000..9a00a45 --- /dev/null +++ b/src/MainMapView.qml @@ -0,0 +1,58 @@ +import QtQuick 2.0 +import org.asteroid.controls 1.0 +import QtPositioning 5.15 +import QtLocation 5.15 + +Item { + Map { + id: mapView + plugin: mapProvider + anchors.fill: parent + copyrightsVisible: false //this is compensated by showing the copyright when application is loading + color: "#00000000" + z: 1 + } + IconButton { + iconName: "ios-add-circle-outline" + anchors.right: parent.right + anchors.bottom: parent.verticalCenter + height: parent.height*0.2 + width: height + iconColor: "blue" + z: 2 + onClicked: mapView.zoomLevel = mapView.zoomLevel + 0.1 + } + IconButton { + iconName: "ios-remove-circle-outline" + anchors.right: parent.right + anchors.top: parent.verticalCenter + height: parent.height*0.2 + width: height + iconColor: "blue" + z: 2 + onClicked: mapView.zoomLevel = mapView.zoomLevel - 0.1 + } + IconButton { + iconName: "ios-locate-outline" + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + height: parent.height*0.2 + width: height + iconColor: "blue" + z: 2 + } + IconButton { + iconName: "ios-menu-outline" + anchors.bottom: parent.bottom + anchors.horizontalCenter: parent.horizontalCenter + height: parent.height*0.2 + width: height + iconColor: "blue" + z: 2 + // Icon { + // anchors.fill: parent + // name: "ios-circle-outline" + // // color: parent.iconColor + // } + } +} 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 {} } } diff --git a/src/resources.qrc b/src/resources.qrc index 5f6483a..bd1509f 100644 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -1,5 +1,6 @@ <RCC> <qresource prefix="/"> <file>main.qml</file> + <file>MainMapView.qml</file> </qresource> </RCC> |