Ref T660, add simulator settings in own models/model set component so simulator director can be used for validation

This commit is contained in:
Klaus Basan
2019-07-09 17:18:08 +02:00
committed by Mat Sutcliffe
parent 5bd3507ed9
commit 3c200034dc
5 changed files with 15 additions and 7 deletions

View File

@@ -86,7 +86,7 @@ namespace BlackGui
explicit CDbMappingComponent(QWidget *parent = nullptr); explicit CDbMappingComponent(QWidget *parent = nullptr);
//! Destructor //! Destructor
virtual ~CDbMappingComponent(); virtual ~CDbMappingComponent() override;
//! Graceful shutdown //! Graceful shutdown
void gracefulShutdown(); void gracefulShutdown();

View File

@@ -51,7 +51,9 @@ namespace BlackGui
ui->tvp_OwnAircraftModels->addFilterDialog(); ui->tvp_OwnAircraftModels->addFilterDialog();
ui->tvp_OwnAircraftModels->setDisplayAutomatically(true); ui->tvp_OwnAircraftModels->setDisplayAutomatically(true);
ui->tvp_OwnAircraftModels->setCustomMenu(new CLoadModelsMenu(this)); ui->tvp_OwnAircraftModels->setCustomMenu(new CLoadModelsMenu(this));
ui->tvp_OwnAircraftModels->setCorrespondingSimulator(ui->comp_SimulatorSelector->getValue());
const CSimulatorInfo sim = ui->comp_SimulatorSelector->getValue();
ui->tvp_OwnAircraftModels->setCorrespondingSimulator(sim, m_simulatorSettings.getSimulatorDirectoryOrDefault(sim));
bool c = connect(ui->tvp_OwnAircraftModels, &CAircraftModelView::requestUpdate, this, &CDbOwnModelsComponent::requestOwnModelsUpdate); bool c = connect(ui->tvp_OwnAircraftModels, &CAircraftModelView::requestUpdate, this, &CDbOwnModelsComponent::requestOwnModelsUpdate);
Q_ASSERT_X(c, Q_FUNC_INFO, "Connect failed"); Q_ASSERT_X(c, Q_FUNC_INFO, "Connect failed");
@@ -155,7 +157,7 @@ namespace BlackGui
this->requestSimulatorModelsWithCacheInBackground(simulator); this->requestSimulatorModelsWithCacheInBackground(simulator);
ui->comp_SimulatorSelector->setValue(simulator); ui->comp_SimulatorSelector->setValue(simulator);
this->setUiSimulatorString(simulator); this->setUiSimulatorString(simulator);
ui->tvp_OwnAircraftModels->setCorrespondingSimulator(simulator); ui->tvp_OwnAircraftModels->setCorrespondingSimulator(simulator, m_simulatorSettings.getSimulatorDirectoryOrDefault(simulator));
return true; return true;
} }

View File

@@ -14,12 +14,13 @@
#include "blackgui/components/simulatorselector.h" #include "blackgui/components/simulatorselector.h"
#include "blackgui/menus/menudelegate.h" #include "blackgui/menus/menudelegate.h"
#include "blackgui/overlaymessagesframe.h" #include "blackgui/overlaymessagesframe.h"
#include "blackmisc/datacache.h"
#include "blackmisc/simulation/aircraftmodellist.h" #include "blackmisc/simulation/aircraftmodellist.h"
#include "blackmisc/simulation/aircraftmodelloader.h" #include "blackmisc/simulation/aircraftmodelloader.h"
#include "blackmisc/simulation/aircraftmodelinterfaces.h" #include "blackmisc/simulation/aircraftmodelinterfaces.h"
#include "blackmisc/simulation/data/modelcaches.h" #include "blackmisc/simulation/data/modelcaches.h"
#include "blackmisc/simulation/settings/modelsettings.h"
#include "blackmisc/simulation/simulatorinfo.h" #include "blackmisc/simulation/simulatorinfo.h"
#include "blackmisc/datacache.h"
#include "blackmisc/directories.h" #include "blackmisc/directories.h"
#include "blackmisc/statusmessage.h" #include "blackmisc/statusmessage.h"
#include "blackmisc/connectionguard.h" #include "blackmisc/connectionguard.h"
@@ -132,6 +133,7 @@ namespace BlackGui
BlackMisc::Simulation::IAircraftModelLoader *m_modelLoader = nullptr; //!< read own aircraft models, aka models on disk BlackMisc::Simulation::IAircraftModelLoader *m_modelLoader = nullptr; //!< read own aircraft models, aka models on disk
BlackMisc::Simulation::CSimulatorInfo m_simulator; //!< currently init to simulator BlackMisc::Simulation::CSimulatorInfo m_simulator; //!< currently init to simulator
BlackMisc::CSetting<BlackMisc::Settings::TDirectorySettings> m_directorySettings { this }; //!< the swift directories BlackMisc::CSetting<BlackMisc::Settings::TDirectorySettings> m_directorySettings { this }; //!< the swift directories
BlackMisc::Simulation::Settings::CMultiSimulatorSettings m_simulatorSettings { this }; //!< for directories
//! Request own models //! Request own models
void requestOwnModelsUpdate(); void requestOwnModelsUpdate();

