diff options
author | Jan Mulder <jlmulder@xs4all.nl> | 2017-11-22 19:22:02 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-11-25 08:13:42 -0800 |
commit | 806c7077f2abbf8978e3fefa95b1663a31a00503 (patch) | |
tree | 52825b1090de332e97f1a7f90ccb771f17f08212 /mobile-widgets | |
parent | 64704d6e5a0865c5acb6ce40cc32ba929f41ba00 (diff) | |
download | subsurface-806c7077f2abbf8978e3fefa95b1663a31a00503.tar.gz |
mobile: get GPS data from dive site name
When the user entered a dive site using autocompletion, it
is a known site, of which we might have a GPS location already.
Just fill the known site coordinates.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Diffstat (limited to 'mobile-widgets')
-rw-r--r-- | mobile-widgets/qml/DiveDetailsEdit.qml | 3 | ||||
-rw-r--r-- | mobile-widgets/qmlmanager.cpp | 12 | ||||
-rw-r--r-- | mobile-widgets/qmlmanager.h | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/mobile-widgets/qml/DiveDetailsEdit.qml b/mobile-widgets/qml/DiveDetailsEdit.qml index 4c4f8e47c..e369e5ab3 100644 --- a/mobile-widgets/qml/DiveDetailsEdit.qml +++ b/mobile-widgets/qml/DiveDetailsEdit.qml @@ -112,6 +112,9 @@ Item { diveDetailsListView.currentItem.modelData.dive.locationList : null inputMethodHints: Qt.ImhNoPredictiveText Layout.fillWidth: true + onEditingFinished: { + gpsText = manager.getGpsFromSiteName(text) + } } Controls.Label { diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp index 2c28ccf83..a3f1b5730 100644 --- a/mobile-widgets/qmlmanager.cpp +++ b/mobile-widgets/qmlmanager.cpp @@ -1536,6 +1536,18 @@ QString QMLManager::getVersion() const return versionRe.cap(1); } +QString QMLManager::getGpsFromSiteName(const QString& siteName) +{ uint32_t uuid; + struct dive_site *ds; + + uuid = get_dive_site_uuid_by_name(qPrintable(siteName), NULL); + if (uuid) { + ds = get_dive_site_by_uuid(uuid); + return QString(printGPSCoords(ds->latitude.udeg, ds->longitude.udeg)); + } + return ""; +} + QString QMLManager::notificationText() const { return m_notificationText; diff --git a/mobile-widgets/qmlmanager.h b/mobile-widgets/qmlmanager.h index cde8b8dec..548f01921 100644 --- a/mobile-widgets/qmlmanager.h +++ b/mobile-widgets/qmlmanager.h @@ -184,6 +184,7 @@ public slots: QString getNumber(const QString& diveId); QString getDate(const QString& diveId); QString getCurrentPosition(); + QString getGpsFromSiteName(const QString& siteName); QString getVersion() const; void deleteGpsFix(quint64 when); void revertToNoCloudIfNeeded(); |