From 6acde8799fd69a7a5c9df82a0976f0a33d4e5abb Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 21 Jan 2019 09:01:46 +0100 Subject: [PATCH] Ref T515, display onValidatedModelSet results in UI --- src/swiftguistandard/swiftguistd.cpp | 12 ++++++++++++ src/swiftguistandard/swiftguistd.h | 7 ++++++- src/swiftguistandard/swiftguistdinit.cpp | 2 ++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/swiftguistandard/swiftguistd.cpp b/src/swiftguistandard/swiftguistd.cpp index 66c7eacfc..4a4ae8eab 100644 --- a/src/swiftguistandard/swiftguistd.cpp +++ b/src/swiftguistandard/swiftguistd.cpp @@ -436,6 +436,18 @@ void SwiftGuiStd::verifyPrerequisites() this->copyXSwiftBusDialog(true); } +void SwiftGuiStd::onValidatedModelSet(const CSimulatorInfo &simulator, const CAircraftModelList &valid, const CAircraftModelList &invalid, bool stopped, const CStatusMessageList &msgs) +{ + if (!sGui || sGui->isShuttingDown()) { return; } + if (!m_validationDialog) + { + m_validationDialog.reset(new CAircraftModelSetValidationDialog(this)); + } + m_validationDialog->validatedModelSet(simulator, valid, invalid, stopped, msgs); + const int r = m_validationDialog->exec(); + Q_UNUSED(r); +} + void SwiftGuiStd::checkDbDataLoaded() { if (!sGui || sGui->isShuttingDown()) { return; } diff --git a/src/swiftguistandard/swiftguistd.h b/src/swiftguistandard/swiftguistd.h index 867aef5fc..8b52c3126 100644 --- a/src/swiftguistandard/swiftguistd.h +++ b/src/swiftguistandard/swiftguistd.h @@ -18,6 +18,7 @@ #include "blackgui/components/maininfoareacomponent.h" #include "blackgui/components/navigatordialog.h" +#include "blackgui/components/aircraftmodelsetvalidationdialog.h" #include "blackgui/enableforframelesswindow.h" #include "blackgui/mainwindowaccess.h" #include "blackgui/managedstatusbar.h" @@ -99,8 +100,9 @@ protected: private: QScopedPointer ui; - QScopedPointer m_navigator{ new BlackGui::Components::CNavigatorDialog() }; //!< navigator dialog bar, if I pass the parent, the dialog is always centered over the parent + QScopedPointer m_navigator{ new BlackGui::Components::CNavigatorDialog() }; //!< navigator dialog bar, if I pass the parent, the dialog is always centered over the parent QScopedPointer m_dbLoadDialog; //!< load DB data, lazy init UI component + QScopedPointer m_validationDialog; //!< aircraft model validation dialog BlackCore::CActionBind m_actionPtt { "/Voice/Activate push-to-talk", BlackMisc::CIcons::radio16(), this, &SwiftGuiStd::onPttChanged }; BlackCore::CActionBindings m_menuHotkeyHandlers; BlackGui::CManagedStatusBar m_statusBar; @@ -267,6 +269,9 @@ private: //! Checks if model set is available void verifyPrerequisites(); + //! Model set haas been verfied + void onValidatedModelSet(const BlackMisc::Simulation::CSimulatorInfo &simulator, const BlackMisc::Simulation::CAircraftModelList &valid, const BlackMisc::Simulation::CAircraftModelList &invalid, bool stopped, const BlackMisc::CStatusMessageList &msgs); + //! Ckeck if the DB data have been loaded void checkDbDataLoaded(); diff --git a/src/swiftguistandard/swiftguistdinit.cpp b/src/swiftguistandard/swiftguistdinit.cpp index af2175209..4529148ad 100644 --- a/src/swiftguistandard/swiftguistdinit.cpp +++ b/src/swiftguistandard/swiftguistdinit.cpp @@ -131,6 +131,8 @@ void SwiftGuiStd::init() Q_ASSERT(s); s = connect(sGui->getIContextSimulator(), &IContextSimulator::requestUiConsoleMessage, this, &SwiftGuiStd::onRequestedConsoleMessage, Qt::QueuedConnection); Q_ASSERT(s); + s = connect(sGui->getIContextSimulator(), &IContextSimulator::validatedModelSet, this, &SwiftGuiStd::onValidatedModelSet, Qt::QueuedConnection); + Q_ASSERT(s); s = connect(&m_timerContextWatchdog, &QTimer::timeout, this, &SwiftGuiStd::handleTimerBasedUpdates); Q_ASSERT(s); Q_UNUSED(s);