diff options
-rw-r--r-- | examples/location/mapviewer/forms/RouteAddressForm.ui.qml | 6 | ||||
-rw-r--r-- | examples/location/mapviewer/forms/RouteCoordinateForm.ui.qml | 8 | ||||
-rw-r--r-- | examples/location/mapviewer/map/MapComponent.qml | 18 | ||||
-rw-r--r-- | examples/location/mapviewer/map/MapSliders.qml | 8 | ||||
-rw-r--r-- | examples/location/mapviewer/map/Marker.qml | 6 | ||||
-rw-r--r-- | examples/location/mapviewer/map/MiniMap.qml | 4 | ||||
-rw-r--r-- | examples/location/mapviewer/mapviewer.qml | 28 | ||||
-rw-r--r-- | examples/location/mapviewer/menus/ItemPopupMenu.qml | 13 | ||||
-rw-r--r-- | examples/location/mapviewer/menus/MainMenu.qml | 90 | ||||
-rw-r--r-- | examples/location/mapviewer/menus/MapPopupMenu.qml | 36 | ||||
-rw-r--r-- | examples/location/mapviewer/menus/MarkerPopupMenu.qml | 73 |
11 files changed, 159 insertions, 131 deletions
diff --git a/examples/location/mapviewer/forms/RouteAddressForm.ui.qml b/examples/location/mapviewer/forms/RouteAddressForm.ui.qml index b6d65436..6316550b 100644 --- a/examples/location/mapviewer/forms/RouteAddressForm.ui.qml +++ b/examples/location/mapviewer/forms/RouteAddressForm.ui.qml @@ -105,8 +105,8 @@ Item { id: label1 text: qsTr("From") font.bold: true - anchors.horizontalCenter: parent.horizontalCenter - Layout.columnSpan : 2 + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter } Label { @@ -143,8 +143,8 @@ Item { id: label6 text: qsTr("To") font.bold: true - anchors.horizontalCenter: parent.horizontalCenter Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter } Label { diff --git a/examples/location/mapviewer/forms/RouteCoordinateForm.ui.qml b/examples/location/mapviewer/forms/RouteCoordinateForm.ui.qml index 78e5eb09..d33aaaae 100644 --- a/examples/location/mapviewer/forms/RouteCoordinateForm.ui.qml +++ b/examples/location/mapviewer/forms/RouteCoordinateForm.ui.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -102,9 +102,9 @@ Item { Label { id: label1 text: qsTr("From") - anchors.horizontalCenter: parent.horizontalCenter font.bold: true - Layout.columnSpan : 2 + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter } Label { @@ -130,9 +130,9 @@ Item { Label { id: label6 text: qsTr("To") - anchors.horizontalCenter: parent.horizontalCenter font.bold: true Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter } Label { diff --git a/examples/location/mapviewer/map/MapComponent.qml b/examples/location/mapviewer/map/MapComponent.qml index a9ace12f..8553cb8d 100644 --- a/examples/location/mapviewer/map/MapComponent.qml +++ b/examples/location/mapviewer/map/MapComponent.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -311,7 +311,7 @@ Map { mapItems = new Array(); } - Keys.onPressed: { + Keys.onPressed: (event) => { if (event.key === Qt.Key_Plus) { map.zoomLevel++; } else if (event.key === Qt.Key_Minus) { @@ -464,7 +464,7 @@ Map { hoverEnabled: false property variant lastCoordinate - onPressed : { + onPressed : (mouse) => { map.lastX = mouse.x + parent.x map.lastY = mouse.y + parent.y map.pressX = mouse.x + parent.x @@ -472,7 +472,7 @@ Map { lastCoordinate = map.toCoordinate(Qt.point(mouse.x, mouse.y)) } - onPositionChanged: { + onPositionChanged: (mouse) => { if (mouse.button == Qt.LeftButton) { map.lastX = mouse.x + parent.x map.lastY = mouse.y + parent.y @@ -530,7 +530,7 @@ Map { hoverEnabled: false property variant lastCoordinate - onPressed : { + onPressed : (mouse) => { map.lastX = mouse.x + parent.x map.lastY = mouse.y + parent.y map.pressX = mouse.x + parent.x @@ -538,7 +538,7 @@ Map { lastCoordinate = map.toCoordinate(Qt.point(mouse.x, mouse.y)) } - onPositionChanged: { + onPositionChanged: (mouse) => { if (Math.abs(map.pressX - parent.x- mouse.x ) > map.jitterThreshold || Math.abs(map.pressY - parent.y -mouse.y ) > map.jitterThreshold) { if (pressed) parent.radius = parent.center.distanceTo( @@ -550,7 +550,7 @@ Map { } } - onPressAndHold:{ + onPressAndHold: (mouse) => { if (Math.abs(map.pressX - parent.x- mouse.x ) < map.jitterThreshold && Math.abs(map.pressY - parent.y - mouse.y ) < map.jitterThreshold) { showPointMenu(lastCoordinate); @@ -610,7 +610,7 @@ Map { } } - onDoubleClicked: { + onDoubleClicked: (mouse) => { var mouseGeoPos = map.toCoordinate(Qt.point(mouse.x, mouse.y)); var preZoomPoint = map.fromCoordinate(mouseGeoPos, false); if (mouse.button === Qt.LeftButton) { @@ -629,7 +629,7 @@ Map { lastY = -1; } - onPressAndHold:{ + onPressAndHold: (mouse) => { if (Math.abs(map.pressX - mouse.x ) < map.jitterThreshold && Math.abs(map.pressY - mouse.y ) < map.jitterThreshold) { showMainMenu(lastCoordinate); diff --git a/examples/location/mapviewer/map/MapSliders.qml b/examples/location/mapviewer/map/MapSliders.qml index 49fb5659..1a8c8013 100644 --- a/examples/location/mapviewer/map/MapSliders.qml +++ b/examples/location/mapviewer/map/MapSliders.qml @@ -70,7 +70,7 @@ Row { anchors.right: rightEdge() ? parent.right : undefined anchors.left: rightEdge() ? undefined : parent.left - Button { + AbstractButton { id: sliderToggler width: 32 height: 96 @@ -83,11 +83,6 @@ Row { xScale: rightEdge() ? 1 : -1 } -// style: ButtonStyle { -// background: Rectangle { -// color: "transparent" -// } -// } background: Rectangle { color: "transparent" } @@ -218,7 +213,6 @@ Row { // The sliders row Row { - spacing: -10 id: sliderRow height: sliderContainer.slidersHeight diff --git a/examples/location/mapviewer/map/Marker.qml b/examples/location/mapviewer/map/Marker.qml index 8c5d9284..3566397c 100644 --- a/examples/location/mapviewer/map/Marker.qml +++ b/examples/location/mapviewer/map/Marker.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -79,7 +79,7 @@ MapQuickItem { drag.target: marker preventStealing: true - onPressed : { + onPressed : (mouse) => { map.pressX = mouse.x map.pressY = mouse.y map.currentMarker = -1 @@ -91,7 +91,7 @@ MapQuickItem { } } - onPressAndHold:{ + onPressAndHold: (mouse) => { if (Math.abs(map.pressX - mouse.x ) < map.jitterThreshold && Math.abs(map.pressY - mouse.y ) < map.jitterThreshold) { var p = map.fromCoordinate(marker.coordinate) diff --git a/examples/location/mapviewer/map/MiniMap.qml b/examples/location/mapviewer/map/MiniMap.qml index 43298d85..2fe3093a 100644 --- a/examples/location/mapviewer/map/MiniMap.qml +++ b/examples/location/mapviewer/map/MiniMap.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -119,8 +119,6 @@ Rectangle{ topLeft.longitude= getMapVisibleRegion().topLeft.longitude bottomRight.latitude = getMapVisibleRegion().bottomRight.latitude bottomRight.longitude= getMapVisibleRegion().bottomRight.longitude - console.log("TopLeft: " + topLeft) - console.log("BotRigh: " + bottomRight) } } } diff --git a/examples/location/mapviewer/mapviewer.qml b/examples/location/mapviewer/mapviewer.qml index bad561a6..424e3314 100644 --- a/examples/location/mapviewer/mapviewer.qml +++ b/examples/location/mapviewer/mapviewer.qml @@ -60,6 +60,7 @@ ApplicationWindow { id: appWindow property variant map property variant minimap + property variant plugin property variant parameters //defaults @@ -70,8 +71,6 @@ ApplicationWindow { function createMap(provider) { - var plugin - if (parameters && parameters.length>0) plugin = Qt.createQmlObject ('import QtLocation; Plugin{ name:"' + provider + '"; parameters: appWindow.parameters}', appWindow) else @@ -174,9 +173,11 @@ ApplicationWindow { MainMenu { id: mainMenu + plugin: appWindow.plugin function toggleMiniMapState() { + console.log("MiniMap with " + plugin) if (minimap) { minimap.destroy() minimap = null @@ -200,10 +201,8 @@ ApplicationWindow { createMap(providerName) if (map.error === Map.NoError) { selectMapType(map.activeMapType) - toolsMenu.createMenu(map); } else { - mapTypeMenu.clear(); - toolsMenu.clear(); + mainMenu.clearMenu(mapTypeMenu) } } @@ -293,11 +292,10 @@ ApplicationWindow { mapPopupMenu.coordinate = coordinate mapPopupMenu.markersCount = map.markers.length mapPopupMenu.mapItemsCount = map.mapItems.length - mapPopupMenu.update() mapPopupMenu.popup() } - onItemClicked: { + onItemClicked: (item) => { stackView.pop(page) switch (item) { case "addMarker": @@ -328,13 +326,12 @@ ApplicationWindow { { stackView.pop(page) markerPopupMenu.markersCount = map.markers.length - markerPopupMenu.update() + markerPopupMenu.currentMarker = map.currentMarker markerPopupMenu.popup() } function askForCoordinate() { - console.log("askForCoordinate") stackView.push("forms/ReverseGeocode.qml", { "title": qsTr("New Coordinate"), "coordinate": map.markers[map.currentMarker].coordinate}) @@ -349,7 +346,7 @@ ApplicationWindow { stackView.pop(page) } - onItemClicked: { + onItemClicked: (item) => { stackView.pop(page) switch (item) { case "deleteMarker": @@ -399,7 +396,6 @@ ApplicationWindow { { stackView.pop(page) itemPopupMenu.type = type - itemPopupMenu.update() itemPopupMenu.popup() } @@ -484,7 +480,7 @@ support" height: page.height onFollowmeChanged: mainMenu.isFollowMe = map.followme onSupportedMapTypesChanged: mainMenu.mapTypeMenu.createMenu(map) - onCoordinatesCaptured: { + onCoordinatesCaptured: (latitude, longitude) => { var text = "<b>" + qsTr("Latitude:") + "</b> " + Helper.roundNumber(latitude,4) + "<br/><b>" + qsTr("Longitude:") + "</b> " + Helper.roundNumber(longitude,4) stackView.showMessage(qsTr("Coordinates"),text); } @@ -516,10 +512,10 @@ support" stackView.showMessage(title,message); } } - onShowMainMenu: mapPopupMenu.show(coordinate) - onShowMarkerMenu: markerPopupMenu.show(coordinate) - onShowRouteMenu: itemPopupMenu.show("Route",coordinate) - onShowPointMenu: itemPopupMenu.show("Point",coordinate) + onShowMainMenu: (coordinate) => mapPopupMenu.show(coordinate) + onShowMarkerMenu: (coordinate) => markerPopupMenu.show(coordinate) + onShowRouteMenu: (coordinate) => itemPopupMenu.show("Route",coordinate) + onShowPointMenu: (coordinate) => itemPopupMenu.show("Point",coordinate) onShowRouteList: stackView.showRouteListPage() } } diff --git a/examples/location/mapviewer/menus/ItemPopupMenu.qml b/examples/location/mapviewer/menus/ItemPopupMenu.qml index ea6fd3b9..ff4cc6aa 100644 --- a/examples/location/mapviewer/menus/ItemPopupMenu.qml +++ b/examples/location/mapviewer/menus/ItemPopupMenu.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -55,9 +55,12 @@ Menu { property variant type signal itemClicked(string item) - function update() { - clear() - addItem(qsTr("Info")).triggered.connect(function(){itemClicked("show" + type + "Info")}) - addItem(qsTr("Delete")).triggered.connect(function(){itemClicked("delete" + type )}) + MenuItem { + text: qsTr("Info") + onTriggered: itemClicked("show" + type + "Info") + } + MenuItem { + text: qsTr("Delete") + onTriggered: itemClicked("delete" + type) } } diff --git a/examples/location/mapviewer/menus/MainMenu.qml b/examples/location/mapviewer/menus/MainMenu.qml index d2cf4731..4616850e 100644 --- a/examples/location/mapviewer/menus/MainMenu.qml +++ b/examples/location/mapviewer/menus/MainMenu.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -53,9 +53,11 @@ import QtQuick.Controls import QtLocation MenuBar { - property variant providerMenu: providerMenu - property variant mapTypeMenu: mapTypeMenu - property variant toolsMenu: toolsMenu + id: menuBar + property variant providerMenu: providerMenu + property variant mapTypeMenu: mapTypeMenu + property variant toolsMenu: toolsMenu + property variant plugin property alias isFollowMe: toolsMenu.isFollowMe property alias isMiniMap: toolsMenu.isMiniMap @@ -119,49 +121,49 @@ MenuBar { id: toolsMenu property bool isFollowMe: false; property bool isMiniMap: false; - title: qsTr("Tools") + property variant plugin: menuBar.plugin - Component { - id: menuItem - MenuItem { + title: qsTr("Tools") - } + Action { + text: qsTr("Reverse geocode") + enabled: plugin ? plugin.supportsGeocoding(Plugin.ReverseGeocodingFeature) : false + onTriggered: selectTool("RevGeocode") } - - function createMenu(map) - { - clearMenu(toolsMenu) - if (map.plugin.supportsGeocoding(Plugin.ReverseGeocodingFeature)) { - addItem(menuItem.createObject(toolsMenu, { text: qsTr("Reverse geocode") })) - itemAt(count-1).triggered.connect(function(){selectTool("RevGeocode")}) - } - if (map.plugin.supportsGeocoding()) { - addItem(menuItem.createObject(toolsMenu, { text: qsTr("Geocode") })) - itemAt(count-1).triggered.connect(function(){selectTool("Geocode")}) - } - if (map.plugin.supportsRouting()) { - addItem(menuItem.createObject(toolsMenu, { text: qsTr("Route with coordinates") })) - itemAt(count-1).triggered.connect(function(){selectTool("CoordinateRoute")}) - addItem(menuItem.createObject(toolsMenu, { text: qsTr("Route with address") })) - itemAt(count-1).triggered.connect(function(){selectTool("AddressRoute")}) - } - - addItem(menuItem.createObject(toolsMenu, { text: "" })) - var item = itemAt(count-1) - item.text = Qt.binding(function() { return isMiniMap ? qsTr("Hide minimap") : qsTr("Minimap") }) - item.triggered.connect(function() {toggleMapState("MiniMap")}) - - addItem(menuItem.createObject(toolsMenu, { text: "" })) - item = itemAt(count-1) - item.text = Qt.binding(function() { return isFollowMe ? qsTr("Stop following") : qsTr("Follow me")}) - item.triggered.connect(function() {toggleMapState("FollowMe")}) - - addItem(menuItem.createObject(toolsMenu, { text: qsTr("Language") })) - itemAt(count-1).triggered.connect(function(){selectTool("Language")}) - addItem(menuItem.createObject(toolsMenu, { text: qsTr("Prefetch Map Data") })) - itemAt(count-1).triggered.connect(function(){selectTool("Prefetch")}) - addItem(menuItem.createObject(toolsMenu, { text: qsTr("Clear Map Data") })) - itemAt(count-1).triggered.connect(function(){selectTool("Clear")}) + MenuItem { + text: qsTr("Geocode") + enabled: plugin ? plugin.supportsGeocoding() : false + onTriggered: selectTool("Geocode") + } + MenuItem { + text: qsTr("Route with coordinates") + enabled: plugin ? plugin.supportsRouting() : false + onTriggered: selectTool("CoordinateRoute") + } + MenuItem { + text: qsTr("Route with address") + enabled: plugin ? plugin.supportsRouting() : false + onTriggered: selectTool("AddressRoute") + } + MenuItem { + text: isMiniMap ? qsTr("Hide minimap") : qsTr("Minimap") + onTriggered: toggleMapState("MiniMap") + } + MenuItem { + text: isFollowMe ? qsTr("Stop following") : qsTr("Follow me") + onTriggered: toggleMapState("FollowMe") + } + MenuItem { + text: qsTr("Language") + onTriggered: selectTool("Language") + } + MenuItem { + text: qsTr("Prefetch Map Data") + onTriggered: selectTool("Prefetch") + } + MenuItem { + text: qsTr("Clear Map Data") + onTriggered: selectTool("Clear") } } } diff --git a/examples/location/mapviewer/menus/MapPopupMenu.qml b/examples/location/mapviewer/menus/MapPopupMenu.qml index 42867710..1cad6b68 100644 --- a/examples/location/mapviewer/menus/MapPopupMenu.qml +++ b/examples/location/mapviewer/menus/MapPopupMenu.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -57,18 +57,26 @@ Menu { property int mapItemsCount signal itemClicked(string item) - function update() { - clear() - addItem(qsTr("Add Marker")).triggered.connect(function(){itemClicked("addMarker")}) - addItem(qsTr("Get coordinate")).triggered.connect(function(){itemClicked("getCoordinate")}) - addItem(qsTr("Fit Viewport To Map Items")).triggered.connect(function(){itemClicked("fitViewport")}) - - if (markersCount > 0) { - addItem(qsTr("Delete all markers")).triggered.connect(function(){itemClicked("deleteMarkers")}) - } - - if (mapItemsCount > 0) { - addItem(qsTr("Delete all items")).triggered.connect(function(){itemClicked("deleteItems")}) - } + MenuItem { + text: qsTr("Add Marker") + onTriggered: itemClicked("addMarker") + } + MenuItem { + text: qsTr("Get coordinate") + onTriggered: itemClicked("getCoordinate") + } + MenuItem { + text: qsTr("Fit Viewport To Map Items") + onTriggered: itemClicked("fitViewport") + } + MenuItem { + text: qsTr("Delete all markers") + enabled: markersCount > 0 + onTriggered: itemClicked("deleteMarkers") + } + MenuItem { + text: qsTr("Delete all items") + enabled: mapItemsCount > 0 + onTriggered: itemClicked("deleteItems") } } diff --git a/examples/location/mapviewer/menus/MarkerPopupMenu.qml b/examples/location/mapviewer/menus/MarkerPopupMenu.qml index e49b90f8..748dcbdc 100644 --- a/examples/location/mapviewer/menus/MarkerPopupMenu.qml +++ b/examples/location/mapviewer/menus/MarkerPopupMenu.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -56,31 +56,58 @@ Menu { property int markersCount signal itemClicked(string item) - function update() { - clear() - addItem(qsTr("Delete")).triggered.connect(function(){itemClicked("deleteMarker")}) - addItem(qsTr("Coordinates")).triggered.connect(function(){itemClicked("getMarkerCoordinate")}) - addItem(qsTr("Move to")).triggered.connect(function(){itemClicked("moveMarkerTo")}) - if (currentMarker == markersCount-2){ - addItem(qsTr("Route to next point")).triggered.connect(function(){itemClicked("routeToNextPoint")}); - addItem(qsTr("Distance to next point")).triggered.connect(function(){itemClicked("distanceToNextPoint")}); + MenuItem { + text: qsTr("Delete") + onTriggered: itemClicked("deleteMarker") + } + MenuItem { + text: qsTr("Coordinates") + onTriggered: itemClicked("getMarkerCoordinate") + } + MenuItem { + text: qsTr("Move to") + onTriggered: itemClicked("moveMarkerTo") + } + MenuItem { + text: currentMarker < markersCount-2 ? qsTr("Route to next points") + : qsTr("Route to next point") + enabled: currentMarker <= markersCount - 2 + onTriggered: currentMarker < markersCount-2 ? itemClicked("routeToNextPoints") + : itemClicked("routeToNextPoint") + } + MenuItem { + text: currentMarker < markersCount-2 ? qsTr("Distance to next points") + : qsTr("Distance to next point") + enabled: currentMarker <= markersCount - 2 + onTriggered: currentMarker < markersCount-2 ? itemClicked("distanceToNextPoints") + : itemClicked("distanceToNextPoint") + } + Menu { + title: qsTr("Draw...") + + MenuItem { + text: qsTr("Image") + onTriggered: itemClicked("drawImage") } - if (currentMarker < markersCount-2){ - addItem(qsTr("Route to next points")).triggered.connect(function(){itemClicked("routeToNextPoints")}); - addItem(qsTr("Distance to next point")).triggered.connect(function(){itemClicked("distanceToNextPoint")}); + MenuItem { + text: qsTr("Rectangle") + enabled: currentMarker <= markersCount - 2 + onTriggered: itemClicked("drawRectangle") } - - var menu = addMenu(qsTr("Draw...")) - menu.addItem(qsTr("Image")).triggered.connect(function(){itemClicked("drawImage")}) - - if (currentMarker <= markersCount-2){ - menu.addItem(qsTr("Rectangle")).triggered.connect(function(){itemClicked("drawRectangle")}) - menu.addItem(qsTr("Circle")).triggered.connect(function(){itemClicked("drawCircle")}) - menu.addItem(qsTr("Polyline")).triggered.connect(function(){itemClicked("drawPolyline")}) + MenuItem { + text: qsTr("Circle") + enabled: currentMarker <= markersCount - 2 + onTriggered: itemClicked("drawCircle") } - - if (currentMarker < markersCount-2){ - menu.addItem(qsTr("Polygon")).triggered.connect(function(){itemClicked("drawPolygonMenu")}) + MenuItem { + text: qsTr("Polyline") + enabled: currentMarker <= markersCount - 2 + onTriggered: itemClicked("drawPolyline") + } + MenuItem { + text: qsTr("Polygon") + enabled: currentMarker < markersCount-2 + onTriggered: itemClicked("drawPolygonMenu") } } } |