Mobile: change show/hide busy functions

The old code was ill named - this way the busy spinner itself
becomes reusable with a reasonable set of function names.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2019-10-24 18:51:46 -04:00
parent bf6a644fc6
commit 84920fd657
2 changed files with 10 additions and 2 deletions

View file

@ -68,11 +68,19 @@ Kirigami.ApplicationWindow {
function showBusy() {
busy.running = true
}
function showBusyAndDisconnectModel() { // this is used by QMLManager when operating the filter
busy.running = true
diveList.diveListModel = null
}
function hideBusy() {
busy.running = false
}
function hideBusyAndConnectModel() { // this is used by QMLManager when done filtering
busy.running = false
diveList.diveListModel = diveModel
}

View file

@ -2077,11 +2077,11 @@ void QMLManager::showDownloadPage(QString deviceString)
void QMLManager::setFilter(const QString filterText)
{
// show that we are doing something, then do something in another thread in order not to block the UI
QMetaObject::invokeMethod(qmlWindow, "showBusy");
QMetaObject::invokeMethod(qmlWindow, "showBusyAndDisconnectModel");
QtConcurrent::run(QThreadPool::globalInstance(),
[=]{
DiveListSortModel::instance()->setFilter(filterText);
QMetaObject::invokeMethod(qmlWindow, "hideBusy");
QMetaObject::invokeMethod(qmlWindow, "hideBusyAndConnectModel");
});
}