diff --git a/src/blackgui/components/aircraftmodelvalidationcomponent.cpp b/src/blackgui/components/aircraftmodelvalidationcomponent.cpp index 882eb2ba1..c0ddceadb 100644 --- a/src/blackgui/components/aircraftmodelvalidationcomponent.cpp +++ b/src/blackgui/components/aircraftmodelvalidationcomponent.cpp @@ -25,10 +25,15 @@ namespace BlackGui ui(new Ui::CAircraftModelValidationComponent) { ui->setupUi(this); + ui->comp_Simulator->setMode(CSimulatorSelector::ComboBox); + ui->comp_Simulator->setRememberSelection(false); + const CAircraftMatcherSetup setup = m_matchingSettings.get(); ui->cb_EnableStartupCheck->setChecked(setup.doVerificationAtStartup()); - connect(ui->cb_EnableStartupCheck, &QCheckBox::toggled, this, &CAircraftModelValidationComponent::onCheckAtStartupChanged); - connect(ui->pb_TempDisableInvalid, &QPushButton::released, this, &CAircraftModelValidationComponent::onButtonClicked); + connect(ui->cb_EnableStartupCheck, &QCheckBox::toggled, this, &CAircraftModelValidationComponent::onCheckAtStartupChanged); + connect(ui->pb_TempDisableInvalid, &QPushButton::released, this, &CAircraftModelValidationComponent::onButtonClicked); + connect(ui->pb_TempDisableSelected, &QPushButton::released, this, &CAircraftModelValidationComponent::onButtonClicked); + connect(ui->pb_TriggerValidation, &QPushButton::released, this, &CAircraftModelValidationComponent::triggerValidation); } CAircraftModelValidationComponent::~CAircraftModelValidationComponent() @@ -39,6 +44,7 @@ namespace BlackGui Q_UNUSED(simulator); Q_UNUSED(valid); ui->tvp_InvalidModels->updateContainerMaybeAsync(invalid); + ui->comp_Simulator->setValue(simulator); ui->comp_Messages->clear(); ui->comp_Messages->appendStatusMessagesToList(msgs); @@ -71,6 +77,27 @@ namespace BlackGui Q_UNUSED(msg); } + void CAircraftModelValidationComponent::triggerValidation() + { + if (!sGui || sGui->isShuttingDown() || !sGui->supportsContexts()) { return; } + if (!sGui->getIContextSimulator()) { return; } + if (sGui->getIContextSimulator()->isValidationInProgress()) + { + this->showOverlayHTMLMessage("Validation in progress", 5000); + return; + } + + const CSimulatorInfo sim = ui->comp_Simulator->getValue(); + if (sGui->getIContextSimulator()->triggerModelSetValidation(sim)) + { + this->showOverlayHTMLMessage(QStringLiteral("Triggered validation for '%1'").arg(sim.toQString(true)), 5000); + } + else + { + this->showOverlayHTMLMessage(QStringLiteral("Cannot trigger validation for '%1'").arg(sim.toQString(true)), 5000); + } + } + void CAircraftModelValidationComponent::onButtonClicked() { const QObject *sender = QObject::sender(); diff --git a/src/blackgui/components/aircraftmodelvalidationcomponent.h b/src/blackgui/components/aircraftmodelvalidationcomponent.h index 0eff68327..ebfac2949 100644 --- a/src/blackgui/components/aircraftmodelvalidationcomponent.h +++ b/src/blackgui/components/aircraftmodelvalidationcomponent.h @@ -62,6 +62,9 @@ namespace BlackGui //! Enable/disable startup check void onCheckAtStartupChanged(bool checked); + //! Trigger new validation + void triggerValidation(); + //! Button has been clicked void onButtonClicked(); }; diff --git a/src/blackgui/components/aircraftmodelvalidationcomponent.ui b/src/blackgui/components/aircraftmodelvalidationcomponent.ui index 79a798d22..196898a25 100644 --- a/src/blackgui/components/aircraftmodelvalidationcomponent.ui +++ b/src/blackgui/components/aircraftmodelvalidationcomponent.ui @@ -88,6 +88,29 @@ + + + + + 75 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + trigger validation + + + @@ -119,7 +142,21 @@
blackgui/components/logcomponent.h
1 + + BlackGui::Components::CSimulatorSelector + QFrame +
blackgui/components/simulatorselector.h
+ 1 +
+ + tw_CAircraftModelValidationComponent + tvp_InvalidModels + cb_EnableStartupCheck + pb_TriggerValidation + pb_TempDisableInvalid + pb_TempDisableSelected +