diff options
Diffstat (limited to 'desktop-widgets/mapwidget.cpp')
-rw-r--r-- | desktop-widgets/mapwidget.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/desktop-widgets/mapwidget.cpp b/desktop-widgets/mapwidget.cpp index 14ac3a075..3d26f4d6a 100644 --- a/desktop-widgets/mapwidget.cpp +++ b/desktop-widgets/mapwidget.cpp @@ -6,7 +6,6 @@ #include "mapwidget.h" #include "core/divesite.h" -#include "core/subsurface-qt/DiveListNotifier.h" #include "map-widget/qmlmapwidgethelper.h" #include "qt-models/maplocationmodel.h" #include "qt-models/divelocationmodel.h" @@ -31,6 +30,7 @@ MapWidget::MapWidget(QWidget *parent) : QQuickWidget(parent) setResizeMode(QQuickWidget::SizeRootObjectToView); connect(this, &QQuickWidget::statusChanged, this, &MapWidget::doneLoading); connect(&diveListNotifier, &DiveListNotifier::diveSiteChanged, this, &MapWidget::diveSiteChanged); + connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &MapWidget::divesChanged); setSource(urlMapWidget); } @@ -85,8 +85,10 @@ void MapWidget::repopulateLabels() void MapWidget::reload() { CHECK_IS_READY_RETURN_VOID(); - if (!skipReload) + if (!skipReload) { m_mapHelper->reloadMapLocations(); + centerOnSelectedDiveSite(); + } } void MapWidget::endGetDiveCoordinates() @@ -129,6 +131,12 @@ void MapWidget::diveSiteChanged(struct dive_site *ds, int field) m_mapHelper->updateDiveSiteCoordinates(ds, ds->location); } +void MapWidget::divesChanged(dive_trip *, const QVector<dive *> &, DiveField field) +{ + if (field == DiveField::DIVESITE) + reload(); +} + MapWidget::~MapWidget() { m_instance = NULL; |