mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML UI: correctly show if we are accessing remote or local storage
This makes sure that if the user switches to offline mode they don't get incorrect notifications that tell them that they are accessing cloud storage. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
ac0c1eb5e1
commit
660f421d6d
2 changed files with 12 additions and 9 deletions
|
@ -22,10 +22,15 @@ Kirigami.ApplicationWindow {
|
|||
property bool showingDiveList: false
|
||||
property alias syncToCloud: manager.syncToCloud
|
||||
onAccessingCloudChanged: {
|
||||
// >= 0 for updating cloud, -1 for hide, < -1 for local storage
|
||||
if (accessingCloud >= 0) {
|
||||
// we now keep updating this to show progress, so timing out after 30 seconds is more useful
|
||||
// but should still be very conservative
|
||||
showPassiveNotification("Accessing Subsurface Cloud Storage " + accessingCloud +"%", 30000);
|
||||
showPassiveNotification("Accessing Subsurface cloud storage " + accessingCloud +"%", 30000);
|
||||
} else if (accessingCloud < -1) {
|
||||
// local storage should be much faster, so timeout of 5 seconds
|
||||
// the offset of 2 is so that things start 0 again
|
||||
showPassiveNotification("Accessing local storage " + -(accessingCloud + 2) +"%", 5000);
|
||||
} else {
|
||||
hidePassiveNotification();
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ extern "C" int gitProgressCB(bool reset, const char *text)
|
|||
if (!timer.isValid() || reset) {
|
||||
timer.restart();
|
||||
lastTime = 0;
|
||||
lastPercent = 0;
|
||||
lastPercent = prefs.git_local_only ? -2 : 0;
|
||||
lastText.clear();
|
||||
}
|
||||
if (self) {
|
||||
|
@ -54,7 +54,11 @@ extern "C" int gitProgressCB(bool reset, const char *text)
|
|||
// don't show the same status twice in 200ms
|
||||
if (lastText == text && elapsed - lastTime < 200)
|
||||
return 0;
|
||||
self->loadDiveProgress(++lastPercent);
|
||||
if (lastPercent < 0)
|
||||
lastPercent--;
|
||||
else
|
||||
lastPercent++;
|
||||
self->loadDiveProgress(lastPercent);
|
||||
QString logText = QString::number(elapsed / 1000.0, 'f', 1) + " / " + QString::number((elapsed - lastTime) / 1000.0, 'f', 3) +
|
||||
QString(" : git %1 (%2)").arg(lastPercent).arg(text);
|
||||
self->appendTextToLog(logText);
|
||||
|
@ -356,13 +360,7 @@ void QMLManager::retrieveUserid()
|
|||
|
||||
void QMLManager::loadDiveProgress(int percent)
|
||||
{
|
||||
QString text(tr("Loading dive list from cloud storage."));
|
||||
setAccessingCloud(percent);
|
||||
while (percent > 0) {
|
||||
text.append(".");
|
||||
percent -= 10;
|
||||
}
|
||||
setStartPageText(text);
|
||||
}
|
||||
|
||||
void QMLManager::loadDivesWithValidCredentials()
|
||||
|
|
Loading…
Add table
Reference in a new issue