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)
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);
67 void CDbOwnModelSetFormDialog::buttonClicked()
71 else if (sender == ui->pb_Ok)
73 m_modelSet = this->buildSet(m_simulatorInfo, m_modelSet);
78 void CDbOwnModelSetFormDialog::simulatorChanged(
const CSimulatorInfo &simulator)
81 this->setSimulator(simulator);
92 bool CDbOwnModelSetFormDialog::checkData()
95 Q_ASSERT_X(m_simulatorInfo.
isSingleSimulator(), Q_FUNC_INFO,
"Need single simulator");
101 ui->form_OwnModelSet->showOverlayMessage(m);
107 void CDbOwnModelSetFormDialog::setSimulator(
const CSimulatorInfo &simulator)
114 m_simulatorInfo.
isSingleSimulator() ? m_simulatorInfo : CSimulatorInfo::guessDefaultSimulator();
116 QStringLiteral(
"Set invalid simulator, continue to use '%1'").
arg(resetSim.
toQString(
true));
118 m_simulatorInfo = resetSim;
120 ui->form_OwnModelSet->setSimulator(m_simulatorInfo);
128 const bool givenDistributorsOnly = !ui->form_OwnModelSet->optionUseAllDistributors();
129 const bool dbDataOnly = ui->form_OwnModelSet->optionDbDataOnly();
130 const bool dbIcaoOnly = ui->form_OwnModelSet->optionDbIcaoCodesOnly();
131 const bool incremnental = ui->form_OwnModelSet->optionIncrementalBuild();
132 const bool sortByDistributor = ui->form_OwnModelSet->optionSortByDistributorPreferences();
133 const bool consolidateWithDb = ui->form_OwnModelSet->optionConsolidateModelSetWithDbData();
137 const CDistributorList distributors = ui->form_OwnModelSet->getDistributorsBasedOnOptions();
139 if (givenDistributorsOnly && distributors.
isEmpty())
146 CModelSetBuilder::Builder options =
147 givenDistributorsOnly ? CModelSetBuilder::GivenDistributorsOnly : CModelSetBuilder::NoOptions;
148 if (dbDataOnly) { options |= CModelSetBuilder::OnlyDbData; }
149 if (dbIcaoOnly) { options |= CModelSetBuilder::OnlyDbIcaoCodes; }
150 if (incremnental) { options |= CModelSetBuilder::Incremental; }
151 if (sortByDistributor) { options |= CModelSetBuilder::SortByDistributors; }
152 if (consolidateWithDb) { options |= CModelSetBuilder::ConsolidateWithDb; }
153 return builder.buildModelSet(simulator, models, currentSet, options, distributors);
Create model set (normally from own models)
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.
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QObject * sender() const const
QString arg(Args &&... args) const const