Ref T660, add simulator directory to model view for validation

This commit is contained in:
Klaus Basan
2019-07-09 16:58:56 +02:00
committed by Mat Sutcliffe
parent f59b52bd6d
commit 9a384ebc54
4 changed files with 19 additions and 8 deletions

View File

@@ -30,16 +30,17 @@ namespace BlackGui
QPushButton *validateButton = new QPushButton("Validate", ui->bb_ValidationDialog); QPushButton *validateButton = new QPushButton("Validate", ui->bb_ValidationDialog);
ui->bb_ValidationDialog->addButton(validateButton, QDialogButtonBox::ActionRole); 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() 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_models = models;
m_simulator = simulator; m_simulator = simulator;
m_simulatorDir = simulatorDir;
} }
void CAircraftModelValidationDialog::triggerValidation(int delayMs) void CAircraftModelValidationDialog::triggerValidation(int delayMs)
@@ -63,7 +64,7 @@ namespace BlackGui
const bool ignoreEmpty = false; const bool ignoreEmpty = false;
const int maxFailedFiles = 25; const int maxFailedFiles = 25;
bool wasStopped = false; 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->clear();
ui->comp_StatusMessage->setNoSorting(); // we use the pre-sorted list ui->comp_StatusMessage->setNoSorting(); // we use the pre-sorted list
ui->comp_StatusMessage->appendStatusMessagesToList(msgs); ui->comp_StatusMessage->appendStatusMessagesToList(msgs);

View File

@@ -38,7 +38,9 @@ namespace BlackGui
//! Models //! Models
void setModels( void setModels(
const BlackMisc::Simulation::CAircraftModelList &models, const BlackMisc::Simulation::CAircraftModelList &models,
const BlackMisc::Simulation::CSimulatorInfo &simulator); const BlackMisc::Simulation::CSimulatorInfo &simulator,
const QString &simulatorDir
);
//! Trigger a validation //! Trigger a validation
void triggerValidation(int delayMs = 2500); void triggerValidation(int delayMs = 2500);
@@ -50,6 +52,7 @@ namespace BlackGui
QScopedPointer<Ui::CAircraftModelValidationDialog> ui; QScopedPointer<Ui::CAircraftModelValidationDialog> ui;
BlackMisc::Simulation::CAircraftModelList m_models; BlackMisc::Simulation::CAircraftModelList m_models;
BlackMisc::Simulation::CSimulatorInfo m_simulator { BlackMisc::Simulation::CSimulatorInfo::None }; BlackMisc::Simulation::CSimulatorInfo m_simulator { BlackMisc::Simulation::CSimulatorInfo::None };
QString m_simulatorDir;
}; };
} // ns } // ns
} // ns } // ns

View File

@@ -209,6 +209,12 @@ namespace BlackGui
return this->derivedModel()->highlightModels(); return this->derivedModel()->highlightModels();
} }
void CAircraftModelView::setCorrespondingSimulator(const CSimulatorInfo &simulator, const QString &simDir)
{
m_correspondingSimulator = simulator;
m_correspondingSimulatorDir = simDir;
}
void CAircraftModelView::dropEvent(QDropEvent *event) void CAircraftModelView::dropEvent(QDropEvent *event)
{ {
// moves from myself are ignored // moves from myself are ignored
@@ -473,7 +479,7 @@ namespace BlackGui
void CAircraftModelView::displayModelValidationDialog() void CAircraftModelView::displayModelValidationDialog()
{ {
if (!m_fileValidationDialog) { m_fileValidationDialog = new CAircraftModelValidationDialog(this); } 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->triggerValidation(1000);
m_fileValidationDialog->exec(); m_fileValidationDialog->exec();
} }

View File

@@ -114,7 +114,7 @@ namespace BlackGui
//! Corresponding simulator //! Corresponding simulator
//! \remark used for validation or loading data will be restricted to 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 //! Enable the validation context menu
void setValidationContextMenu(const bool enabled) { m_withValidationContextMenu = enabled; } void setValidationContextMenu(const bool enabled) { m_withValidationContextMenu = enabled; }
@@ -175,6 +175,7 @@ namespace BlackGui
CAircraftModelStatisticsDialog *m_statisticsDialog = nullptr; CAircraftModelStatisticsDialog *m_statisticsDialog = nullptr;
CAircraftModelValidationDialog *m_fileValidationDialog = nullptr; CAircraftModelValidationDialog *m_fileValidationDialog = nullptr;
BlackMisc::Simulation::CSimulatorInfo m_correspondingSimulator; //!< validation, simulator required when loading BlackMisc::Simulation::CSimulatorInfo m_correspondingSimulator; //!< validation, simulator required when loading
QString m_correspondingSimulatorDir;
}; };
} // ns } // ns
} // ns } // ns