refs #526, changed to publishing multiple (instead of 1) models

This commit is contained in:
Klaus Basan
2016-01-02 21:01:48 +01:00
parent 3168ef266a
commit e7f8061511
6 changed files with 135 additions and 57 deletions

View File

@@ -44,7 +44,6 @@ namespace BlackGui
this->ui->tvp_OwnAircraftModels->addFilterDialog();
// connects
connect(ui->editor_Model, &CModelMappingForm::requestPublish, this, &CDbMappingComponent::ps_publishSingleModelToDb);
connect(ui->editor_Model, &CModelMappingForm::requestStash, this, &CDbMappingComponent::ps_stashCurrentModel);
connect(ui->tvp_OwnAircraftModels, &CAircraftModelView::doubleClicked, this, &CDbMappingComponent::ps_onModelRowSelected);
@@ -244,7 +243,7 @@ namespace BlackGui
return currentTabIndex() == TabStash;
}
CStatusMessageList CDbMappingComponent::validate(bool withNestedForms) const
CStatusMessageList CDbMappingComponent::validateCurrentModel(bool withNestedForms) const
{
CStatusMessageList msgs(this->ui->editor_Model->validate(!withNestedForms));
if (withNestedForms)
@@ -256,24 +255,6 @@ namespace BlackGui
return msgs;
}
void CDbMappingComponent::ps_publishSingleModelToDb()
{
CStatusMessageList msgs(validate(true));
if (msgs.hasErrorMessages())
{
CLogMessage::preformatted(msgs);
this->showMessages(msgs);
return;
}
const CAircraftModel model(getAircraftModel());
msgs = this->asyncWriteModel(model);
if (!msgs.isEmpty())
{
CLogMessage(this).preformatted(msgs);
}
}
void CDbMappingComponent::ps_handleStashDropRequest(const CAirlineIcaoCode &code) const
{
CLivery stdLivery(this->getStdLiveryForAirlineCode(code));
@@ -284,13 +265,13 @@ namespace BlackGui
void CDbMappingComponent::ps_stashCurrentModel()
{
const CAircraftModel model(getAircraftModel());
if (!model.hasModelString())
CStatusMessageList msgs(this->validateCurrentModel(true));
if (msgs.hasErrorMessages())
{
CStatusMessage msg = CStatusMessage(CStatusMessage::SeverityError, "no model string, ignored");
this->showMessage(msg);
this->showMessages(msgs);
return;
}
this->ui->comp_StashAircraft->stashModel(model);
this->ui->comp_StashAircraft->stashModel(model, true);
}
void CDbMappingComponent::resizeForSelect()