mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Merge 5d38fd3fe8 into beb352d47c
				
					
				
			This commit is contained in:
		
						commit
						8e58c08318
					
				
					 4 changed files with 83 additions and 35 deletions
				
			
		|  | @ -1,7 +1,7 @@ | ||||||
| // SPDX-License-Identifier: GPL-2.0 | // SPDX-License-Identifier: GPL-2.0 | ||||||
| import QtQuick 2.5 | import QtQuick  | ||||||
| import QtLocation 5.3 | import QtLocation  | ||||||
| import QtPositioning 5.3 | import QtPositioning  | ||||||
| import org.subsurfacedivelog.mobile 1.0 | import org.subsurfacedivelog.mobile 1.0 | ||||||
| 
 | 
 | ||||||
| Item { | Item { | ||||||
|  | @ -15,7 +15,7 @@ Item { | ||||||
| 		id: mapHelper | 		id: mapHelper | ||||||
| 		map: map | 		map: map | ||||||
| 		editMode: false | 		editMode: false | ||||||
| 		onSelectedDivesChanged: rootItem.selectedDivesChanged(list) | 		onSelectedDivesChanged: (list) => { rootItem.selectedDivesChanged(list) } | ||||||
| 		onEditModeChanged: editMessage.isVisible = editMode === true ? 1 : 0 | 		onEditModeChanged: editMessage.isVisible = editMode === true ? 1 : 0 | ||||||
| 		onCoordinatesChanged: {} | 		onCoordinatesChanged: {} | ||||||
| 		Component.onCompleted: { | 		Component.onCompleted: { | ||||||
|  | @ -29,7 +29,6 @@ Item { | ||||||
| 		id: map | 		id: map | ||||||
| 		anchors.fill: parent | 		anchors.fill: parent | ||||||
| 		zoomLevel: defaultZoomIn | 		zoomLevel: defaultZoomIn | ||||||
| 
 |  | ||||||
| 		property var mapType | 		property var mapType | ||||||
| 		readonly property var defaultCenter: QtPositioning.coordinate(0, 0) | 		readonly property var defaultCenter: QtPositioning.coordinate(0, 0) | ||||||
| 		readonly property real defaultZoomIn: 12.0 | 		readonly property real defaultZoomIn: 12.0 | ||||||
|  | @ -41,12 +40,46 @@ Item { | ||||||
| 		property real newZoomOut: 1.0 | 		property real newZoomOut: 1.0 | ||||||
| 		property var clickCoord: QtPositioning.coordinate(0, 0) | 		property var clickCoord: QtPositioning.coordinate(0, 0) | ||||||
| 		property bool isReady: false | 		property bool isReady: false | ||||||
| 
 |  | ||||||
| 		Component.onCompleted: isReady = true | 		Component.onCompleted: isReady = true | ||||||
| 		onZoomLevelChanged: { | 		onZoomLevelChanged: { | ||||||
| 			if (isReady) | 			if (isReady) | ||||||
| 				mapHelper.calculateSmallCircleRadius(map.center) | 				mapHelper.calculateSmallCircleRadius(map.center) | ||||||
| 		} | 		} | ||||||
|  |         property geoCoordinate startCentroid | ||||||
|  |         startCentroid: newCenter | ||||||
|  | 
 | ||||||
|  |         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 | ||||||
|  |         } | ||||||
|  |         WheelHandler { | ||||||
|  |             id: wheel | ||||||
|  |             // workaround for QTBUG-87646 / QTBUG-112394 / QTBUG-112432: | ||||||
|  |             // Magic Mouse pretends to be a trackpad but doesn't work with PinchHandler | ||||||
|  |             // and we don't yet distinguish mice and trackpads on Wayland either | ||||||
|  |             acceptedDevices: Qt.platform.pluginName === "cocoa" || Qt.platform.pluginName === "wayland" | ||||||
|  |                              ? PointerDevice.Mouse | PointerDevice.TouchPad | ||||||
|  |                              : PointerDevice.Mouse | ||||||
|  |             rotationScale: 1/120 | ||||||
|  |             property: "zoomLevel" | ||||||
|  |         } | ||||||
|  |         DragHandler { | ||||||
|  |             id: drag | ||||||
|  |             target: null | ||||||
|  |             onTranslationChanged: (delta) => map.pan(-delta.x, -delta.y) | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
| 		MapItemView { | 		MapItemView { | ||||||
| 			id: mapItemView | 			id: mapItemView | ||||||
|  | @ -68,6 +101,8 @@ Item { | ||||||
| 					MouseArea { | 					MouseArea { | ||||||
| 						drag.target: (mapHelper.editMode && model.isSelected) ? mapItem : undefined | 						drag.target: (mapHelper.editMode && model.isSelected) ? mapItem : undefined | ||||||
|             anchors.fill: parent |             anchors.fill: parent | ||||||
|  |             hoverEnabled: true | ||||||
|  | 
 | ||||||
| 						onClicked: { | 						onClicked: { | ||||||
| 							if (!mapHelper.editMode && model.divesite) | 							if (!mapHelper.editMode && model.divesite) | ||||||
| 								mapHelper.selectedLocationChanged(model.divesite) | 								mapHelper.selectedLocationChanged(model.divesite) | ||||||
|  | @ -122,8 +157,8 @@ Item { | ||||||
| 
 | 
 | ||||||
| 		MouseArea { | 		MouseArea { | ||||||
| 			anchors.fill: parent | 			anchors.fill: parent | ||||||
| 			onPressed: { map.stopZoomAnimations(); mouse.accepted = false } | 			onPressed: (mouse) => { map.stopZoomAnimations(); mouse.accepted = false } | ||||||
| 			onWheel: { map.stopZoomAnimations(); wheel.accepted = false } | 			onWheel: (wheel) => { map.stopZoomAnimations(); wheel.accepted = false } | ||||||
| 			onDoubleClicked: map.doubleClickHandler(map.toCoordinate(Qt.point(mouseX, mouseY))) | 			onDoubleClicked: map.doubleClickHandler(map.toCoordinate(Qt.point(mouseX, mouseY))) | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,15 +4,15 @@ | ||||||
| #include <QDebug> | #include <QDebug> | ||||||
| #include <QVector> | #include <QVector> | ||||||
| 
 | 
 | ||||||
| #include "qmlmapwidgethelper.h" |  | ||||||
| #include "core/divefilter.h" | #include "core/divefilter.h" | ||||||
| #include "core/divelist.h" | #include "core/divelist.h" | ||||||
| #include "core/divelog.h" | #include "core/divelog.h" | ||||||
| #include "core/divesite.h" | #include "core/divesite.h" | ||||||
| #include "core/qthelper.h" | #include "core/qthelper.h" | ||||||
| #include "core/range.h" | #include "core/range.h" | ||||||
| #include "qt-models/maplocationmodel.h" | #include "qmlmapwidgethelper.h" | ||||||
| #include "qt-models/divelocationmodel.h" | #include "qt-models/divelocationmodel.h" | ||||||
|  | #include "qt-models/maplocationmodel.h" | ||||||
| #ifndef SUBSURFACE_MOBILE | #ifndef SUBSURFACE_MOBILE | ||||||
| #include "desktop-widgets/mapwidget.h" | #include "desktop-widgets/mapwidget.h" | ||||||
| #endif | #endif | ||||||
|  | @ -251,8 +251,8 @@ QString MapWidgetHelper::pluginObject() | ||||||
| { | { | ||||||
| 	QString lang = getUiLanguage().replace('_', '-'); | 	QString lang = getUiLanguage().replace('_', '-'); | ||||||
| 	QString cacheFolder = QString::fromStdString(system_default_directory() + "/googlemaps").replace("\\", "/"); | 	QString cacheFolder = QString::fromStdString(system_default_directory() + "/googlemaps").replace("\\", "/"); | ||||||
| 	return QStringLiteral("import QtQuick 2.0;" | 	return QStringLiteral("import QtQuick;" | ||||||
| 			      "import QtLocation 5.3;" | 			      "import QtLocation;" | ||||||
| 			      "Plugin {" | 			      "Plugin {" | ||||||
| 			      "    id: mapPlugin;" | 			      "    id: mapPlugin;" | ||||||
| 			      "    name: 'googlemaps';" | 			      "    name: 'googlemaps';" | ||||||
|  | @ -263,5 +263,6 @@ QString MapWidgetHelper::pluginObject() | ||||||
| 			      "            console.warn('MapWidget.qml: cannot find a plugin named: ' + name);" | 			      "            console.warn('MapWidget.qml: cannot find a plugin named: ' + name);" | ||||||
| 			      "        }" | 			      "        }" | ||||||
| 			      "    }" | 			      "    }" | ||||||
| 			      "}").arg(lang, cacheFolder); | 			      "}") | ||||||
|  | 		.arg(lang, cacheFolder); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -571,7 +571,11 @@ if [ "$QUICK" != "1" ] && [ "$BUILD_DESKTOP$BUILD_MOBILE" != "" ] && ( [[ $QT_VE | ||||||
| 	# build the googlemaps map plugin | 	# build the googlemaps map plugin | ||||||
| 
 | 
 | ||||||
| 	cd "$SRC" | 	cd "$SRC" | ||||||
|  | 	if [ "$BUILD_WITH_QT6" = "1" ] ; then | ||||||
|  | 		./${SRC_DIR}/scripts/get-dep-lib.sh -qt6 single . googlemaps | ||||||
|  | 	else | ||||||
| 		./${SRC_DIR}/scripts/get-dep-lib.sh single . googlemaps | 		./${SRC_DIR}/scripts/get-dep-lib.sh single . googlemaps | ||||||
|  | 	fi | ||||||
| 	pushd googlemaps | 	pushd googlemaps | ||||||
| 	mkdir -p build | 	mkdir -p build | ||||||
| 	mkdir -p J10build | 	mkdir -p J10build | ||||||
|  |  | ||||||
|  | @ -79,13 +79,17 @@ curl_download_library() { | ||||||
| 	fi | 	fi | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | QT6="0" | ||||||
| # deal with all the command line arguments | # deal with all the command line arguments | ||||||
|  | if [ "$1" == "-qt6" ] ; then | ||||||
|  | 	shift | ||||||
|  | 	QT6="1" | ||||||
|  | fi | ||||||
| if [ $# -ne 2 ] && [ $# -ne 3 ] ; then | if [ $# -ne 2 ] && [ $# -ne 3 ] ; then | ||||||
| 	echo "wrong number of parameters, format:" | 	echo "wrong number of parameters, format:" | ||||||
| 	echo "get-dep-lib.sh <platform> <install dir>" | 	echo "get-dep-lib.sh [ -qt6 ] <platform> <install dir>" | ||||||
| 	echo "get-dep-lib.sh single <install dir> <lib>" | 	echo "get-dep-lib.sh [ -qt6 ] single <install dir> <lib>" | ||||||
| 	echo "get-dep-lib.sh singleAndroid <install dir> <lib>" | 	echo "get-dep-lib.sh [ -qt6 ] singleAndroid <install dir> <lib>" | ||||||
| 	echo "where" | 	echo "where" | ||||||
| 	echo "<platform> is one of scripts, ios or android" | 	echo "<platform> is one of scripts, ios or android" | ||||||
| 	echo "(the name of the directory where build.sh resides)" | 	echo "(the name of the directory where build.sh resides)" | ||||||
|  | @ -169,7 +173,11 @@ for package in "${PACKAGES[@]}" ; do | ||||||
| 			git_checkout_library breeze-icons $CURRENT_BREEZE_ICONS https://github.com/kde/breeze-icons.git | 			git_checkout_library breeze-icons $CURRENT_BREEZE_ICONS https://github.com/kde/breeze-icons.git | ||||||
| 			;; | 			;; | ||||||
| 		googlemaps) | 		googlemaps) | ||||||
|  | 			if [ "$QT6" = "1" ] ; then | ||||||
|  | 				git_checkout_library googlemaps master https://github.com/vladest/googlemaps.git | ||||||
|  | 			else | ||||||
| 				git_checkout_library googlemaps master https://github.com/Subsurface/googlemaps.git | 				git_checkout_library googlemaps master https://github.com/Subsurface/googlemaps.git | ||||||
|  | 			fi | ||||||
| 			;; | 			;; | ||||||
| 		hidapi) | 		hidapi) | ||||||
| 			git_checkout_library hidapi master https://github.com/libusb/hidapi.git | 			git_checkout_library hidapi master https://github.com/libusb/hidapi.git | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue