summaryrefslogtreecommitdiffstats
path: root/map-widget
diff options
context:
space:
mode:
Diffstat (limited to 'map-widget')
-rw-r--r--map-widget/qmlmapwidgethelper.cpp14
-rw-r--r--map-widget/qmlmapwidgethelper.h2
2 files changed, 10 insertions, 6 deletions
diff --git a/map-widget/qmlmapwidgethelper.cpp b/map-widget/qmlmapwidgethelper.cpp
index b892cdcea..8164abd3a 100644
--- a/map-widget/qmlmapwidgethelper.cpp
+++ b/map-widget/qmlmapwidgethelper.cpp
@@ -291,16 +291,20 @@ void MapWidgetHelper::exitEditMode()
emit editModeChanged();
}
-void MapWidgetHelper::enterEditMode()
+void MapWidgetHelper::enterEditMode(quint32 uuid)
{
+ // We don't support editing of a dive site that doesn't exist
+ struct dive_site *ds = get_dive_site_by_uuid(uuid);
+ if (!ds)
+ return;
+
m_editMode = true;
- MapLocation *exists = m_mapLocationModel->getMapLocationForUuid(displayed_dive_site.uuid);
+ MapLocation *exists = m_mapLocationModel->getMapLocationForUuid(uuid);
QGeoCoordinate coord;
- // if divesite uuid doesn't exist in the model, add a new MapLocation.
+ // if divesite doesn't exist in the model, add a new MapLocation.
if (!exists) {
coord = m_map->property("center").value<QGeoCoordinate>();
- m_mapLocationModel->add(new MapLocation(displayed_dive_site.uuid, coord,
- QString(displayed_dive_site.name)));
+ m_mapLocationModel->add(new MapLocation(uuid, coord, QString(ds->name)));
} else {
coord = exists->coordinate();
}
diff --git a/map-widget/qmlmapwidgethelper.h b/map-widget/qmlmapwidgethelper.h
index 132e15310..99f62ca08 100644
--- a/map-widget/qmlmapwidgethelper.h
+++ b/map-widget/qmlmapwidgethelper.h
@@ -37,7 +37,7 @@ public:
Q_INVOKABLE void updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeoCoordinate coord);
Q_INVOKABLE void selectVisibleLocations();
void updateDiveSiteCoordinates(uint32_t uuid, degrees_t latitude, degrees_t longitude);
- void enterEditMode();
+ void enterEditMode(uint32_t uuid);
void exitEditMode();
QString pluginObject();