8 #include <QDialogButtonBox>
10 #include <QPushButton>
12 #include "ui_aircraftmodelvalidationdialog.h"
17 using namespace swift::misc::simulation;
21 CAircraftModelValidationDialog::CAircraftModelValidationDialog(QWidget *parent)
25 this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
27 QPushButton *validateButton =
new QPushButton(
"Validate", ui->bb_ValidationDialog);
28 ui->bb_ValidationDialog->addButton(validateButton, QDialogButtonBox::ActionRole);
29 connect(validateButton, &QPushButton::released,
this, &CAircraftModelValidationDialog::validate,
30 Qt::QueuedConnection);
36 const QString &simulatorDir)
39 m_simulator = simulator;
40 m_simulatorDir = simulatorDir;
45 QPointer<CAircraftModelValidationDialog> myself(
this);
47 if (!myself) {
return; }
52 void CAircraftModelValidationDialog::validate()
55 ui->comp_StatusMessage->clear();
56 if (m_models.
isEmpty()) {
return; }
60 const bool ignoreEmpty =
false;
61 const int maxFailedFiles = 25;
62 std::atomic_bool wasStopped {
false };
64 m_simulator, m_models, valid, invalid, ignoreEmpty, maxFailedFiles, wasStopped, m_simulatorDir);
65 ui->comp_StatusMessage->clear();
66 ui->comp_StatusMessage->setNoSorting();
67 ui->comp_StatusMessage->appendStatusMessagesToList(msgs);
virtual ~CAircraftModelValidationDialog()
Destructor.
void setModels(const swift::misc::simulation::CAircraftModelList &models, const swift::misc::simulation::CSimulatorInfo &simulator, const QString &simulatorDir)
Models.
void triggerValidation(int delayMs=2500)
Trigger a validation.
bool isEmpty() const
Synonym for empty.
Status messages, e.g. from Core -> GUI.
Value object encapsulating a list of aircraft models.
Simple hardcoded info about the corresponding simulator.
Views, mainly QTableView.
Free functions in swift::misc.
auto singleShot(int msec, QObject *target, F &&task)
Starts a single-shot timer which will call a task in the thread of the given object when it times out...