View File

@@ -70,7 +70,9 @@ namespace BlackGui
ui->tvp_OwnModelSet->menuAddItems(CAircraftModelView::MenuLoadAndSave | CAircraftModelView::MenuRefresh | CAircraftModelView::MenuOrderable); ui->tvp_OwnModelSet->menuAddItems(CAircraftModelView::MenuLoadAndSave | CAircraftModelView::MenuRefresh | CAircraftModelView::MenuOrderable);
ui->tvp_OwnModelSet->setSorting(CAircraftModel::IndexOrderString); ui->tvp_OwnModelSet->setSorting(CAircraftModel::IndexOrderString);
ui->tvp_OwnModelSet->initAsOrderable(); ui->tvp_OwnModelSet->initAsOrderable();
ui->tvp_OwnModelSet->setCorrespondingSimulator(ui->comp_SimulatorSelector->getValue());
const CSimulatorInfo sim = ui->comp_SimulatorSelector->getValue();
ui->tvp_OwnModelSet->setCorrespondingSimulator(sim, m_simulatorSettings.getSimulatorDirectoryOrDefault(sim));
ui->comp_SimulatorSelector->setMode(CSimulatorSelector::RadioButtons); ui->comp_SimulatorSelector->setMode(CSimulatorSelector::RadioButtons);
ui->comp_SimulatorSelector->setRememberSelectionAndSetToLastSelection(); ui->comp_SimulatorSelector->setRememberSelectionAndSetToLastSelection();
const CSimulatorInfo simulator = ui->comp_SimulatorSelector->getValue(); const CSimulatorInfo simulator = ui->comp_SimulatorSelector->getValue();
@@ -428,7 +430,7 @@ namespace BlackGui
m_simulator = simulator; m_simulator = simulator;
ui->comp_SimulatorSelector->setValue(simulator); ui->comp_SimulatorSelector->setValue(simulator);
ui->tvp_OwnModelSet->setCorrespondingSimulator(simulator); ui->tvp_OwnModelSet->setCorrespondingSimulator(simulator, m_simulatorSettings.getSimulatorDirectoryOrDefault(m_simulator));
ui->le_Simulator->setText(simulator.toQString(true)); ui->le_Simulator->setText(simulator.toQString(true));
this->synchronizeCache(simulator); this->synchronizeCache(simulator);
this->updateViewToCurrentModels(); this->updateViewToCurrentModels();

View File

@@ -16,6 +16,7 @@
#include "blackgui/menus/menudelegate.h" #include "blackgui/menus/menudelegate.h"
#include "blackmisc/simulation/data/modelcaches.h" #include "blackmisc/simulation/data/modelcaches.h"
#include "blackmisc/simulation/settings/modelsettings.h" #include "blackmisc/simulation/settings/modelsettings.h"
#include "blackmisc/simulation/settings/simulatorsettings.h"
#include "blackmisc/simulation/aircraftmodelinterfaces.h" #include "blackmisc/simulation/aircraftmodelinterfaces.h"
#include "blackmisc/simulation/aircraftmodellist.h" #include "blackmisc/simulation/aircraftmodellist.h"
#include "blackmisc/simulation/simulatorinfo.h" #include "blackmisc/simulation/simulatorinfo.h"
@@ -185,6 +186,7 @@ namespace BlackGui
BlackMisc::Simulation::CSimulatorInfo m_simulator; //!< currently set simulator BlackMisc::Simulation::CSimulatorInfo m_simulator; //!< currently set simulator
BlackMisc::CSettingReadOnly<BlackMisc::Simulation::Settings::TDistributorListPreferences> m_distributorPreferences { this, &CDbOwnModelSetComponent::distributorPreferencesChanged }; //!< distributor preferences BlackMisc::CSettingReadOnly<BlackMisc::Simulation::Settings::TDistributorListPreferences> m_distributorPreferences { this, &CDbOwnModelSetComponent::distributorPreferencesChanged }; //!< distributor preferences
BlackMisc::CSettingReadOnly<BlackMisc::Simulation::Settings::TModel> m_modelSettings { this }; //!< settings for models BlackMisc::CSettingReadOnly<BlackMisc::Simulation::Settings::TModel> m_modelSettings { this }; //!< settings for models
BlackMisc::Simulation::Settings::CMultiSimulatorSettings m_simulatorSettings { this }; //!< for directories
// -------------------------- custom menus ----------------------------------- // -------------------------- custom menus -----------------------------------