aboutsummaryrefslogtreecommitdiff
path: root/src
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
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 'src')
-rw-r--r--src/CMakeLists.txt8
-rw-r--r--src/MainMapView.qml58
-rw-r--r--src/main.qml145
-rw-r--r--src/resources.qrc1
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>