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);
48 Q_ASSERT_X(m_simulatorInfo.
isSingleSimulator(), Q_FUNC_INFO,
"Need single simulator");
49 ui->form_OwnModelSet->setSimulator(m_simulatorInfo);
50 ui->form_OwnModelSet->reloadData();
59 this->setSimulator(sim);
64 void CDbOwnModelSetFormDialog::buttonClicked()
68 else if (sender == ui->pb_Ok)
70 m_modelSet = this->buildSet(m_simulatorInfo, m_modelSet);
75 void CDbOwnModelSetFormDialog::simulatorChanged(
const CSimulatorInfo &simulator)
78 this->setSimulator(simulator);
89 bool CDbOwnModelSetFormDialog::checkData()
92 Q_ASSERT_X(m_simulatorInfo.
isSingleSimulator(), Q_FUNC_INFO,
"Need single simulator");
98 ui->form_OwnModelSet->showOverlayMessage(m);
104 void CDbOwnModelSetFormDialog::setSimulator(
const CSimulatorInfo &simulator)
111 m_simulatorInfo.
isSingleSimulator() ? m_simulatorInfo : CSimulatorInfo::guessDefaultSimulator();
113 QStringLiteral(
"Set invalid simulator, continue to use '%1'").
arg(resetSim.
toQString(
true));
115 m_simulatorInfo = resetSim;
117 ui->form_OwnModelSet->setSimulator(m_simulatorInfo);
125 const bool givenDistributorsOnly = !ui->form_OwnModelSet->optionUseAllDistributors();
126 const bool dbDataOnly = ui->form_OwnModelSet->optionDbDataOnly();
127 const bool dbIcaoOnly = ui->form_OwnModelSet->optionDbIcaoCodesOnly();
128 const bool incremnental = ui->form_OwnModelSet->optionIncrementalBuild();
129 const bool sortByDistributor = ui->form_OwnModelSet->optionSortByDistributorPreferences();
130 const bool consolidateWithDb = ui->form_OwnModelSet->optionConsolidateModelSetWithDbData();
134 const CDistributorList distributors = ui->form_OwnModelSet->getDistributorsBasedOnOptions();
136 if (givenDistributorsOnly && distributors.
isEmpty())
143 CModelSetBuilder::Builder options =
144 givenDistributorsOnly ? CModelSetBuilder::GivenDistributorsOnly : CModelSetBuilder::NoOptions;
145 if (dbDataOnly) { options |= CModelSetBuilder::OnlyDbData; }
146 if (dbIcaoOnly) { options |= CModelSetBuilder::OnlyDbIcaoCodes; }
147 if (incremnental) { options |= CModelSetBuilder::Incremental; }
148 if (sortByDistributor) { options |= CModelSetBuilder::SortByDistributors; }
149 if (consolidateWithDb) { options |= CModelSetBuilder::ConsolidateWithDb; }
150 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