From c0337b531ab4260687bc009ea73ed1c3a3e5d473 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 28 Dec 2018 13:50:01 +0100 Subject: [PATCH] Ref T489, display read state in model component as overlay --- src/blackgui/components/dbmodelcomponent.cpp | 25 +++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/blackgui/components/dbmodelcomponent.cpp b/src/blackgui/components/dbmodelcomponent.cpp index bf3895305..297b44c27 100644 --- a/src/blackgui/components/dbmodelcomponent.cpp +++ b/src/blackgui/components/dbmodelcomponent.cpp @@ -21,6 +21,7 @@ #include #include #include +#include using namespace BlackMisc; using namespace BlackMisc::Network; @@ -48,15 +49,15 @@ namespace BlackGui ui->tvp_AircraftModel->menuAddItems(CViewBaseNonTemplate::MenuCopy); ui->tvp_AircraftModel->menuRemoveItems(CAircraftModelView::MenuHighlightStashed); // not supported here - connect(ui->tvp_AircraftModel, &CAircraftModelView::requestNewBackendData, this, &CDbModelComponent::onReload); - connect(ui->tvp_AircraftModel, &CAircraftModelView::requestStash, this, &CDbModelComponent::requestStash); - connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CDbModelComponent::onStyleSheetChanged, Qt::QueuedConnection); // configure view ui->tvp_AircraftModel->setFilterWidget(ui->filter_AircraftModelFilter); ui->tvp_AircraftModel->allowDragDrop(true, false); - connect(sApp->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbModelComponent::onModelsRead); + connect(ui->tvp_AircraftModel, &CAircraftModelView::requestNewBackendData, this, &CDbModelComponent::onReload); + connect(ui->tvp_AircraftModel, &CAircraftModelView::requestStash, this, &CDbModelComponent::requestStash); + connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CDbModelComponent::onStyleSheetChanged, Qt::QueuedConnection); + connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbModelComponent::onModelsRead); connect(sGui->getWebDataServices(), &CWebDataServices::entityDownloadProgress, this, &CDbModelComponent::onEntityDownloadProgress, Qt::QueuedConnection); this->onModelsRead(CEntityFlags::ModelEntity, CEntityFlags::ReadFinished, sApp->getWebDataServices()->getModelsCount()); } @@ -73,6 +74,8 @@ namespace BlackGui void CDbModelComponent::requestUpdatedData() { + if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; } + QDateTime ts; if (!ui->tvp_AircraftModel->isEmpty()) { @@ -86,12 +89,16 @@ namespace BlackGui { Q_UNUSED(count); if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; } - if (entity.testFlag(CEntityFlags::ModelEntity)) + if (!entity.testFlag(CEntityFlags::ModelEntity)) { return; } + + if (CEntityFlags::isFinishedReadState(readState)) { - if (CEntityFlags::isFinishedReadState(readState)) - { - ui->tvp_AircraftModel->updateContainerMaybeAsync(sGui->getWebDataServices()->getModels()); - } + this->showOverlayHTMLMessage(QStringLiteral("Updating"), 2000); + ui->tvp_AircraftModel->updateContainerMaybeAsync(sGui->getWebDataServices()->getModels()); + } + else + { + this->showOverlayHTMLMessage(u"Currently " % CEntityFlags::flagToString(readState)); } }