From 66c5c5f72b82bd07c6222dbf624d6389237a590b Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Mon, 8 Oct 2018 12:57:46 +0200 Subject: Map: remove LocationInformationWidget::coordinatesChanged signal This was used by LocationInformationWidget to instruct the map that the coordinates of the current dive site has changed. There is no reason why this couldn't be a function call, as no other object ever connect()s to this signal. In fact, such a function already exists viz. updateLocationOnMap. Therefore, replace the signal by a simple function call. Moreover, the uuid and coordinates of the dive site were transported via the global "displayed_dive_site" object. Instead, pass this information in the parameters of the function. This makes it easier to reason about data- and control-flow. Signed-off-by: Berthold Stoeger --- map-widget/qmlmapwidgethelper.cpp | 10 +++++----- map-widget/qmlmapwidgethelper.h | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'map-widget') diff --git a/map-widget/qmlmapwidgethelper.cpp b/map-widget/qmlmapwidgethelper.cpp index b5fd916cd..f5be15ba6 100644 --- a/map-widget/qmlmapwidgethelper.cpp +++ b/map-widget/qmlmapwidgethelper.cpp @@ -277,12 +277,12 @@ void MapWidgetHelper::updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeo emit coordinatesChanged(); } -void MapWidgetHelper::updateCurrentDiveSiteCoordinatesToMap() +void MapWidgetHelper::updateDiveSiteCoordinates(uint32_t uuid, degrees_t latitude, degrees_t longitude) { - 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); + const qreal latitude_r = latitude.udeg * 0.000001; + const qreal longitude_r = longitude.udeg * 0.000001; + QGeoCoordinate coord(latitude_r, longitude_r); + m_mapLocationModel->updateMapLocationCoordinates(uuid, coord); QMetaObject::invokeMethod(m_map, "centerOnCoordinate", Q_ARG(QVariant, QVariant::fromValue(coord))); } diff --git a/map-widget/qmlmapwidgethelper.h b/map-widget/qmlmapwidgethelper.h index e5c77aa8a..77f352965 100644 --- a/map-widget/qmlmapwidgethelper.h +++ b/map-widget/qmlmapwidgethelper.h @@ -2,6 +2,7 @@ #ifndef QMLMAPWIDGETHELPER_H #define QMLMAPWIDGETHELPER_H +#include "core/units.h" #include #include #include @@ -35,7 +36,7 @@ public: Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord); Q_INVOKABLE void updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeoCoordinate coord); Q_INVOKABLE void selectVisibleLocations(); - void updateCurrentDiveSiteCoordinatesToMap(); + void updateDiveSiteCoordinates(uint32_t uuid, degrees_t latitude, degrees_t longitude); bool editMode(); void setEditMode(bool editMode); QString pluginObject(); -- cgit v1.2.3-70-g09d2