refs #745, do not consolidate with DB data when stashing editor model

(prevents that changed data are overridden by DB data again and hence reverted)
This commit is contained in:
Klaus Basan
2016-08-26 01:22:21 +02:00
committed by Mathew Sutcliffe
parent 04a9381858
commit 0d70e87d11
4 changed files with 8 additions and 5 deletions

View File

@@ -362,12 +362,14 @@ namespace BlackGui
void CDbMappingComponent::ps_stashCurrentModel() void CDbMappingComponent::ps_stashCurrentModel()
{ {
const CAircraftModel model(getEditorAircraftModel());
CStatusMessageList msgs(this->validateCurrentModel(true)); CStatusMessageList msgs(this->validateCurrentModel(true));
if (!msgs.hasErrorMessages()) if (!msgs.hasErrorMessages())
{ {
const CAircraftModel editorModel(getEditorAircraftModel());
// do not consolidate, because we want to keep data as they are from the editor
msgs.push_back( msgs.push_back(
ui->comp_StashAircraft->stashModel(model, true) ui->comp_StashAircraft->stashModel(editorModel, true, false)
); );
} }
if (msgs.hasErrorMessages()) if (msgs.hasErrorMessages())

View File

@@ -94,9 +94,9 @@ namespace BlackGui
return CStatusMessage(); return CStatusMessage();
} }
CStatusMessage CDbStashComponent::stashModel(const CAircraftModel &model, bool replace) CStatusMessage CDbStashComponent::stashModel(const CAircraftModel &model, bool replace, bool consolidateWithDbData)
{ {
const CAircraftModel stashModel(this->consolidateModel(model)); const CAircraftModel stashModel(consolidateWithDbData ? this->consolidateModel(model) : model);
const CStatusMessage m(validateStashModel(stashModel, replace)); const CStatusMessage m(validateStashModel(stashModel, replace));
if (!m.isWarningOrAbove()) if (!m.isWarningOrAbove())
{ {

View File

@@ -118,7 +118,7 @@ namespace BlackGui
public slots: public slots:
//! Stash given model (includes validation and consolidation with DB data) //! Stash given model (includes validation and consolidation with DB data)
BlackMisc::CStatusMessage stashModel(const BlackMisc::Simulation::CAircraftModel &model, bool replace = false); BlackMisc::CStatusMessage stashModel(const BlackMisc::Simulation::CAircraftModel &model, bool replace = false, bool consolidateWithDbData = true);
//! Stash given models (includes validation and consolidation with DB data) //! Stash given models (includes validation and consolidation with DB data)
BlackMisc::CStatusMessageList stashModels(const BlackMisc::Simulation::CAircraftModelList &models); BlackMisc::CStatusMessageList stashModels(const BlackMisc::Simulation::CAircraftModelList &models);

View File

@@ -37,6 +37,7 @@ namespace BlackGui
ui->lai_Id->set(CIcons::appMappings16(), "Id:"); ui->lai_Id->set(CIcons::appMappings16(), "Id:");
connect(ui->pb_Stash, &QPushButton::clicked, this, &CModelMappingForm::requestStash); connect(ui->pb_Stash, &QPushButton::clicked, this, &CModelMappingForm::requestStash);
// for setting mode (include/exclude)
this->ps_userChanged(); this->ps_userChanged();
} }