From dad3c5d9db5c5ccecf972c405c9b53c82d5ee1a8 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 28 Apr 2014 09:34:27 -0700 Subject: Only auto-fill coordinates for non-empty location strings When editing the location string we try to be smart and automatically add the correct coordinates (assuming we have a location of this name already in the dive list). So if you return to the same dive spot you'll get the correct coordinates by default. But this creates bogus result if we allow an empty location to be matched, as it makes no sense to assume that all dives without a location name were at the same coordinates. Fixes #498 Signed-off-by: Dirk Hohndel --- qt-ui/maintab.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'qt-ui') diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index ca9523767..d85d3bcdb 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -950,8 +950,11 @@ void MainTab::on_location_textChanged(const QString &text) dive_trip_t *currentTrip = *MainWindow::instance()->dive_list()->selectedTrips().begin(); EDIT_TEXT(currentTrip->location, text); } else if (editMode == DIVE || editMode == ADD || editMode == MANUALLY_ADDED_DIVE) { - if (!ui.coordinates->isModified() || - ui.coordinates->text().trimmed().isEmpty()) { + // if we have a location text and haven't edited the coordinates, try to fill the coordinates + // from the existing dives + if (!text.isEmpty() && + (!ui.coordinates->isModified() || + ui.coordinates->text().trimmed().isEmpty())) { struct dive *dive; int i = 0; for_each_dive(i, dive) { -- cgit v1.2.3-70-g09d2