aboutsummaryrefslogtreecommitdiffstats
path: root/map-widget
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-10-08 12:57:46 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-10-11 16:25:32 -0700
commit66c5c5f72b82bd07c6222dbf624d6389237a590b (patch)
tree8741a3158c0f52dc5790456f70767dbd77e05cdc /map-widget
parentad57871a2cbb03b0880d33184466e052a20dbd1d (diff)
downloadsubsurface-66c5c5f72b82bd07c6222dbf624d6389237a590b.tar.gz
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 <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'map-widget')
-rw-r--r--map-widget/qmlmapwidgethelper.cpp10
-rw-r--r--map-widget/qmlmapwidgethelper.h3
2 files changed, 7 insertions, 6 deletions
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 <QObject>
#include <QGeoCoordinate>
#include <QVariant>
@@ -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();