mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML UI: when first entering cloud credentials, force cloud connection
With offline the default now, we need to force a connection at least once so that the repos are in sync. And then of course we need to return to the correct state, regardless on whether this connection succeeded or failed. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
7afcadef53
commit
ba9288fab6
2 changed files with 15 additions and 0 deletions
|
@ -286,6 +286,10 @@ void QMLManager::saveCloudCredentials()
|
|||
// we therefore know that no one else is already accessing THIS git repo;
|
||||
// let's make sure we stay the only ones doing so
|
||||
alreadySaving = true;
|
||||
// since we changed credentials, we need to try to connect to the cloud, regardless
|
||||
// of whether we're in offline mode or not, to make sure the repository is synced
|
||||
currentGitLocalOnly = prefs.git_local_only;
|
||||
prefs.git_local_only = false;
|
||||
openLocalThenRemote(url);
|
||||
}
|
||||
}
|
||||
|
@ -461,11 +465,21 @@ successful_exit:
|
|||
}
|
||||
}
|
||||
setAccessingCloud(-1);
|
||||
// if we got here just for an initial connection to the cloud, reset to offline
|
||||
if (currentGitLocalOnly) {
|
||||
currentGitLocalOnly = false;
|
||||
prefs.git_local_only = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void QMLManager::revertToNoCloudIfNeeded()
|
||||
{
|
||||
if (currentGitLocalOnly) {
|
||||
// we tried to connect to the cloud for the first time and that failed
|
||||
currentGitLocalOnly = false;
|
||||
prefs.git_local_only = true;
|
||||
}
|
||||
if (oldStatus() == 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
|
||||
|
|
|
@ -174,6 +174,7 @@ private:
|
|||
bool checkLocation(DiveObjectHelper *myDive, struct dive *d, QString location, QString gps);
|
||||
bool checkDuration(DiveObjectHelper *myDive, struct dive *d, QString duration);
|
||||
bool checkDepth(DiveObjectHelper *myDive, struct dive *d, QString depth);
|
||||
bool currentGitLocalOnly;
|
||||
|
||||
signals:
|
||||
void cloudUserNameChanged();
|
||||
|
|
Loading…
Add table
Reference in a new issue