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);
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);

View File

@@ -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::CAircraftModelValidationDialog> ui;
BlackMisc::Simulation::CAircraftModelList m_models;
BlackMisc::Simulation::CSimulatorInfo m_simulator { BlackMisc::Simulation::CSimulatorInfo::None };
QString m_simulatorDir;
};
} // ns
} // ns

View File

@@ -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();
}

View File

@@ -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