summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-13 17:14:22 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-13 17:15:28 -0800
commitd65b756c4ff3cf929114d2a48d1a0aa22f481ed9 (patch)
tree446374484824af0165122bf00bc6adebb6d13ce3
parent6124842b0c4e8e52a72434f78b4b4177c6e2474b (diff)
downloadsubsurface-d65b756c4ff3cf929114d2a48d1a0aa22f481ed9.tar.gz
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 <dirk@hohndel.org>
-rw-r--r--qt-mobile/qml/Preferences.qml18
-rw-r--r--qt-mobile/qmlmanager.cpp17
-rw-r--r--qt-mobile/qmlmanager.h8
3 files changed, 43 insertions, 0 deletions
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();