From d65b756c4ff3cf929114d2a48d1a0aa22f481ed9 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Fri, 13 Nov 2015 17:14:22 -0800 Subject: QML UI: add preference for webservice user id This handles the user id for the Subsurface webservice for GPS location tracking. Signed-off-by: Dirk Hohndel --- qt-mobile/qml/Preferences.qml | 18 ++++++++++++++++++ qt-mobile/qmlmanager.cpp | 17 +++++++++++++++++ qt-mobile/qmlmanager.h | 8 ++++++++ 3 files changed, 43 insertions(+) diff --git a/qt-mobile/qml/Preferences.qml b/qt-mobile/qml/Preferences.qml index b199be739..24f758f6b 100644 --- a/qt-mobile/qml/Preferences.qml +++ b/qt-mobile/qml/Preferences.qml @@ -72,6 +72,24 @@ Item { id: savePassword } + Label { + text: "Subsurface GPS data webservice" + Layout.bottomMargin: units.largeSpacing + font.pointSize: units.titlePointSize + Layout.columnSpan: 2 + } + + Label { + text: "ID" + Layout.alignment: Qt.AlignRight + } + + TextField { + id: userid + text: manager.ssrfGpsWebUserid + Layout.fillWidth: true + } + Item { width: units.gridUnit; height: width } Item { height: saveButton.height diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index d2c105110..c00134f84 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -25,6 +25,7 @@ QMLManager::QMLManager() : setCloudUserName(prefs.cloud_storage_email); setCloudPassword(prefs.cloud_storage_password); setSaveCloudPassword(prefs.save_password_local); + setSsrfGpsWebUserid(prefs.userid); if (!same_string(prefs.cloud_storage_email, "") && !same_string(prefs.cloud_storage_password, "")) loadDives(); } @@ -39,6 +40,7 @@ void QMLManager::savePreferences() s.beginGroup("CloudStorage"); s.setValue("email", cloudUserName()); s.setValue("save_password_local", saveCloudPassword()); + s.setValue("subsurface_webservice_uid", ssrfGpsWebUserid()); if (saveCloudPassword()) s.setValue("password", cloudPassword()); s.sync(); @@ -55,6 +57,10 @@ void QMLManager::savePreferences() prefs.cloud_storage_password = strdup(qPrintable(cloudPassword())); } } + if (!same_string(prefs.userid, qPrintable(ssrfGpsWebUserid()))) { + free(prefs.userid); + prefs.userid = strdup(qPrintable(ssrfGpsWebUserid())); + } } void QMLManager::loadDives() @@ -213,3 +219,14 @@ void QMLManager::setCloudUserName(const QString &cloudUserName) m_cloudUserName = cloudUserName; emit cloudUserNameChanged(); } + +QString QMLManager::ssrfGpsWebUserid() const +{ + return m_ssrfGpsWebUserid; +} + +void QMLManager::setSsrfGpsWebUserid(const QString &userid) +{ + m_ssrfGpsWebUserid = userid; + emit ssrfGpsWebUseridChanged(); +} diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h index 8c42b15ef..b71dcfec5 100644 --- a/qt-mobile/qmlmanager.h +++ b/qt-mobile/qmlmanager.h @@ -16,6 +16,7 @@ class QMLManager : public QObject Q_PROPERTY(bool saveCloudPassword READ saveCloudPassword WRITE setSaveCloudPassword NOTIFY saveCloudPasswordChanged) Q_PROPERTY(QString logText READ logText WRITE setLogText NOTIFY logTextChanged) Q_PROPERTY(bool locationServiceEnabled READ locationServiceEnabled WRITE setLocationServiceEnabled NOTIFY locationServiceEnabledChanged) + Q_PROPERTY(QString ssrfGpsWebUserid READ ssrfGpsWebUserid WRITE setSsrfGpsWebUserid NOTIFY ssrfGpsWebUseridChanged) public: QMLManager(); ~QMLManager(); @@ -26,6 +27,9 @@ public: QString cloudPassword() const; void setCloudPassword(const QString &cloudPassword); + QString ssrfGpsWebUserid() const; + void setSsrfGpsWebUserid(const QString &userid); + bool saveCloudPassword() const; void setSaveCloudPassword(bool saveCloudPassword); @@ -43,10 +47,13 @@ public slots: void saveChanges(); void addDive(); void applyGpsData(); + void sendGpsData(); + void clearGpsData(); private: QString m_cloudUserName; QString m_cloudPassword; + QString m_ssrfGpsWebUserid; bool m_saveCloudPassword; QString m_logText; bool m_locationServiceEnabled; @@ -55,6 +62,7 @@ private: signals: void cloudUserNameChanged(); void cloudPasswordChanged(); + void ssrfGpsWebUseridChanged(); void saveCloudPasswordChanged(); void locationServiceEnabledChanged(); void logTextChanged(); -- cgit v1.2.3-70-g09d2