mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Immediately show new locations on globe widget
When modifying or adding a dive location on the globe widget while in dive edit or dive add mode, we now show the modified / new location right away on the globe (assuming a location name has been given). This makes it much easier to manually reposition a dive location. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
7886719443
commit
e8a4420c59
2 changed files with 13 additions and 8 deletions
|
@ -120,19 +120,12 @@ void GlobeGPS::mouseClicked(qreal lon, qreal lat, GeoDataCoordinates::Unit unit)
|
|||
}
|
||||
}
|
||||
|
||||
void GlobeGPS::reload()
|
||||
void GlobeGPS::repopulateLabels()
|
||||
{
|
||||
if (loadedDives) {
|
||||
model()->treeModel()->removeDocument(loadedDives);
|
||||
delete loadedDives;
|
||||
}
|
||||
|
||||
if (editingDiveCoords) {
|
||||
editingDiveCoords = 0;
|
||||
if (messageWidget->isVisible())
|
||||
messageWidget->animatedHide();
|
||||
}
|
||||
|
||||
loadedDives = new GeoDataDocument;
|
||||
QMap<QString, GeoDataPlacemark *> locationMap;
|
||||
|
||||
|
@ -162,6 +155,16 @@ void GlobeGPS::reload()
|
|||
model()->treeModel()->addDocument(loadedDives);
|
||||
}
|
||||
|
||||
void GlobeGPS::reload()
|
||||
{
|
||||
if (editingDiveCoords) {
|
||||
editingDiveCoords = 0;
|
||||
if (messageWidget->isVisible())
|
||||
messageWidget->animatedHide();
|
||||
}
|
||||
repopulateLabels();
|
||||
}
|
||||
|
||||
void GlobeGPS::centerOn(dive* dive)
|
||||
{
|
||||
// dive has changed, if we had the 'editingDive', hide it.
|
||||
|
@ -255,6 +258,7 @@ void GlobeGPS::mousePressEvent(QMouseEvent* event)
|
|||
if (mainWindow()->information()->isEditing() &&
|
||||
geoCoordinates(event->pos().x(), event->pos().y(), lon, lat, GeoDataCoordinates::Degree)) {
|
||||
mainWindow()->information()->updateCoordinatesText(lat, lon);
|
||||
repopulateLabels();
|
||||
} else if (editingDiveCoords &&
|
||||
geoCoordinates(event->pos().x(), event->pos().y(), lon, lat, GeoDataCoordinates::Degree)) {
|
||||
changeDiveGeoPosition(lon, lat, GeoDataCoordinates::Degree);
|
||||
|
|
|
@ -17,6 +17,7 @@ public:
|
|||
using MarbleWidget::centerOn;
|
||||
GlobeGPS(QWidget *parent);
|
||||
void reload();
|
||||
void repopulateLabels();
|
||||
void centerOn(struct dive* dive);
|
||||
void diveEditMode();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue