From 9a384ebc5403e1ed5d49b2d1962a5222c1d00863 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 9 Jul 2019 16:58:56 +0200 Subject: [PATCH] Ref T660, add simulator directory to model view for validation --- src/blackgui/views/aircraftmodelvalidationdialog.cpp | 11 ++++++----- src/blackgui/views/aircraftmodelvalidationdialog.h | 5 ++++- src/blackgui/views/aircraftmodelview.cpp | 8 +++++++- src/blackgui/views/aircraftmodelview.h | 3 ++- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/blackgui/views/aircraftmodelvalidationdialog.cpp b/src/blackgui/views/aircraftmodelvalidationdialog.cpp index 50cb122f2..fb21eca64 100644 --- a/src/blackgui/views/aircraftmodelvalidationdialog.cpp +++ b/src/blackgui/views/aircraftmodelvalidationdialog.cpp @@ -30,16 +30,17 @@ namespace BlackGui QPushButton *validateButton = new QPushButton("Validate", ui->bb_ValidationDialog); ui->bb_ValidationDialog->addButton(validateButton, QDialogButtonBox::ActionRole); - connect(validateButton, &QPushButton::released, this, &CAircraftModelValidationDialog::validate); + connect(validateButton, &QPushButton::released, this, &CAircraftModelValidationDialog::validate, Qt::QueuedConnection); } CAircraftModelValidationDialog::~CAircraftModelValidationDialog() { } - void CAircraftModelValidationDialog::setModels(const CAircraftModelList &models, const CSimulatorInfo &simulator) + void CAircraftModelValidationDialog::setModels(const CAircraftModelList &models, const CSimulatorInfo &simulator, const QString &simulatorDir) { - m_models = models; - m_simulator = simulator; + m_models = models; + m_simulator = simulator; + m_simulatorDir = simulatorDir; } void CAircraftModelValidationDialog::triggerValidation(int delayMs) @@ -63,7 +64,7 @@ namespace BlackGui const bool ignoreEmpty = false; const int maxFailedFiles = 25; bool wasStopped = false; - const CStatusMessageList msgs = CAircraftModelUtilities::validateModelFiles(m_simulator, m_models, valid, invalid, ignoreEmpty, maxFailedFiles, wasStopped, ""); + const CStatusMessageList msgs = CAircraftModelUtilities::validateModelFiles(m_simulator, m_models, valid, invalid, ignoreEmpty, maxFailedFiles, wasStopped, m_simulatorDir); ui->comp_StatusMessage->clear(); ui->comp_StatusMessage->setNoSorting(); // we use the pre-sorted list ui->comp_StatusMessage->appendStatusMessagesToList(msgs); diff --git a/src/blackgui/views/aircraftmodelvalidationdialog.h b/src/blackgui/views/aircraftmodelvalidationdialog.h index b9788e748..c95cc250c 100644 --- a/src/blackgui/views/aircraftmodelvalidationdialog.h +++ b/src/blackgui/views/aircraftmodelvalidationdialog.h @@ -38,7 +38,9 @@ namespace BlackGui //! Models void setModels( const BlackMisc::Simulation::CAircraftModelList &models, - const BlackMisc::Simulation::CSimulatorInfo &simulator); + const BlackMisc::Simulation::CSimulatorInfo &simulator, + const QString &simulatorDir + ); //! Trigger a validation void triggerValidation(int delayMs = 2500); @@ -50,6 +52,7 @@ namespace BlackGui QScopedPointer ui; BlackMisc::Simulation::CAircraftModelList m_models; BlackMisc::Simulation::CSimulatorInfo m_simulator { BlackMisc::Simulation::CSimulatorInfo::None }; + QString m_simulatorDir; }; } // ns } // ns diff --git a/src/blackgui/views/aircraftmodelview.cpp b/src/blackgui/views/aircraftmodelview.cpp index 00164349d..d6936fd10 100644 --- a/src/blackgui/views/aircraftmodelview.cpp +++ b/src/blackgui/views/aircraftmodelview.cpp @@ -209,6 +209,12 @@ namespace BlackGui return this->derivedModel()->highlightModels(); } + void CAircraftModelView::setCorrespondingSimulator(const CSimulatorInfo &simulator, const QString &simDir) + { + m_correspondingSimulator = simulator; + m_correspondingSimulatorDir = simDir; + } + void CAircraftModelView::dropEvent(QDropEvent *event) { // moves from myself are ignored @@ -473,7 +479,7 @@ namespace BlackGui void CAircraftModelView::displayModelValidationDialog() { if (!m_fileValidationDialog) { m_fileValidationDialog = new CAircraftModelValidationDialog(this); } - m_fileValidationDialog->setModels(this->selectedObjects(), m_correspondingSimulator); + m_fileValidationDialog->setModels(this->selectedObjects(), m_correspondingSimulator, m_correspondingSimulatorDir); m_fileValidationDialog->triggerValidation(1000); m_fileValidationDialog->exec(); } diff --git a/src/blackgui/views/aircraftmodelview.h b/src/blackgui/views/aircraftmodelview.h index 479aa0544..4219d55c7 100644 --- a/src/blackgui/views/aircraftmodelview.h +++ b/src/blackgui/views/aircraftmodelview.h @@ -114,7 +114,7 @@ namespace BlackGui //! Corresponding simulator //! \remark used for validation or loading data will be restricted to simulator - void setCorrespondingSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) { m_correspondingSimulator = simulator; } + void setCorrespondingSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator, const QString &simDir); //! Enable the validation context menu void setValidationContextMenu(const bool enabled) { m_withValidationContextMenu = enabled; } @@ -175,6 +175,7 @@ namespace BlackGui CAircraftModelStatisticsDialog *m_statisticsDialog = nullptr; CAircraftModelValidationDialog *m_fileValidationDialog = nullptr; BlackMisc::Simulation::CSimulatorInfo m_correspondingSimulator; //!< validation, simulator required when loading + QString m_correspondingSimulatorDir; }; } // ns } // ns