aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/maintab.cpp
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2014-08-16 07:09:11 -0600
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-08-16 07:09:11 -0600
commitc58d136d3313692d275c73cdab44b9e71f637f09 (patch)
treef8956bba9137883b7ea73a0cea499fade9f54fb7 /qt-ui/maintab.cpp
parentbb39a8730bae923e01f8cbcf1384e5dc54c49b2d (diff)
downloadsubsurface-c58d136d3313692d275c73cdab44b9e71f637f09.tar.gz
Dive edit: allow the user to explicitly clear a GPS location
If the GPS coordinates for a dive were incorrect for some reason and the user wanted to clear them in order to then re-download / apply GPS information from the Subsurface webservice, prior to this patch we would always match the location name and re-populate the GPS coordinates, making it impossible to clear a GPS location without also changing the location name. This patch fixes this - but if you have multiple dives with the incorrect name / GPS location pair, the next edit to a dive that had the GPS coordinates cleared will re-populate the GPS coordinates (at that point Subsurface can no longer tell that this was intentional). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/maintab.cpp')
-rw-r--r--qt-ui/maintab.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index e8087c7cc..e403e0b93 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -1026,9 +1026,12 @@ void MainTab::on_location_textChanged(const QString &text)
// If we have GPS data for the location entered, add it.
void MainTab::on_location_editingFinished()
{
+ // if we have a location and no GPS data, look up the GPS data;
+ // but if the GPS data was intentionally cleared then don't
if (!currentTrip &&
!same_string(displayed_dive.location, "") &&
- ui.coordinates->text().trimmed().isEmpty()) {
+ ui.coordinates->text().trimmed().isEmpty() &&
+ !(editMode == DIVE && dive_has_gps_location(current_dive))) {
struct dive *dive;
int i = 0;
for_each_dive (i, dive) {