1
0
Fork 0
mirror of https://github.com/subsurface/subsurface.git synced 2025-02-19 22:16:15 +00:00

mobile UI: delay reading the dive list until app is active

This way the launch screen is shown significantly shorter on a device,
and instead the user sees our progress notifications.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2020-04-02 15:28:03 -07:00
parent 0673e53a68
commit 001fb7f4fa
2 changed files with 7 additions and 11 deletions
mobile-widgets

View file

@ -769,6 +769,8 @@ if you have network connectivity and want to sync your data to cloud storage."),
}
}
Component.onCompleted: {
if (Screen.manufacturer + " " + Screen.model + " " + Screen.name !== " ")
manager.appendTextToLog("Running on " + Screen.manufacturer + " " + Screen.model + " " + Screen.name)
manager.appendTextToLog("StartPage completed -- initialized is " + initialized)
}
}
@ -910,17 +912,6 @@ if you have network connectivity and want to sync your data to cloud storage."),
showDownloadForPluggedInDevice()
}
}
Component.onCompleted: {
// try to see if we can detect certain device vendors through these properties
if (Screen.manufacturer + " " + Screen.model + " " + Screen.name !== " ")
manager.appendTextToLog("Running on " + Screen.manufacturer + " " + Screen.model + " " + Screen.name)
rootItem.visible = true
manager.appendTextToLog("setting the defaultColumnWidth to " + Kirigami.Units.gridUnit * 21)
pageStack.defaultColumnWidth = Kirigami.Units.gridUnit * 21
manager.finishSetup()
manager.appInitialized()
}
onClosing: {
// this duplicates the check that is already in the onBackRequested signal handler of the DiveList
if (globalDrawer.visible) {

View file

@ -313,6 +313,11 @@ void QMLManager::applicationStateChanged(Qt::ApplicationState state)
stateText.append((unsaved_changes() ? QLatin1String("") : QLatin1String("no ")) + QLatin1String("unsaved changes"));
appendTextToLog(stateText);
if (state == Qt::ApplicationActive && !m_initialized) {
// once the app UI is displayed, finish our setup and mark the app as initialized
finishSetup();
appInitialized();
}
if (state == Qt::ApplicationInactive && unsaved_changes()) {
// saveChangesCloud ensures that we don't have two conflicting saves going on
appendTextToLog("trying to save data as user switched away from app");