From d51b26cf8da5ef0ac84a4feb54f6e3645e035881 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 9 Apr 2019 04:03:29 +0200 Subject: [PATCH] Aligned signatures for context and dialog to use sim.directory in validator Ref T247 follow up --- .../context/contextsimulatorimpl.cpp | 20 ++++++++++++++++--- src/blackcore/context/contextsimulatorimpl.h | 3 +++ .../views/aircraftmodelvalidationdialog.cpp | 5 +++-- .../simulation/fscommon/fscommonutil.cpp | 2 +- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/blackcore/context/contextsimulatorimpl.cpp b/src/blackcore/context/contextsimulatorimpl.cpp index 7b823560c..3cd4806c6 100644 --- a/src/blackcore/context/contextsimulatorimpl.cpp +++ b/src/blackcore/context/contextsimulatorimpl.cpp @@ -94,14 +94,27 @@ namespace BlackCore // Validation m_validator = new CBackgroundValidation(this); - m_validator->setCurrentSimulator(this->getSimulatorPluginInfo().getSimulator()); - connect(this, &CContextSimulator::simulatorChanged, m_validator, &CBackgroundValidation::setCurrentSimulator); + this->setValidator(this->getSimulatorPluginInfo().getSimulator()); + connect(this, &CContextSimulator::simulatorChanged, this, &CContextSimulator::setValidator); connect(m_validator, &CBackgroundValidation::validated, this, &CContextSimulator::validatedModelSet, Qt::QueuedConnection); m_validator->start(QThread::LowestPriority); m_validator->startUpdating(60); } + void CContextSimulator::setValidator(const CSimulatorInfo &simulator) + { + if (simulator.isSingleSimulator()) + { + const QString simDir = m_simulatorSettings.getSimulatorDirectoryOrDefault(simulator); + m_validator->setCurrentSimulator(simulator, simDir); + } + else + { + m_validator->setCurrentSimulator(CSimulatorInfo::None, {}); + } + } + CContextSimulator *CContextSimulator::registerWithDBus(CDBusServer *server) { if (!server || m_mode != CCoreFacadeConfig::LocalInDBusServer) { return this; } @@ -1054,7 +1067,8 @@ namespace BlackCore if (!myself) { return; } if (m_aircraftMatcher.getModelSetCount() > MatchingLogMaxModelSetSize) { - this->enableMatchingMessages(false); + const MatchingLog log = CBuildConfig::isDebugBuild() ? MatchingLogAll : MatchingLogSimplified; + this->enableMatchingMessages(log); } }); } diff --git a/src/blackcore/context/contextsimulatorimpl.h b/src/blackcore/context/contextsimulatorimpl.h index a06d38d4b..ecb5a830c 100644 --- a/src/blackcore/context/contextsimulatorimpl.h +++ b/src/blackcore/context/contextsimulatorimpl.h @@ -257,6 +257,9 @@ namespace BlackCore //! Load the last know model set void initByLastUsedModelSet(); + //! Init and set validator + void setValidator(const BlackMisc::Simulation::CSimulatorInfo &simulator); + QPair> m_simulatorPlugin; //!< Currently loaded simulator plugin QMap m_matchingMessages; //!< all matching log messages per callsign QMap m_failoverAddingCounts; diff --git a/src/blackgui/views/aircraftmodelvalidationdialog.cpp b/src/blackgui/views/aircraftmodelvalidationdialog.cpp index 16d33bd87..fd8818b5b 100644 --- a/src/blackgui/views/aircraftmodelvalidationdialog.cpp +++ b/src/blackgui/views/aircraftmodelvalidationdialog.cpp @@ -48,15 +48,16 @@ namespace BlackGui void CAircraftModelValidationDialog::validate() { + // in view validation of models ui->comp_StatusMessage->clear(); if (m_models.isEmpty()) { return; } CAircraftModelList valid; CAircraftModelList invalid; const bool ignoreEmpty = false; - const int maxFailedFiles = 25; + const int maxFailedFiles = 25; bool wasStopped = false; - const CStatusMessageList msgs = CAircraftModelUtilities::validateModelFiles(m_models, valid, invalid, ignoreEmpty, maxFailedFiles, wasStopped); + const CStatusMessageList msgs = CAircraftModelUtilities::validateModelFiles(m_models, valid, invalid, ignoreEmpty, maxFailedFiles, wasStopped, ""); ui->comp_StatusMessage->clear(); ui->comp_StatusMessage->appendStatusMessagesToList(msgs); } diff --git a/src/blackmisc/simulation/fscommon/fscommonutil.cpp b/src/blackmisc/simulation/fscommon/fscommonutil.cpp index 18b226ca4..3eb5235ad 100644 --- a/src/blackmisc/simulation/fscommon/fscommonutil.cpp +++ b/src/blackmisc/simulation/fscommon/fscommonutil.cpp @@ -548,7 +548,7 @@ namespace BlackMisc CStatusMessage m; sorted.sortByFileName(); stopped = false; - CStatusMessageList msgs = sorted.validateFiles(validModels, invalidModels, ignoreEmpty, stopAtFailedFiles, stopped, true); + CStatusMessageList msgs = sorted.validateFiles(validModels, invalidModels, ignoreEmpty, stopAtFailedFiles, stopped, "", true); if (stopped || validModels.isEmpty()) { return msgs; } const CAircraftModelList nonFsModels = validModels.findNonFsFamilyModels();