summaryrefslogtreecommitdiffstats
path: root/mobile-widgets
diff options
context:
space:
mode:
Diffstat (limited to 'mobile-widgets')
-rw-r--r--mobile-widgets/qml/CloudCredentials.qml2
-rw-r--r--mobile-widgets/qml/DiveList.qml12
-rw-r--r--mobile-widgets/qml/Settings.qml2
-rw-r--r--mobile-widgets/qml/main.qml18
-rw-r--r--mobile-widgets/qmlmanager.cpp44
-rw-r--r--mobile-widgets/qmlprefs.cpp16
-rw-r--r--mobile-widgets/qmlprefs.h25
7 files changed, 55 insertions, 64 deletions
diff --git a/mobile-widgets/qml/CloudCredentials.qml b/mobile-widgets/qml/CloudCredentials.qml
index f148e9922..7869303e7 100644
--- a/mobile-widgets/qml/CloudCredentials.qml
+++ b/mobile-widgets/qml/CloudCredentials.qml
@@ -144,7 +144,7 @@ Item {
text: qsTr("No cloud mode")
onClicked: {
manager.syncToCloud = false
- prefs.credentialStatus = QMLPrefs.CS_NOCLOUD
+ prefs.credentialStatus = SsrfPrefs.CS_NOCLOUD
manager.saveCloudCredentials()
manager.openNoCloudRepo()
}
diff --git a/mobile-widgets/qml/DiveList.qml b/mobile-widgets/qml/DiveList.qml
index 36929951a..af7537064 100644
--- a/mobile-widgets/qml/DiveList.qml
+++ b/mobile-widgets/qml/DiveList.qml
@@ -23,7 +23,7 @@ Kirigami.ScrollablePage {
supportsRefreshing: true
onRefreshingChanged: {
if (refreshing) {
- if (prefs.credentialStatus === QMLPrefs.CS_VERIFIED) {
+ if (prefs.credentialStatus === SsrfPrefs.CS_VERIFIED) {
console.log("User pulled down dive list - syncing with cloud storage")
detailsWindow.endEditMode()
manager.saveChangesCloud(true)
@@ -339,8 +339,8 @@ Kirigami.ScrollablePage {
StartPage {
id: startPage
anchors.fill: parent
- opacity: credentialStatus === QMLPrefs.CS_NOCLOUD ||
- (credentialStatus === QMLPrefs.CS_VERIFIED) ? 0 : 1
+ opacity: credentialStatus === SsrfPrefs.CS_NOCLOUD ||
+ (credentialStatus === SsrfPrefs.CS_VERIFIED) ? 0 : 1
visible: opacity > 0
Behavior on opacity { NumberAnimation { duration: Kirigami.Units.shortDuration } }
function setupActions() {
@@ -348,8 +348,8 @@ Kirigami.ScrollablePage {
page.actions.main = null
page.actions.right = null
page.title = qsTr("Cloud credentials")
- } else if (prefs.credentialStatus === QMLPrefs.CS_VERIFIED ||
- prefs.credentialStatus === QMLPrefs.CS_NOCLOUD) {
+ } else if (prefs.credentialStatus === SsrfPrefs.CS_VERIFIED ||
+ prefs.credentialStatus === SsrfPrefs.CS_NOCLOUD) {
page.actions.main = page.downloadFromDCAction
page.actions.right = page.addDiveAction
page.title = qsTr("Dive list")
@@ -427,7 +427,7 @@ Kirigami.ScrollablePage {
onBackRequested: {
if (startPage.visible && diveListView.count > 0 &&
- prefs.credentialStatus !== QMLPrefs.CS_INCORRECT_USER_PASSWD) {
+ prefs.credentialStatus !== SsrfPrefs.CS_INCORRECT_USER_PASSWD) {
prefs.credentialStatus = oldStatus
event.accepted = true;
}
diff --git a/mobile-widgets/qml/Settings.qml b/mobile-widgets/qml/Settings.qml
index cb268f423..d7a857f6f 100644
--- a/mobile-widgets/qml/Settings.qml
+++ b/mobile-widgets/qml/Settings.qml
@@ -42,7 +42,7 @@ Kirigami.ScrollablePage {
Layout.preferredHeight: Kirigami.Units.gridUnit * 2
}
Controls.Label {
- text: prefs.credentialStatus === QMLPrefs.CS_NOCLOUD ? qsTr("Not applicable") : prefs.cloudUserName
+ text: prefs.credentialStatus === SsrfPrefs.CS_NOCLOUD ? qsTr("Not applicable") : prefs.cloudUserName
Layout.alignment: Qt.AlignRight
Layout.preferredWidth: gridWidth * 0.60
Layout.preferredHeight: Kirigami.Units.gridUnit * 2
diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml
index 1ccab80e5..03d7238c3 100644
--- a/mobile-widgets/qml/main.qml
+++ b/mobile-widgets/qml/main.qml
@@ -186,10 +186,10 @@ Kirigami.ApplicationWindow {
text: qsTr("Dive list")
onTriggered: {
manager.appendTextToLog("requested dive list with credential status " + prefs.credentialStatus)
- if (prefs.credentialStatus == QMLPrefs.CS_UNKNOWN) {
+ if (prefs.credentialStatus == SsrfPrefs.CS_UNKNOWN) {
// the user has asked to change credentials - if the credentials before that
// were valid, go back to dive list
- if (oldStatus == QMLPrefs.CS_VERIFIED) {
+ if (oldStatus == SsrfPrefs.CS_VERIFIED) {
prefs.credentialStatus = oldStatus
}
}
@@ -216,8 +216,8 @@ Kirigami.ApplicationWindow {
name: ":/icons/ic_add.svg"
}
text: qsTr("Add dive manually")
- enabled: prefs.credentialStatus === QMLPrefs.CS_VERIFIED ||
- prefs.credentialStatus === QMLPrefs.CS_NOCLOUD
+ enabled: prefs.credentialStatus === SsrfPrefs.CS_VERIFIED ||
+ prefs.credentialStatus === SsrfPrefs.CS_NOCLOUD
onTriggered: {
globalDrawer.close()
returnTopPage() // otherwise odd things happen with the page stack
@@ -251,14 +251,14 @@ Kirigami.ApplicationWindow {
name: ":/icons/cloud_sync.svg"
}
text: qsTr("Manual sync with cloud")
- enabled: prefs.credentialStatus === QMLPrefs.CS_VERIFIED ||
- prefs.credentialStatus === QMLPrefs.CS_NOCLOUD
+ enabled: prefs.credentialStatus === SsrfPrefs.CS_VERIFIED ||
+ prefs.credentialStatus === SsrfPrefs.CS_NOCLOUD
onTriggered: {
- if (prefs.credentialStatus === QMLPrefs.CS_NOCLOUD) {
+ if (prefs.credentialStatus === SsrfPrefs.CS_NOCLOUD) {
returnTopPage()
oldStatus = prefs.credentialStatus
manager.startPageText = "Enter valid cloud storage credentials"
- prefs.credentialStatus = QMLPrefs.CS_UNKNOWN
+ prefs.credentialStatus = SsrfPrefs.CS_UNKNOWN
globalDrawer.close()
} else {
globalDrawer.close()
@@ -273,7 +273,7 @@ Kirigami.ApplicationWindow {
name: syncToCloud ? ":/icons/ic_cloud_off.svg" : ":/icons/ic_cloud_done.svg"
}
text: syncToCloud ? qsTr("Disable auto cloud sync") : qsTr("Enable auto cloud sync")
- enabled: prefs.credentialStatus !== QMLPrefs.CS_NOCLOUD
+ enabled: prefs.credentialStatus !== SsrfPrefs.CS_NOCLOUD
onTriggered: {
syncToCloud = !syncToCloud
if (!syncToCloud) {
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 600c24d08..82d94eb70 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -269,12 +269,12 @@ void QMLManager::openLocalThenRemote(QString url)
* no cloud repo solves this.
*/
- if (QMLPrefs::instance()->credentialStatus() != QMLPrefs::CS_NOCLOUD)
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_NEED_TO_VERIFY);
+ if (QMLPrefs::instance()->credentialStatus() != qPref::CS_NOCLOUD)
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_NEED_TO_VERIFY);
} else {
// if we can load from the cache, we know that we have a valid cloud account
- if (QMLPrefs::instance()->credentialStatus() == QMLPrefs::CS_UNKNOWN)
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_VERIFIED);
+ if (QMLPrefs::instance()->credentialStatus() == qPref::CS_UNKNOWN)
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_VERIFIED);
prefs.unit_system = git_prefs.unit_system;
if (git_prefs.unit_system == IMPERIAL)
git_prefs.units = IMPERIAL_units;
@@ -292,11 +292,11 @@ void QMLManager::openLocalThenRemote(QString url)
appendTextToLog(QStringLiteral("%1 dives loaded from cache").arg(dive_table.nr));
setNotificationText(tr("%1 dives loaded from local dive data file").arg(dive_table.nr));
}
- if (QMLPrefs::instance()->credentialStatus() == QMLPrefs::CS_NEED_TO_VERIFY) {
+ if (QMLPrefs::instance()->credentialStatus() == qPref::CS_NEED_TO_VERIFY) {
appendTextToLog(QStringLiteral("have cloud credentials, but still needs PIN"));
QMLPrefs::instance()->setShowPin(true);
}
- if (QMLPrefs::instance()->oldStatus() == QMLPrefs::CS_NOCLOUD) {
+ if (QMLPrefs::instance()->oldStatus() == qPref::CS_NOCLOUD) {
// if we switch to credentials from CS_NOCLOUD, we take things online temporarily
prefs.git_local_only = false;
appendTextToLog(QStringLiteral("taking things online to be able to switch to cloud account"));
@@ -373,7 +373,7 @@ void QMLManager::finishSetup()
QMLPrefs::instance()->setCloudUserName(prefs.cloud_storage_email);
QMLPrefs::instance()->setCloudPassword(prefs.cloud_storage_password);
setSyncToCloud(!prefs.git_local_only);
- QMLPrefs::instance()->setCredentialStatus((QMLPrefs::cloud_status) prefs.cloud_verification_status);
+ QMLPrefs::instance()->setCredentialStatus((qPref::cloud_status) prefs.cloud_verification_status);
// if the cloud credentials are valid, we should get the GPS Webservice ID as well
QString url;
if (!QMLPrefs::instance()->cloudUserName().isEmpty() &&
@@ -384,8 +384,8 @@ void QMLManager::finishSetup()
alreadySaving = true;
openLocalThenRemote(url);
} else if (!empty_string(existing_filename) &&
- QMLPrefs::instance()->credentialStatus() != QMLPrefs::CS_UNKNOWN) {
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_NOCLOUD);
+ QMLPrefs::instance()->credentialStatus() != qPref::CS_UNKNOWN) {
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_NOCLOUD);
saveCloudCredentials();
appendTextToLog(tr("working in no-cloud mode"));
int error = parse_file(existing_filename);
@@ -399,7 +399,7 @@ void QMLManager::finishSetup()
appendTextToLog(QString("working in no-cloud mode, finished loading %1 dives from %2").arg(dive_table.nr).arg(existing_filename));
}
} else {
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_UNKNOWN);
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_UNKNOWN);
appendTextToLog(tr("no cloud credentials"));
setStartPageText(RED_FONT + tr("Please enter valid cloud credentials.") + END_FONT);
}
@@ -437,7 +437,7 @@ void QMLManager::saveCloudCredentials()
bool cloudCredentialsChanged = false;
// make sure we only have letters, numbers, and +-_. in password and email address
QRegularExpression regExp("^[a-zA-Z0-9@.+_-]+$");
- if (QMLPrefs::instance()->credentialStatus() != QMLPrefs::CS_NOCLOUD) {
+ if (QMLPrefs::instance()->credentialStatus() != qPref::CS_NOCLOUD) {
// in case of NO_CLOUD, the email address + passwd do not care, so do not check it.
if (QMLPrefs::instance()->cloudPassword().isEmpty() ||
!regExp.match(QMLPrefs::instance()->cloudPassword()).hasMatch() ||
@@ -467,7 +467,7 @@ void QMLManager::saveCloudCredentials()
cloudCredentialsChanged |= !same_string(prefs.cloud_storage_password,
qPrintable(QMLPrefs::instance()->cloudPassword()));
- if (QMLPrefs::instance()->credentialStatus() != QMLPrefs::CS_NOCLOUD &&
+ if (QMLPrefs::instance()->credentialStatus() != qPref::CS_NOCLOUD &&
!cloudCredentialsChanged) {
// just go back to the dive list
QMLPrefs::instance()->setCredentialStatus(QMLPrefs::instance()->oldStatus());
@@ -478,7 +478,7 @@ void QMLManager::saveCloudCredentials()
free((void *)prefs.cloud_storage_password);
prefs.cloud_storage_password = copy_qstring(QMLPrefs::instance()->cloudPassword());
}
- if (QMLPrefs::instance()->oldStatus() == QMLPrefs::CS_NOCLOUD && cloudCredentialsChanged && dive_table.nr) {
+ if (QMLPrefs::instance()->oldStatus() == qPref::CS_NOCLOUD && cloudCredentialsChanged && dive_table.nr) {
// we came from NOCLOUD and are connecting to a cloud account;
// since we already have dives in the table, let's remember that so we can keep them
noCloudToCloud = true;
@@ -508,7 +508,7 @@ void QMLManager::saveCloudCredentials()
currentGitLocalOnly = prefs.git_local_only;
prefs.git_local_only = false;
openLocalThenRemote(url);
- } else if (prefs.cloud_verification_status == QMLPrefs::CS_NEED_TO_VERIFY &&
+ } else if (prefs.cloud_verification_status == qPref::CS_NEED_TO_VERIFY &&
!QMLPrefs::instance()->cloudPin().isEmpty()) {
// the user entered a PIN?
tryRetrieveDataFromBackend();
@@ -542,12 +542,12 @@ void QMLManager::tryRetrieveDataFromBackend()
}
myTimer.stop();
QMLPrefs::instance()->setCloudPin("");
- if (prefs.cloud_verification_status == QMLPrefs::CS_INCORRECT_USER_PASSWD) {
+ if (prefs.cloud_verification_status == qPref::CS_INCORRECT_USER_PASSWD) {
appendTextToLog(QStringLiteral("Incorrect cloud credentials"));
setStartPageText(RED_FONT + tr("Incorrect cloud credentials") + END_FONT);
revertToNoCloudIfNeeded();
return;
- } else if (prefs.cloud_verification_status != QMLPrefs::CS_VERIFIED) {
+ } else if (prefs.cloud_verification_status != qPref::CS_VERIFIED) {
// here we need to enter the PIN
appendTextToLog(QStringLiteral("Need to verify the email address - enter PIN"));
setStartPageText(RED_FONT + tr("Cannot connect to cloud storage - cloud account not verified") + END_FONT);
@@ -578,7 +578,7 @@ void QMLManager::provideAuth(QNetworkReply *reply, QAuthenticator *auth)
// OK, credentials have been tried and didn't work, so they are invalid
appendTextToLog("Cloud credentials are invalid");
setStartPageText(RED_FONT + tr("Cloud credentials are invalid") + END_FONT);
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_INCORRECT_USER_PASSWD);
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_INCORRECT_USER_PASSWD);
reply->disconnect();
reply->abort();
reply->deleteLater();
@@ -622,7 +622,7 @@ void QMLManager::retrieveUserid()
revertToNoCloudIfNeeded();
return;
}
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_VERIFIED);
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_VERIFIED);
QString userid(prefs.userid);
if (userid.isEmpty()) {
if (empty_string(prefs.cloud_storage_email) || empty_string(prefs.cloud_storage_password)) {
@@ -641,7 +641,7 @@ void QMLManager::retrieveUserid()
s.setValue("subsurface_webservice_uid", prefs.userid);
s.sync();
}
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_VERIFIED);
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_VERIFIED);
setStartPageText(tr("Cloud credentials valid, loading dives..."));
// this only gets called with "alreadySaving" already locked
loadDivesWithValidCredentials();
@@ -726,7 +726,7 @@ void QMLManager::revertToNoCloudIfNeeded()
currentGitLocalOnly = false;
prefs.git_local_only = true;
}
- if (QMLPrefs::instance()->oldStatus() == QMLPrefs::CS_NOCLOUD) {
+ if (QMLPrefs::instance()->oldStatus() == qPref::CS_NOCLOUD) {
// we tried to switch to a cloud account and had previously used local data,
// but connecting to the cloud account (and subsequently merging the local
// and cloud data) failed - so let's delete the cloud credentials and go
@@ -742,7 +742,7 @@ void QMLManager::revertToNoCloudIfNeeded()
prefs.cloud_storage_password = NULL;
QMLPrefs::instance()->setCloudUserName("");
QMLPrefs::instance()->setCloudPassword("");
- QMLPrefs::instance()->setCredentialStatus(QMLPrefs::CS_NOCLOUD);
+ QMLPrefs::instance()->setCredentialStatus(qPref::CS_NOCLOUD);
set_filename(NOCLOUD_LOCALSTORAGE);
setStartPageText(RED_FONT + tr("Failed to connect to cloud server, reverting to no cloud status") + END_FONT);
}
@@ -1202,7 +1202,7 @@ void QMLManager::openNoCloudRepo()
void QMLManager::saveChangesLocal()
{
if (unsaved_changes()) {
- if (QMLPrefs::instance()->credentialStatus() == QMLPrefs::CS_NOCLOUD) {
+ if (QMLPrefs::instance()->credentialStatus() == qPref::CS_NOCLOUD) {
if (empty_string(existing_filename)) {
char *filename = NOCLOUD_LOCALSTORAGE;
git_create_local_repo(filename);
diff --git a/mobile-widgets/qmlprefs.cpp b/mobile-widgets/qmlprefs.cpp
index 4330597ce..03f51f765 100644
--- a/mobile-widgets/qmlprefs.cpp
+++ b/mobile-widgets/qmlprefs.cpp
@@ -11,10 +11,10 @@
QMLPrefs *QMLPrefs::m_instance = NULL;
QMLPrefs::QMLPrefs() :
- m_credentialStatus(QMLPrefs::CS_UNKNOWN),
+ m_credentialStatus(qPref::CS_UNKNOWN),
m_developer(false),
m_distanceThreshold(1000),
- m_oldStatus(QMLPrefs::CS_UNKNOWN),
+ m_oldStatus(qPref::CS_UNKNOWN),
m_showPin(false),
m_timeThreshold(60)
{
@@ -69,16 +69,16 @@ void QMLPrefs::setCloudUserName(const QString &cloudUserName)
emit cloudUserNameChanged();
}
-QMLPrefs::cloud_status QMLPrefs::credentialStatus() const
+qPref::cloud_status QMLPrefs::credentialStatus() const
{
return m_credentialStatus;
}
-void QMLPrefs::setCredentialStatus(const QMLPrefs::cloud_status value)
+void QMLPrefs::setCredentialStatus(const qPref::cloud_status value)
{
if (m_credentialStatus != value) {
setOldStatus(m_credentialStatus);
- if (value == QMLPrefs::CS_NOCLOUD) {
+ if (value == qPref::CS_NOCLOUD) {
QMLManager::instance()->appendTextToLog("Switching to no cloud mode");
set_filename(NOCLOUD_LOCALSTORAGE);
clearCredentials();
@@ -105,12 +105,12 @@ void QMLPrefs::setDistanceThreshold(int distance)
emit distanceThresholdChanged();
}
-QMLPrefs::cloud_status QMLPrefs::oldStatus() const
+qPref::cloud_status QMLPrefs::oldStatus() const
{
return m_oldStatus;
}
-void QMLPrefs::setOldStatus(const QMLPrefs::cloud_status value)
+void QMLPrefs::setOldStatus(const qPref::cloud_status value)
{
if (m_oldStatus != value) {
m_oldStatus = value;
@@ -177,7 +177,7 @@ void QMLPrefs::cancelCredentialsPinSetup()
*/
QSettings s;
- setCredentialStatus(QMLPrefs::CS_UNKNOWN);
+ setCredentialStatus(qPref::CS_UNKNOWN);
s.beginGroup("CloudStorage");
s.setValue("email", m_cloudUserName);
s.setValue("password", m_cloudPassword);
diff --git a/mobile-widgets/qmlprefs.h b/mobile-widgets/qmlprefs.h
index 90b4c290f..b628ef3fe 100644
--- a/mobile-widgets/qmlprefs.h
+++ b/mobile-widgets/qmlprefs.h
@@ -8,7 +8,6 @@
class QMLPrefs : public QObject {
Q_OBJECT
- Q_ENUM(cloud_status)
Q_PROPERTY(QString cloudPassword
MEMBER m_cloudPassword
WRITE setCloudPassword
@@ -21,7 +20,7 @@ class QMLPrefs : public QObject {
MEMBER m_cloudUserName
WRITE setCloudUserName
NOTIFY cloudUserNameChanged)
- Q_PROPERTY(cloud_status credentialStatus
+ Q_PROPERTY(qPref::cloud_status credentialStatus
MEMBER m_credentialStatus
WRITE setCredentialStatus
NOTIFY credentialStatusChanged)
@@ -37,7 +36,7 @@ class QMLPrefs : public QObject {
MEMBER m_showPin
WRITE setShowPin
NOTIFY showPinChanged)
- Q_PROPERTY(cloud_status oldStatus
+ Q_PROPERTY(qPref::cloud_status oldStatus
MEMBER m_oldStatus
WRITE setOldStatus
NOTIFY oldStatusChanged)
@@ -51,14 +50,6 @@ class QMLPrefs : public QObject {
NOTIFY timeThresholdChanged)
public:
- enum cloud_status {
- CS_UNKNOWN,
- CS_INCORRECT_USER_PASSWD,
- CS_NEED_TO_VERIFY,
- CS_VERIFIED,
- CS_NOCLOUD
- };
-
QMLPrefs();
~QMLPrefs();
@@ -73,16 +64,16 @@ public:
const QString cloudUserName() const;
void setCloudUserName(const QString &cloudUserName);
- cloud_status credentialStatus() const;
- void setCredentialStatus(const cloud_status value);
+ qPref::cloud_status credentialStatus() const;
+ void setCredentialStatus(const qPref::cloud_status value);
void setDeveloper(bool value);
int distanceThreshold() const;
void setDistanceThreshold(int distance);
- cloud_status oldStatus() const;
- void setOldStatus(const cloud_status value);
+ qPref::cloud_status oldStatus() const;
+ void setOldStatus(const qPref::cloud_status value);
bool showPin() const;
void setShowPin(bool enable);
@@ -101,11 +92,11 @@ private:
QString m_cloudPassword;
QString m_cloudPin;
QString m_cloudUserName;
- cloud_status m_credentialStatus;
+ qPref::cloud_status m_credentialStatus;
bool m_developer;
int m_distanceThreshold;
static QMLPrefs *m_instance;
- cloud_status m_oldStatus;
+ qPref::cloud_status m_oldStatus;
bool m_showPin;
int m_timeThreshold;