summaryrefslogtreecommitdiffstats
path: root/qt-ui/preferences.cpp
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-22 15:06:57 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-22 15:06:57 -0700
commit9a68e356af425b4268589b014eb50ef1f276b893 (patch)
treee965b82aa5b4d1bbe6c60db756977dc48f5fc353 /qt-ui/preferences.cpp
parentaa9c2b738427dade65a0a273f57e2773f781e50a (diff)
downloadsubsurface-9a68e356af425b4268589b014eb50ef1f276b893.tar.gz
Make password change asynchronous
This isn't perfect (if you make multiple requests things could go badly), but it's better than just slapping the new password into the settings, even if the update failed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/preferences.cpp')
-rw-r--r--qt-ui/preferences.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp
index b5fbc601c..04fb3a825 100644
--- a/qt-ui/preferences.cpp
+++ b/qt-ui/preferences.cpp
@@ -423,10 +423,11 @@ void PreferencesDialog::syncSettings()
} else {
CloudStorageAuthenticate *cloudAuth = new CloudStorageAuthenticate(this);
connect(cloudAuth, SIGNAL(finishedAuthenticate()), this, SLOT(cloudPinNeeded()));
+ connect(cloudAuth, SIGNAL(passwordChangeSuccessful()), this, SLOT(passwordUpdateSuccessfull()));
QNetworkReply *reply = cloudAuth->backend(email, password, "", newpassword);
ui.cloud_storage_new_passwd->setText("");
- ui.cloud_storage_password->setText(newpassword);
- password = newpassword;
+ free(prefs.cloud_storage_newpassword);
+ prefs.cloud_storage_newpassword = strdup(qPrintable(newpassword));
}
}
} else if (prefs.cloud_verification_status == CS_UNKNOWN ||
@@ -688,6 +689,11 @@ void PreferencesDialog::on_resetSettings_clicked()
}
}
+void PreferencesDialog::passwordUpdateSuccessfull()
+{
+ ui.cloud_storage_password->setText(prefs.cloud_storage_password);
+}
+
void PreferencesDialog::emitSettingsChanged()
{
emit settingsChanged();