refs #618, support for incremental build in model set builder

This commit is contained in:
Klaus Basan
2016-03-23 03:12:45 +01:00
parent b871e7b1e3
commit b78d823485
7 changed files with 103 additions and 46 deletions

View File

@@ -64,17 +64,18 @@ namespace BlackGui
}
else if (sender == ui->pb_Ok)
{
this->m_modelSet = this->buildSet();
this->m_modelSet = this->buildSet(this->m_simulatorInfo, this->m_modelSet);
this->accept();
}
}
CAircraftModelList CDbOwnModelSetDialog::buildSet()
CAircraftModelList CDbOwnModelSetDialog::buildSet(const CSimulatorInfo &simulator, const CAircraftModelList &currentSet)
{
Q_ASSERT_X(this->getMappingComponent(), Q_FUNC_INFO, "missing mapping component");
const bool selectedProviders = this->ui->form_OwnModelSet->selectedDistributors();
const bool dbDataOnly = this->ui->form_OwnModelSet->dbDataOnly();
const bool dbIcaoOnly = this->ui->form_OwnModelSet->dbIcaoCodesOnly();
const bool incremnental = this->ui->form_OwnModelSet->incrementalBuild();
const CAircraftModelList models = this->getMappingComponent()->getOwnModels();
this->m_simulatorInfo = this->getMappingComponent()->getOwnModelsSimulator();
@@ -85,7 +86,8 @@ namespace BlackGui
CModelSetBuilder::Builder options = selectedProviders ? CModelSetBuilder::FilterDistributos : CModelSetBuilder::NoOptions;
if (dbDataOnly) { options |= CModelSetBuilder::OnlyDbData; }
if (dbIcaoOnly) { options |= CModelSetBuilder::OnlyDbIcaoCodes; }
return builder.buildModelSet(models, options, distributors);
if (incremnental) { options |= CModelSetBuilder::Incremental; }
return builder.buildModelSet(simulator, models, currentSet, options, distributors);
}
} // ns
} // ns