From 4a28b589d8f72a1a8e7718414756bd61488990c8 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 26 Nov 2018 06:20:05 +0100 Subject: [PATCH] Ref T441, overlay messages for model set component --- .../components/dbmappingcomponentaware.cpp | 14 ++++++++++++++ src/blackgui/components/dbmappingcomponentaware.h | 12 ++++++++++++ src/blackgui/components/dbownmodelsetcomponent.cpp | 7 ++++--- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/blackgui/components/dbmappingcomponentaware.cpp b/src/blackgui/components/dbmappingcomponentaware.cpp index eb4bebb7e..5648e08af 100644 --- a/src/blackgui/components/dbmappingcomponentaware.cpp +++ b/src/blackgui/components/dbmappingcomponentaware.cpp @@ -13,6 +13,8 @@ #include +using namespace BlackMisc; + namespace BlackGui { namespace Components @@ -31,5 +33,17 @@ namespace BlackGui if (!m) { return; } m_mappingComponent = m; } + + void CDbMappingComponentAware::showMappingComponentOverlayMessage(const CStatusMessage &message, int timeoutMs) + { + if (!m_mappingComponent) { return; } + m_mappingComponent->showOverlayMessage(message, timeoutMs); + } + + void CDbMappingComponentAware::showMappingComponentOverlayHtmlMessage(const CStatusMessage &message, int timeoutMs) + { + if (!m_mappingComponent) { return; } + m_mappingComponent->showOverlayHTMLMessage(message, timeoutMs); + } } // ns } // ns diff --git a/src/blackgui/components/dbmappingcomponentaware.h b/src/blackgui/components/dbmappingcomponentaware.h index 29300bb50..44fc269ee 100644 --- a/src/blackgui/components/dbmappingcomponentaware.h +++ b/src/blackgui/components/dbmappingcomponentaware.h @@ -12,6 +12,7 @@ #ifndef BLACKGUI_COMPONENTS_DBMAPPINGCOMPONENTAWARE_H #define BLACKGUI_COMPONENTS_DBMAPPINGCOMPONENTAWARE_H +#include "blackmisc/statusmessage.h" #include "blackgui/blackguiexport.h" #include @@ -38,6 +39,17 @@ namespace BlackGui //! Destructor virtual ~CDbMappingComponentAware() {} + //! Copy constructor + CDbMappingComponentAware(const CDbMappingComponentAware &) = default; + + //! Copy assignment operator + CDbMappingComponentAware &operator =(const CDbMappingComponentAware &) = default; + + //! Overlay messages @{ + void showMappingComponentOverlayMessage(const BlackMisc::CStatusMessage &message, int timeoutMs = -1); + void showMappingComponentOverlayHtmlMessage(const BlackMisc::CStatusMessage &message, int timeoutMs = -1); + //! @} + private : CDbMappingComponent *m_mappingComponent = nullptr; //!< reference to component }; diff --git a/src/blackgui/components/dbownmodelsetcomponent.cpp b/src/blackgui/components/dbownmodelsetcomponent.cpp index e4b9dcbd1..8ae337585 100644 --- a/src/blackgui/components/dbownmodelsetcomponent.cpp +++ b/src/blackgui/components/dbownmodelsetcomponent.cpp @@ -114,12 +114,12 @@ namespace BlackGui return; } - // unempty set, consolidate CAircraftModelList cleanModelList(models.matchesSimulator(simulator)); // remove those not matching the simulator const int diff = models.size() - cleanModelList.size(); if (diff > 0) { - CLogMessage(this).warning("Removed %1 models from set because not matching %2") << diff << simulator.toQString(true); + const CStatusMessage m = CStatusMessage(this).warning("Removed %1 models from set, because not matching %2") << diff << simulator.toQString(true); + this->showMappingComponentOverlayHtmlMessage(m, 5000); } cleanModelList.resetOrder(); ui->tvp_OwnModelSet->updateContainerMaybeAsync(cleanModelList); @@ -133,7 +133,8 @@ namespace BlackGui const int diff = models.size() - cleanModelList.size(); if (diff > 0) { - CLogMessage(this).warning("Removed %1 models from set because not matching %2") << diff << simulator.toQString(true); + const CStatusMessage m = CStatusMessage(this).warning("Removed %1 models from set, because not matching %2") << diff << simulator.toQString(true); + this->showMappingComponentOverlayHtmlMessage(m, 5000); } if (cleanModelList.isEmpty()) { return 0; } CAircraftModelList updatedModels(ui->tvp_OwnModelSet->container());