diff options
-rw-r--r-- | BtnArrow.qml | 5 | ||||
-rw-r--r-- | BtnEnlarge.qml | 5 | ||||
-rw-r--r-- | BtnGuidance.qml | 9 | ||||
-rw-r--r-- | BtnMapDirection.qml | 7 | ||||
-rw-r--r-- | BtnPresentPosition.qml | 5 | ||||
-rw-r--r-- | BtnShrink.qml | 5 | ||||
-rw-r--r-- | ProgressNextCross.qml | 20 | ||||
-rw-r--r-- | RouteView.qml | 10 | ||||
-rw-r--r-- | mominavi.cpp | 12 | ||||
-rw-r--r-- | mominavi.pro | 3 | ||||
-rw-r--r-- | mominavi.qml | 87 |
11 files changed, 83 insertions, 85 deletions
diff --git a/BtnArrow.qml b/BtnArrow.qml index 4d6f987..d2fd2a6 100644 --- a/BtnArrow.qml +++ b/BtnArrow.qml @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION -import QtQuick 2.0 -import QtQuick.Controls 1.5 +// Copyright (C) 2024 Automotive Grade Linux +import QtQuick +import QtQuick.Controls Item { Button { diff --git a/BtnEnlarge.qml b/BtnEnlarge.qml index 187207c..dabe641 100644 --- a/BtnEnlarge.qml +++ b/BtnEnlarge.qml @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION +// Copyright (C) 2024 Automotive Grade Linux -import QtQuick 2.0 -import QtQuick.Controls 1.5 +import QtQuick +import QtQuick.Controls Item { Button { diff --git a/BtnGuidance.qml b/BtnGuidance.qml index 189d40c..cb97f48 100644 --- a/BtnGuidance.qml +++ b/BtnGuidance.qml @@ -1,10 +1,11 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION +// Copyright (C) 2024 Automotive Grade Linux -import QtQuick 2.0 -import QtQuick.Controls 1.5 -import QtLocation 5.9 -import QtPositioning 5.6 +import QtQuick +import QtQuick.Controls +import QtLocation +import QtPositioning Item { id: btn_guidance diff --git a/BtnMapDirection.qml b/BtnMapDirection.qml index 8858e8a..59eb966 100644 --- a/BtnMapDirection.qml +++ b/BtnMapDirection.qml @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION +// Copyright (C) 2024 Automotive Grade Linux -import QtQuick 2.0 -import QtQuick.Controls 1.5 +import QtQuick +import QtQuick.Controls Item { Image { @@ -19,7 +20,7 @@ Item { id: btn_map_direction width: 100 height: 100 - iconSource: "" + icon.source: "" opacity: 0 visible: true clip: false diff --git a/BtnPresentPosition.qml b/BtnPresentPosition.qml index 282259b..af6662d 100644 --- a/BtnPresentPosition.qml +++ b/BtnPresentPosition.qml @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION +// Copyright (C) 2024 Automotive Grade Linux -import QtQuick 2.0 -import QtQuick.Controls 1.5 +import QtQuick +import QtQuick.Controls Item { id: btn_present_position diff --git a/BtnShrink.qml b/BtnShrink.qml index 01ec6d2..e34489d 100644 --- a/BtnShrink.qml +++ b/BtnShrink.qml @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION +// Copyright (C) 2024 Automotive Grade Linux -import QtQuick 2.0 -import QtQuick.Controls 1.5 +import QtQuick +import QtQuick.Controls Item { Button { diff --git a/ProgressNextCross.qml b/ProgressNextCross.qml index 89a2b7b..bc6b426 100644 --- a/ProgressNextCross.qml +++ b/ProgressNextCross.qml @@ -1,8 +1,8 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION -import QtQuick 2.0 -import QtQuick.Controls 1.5 -import QtQuick.Controls.Styles 1.4 +// Copyright (C) 2024 Automotive Grade Linux +import QtQuick +import QtQuick.Controls Item { id: progress_next_cross @@ -14,7 +14,7 @@ Item { // when over the ProgressBar.maximumValue/m, progress bar indicates max (same as ProgressBar.maximumValue/m) function setProgress(val) { if (val > bar.value ) { - bar.maximumValue = val + bar.to = val } if ( 0 < val ) { @@ -28,16 +28,10 @@ Item { id: bar width: 800 height: 20 - orientation: Qt.Horizontal + //orientation: Qt.Horizontal value: 0 - minimumValue: 0 - maximumValue: 800 - - style: ProgressBarStyle { - progress: Rectangle { - color: "green" - } - } + from: 0 + to: 800 } states: [ State { diff --git a/RouteView.qml b/RouteView.qml index c8dcbc4..ee1ce8a 100644 --- a/RouteView.qml +++ b/RouteView.qml @@ -1,6 +1,8 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION -import QtQuick 2.0 +// Copyright (C) 2024 Automotive Grade Linux + +import QtQuick Item { Rectangle { @@ -29,9 +31,3 @@ Item { routeText.text = string } } - -/*##^## -Designer { - D{i:0;autoSize:true;height:480;width:640} -} -##^##*/ diff --git a/mominavi.cpp b/mominavi.cpp index 6716193..1fa4338 100644 --- a/mominavi.cpp +++ b/mominavi.cpp @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-3.0+ // Copyright (C) 2021 AISIN CORPORATION +// Copyright (C) 2024 Automotive Grade Linux #include <QGuiApplication> #include <QQmlApplicationEngine> @@ -8,8 +9,6 @@ int main(int argc, char *argv[]) { - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QGuiApplication app(argc, argv); QQmlApplicationEngine engine; @@ -21,15 +20,6 @@ int main(int argc, char *argv[]) }, Qt::QueuedConnection); engine.load(url); - QObject *rootObject = engine.rootObjects().constFirst(); - QString StrEnv = qgetenv("MOMIMAP_MAPBOX_ACCESS_TOKEN"); - rootObject->setProperty("mapbox_access_token", StrEnv); - - QString StrEnvStyle = qgetenv("MOMIMAP_MAPBOX_STYLE"); - if (StrEnvStyle.size() > 0) { - rootObject->setProperty("mapbox_style_urls", StrEnvStyle); - } - QString StrEnvLat = qgetenv("MOMIMAP_INITIAL_LATITUDE"); if (StrEnvLat.size() > 0) { rootObject->setProperty("car_position_lat", StrEnvLat); diff --git a/mominavi.pro b/mominavi.pro index 3dd5fbc..2b2b21e 100644 --- a/mominavi.pro +++ b/mominavi.pro @@ -1,9 +1,10 @@ # SPDX-License-Identifier: GPL-3.0+ # Copyright (C) 2021 AISIN CORPORATION +# Copyright (C) 2024 Automotive Grade Linux QT += quick positioning qml -CONFIG += c++11 +CONFIG += c++17 # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings diff --git a/mominavi.qml b/mominavi.qml index ff0b456..e676d47 100644 --- a/mominavi.qml +++ b/mominavi.qml @@ -2,6 +2,7 @@ ** ** Copyright (C) 2016 The Qt Company Ltd. ** Copyright (C) 2021 AISIN CORPORATION +** Copyright (C) 2024 Automotive Grade Linux ** Contact: https://www.qt.io/licensing/ ** ** SPDX-License-Identifier: BSD-3-Clause-Clear @@ -50,11 +51,11 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -import QtQuick 2.12 -import QtQuick.Layouts 1.12 -import QtQuick.Controls 2.12 -import QtLocation 5.9 -import QtPositioning 5.6 +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls +import QtLocation +import QtPositioning ApplicationWindow { @@ -74,9 +75,11 @@ ApplicationWindow { property real car_accumulated_distance : 0 property real positionTimer_interval : 100 property real car_moving_distance : (car_driving_speed / 3.6) / (1000/positionTimer_interval) // Metric unit - property string mapbox_access_token : "" - property string mapbox_style_urls : "mapbox://styles/wata2ki/ckoy853ue11a117nss0uxut76" - property string mapbox_cache_dir : "/var/cache/momimap" + + Plugin { + id: mapPlugin + name: "osm" + } Map{ id: map @@ -100,12 +103,7 @@ ApplicationWindow { width: parent.width height: parent.height - plugin: Plugin { - name: "mapboxgl" - PluginParameter { name: "mapboxgl.access_token"; value: mapbox_access_token } - PluginParameter { name: "mapboxgl.mapping.additional_style_urls"; value: mapbox_style_urls } - PluginParameter { name: "mapboxgl.mapping.cache.directory"; value: mapbox_cache_dir } - } + plugin: mapPlugin center: QtPositioning.coordinate(car_position_lat, car_position_lon) zoomLevel: default_zoom_level bearing: 0 @@ -120,7 +118,7 @@ ApplicationWindow { } onLocationsChanged: { - if (count == 1) { + if (count === 1) { map.center.latitude = get(0).coordinate.latitude map.center.longitude = get(0).coordinate.longitude } @@ -256,11 +254,8 @@ ApplicationWindow { id: routeModel objectName: "routeModel" plugin : Plugin { - name: "mapbox" - PluginParameter { name: "mapbox.access_token"; - value: mapbox_access_token - } - } + name: "osm" + } query: RouteQuery { id: routeQuery } @@ -446,37 +441,53 @@ ApplicationWindow { acceptedButtons: Qt.LeftButton | Qt.RightButton onPressed : { - map.lastX = mouse.x - map.lastY = mouse.y - map.pressX = mouse.x - map.pressY = mouse.y - lastCoordinate = map.toCoordinate(Qt.point(mouse.x, mouse.y)) + map.lastX = mouseX + map.lastY = mouseY + map.pressX = mouseX + map.pressY = mouseY + lastCoordinate = map.toCoordinate(Qt.point(mouseX, mouseY)) } onPositionChanged: { - if (mouse.button === Qt.LeftButton) { - map.lastX = mouse.x - map.lastY = mouse.y - } + if ((pressedButtons & Qt.LeftButton) === true) { + map.lastX = mouseX + map.lastY = mouseY + } } onPressAndHold:{ if((btn_guidance.state !== "onGuide") && (btn_guidance.state !== "Routing")) { - if (Math.abs(map.pressX - mouse.x ) < map.jitterThreshold - && Math.abs(map.pressY - mouse.y ) < map.jitterThreshold) { + if (Math.abs(map.pressX - mouseX ) < map.jitterThreshold + && Math.abs(map.pressY - mouseY ) < map.jitterThreshold) { map.addDestination(lastCoordinate) } } } - } - gesture.onFlickStarted: { - btn_present_position.state = "Optional" - } - gesture.onPanStarted: { - btn_present_position.state = "Optional" - } + } + PinchHandler { + id: pinch + target: null + onActiveChanged: if (active) { + map.startCentroid = map.toCoordinate(pinch.centroid.position, false) + } + onScaleChanged: (delta) => { + map.zoomLevel += Math.log2(delta) + map.alignCoordinateToPoint(map.startCentroid, pinch.centroid.position) + } + onRotationChanged: (delta) => { + map.bearing -= delta + map.alignCoordinateToPoint(map.startCentroid, pinch.centroid.position) + } + grabPermissions: PointerHandler.TakeOverForbidden + } + DragHandler { + id: drag + target: null + onTranslationChanged: (delta) => map.pan(-delta.x, -delta.y) + } + function updatePositon() { if(pathcounter <= routeModel.get(0).path.length - 1){ |