summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
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 /desktop-widgets
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 'desktop-widgets')
-rw-r--r--desktop-widgets/locationinformation.cpp12
-rw-r--r--desktop-widgets/locationinformation.h1
-rw-r--r--desktop-widgets/mapwidget.cpp4
-rw-r--r--desktop-widgets/mapwidget.h3
4 files changed, 10 insertions, 10 deletions
diff --git a/desktop-widgets/locationinformation.cpp b/desktop-widgets/locationinformation.cpp
index 7a8381966..28a33ba2e 100644
--- a/desktop-widgets/locationinformation.cpp
+++ b/desktop-widgets/locationinformation.cpp
@@ -57,8 +57,6 @@ LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBo
this, &LocationInformationWidget::updateGpsCoordinates);
connect(this, &LocationInformationWidget::endEditDiveSite,
MapWidget::instance(), &MapWidget::repopulateLabels);
- connect(this, &LocationInformationWidget::coordinatesChanged,
- MapWidget::instance(), &MapWidget::updateCurrentDiveSiteCoordinatesToMap);
}
bool LocationInformationWidget::eventFilter(QObject *object, QEvent *ev)
@@ -70,7 +68,7 @@ bool LocationInformationWidget::eventFilter(QObject *object, QEvent *ev)
contextMenu.exec(ctx->globalPos());
return true;
} else if (ev->type() == QEvent::FocusOut && object == ui.diveSiteCoordinates) {
- emit coordinatesChanged();
+ updateLocationOnMap();
}
return false;
}
@@ -218,7 +216,7 @@ void LocationInformationWidget::acceptChanges()
emit endRequestCoordinates();
emit endEditDiveSite();
emit stopFilterDiveSite();
- emit coordinatesChanged();
+ updateLocationOnMap();
}
void LocationInformationWidget::rejectChanges()
@@ -227,7 +225,7 @@ void LocationInformationWidget::rejectChanges()
emit endRequestCoordinates();
emit stopFilterDiveSite();
emit endEditDiveSite();
- emit coordinatesChanged();
+ updateLocationOnMap();
}
void LocationInformationWidget::showEvent(QShowEvent *ev)
@@ -336,7 +334,9 @@ void LocationInformationWidget::reverseGeocode()
void LocationInformationWidget::updateLocationOnMap()
{
- emit coordinatesChanged();
+ if (displayed_dive_site.uuid)
+ MapWidget::instance()->updateDiveSiteCoordinates(displayed_dive_site.uuid, displayed_dive_site.latitude,
+ displayed_dive_site.longitude);
}
DiveLocationFilterProxyModel::DiveLocationFilterProxyModel(QObject*)
diff --git a/desktop-widgets/locationinformation.h b/desktop-widgets/locationinformation.h
index 736e53e04..66d52a490 100644
--- a/desktop-widgets/locationinformation.h
+++ b/desktop-widgets/locationinformation.h
@@ -38,7 +38,6 @@ private slots:
signals:
void startEditDiveSite(uint32_t uuid);
void endEditDiveSite();
- void coordinatesChanged();
void startFilterDiveSite(uint32_t uuid);
void stopFilterDiveSite();
void requestCoordinates();
diff --git a/desktop-widgets/mapwidget.cpp b/desktop-widgets/mapwidget.cpp
index a940cdb39..2966401d2 100644
--- a/desktop-widgets/mapwidget.cpp
+++ b/desktop-widgets/mapwidget.cpp
@@ -122,10 +122,10 @@ void MapWidget::coordinatesChangedLocal()
emit coordinatesChanged();
}
-void MapWidget::updateCurrentDiveSiteCoordinatesToMap()
+void MapWidget::updateDiveSiteCoordinates(uint32_t uuid, degrees_t latitude, degrees_t longitude)
{
CHECK_IS_READY_RETURN_VOID();
- m_mapHelper->updateCurrentDiveSiteCoordinatesToMap();
+ m_mapHelper->updateDiveSiteCoordinates(uuid, latitude, longitude);
}
MapWidget::~MapWidget()
diff --git a/desktop-widgets/mapwidget.h b/desktop-widgets/mapwidget.h
index 02b68483d..aa528c980 100644
--- a/desktop-widgets/mapwidget.h
+++ b/desktop-widgets/mapwidget.h
@@ -2,6 +2,7 @@
#ifndef MAPWIDGET_H
#define MAPWIDGET_H
+#include "core/units.h"
#include <QQuickWidget>
#include <QList>
@@ -36,7 +37,7 @@ public slots:
void selectedDivesChanged(QList<int>);
void coordinatesChangedLocal();
void doneLoading(QQuickWidget::Status status);
- void updateCurrentDiveSiteCoordinatesToMap();
+ void updateDiveSiteCoordinates(uint32_t uuid, degrees_t latitude, degrees_t longitude);
private:
void setEditMode(bool editMode);