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:
Berthold Stoeger 2018-10-28 22:04:56 +01:00 committed by Dirk Hohndel
parent 920eb7576f
commit c980216dc0
2 changed files with 3 additions and 13 deletions

View file

@ -22,21 +22,13 @@ MapWidgetHelper::MapWidgetHelper(QObject *parent) : QObject(parent)
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))
return QGeoCoordinate(0.0, 0.0);
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)
{
if (!ds || !dive_site_has_gps_location(ds)) {

View file

@ -5,7 +5,6 @@
#include "core/units.h"
#include <QObject>
#include <QGeoCoordinate>
#include <QVariant>
#if defined(Q_OS_IOS)
#include <QtPlugin>
@ -27,10 +26,9 @@ class MapWidgetHelper : public QObject {
public:
explicit MapWidgetHelper(QObject *parent = NULL);
void centerOnDiveSite(struct dive_site *);
void centerOnSelectedDiveSite();
Q_INVOKABLE QGeoCoordinate getCoordinates(QVariant dive_site);
Q_INVOKABLE void centerOnDiveSite(QVariant dive_site);
Q_INVOKABLE QGeoCoordinate getCoordinates(struct dive_site *ds);
Q_INVOKABLE void centerOnDiveSite(struct dive_site *ds);
Q_INVOKABLE void reloadMapLocations();
Q_INVOKABLE void copyToClipboardCoordinates(QGeoCoordinate coord, bool formatTraditional);
Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord);