mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	map-widget: allow real-time updates of edited markers
This patch allows updating the location of map markers while editing a dive site and updating the text in the LocationInformationWidget in real-time. Currently it is only possible to see the marker changes by clicking 'Apply'. The modification required the following changes: - add the MapWidget::updateCurrentDiveSiteCoordinatesToMap() slot and call it each time the GPS text updates - separate the updateCurrentDiveSiteCoordinates(FromMap/ToMap) logic by having the FromMap/ToMap suffix to method names - make MapWidgetHelper::updateCurrentDiveSiteCoordinatesToMap() call a new MapLocationModel::updateMapLocationCoordinates() method, which updates selected location coordinates and the model - add MapLocation::setCoordinateNoEmit() that does not emit a signal when updating a coordinate Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
		
							parent
							
								
									89ccdc3178
								
							
						
					
					
						commit
						746874a78e
					
				
					 8 changed files with 45 additions and 3 deletions
				
			
		|  | @ -210,7 +210,7 @@ void MapWidgetHelper::copyToClipboardCoordinates(QGeoCoordinate coord, bool form | |||
| 	prefs.coordinates_traditional = savep; | ||||
| } | ||||
| 
 | ||||
| void MapWidgetHelper::updateCurrentDiveSiteCoordinates(quint32 uuid, QGeoCoordinate coord) | ||||
| void MapWidgetHelper::updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeoCoordinate coord) | ||||
| { | ||||
| 	MapLocation *loc = m_mapLocationModel->getMapLocationForUuid(uuid); | ||||
| 	if (loc) | ||||
|  | @ -220,6 +220,14 @@ void MapWidgetHelper::updateCurrentDiveSiteCoordinates(quint32 uuid, QGeoCoordin | |||
| 	emit coordinatesChanged(); | ||||
| } | ||||
| 
 | ||||
| void MapWidgetHelper::updateCurrentDiveSiteCoordinatesToMap() | ||||
| { | ||||
| 	const qreal latitude = displayed_dive_site.latitude.udeg * 0.000001; | ||||
| 	const qreal longitude = displayed_dive_site.longitude.udeg * 0.000001; | ||||
| 	QGeoCoordinate coord(latitude, longitude); | ||||
| 	m_mapLocationModel->updateMapLocationCoordinates(displayed_dive_site.uuid, coord); | ||||
| } | ||||
| 
 | ||||
| bool MapWidgetHelper::editMode() | ||||
| { | ||||
| 	return m_editMode; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue