mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Map: in edit mode place no-gps dive sites at center of map
Move the code to add the first selected dive site from MapWidgetHelper::enterEditMode() to MapLocationModel::reload(). Thus, the list of sites is built only at one place. For this it is necessary to pass a pointer to the map, so that new dive sites can be added at the center of the map. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
0c38754916
commit
0da86dfd86
3 changed files with 17 additions and 17 deletions
|
@ -100,7 +100,7 @@ void MapWidgetHelper::reloadMapLocations()
|
|||
else
|
||||
exitEditMode();
|
||||
#endif
|
||||
m_mapLocationModel->reload();
|
||||
m_mapLocationModel->reload(m_map);
|
||||
}
|
||||
|
||||
void MapWidgetHelper::selectedLocationChanged(MapLocation *location)
|
||||
|
@ -239,14 +239,6 @@ void MapWidgetHelper::enterEditMode()
|
|||
return;
|
||||
|
||||
m_editMode = true;
|
||||
// if divesite of the first selected dive doesn't exist in the model, add a new MapLocation.
|
||||
const QVector<dive_site *> selDs = m_mapLocationModel->selectedDs();
|
||||
if (!selDs.isEmpty() && ! m_mapLocationModel->getMapLocation(selDs[0])) {
|
||||
// If the dive site doesn't have a GPS location, use the centre of the map
|
||||
QGeoCoordinate coord = has_location(&selDs[0]->location) ? getCoordinates(selDs[0])
|
||||
: m_map->property("center").value<QGeoCoordinate>();
|
||||
m_mapLocationModel->add(new MapLocation(selDs[0], coord, QString(selDs[0]->name)));
|
||||
}
|
||||
emit editModeChanged();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue