mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: declare cloud_status in qPrefCloudStorage
qml declaration of cloud_status (defined in pref.h) does not belong in qPref.h but in qPrefCloudStorage Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
4d57b52062
commit
684e334fb6
13 changed files with 82 additions and 82 deletions
|
@ -270,12 +270,12 @@ void QMLManager::openLocalThenRemote(QString url)
|
|||
* no cloud repo solves this.
|
||||
*/
|
||||
|
||||
if (QMLPrefs::instance()->credentialStatus() != qPref::CS_NOCLOUD)
|
||||
QMLPrefs::instance()->setCredentialStatus(qPref::CS_NEED_TO_VERIFY);
|
||||
if (QMLPrefs::instance()->credentialStatus() != qPrefCloudStorage::CS_NOCLOUD)
|
||||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::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() == qPref::CS_UNKNOWN)
|
||||
QMLPrefs::instance()->setCredentialStatus(qPref::CS_VERIFIED);
|
||||
if (QMLPrefs::instance()->credentialStatus() == qPrefCloudStorage::CS_UNKNOWN)
|
||||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::CS_VERIFIED);
|
||||
prefs.unit_system = git_prefs.unit_system;
|
||||
if (git_prefs.unit_system == IMPERIAL)
|
||||
git_prefs.units = IMPERIAL_units;
|
||||
|
@ -293,11 +293,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() == qPref::CS_NEED_TO_VERIFY) {
|
||||
if (QMLPrefs::instance()->credentialStatus() == qPrefCloudStorage::CS_NEED_TO_VERIFY) {
|
||||
appendTextToLog(QStringLiteral("have cloud credentials, but still needs PIN"));
|
||||
QMLPrefs::instance()->setShowPin(true);
|
||||
}
|
||||
if (QMLPrefs::instance()->oldStatus() == qPref::CS_NOCLOUD) {
|
||||
if (QMLPrefs::instance()->oldStatus() == qPrefCloudStorage::CS_NOCLOUD) {
|
||||
// if we switch to credentials from CS_NOCLOUD, we take things online temporarily
|
||||
git_local_only = false;
|
||||
appendTextToLog(QStringLiteral("taking things online to be able to switch to cloud account"));
|
||||
|
@ -374,7 +374,7 @@ void QMLManager::finishSetup()
|
|||
QMLPrefs::instance()->setCloudUserName(qPrefCloudStorage::cloud_storage_email());
|
||||
QMLPrefs::instance()->setCloudPassword(qPrefCloudStorage::cloud_storage_password());
|
||||
setSyncToCloud(!git_local_only);
|
||||
QMLPrefs::instance()->setCredentialStatus((qPref::cloud_status) prefs.cloud_verification_status);
|
||||
QMLPrefs::instance()->setCredentialStatus((qPrefCloudStorage::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() &&
|
||||
|
@ -385,8 +385,8 @@ void QMLManager::finishSetup()
|
|||
alreadySaving = true;
|
||||
openLocalThenRemote(url);
|
||||
} else if (!empty_string(existing_filename) &&
|
||||
QMLPrefs::instance()->credentialStatus() != qPref::CS_UNKNOWN) {
|
||||
QMLPrefs::instance()->setCredentialStatus(qPref::CS_NOCLOUD);
|
||||
QMLPrefs::instance()->credentialStatus() != qPrefCloudStorage::CS_UNKNOWN) {
|
||||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::CS_NOCLOUD);
|
||||
saveCloudCredentials();
|
||||
appendTextToLog(tr("working in no-cloud mode"));
|
||||
int error = parse_file(existing_filename, &dive_table);
|
||||
|
@ -400,7 +400,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(qPref::CS_UNKNOWN);
|
||||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::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() != qPref::CS_NOCLOUD) {
|
||||
if (QMLPrefs::instance()->credentialStatus() != qPrefCloudStorage::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() != qPref::CS_NOCLOUD &&
|
||||
if (QMLPrefs::instance()->credentialStatus() != qPrefCloudStorage::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() == qPref::CS_NOCLOUD && cloudCredentialsChanged && dive_table.nr) {
|
||||
if (QMLPrefs::instance()->oldStatus() == qPrefCloudStorage::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;
|
||||
|
@ -506,7 +506,7 @@ void QMLManager::saveCloudCredentials()
|
|||
currentGitLocalOnly = git_local_only;
|
||||
git_local_only = false;
|
||||
openLocalThenRemote(url);
|
||||
} else if (prefs.cloud_verification_status == qPref::CS_NEED_TO_VERIFY &&
|
||||
} else if (prefs.cloud_verification_status == qPrefCloudStorage::CS_NEED_TO_VERIFY &&
|
||||
!QMLPrefs::instance()->cloudPin().isEmpty()) {
|
||||
// the user entered a PIN?
|
||||
tryRetrieveDataFromBackend();
|
||||
|
@ -540,12 +540,12 @@ void QMLManager::tryRetrieveDataFromBackend()
|
|||
}
|
||||
myTimer.stop();
|
||||
QMLPrefs::instance()->setCloudPin("");
|
||||
if (prefs.cloud_verification_status == qPref::CS_INCORRECT_USER_PASSWD) {
|
||||
if (prefs.cloud_verification_status == qPrefCloudStorage::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 != qPref::CS_VERIFIED) {
|
||||
} else if (prefs.cloud_verification_status != qPrefCloudStorage::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);
|
||||
|
@ -576,7 +576,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(qPref::CS_INCORRECT_USER_PASSWD);
|
||||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::CS_INCORRECT_USER_PASSWD);
|
||||
reply->disconnect();
|
||||
reply->abort();
|
||||
reply->deleteLater();
|
||||
|
@ -620,8 +620,7 @@ void QMLManager::retrieveUserid()
|
|||
revertToNoCloudIfNeeded();
|
||||
return;
|
||||
}
|
||||
|
||||
QMLPrefs::instance()->setCredentialStatus(qPref::CS_VERIFIED);
|
||||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::CS_VERIFIED);
|
||||
setStartPageText(tr("Cloud credentials valid, loading dives..."));
|
||||
// this only gets called with "alreadySaving" already locked
|
||||
loadDivesWithValidCredentials();
|
||||
|
@ -706,7 +705,7 @@ void QMLManager::revertToNoCloudIfNeeded()
|
|||
currentGitLocalOnly = false;
|
||||
git_local_only = true;
|
||||
}
|
||||
if (QMLPrefs::instance()->oldStatus() == qPref::CS_NOCLOUD) {
|
||||
if (QMLPrefs::instance()->oldStatus() == qPrefCloudStorage::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
|
||||
|
@ -722,7 +721,7 @@ void QMLManager::revertToNoCloudIfNeeded()
|
|||
prefs.cloud_storage_password = NULL;
|
||||
QMLPrefs::instance()->setCloudUserName("");
|
||||
QMLPrefs::instance()->setCloudPassword("");
|
||||
QMLPrefs::instance()->setCredentialStatus(qPref::CS_NOCLOUD);
|
||||
QMLPrefs::instance()->setCredentialStatus(qPrefCloudStorage::CS_NOCLOUD);
|
||||
set_filename(NOCLOUD_LOCALSTORAGE);
|
||||
setStartPageText(RED_FONT + tr("Failed to connect to cloud server, reverting to no cloud status") + END_FONT);
|
||||
}
|
||||
|
@ -1200,7 +1199,7 @@ void QMLManager::openNoCloudRepo()
|
|||
void QMLManager::saveChangesLocal()
|
||||
{
|
||||
if (unsaved_changes()) {
|
||||
if (QMLPrefs::instance()->credentialStatus() == qPref::CS_NOCLOUD) {
|
||||
if (QMLPrefs::instance()->credentialStatus() == qPrefCloudStorage::CS_NOCLOUD) {
|
||||
if (empty_string(existing_filename)) {
|
||||
char *filename = NOCLOUD_LOCALSTORAGE;
|
||||
git_create_local_repo(filename);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue