From ffb92111e5145d77f0d9b5be479a7a9283223407 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Mon, 17 Jul 2017 22:43:10 +0300 Subject: [PATCH] mapwidgethelper: add the reloadMapLocations() method reloadMapLocations() is the method which is called when the list of markers (model) should be cleared and re-populated with new MapLocation objects. Signed-off-by: Lubomir I. Ivanov --- mobile-widgets/qmlmapwidgethelper.cpp | 15 +++++++++++++++ mobile-widgets/qmlmapwidgethelper.h | 1 + 2 files changed, 16 insertions(+) diff --git a/mobile-widgets/qmlmapwidgethelper.cpp b/mobile-widgets/qmlmapwidgethelper.cpp index 3a0e4aa71..c560c5aaf 100644 --- a/mobile-widgets/qmlmapwidgethelper.cpp +++ b/mobile-widgets/qmlmapwidgethelper.cpp @@ -23,3 +23,18 @@ void MapWidgetHelper::centerOnDiveSite(struct dive_site *ds) Q_ARG(QVariant, latitude), Q_ARG(QVariant, longitude)); } + +void MapWidgetHelper::reloadMapLocations() +{ + struct dive_site *ds; + int idx; + m_mapLocationModel->clear(); + + for_each_dive_site(idx, ds) { + if (!dive_site_has_gps_location(ds)) + continue; + const qreal longitude = ds->longitude.udeg / 1000000.0; + const qreal latitude = ds->latitude.udeg / 1000000.0; + m_mapLocationModel->add(new MapLocation(QGeoCoordinate(latitude, longitude))); + } +} diff --git a/mobile-widgets/qmlmapwidgethelper.h b/mobile-widgets/qmlmapwidgethelper.h index d0f450ed6..bd575c624 100644 --- a/mobile-widgets/qmlmapwidgethelper.h +++ b/mobile-widgets/qmlmapwidgethelper.h @@ -17,6 +17,7 @@ public: explicit MapWidgetHelper(QObject *parent = NULL); void centerOnDiveSite(struct dive_site *); + void reloadMapLocations(); private: QObject *m_map;