11 #include "ui_dbownmodelsetformdialog.h"
21 using namespace swift::misc::simulation;
23 using namespace swift::gui::editors;
27 const QStringList &CDbOwnModelSetFormDialog::getLogCategories()
33 CDbOwnModelSetFormDialog::CDbOwnModelSetFormDialog(QWidget *parent)
37 connect(ui->pb_Cancel, &QPushButton::clicked,
this, &CDbOwnModelSetFormDialog::buttonClicked);
38 connect(ui->pb_Ok, &QPushButton::clicked,
this, &CDbOwnModelSetFormDialog::buttonClicked);
39 connect(ui->form_OwnModelSet, &COwnModelSetForm::simulatorChanged,
this,
40 &CDbOwnModelSetFormDialog::simulatorChanged);
51 Q_ASSERT_X(m_simulatorInfo.
isSingleSimulator(), Q_FUNC_INFO,
"Need single simulator");
52 ui->form_OwnModelSet->setSimulator(m_simulatorInfo);
53 ui->form_OwnModelSet->reloadData();
62 this->setSimulator(sim);
64 return QDialog::exec();
70 return QDialog::event(
event);
73 void CDbOwnModelSetFormDialog::buttonClicked()
75 const QObject *sender = QObject::sender();
76 if (sender == ui->pb_Cancel) { this->reject(); }
77 else if (sender == ui->pb_Ok)
79 m_modelSet = this->buildSet(m_simulatorInfo, m_modelSet);
84 void CDbOwnModelSetFormDialog::simulatorChanged(
const CSimulatorInfo &simulator)
87 this->setSimulator(simulator);
98 bool CDbOwnModelSetFormDialog::checkData()
101 Q_ASSERT_X(m_simulatorInfo.
isSingleSimulator(), Q_FUNC_INFO,
"Need single simulator");
107 ui->form_OwnModelSet->showOverlayMessage(m);
113 void CDbOwnModelSetFormDialog::setSimulator(
const CSimulatorInfo &simulator)
120 m_simulatorInfo.
isSingleSimulator() ? m_simulatorInfo : CSimulatorInfo::guessDefaultSimulator();
122 QStringLiteral(
"Set invalid simulator, continue to use '%1'").arg(resetSim.
toQString(
true));
124 m_simulatorInfo = resetSim;
126 ui->form_OwnModelSet->setSimulator(m_simulatorInfo);
127 this->setWindowTitle(
"Create model set for " + m_simulatorInfo.
toQString(
true));
134 const bool givenDistributorsOnly = !ui->form_OwnModelSet->optionUseAllDistributors();
135 const bool dbDataOnly = ui->form_OwnModelSet->optionDbDataOnly();
136 const bool dbIcaoOnly = ui->form_OwnModelSet->optionDbIcaoCodesOnly();
137 const bool incremnental = ui->form_OwnModelSet->optionIncrementalBuild();
138 const bool sortByDistributor = ui->form_OwnModelSet->optionSortByDistributorPreferences();
139 const bool consolidateWithDb = ui->form_OwnModelSet->optionConsolidateModelSetWithDbData();
143 const CDistributorList distributors = ui->form_OwnModelSet->getDistributorsBasedOnOptions();
145 if (givenDistributorsOnly && distributors.
isEmpty())
152 CModelSetBuilder::Builder options =
153 givenDistributorsOnly ? CModelSetBuilder::GivenDistributorsOnly : CModelSetBuilder::NoOptions;
154 if (dbDataOnly) { options |= CModelSetBuilder::OnlyDbData; }
155 if (dbIcaoOnly) { options |= CModelSetBuilder::OnlyDbIcaoCodes; }
156 if (incremnental) { options |= CModelSetBuilder::Incremental; }
157 if (sortByDistributor) { options |= CModelSetBuilder::SortByDistributors; }
158 if (consolidateWithDb) { options |= CModelSetBuilder::ConsolidateWithDb; }
159 return builder.buildModelSet(simulator, models, currentSet, options, distributors);
Create model set (normally from own models)
static bool triggerShowHelp(const QWidget *widget, QEvent *event)
Static version used with dialogs.
Allows subcomponents to gain access to model component.
bool showMappingComponentOverlayHtmlMessage(const swift::misc::CStatusMessage &message, std::chrono::milliseconds timeout=std::chrono::milliseconds(0))
Overlay messages.
CDbMappingComponent * getMappingComponent() const
Get the mapping component.
void setOwnModelSetSimulator(const swift::misc::simulation::CSimulatorInfo &simulator)
Set simulator for own models.
int getOwnModelsCount() const
Number of own models.
swift::misc::simulation::CSimulatorInfo getOwnModelsSimulator() const
Own models for simulator.
swift::misc::simulation::CAircraftModelList getOwnModelSet() const
Own model set.
swift::misc::simulation::CAircraftModelList getOwnModels() const
Own cached models.
void setOwnModelsSimulator(const swift::misc::simulation::CSimulatorInfo &simulator)
Set simulator for own models.
static const QString & guiComponent()
GUI components.
Derived & error(const char16_t(&format)[N])
Set the severity to error, providing a format string.
bool isEmpty() const
Synonym for empty.
Streamable status message, e.g.
QString toQString(bool i18n=false) const
Cast as QString.
Value object encapsulating a list of aircraft models.
Value object encapsulating a list of distributors.
Simple hardcoded info about the corresponding simulator.
bool isSingleSimulator() const
Single simulator selected.
Backend services of the swift project, like dealing with the network or the simulators.
High level reusable GUI components.
Free functions in swift::misc.