mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Dive list: take pointer-to-dive_site instead of QVariant
Since "struct dive_site *" is now a Q_METATYPE, the functions MapWidgetHelper::centerOnDiveSite() and ::getCoordinates() can directly get such a pointer instead of a QVariant. This makes the code nicer to read. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									920eb7576f
								
							
						
					
					
						commit
						c980216dc0
					
				
					 2 changed files with 3 additions and 13 deletions
				
			
		| 
						 | 
					@ -22,21 +22,13 @@ MapWidgetHelper::MapWidgetHelper(QObject *parent) : QObject(parent)
 | 
				
			||||||
	        this, SLOT(selectedLocationChanged(MapLocation *)));
 | 
						        this, SLOT(selectedLocationChanged(MapLocation *)));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QGeoCoordinate MapWidgetHelper::getCoordinates(QVariant dive_site)
 | 
					QGeoCoordinate MapWidgetHelper::getCoordinates(struct dive_site *ds)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct dive_site *ds = (struct dive_site *)dive_site.value<uintptr_t>();
 | 
					 | 
				
			||||||
	if (!ds || !dive_site_has_gps_location(ds))
 | 
						if (!ds || !dive_site_has_gps_location(ds))
 | 
				
			||||||
		return QGeoCoordinate(0.0, 0.0);
 | 
							return QGeoCoordinate(0.0, 0.0);
 | 
				
			||||||
	return QGeoCoordinate(ds->location.lat.udeg * 0.000001, ds->location.lon.udeg * 0.000001);
 | 
						return QGeoCoordinate(ds->location.lat.udeg * 0.000001, ds->location.lon.udeg * 0.000001);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MapWidgetHelper::centerOnDiveSite(QVariant dive_site)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	struct dive_site *ds = (struct dive_site *)dive_site.value<uintptr_t>();
 | 
					 | 
				
			||||||
	if (ds)
 | 
					 | 
				
			||||||
		centerOnDiveSite(ds);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void MapWidgetHelper::centerOnDiveSite(struct dive_site *ds)
 | 
					void MapWidgetHelper::centerOnDiveSite(struct dive_site *ds)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (!ds || !dive_site_has_gps_location(ds)) {
 | 
						if (!ds || !dive_site_has_gps_location(ds)) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,6 @@
 | 
				
			||||||
#include "core/units.h"
 | 
					#include "core/units.h"
 | 
				
			||||||
#include <QObject>
 | 
					#include <QObject>
 | 
				
			||||||
#include <QGeoCoordinate>
 | 
					#include <QGeoCoordinate>
 | 
				
			||||||
#include <QVariant>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(Q_OS_IOS)
 | 
					#if defined(Q_OS_IOS)
 | 
				
			||||||
#include <QtPlugin>
 | 
					#include <QtPlugin>
 | 
				
			||||||
| 
						 | 
					@ -27,10 +26,9 @@ class MapWidgetHelper : public QObject {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	explicit MapWidgetHelper(QObject *parent = NULL);
 | 
						explicit MapWidgetHelper(QObject *parent = NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void centerOnDiveSite(struct dive_site *);
 | 
					 | 
				
			||||||
	void centerOnSelectedDiveSite();
 | 
						void centerOnSelectedDiveSite();
 | 
				
			||||||
	Q_INVOKABLE QGeoCoordinate getCoordinates(QVariant dive_site);
 | 
						Q_INVOKABLE QGeoCoordinate getCoordinates(struct dive_site *ds);
 | 
				
			||||||
	Q_INVOKABLE void centerOnDiveSite(QVariant dive_site);
 | 
						Q_INVOKABLE void centerOnDiveSite(struct dive_site *ds);
 | 
				
			||||||
	Q_INVOKABLE void reloadMapLocations();
 | 
						Q_INVOKABLE void reloadMapLocations();
 | 
				
			||||||
	Q_INVOKABLE void copyToClipboardCoordinates(QGeoCoordinate coord, bool formatTraditional);
 | 
						Q_INVOKABLE void copyToClipboardCoordinates(QGeoCoordinate coord, bool formatTraditional);
 | 
				
			||||||
	Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord);
 | 
						Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue