aboutsummaryrefslogtreecommitdiffstats
path: root/mobile-widgets/qmlmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mobile-widgets/qmlmanager.cpp')
-rw-r--r--mobile-widgets/qmlmanager.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index d030f5a72..3d478178d 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -213,6 +213,10 @@ void QMLManager::saveCloudCredentials()
cloudCredentialsChanged |= !same_string(prefs.cloud_storage_password, qPrintable(cloudPassword()));
+ if (!cloudCredentialsChanged) {
+ // just go back to the dive list
+ setCredentialStatus(oldStatus());
+ }
if (!same_string(prefs.cloud_storage_password, qPrintable(cloudPassword()))) {
free(prefs.cloud_storage_password);
prefs.cloud_storage_password = strdup(qPrintable(cloudPassword()));
@@ -1014,6 +1018,19 @@ void QMLManager::setCredentialStatus(const credentialStatus_t value)
}
}
+QMLManager::credentialStatus_t QMLManager::oldStatus() const
+{
+ return m_oldStatus;
+}
+
+void QMLManager::setOldStatus(const credentialStatus_t value)
+{
+ if (m_oldStatus != value) {
+ m_oldStatus = value;
+ emit oldStatusChanged();
+ }
+}
+
// where in the QML dive list is that dive?
int QMLManager::getIndex(const QString &diveId)
{