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
@ -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…
x
Reference in New Issue
Block a user