Dive site: pass pointer to updateDiveSiteCoordinates()

There are two updateDiveSiteCoordinates() member-functions, viz.
in MapWidget and MapWidgetHelper. Adapt them to take a pointer
to dive_site instead of a UUID. This is part of an effort to
replace UUIDs by pointers.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-10-25 12:23:19 +02:00 committed by Dirk Hohndel
parent cedc23f487
commit 872d56de01
5 changed files with 9 additions and 7 deletions

View file

@ -341,7 +341,7 @@ void LocationInformationWidget::updateLocationOnMap()
location_t location;
if (!parseGpsText(ui.diveSiteCoordinates->text(), location))
return;
MapWidget::instance()->updateDiveSiteCoordinates(diveSite->uuid, location);
MapWidget::instance()->updateDiveSiteCoordinates(diveSite, location);
filter_model.setCoordinates(location);
}

View file

@ -116,10 +116,10 @@ void MapWidget::coordinatesChangedLocal(const location_t &location)
emit coordinatesChanged(location);
}
void MapWidget::updateDiveSiteCoordinates(uint32_t uuid, const location_t &location)
void MapWidget::updateDiveSiteCoordinates(struct dive_site *ds, const location_t &location)
{
CHECK_IS_READY_RETURN_VOID();
m_mapHelper->updateDiveSiteCoordinates(uuid, location);
m_mapHelper->updateDiveSiteCoordinates(ds, location);
}
MapWidget::~MapWidget()

View file

@ -37,7 +37,7 @@ public slots:
void selectedDivesChanged(QList<int>);
void coordinatesChangedLocal(const location_t &);
void doneLoading(QQuickWidget::Status status);
void updateDiveSiteCoordinates(uint32_t uuid, const location_t &);
void updateDiveSiteCoordinates(struct dive_site *ds, const location_t &);
private:
static MapWidget *m_instance;

View file

@ -273,12 +273,14 @@ void MapWidgetHelper::updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeo
emit coordinatesChanged(location);
}
void MapWidgetHelper::updateDiveSiteCoordinates(uint32_t uuid, const location_t &location)
void MapWidgetHelper::updateDiveSiteCoordinates(struct dive_site *ds, const location_t &location)
{
if (!ds)
return;
const qreal latitude_r = location.lat.udeg * 0.000001;
const qreal longitude_r = location.lon.udeg * 0.000001;
QGeoCoordinate coord(latitude_r, longitude_r);
m_mapLocationModel->updateMapLocationCoordinates(uuid, coord);
m_mapLocationModel->updateMapLocationCoordinates(ds->uuid, coord);
QMetaObject::invokeMethod(m_map, "centerOnCoordinate", Q_ARG(QVariant, QVariant::fromValue(coord)));
}

View file

@ -36,7 +36,7 @@ public:
Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord);
Q_INVOKABLE void updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeoCoordinate coord);
Q_INVOKABLE void selectVisibleLocations();
void updateDiveSiteCoordinates(uint32_t uuid, const location_t &);
void updateDiveSiteCoordinates(struct dive_site *ds, const location_t &);
void enterEditMode(struct dive_site *ds);
void exitEditMode();
QString pluginObject();