QML UI: don't load dives before the UI has been instantiated

This should deal with a big part of the delay when starting the app.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-11-30 10:15:04 -08:00
parent 2f2e9da2cd
commit f6ae8bf3ea
2 changed files with 8 additions and 3 deletions

View file

@ -105,7 +105,7 @@ MobileComponents.ApplicationWindow {
stackView.push(themetest)
}
}
]
]
MouseArea {
height: childrenRect.height
width: MobileComponents.Units.gridUnit * 10
@ -272,5 +272,6 @@ MobileComponents.ApplicationWindow {
Component.onCompleted: {
print("MobileComponents.Units.gridUnit is: " + MobileComponents.Units.gridUnit);
manager.loadDives();
}
}

View file

@ -33,8 +33,6 @@ QMLManager::QMLManager() :
setDistanceThreshold(prefs.distance_threshold);
setTimeThreshold(prefs.time_threshold / 60);
if (!same_string(prefs.cloud_storage_email, "") && !same_string(prefs.cloud_storage_password, ""))
loadDives();
}
QMLManager::~QMLManager()
@ -90,6 +88,12 @@ void QMLManager::savePreferences()
void QMLManager::loadDives()
{
if (same_string(prefs.cloud_storage_email, "") || same_string(prefs.cloud_storage_password, "")) {
qmlUiShowMessage("Please set up cloud storage credentials");
appendTextToLog("Unable to load dives; cloud storage credentials missing");
return;
}
qmlUiShowMessage("Loading dives...");
appendTextToLog("Loading dives...");
QString url;