mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Dive site: replace UUID by pointer in mobile code
Replace UUIDs by pointers to dive-site in mobile code. In both cases, the value is transported via a QVariant. The function getCoordinatesForUUID(), which was only used from mobile, can be replaced by a getCoordinatesFor() function taking a variant supposed to contain a dive-site pointer. Likewise, the variant of the centerOnDiveSite function is now supposed to wrap a pointer-to-divesite. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
872d56de01
commit
75b5d61522
7 changed files with 19 additions and 21 deletions
|
@ -22,19 +22,17 @@ MapWidgetHelper::MapWidgetHelper(QObject *parent) : QObject(parent)
|
|||
this, SLOT(selectedLocationChanged(MapLocation *)));
|
||||
}
|
||||
|
||||
QGeoCoordinate MapWidgetHelper::getCoordinatesForUUID(QVariant dive_site_uuid)
|
||||
QGeoCoordinate MapWidgetHelper::getCoordinates(QVariant dive_site)
|
||||
{
|
||||
const uint32_t uuid = qvariant_cast<uint32_t>(dive_site_uuid);
|
||||
struct dive_site *ds = get_dive_site_by_uuid(uuid);
|
||||
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::centerOnDiveSiteUUID(QVariant dive_site_uuid)
|
||||
void MapWidgetHelper::centerOnDiveSite(QVariant dive_site)
|
||||
{
|
||||
const uint32_t uuid = qvariant_cast<uint32_t>(dive_site_uuid);
|
||||
struct dive_site *ds = get_dive_site_by_uuid(uuid);
|
||||
struct dive_site *ds = (struct dive_site *)dive_site.value<uintptr_t>();
|
||||
if (ds)
|
||||
centerOnDiveSite(ds);
|
||||
}
|
||||
|
|
|
@ -29,8 +29,8 @@ public:
|
|||
|
||||
void centerOnDiveSite(struct dive_site *);
|
||||
void centerOnSelectedDiveSite();
|
||||
Q_INVOKABLE QGeoCoordinate getCoordinatesForUUID(QVariant dive_site_uuid);
|
||||
Q_INVOKABLE void centerOnDiveSiteUUID(QVariant dive_site_uuid);
|
||||
Q_INVOKABLE QGeoCoordinate getCoordinates(QVariant dive_site);
|
||||
Q_INVOKABLE void centerOnDiveSite(QVariant dive_site);
|
||||
Q_INVOKABLE void reloadMapLocations();
|
||||
Q_INVOKABLE void copyToClipboardCoordinates(QGeoCoordinate coord, bool formatTraditional);
|
||||
Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue