diff --git a/src/blackgui/components/dbmappingcomponent.cpp b/src/blackgui/components/dbmappingcomponent.cpp index 61404d92b..030d0b391 100644 --- a/src/blackgui/components/dbmappingcomponent.cpp +++ b/src/blackgui/components/dbmappingcomponent.cpp @@ -167,7 +167,7 @@ namespace BlackGui void CDbMappingComponent::setProvider(BlackMisc::Network::IWebDataServicesProvider *provider) { CWebDataServicesAware::setProvider(provider); - this->m_autostashDialog->setProvider(provider); + this->m_autoStashDialog->setProvider(provider); this->ui->editor_Livery->setProvider(provider); this->ui->editor_Distributor->setProvider(provider); this->ui->editor_AircraftIcao->setProvider(provider); @@ -325,7 +325,7 @@ namespace BlackGui void CDbMappingComponent::ps_displayAutoStashingDialog() { - this->m_autostashDialog->exec(); + this->m_autoStashDialog->exec(); } void CDbMappingComponent::ps_removeDbModelsFromView() @@ -392,6 +392,20 @@ namespace BlackGui } } + void CDbMappingComponent::ps_modifyModelDialog() + { + // only one model selected, use as default + if (this->ui->comp_StashAircraft->getView()->hasSingleSelectedRow()) + { + this->m_modelModifyDialog->setValue(this->ui->comp_StashAircraft->getView()->selectedObject()); + } + + QDialog::DialogCode s = static_cast(this->m_modelModifyDialog->exec()); + if (s == QDialog::Rejected) { return; } + CPropertyIndexVariantMap vm = this->m_modelModifyDialog->getValues(); + this->ui->comp_StashAircraft->applyToSelected(vm); + } + void CDbMappingComponent::resizeForSelect() { int h = this->height(); @@ -742,9 +756,9 @@ namespace BlackGui const QString msgAutoStash("Auto stashing"); menu.addAction(CIcons::appDbStash16(), msgAutoStash, mapComp, SLOT(ps_displayAutoStashingDialog())); - if (mapComp->m_autostashDialog && mapComp->m_autostashDialog->isCompleted()) + if (mapComp->m_autoStashDialog && mapComp->m_autoStashDialog->isCompleted()) { - menu.addAction(CIcons::appDbStash16(), "Last auto stash run", mapComp->m_autostashDialog.data(), SLOT(showLastResults())); + menu.addAction(CIcons::appDbStash16(), "Last auto stash run", mapComp->m_autoStashDialog.data(), SLOT(showLastResults())); } // auto filter in DB views @@ -783,6 +797,8 @@ namespace BlackGui // a = subMenu->addAction(CIcons::appAirlineIcao16(), "Current airline ICAO", mapComp, SLOT(ps_applyDbData())); // a->setData(CAirlineIcaoCode().getClassName()); + + menu.addAction(CIcons::databaseTable16(), "Modify model data", mapComp, SLOT(ps_modifyModelDialog())); } this->nestedCustomMenu(menu); } diff --git a/src/blackgui/components/dbmappingcomponent.h b/src/blackgui/components/dbmappingcomponent.h index f95504e9d..bc3922189 100644 --- a/src/blackgui/components/dbmappingcomponent.h +++ b/src/blackgui/components/dbmappingcomponent.h @@ -20,6 +20,7 @@ #include "blackgui/enableforviewbasedindicator.h" #include "blackgui/components/enablefordockwidgetinfoarea.h" #include "blackgui/components/dbautostashingcomponent.h" +#include "blackgui/components/dbmodelmappingmodifycomponent.h" #include "blackgui/views/aircraftmodelview.h" #include "blackmisc/simulation/aircraftmodelloader.h" #include "blackmisc/simulation/fscommon/vpilotrulesreader.h" @@ -202,9 +203,13 @@ namespace BlackGui //! Apply current DB data from form void ps_applyDbData(); + //! Open model modify dialog + void ps_modifyModelDialog(); + private: QScopedPointer ui; - QScopedArrayPointer m_autostashDialog { new CDbAutoStashingComponent(this) }; + QScopedPointer m_autoStashDialog { new CDbAutoStashingComponent(this) }; + QScopedPointer m_modelModifyDialog { new CDbModelMappingModifyComponent(this) }; BlackMisc::Simulation::FsCommon::CVPilotRulesReader m_vPilotReader; //!< read vPilot rules BlackMisc::CData m_cachedVPilotModels { this, &CDbMappingComponent::ps_onVPilotCacheChanged }; //!< cache for latest vPilot rules std::unique_ptr m_modelLoader; //!< read own aircraft models diff --git a/src/blackgui/components/dbmappingcomponentaware.h b/src/blackgui/components/dbmappingcomponentaware.h index 2094522c6..d94d31bb7 100644 --- a/src/blackgui/components/dbmappingcomponentaware.h +++ b/src/blackgui/components/dbmappingcomponentaware.h @@ -13,6 +13,7 @@ #define BLACKGUI_COMPONENTS_DBMAPPINGCOMPONENTAWARE_H #include "blackgui/blackguiexport.h" +#include namespace BlackGui {