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);
//! Destructor
virtual ~CDbMappingComponent();
virtual ~CDbMappingComponent() override;
//! Graceful shutdown
void gracefulShutdown();
@@ -322,7 +322,7 @@ namespace BlackGui
QScopedPointer<Ui::CDbMappingComponent> ui;
QScopedPointer<CDbAutoStashingComponent> m_autoStashDialog; //!< dialog auto stashing
QScopedPointer<CDbAutoSimulatorStashingComponent> m_autoSimulatorDialog; //!< dialog auto simulator update
QScopedPointer<CDbModelMappingModifyDialog> m_modelModifyDialog; //!< dialog when modifying models
QScopedPointer<CDbModelMappingModifyDialog> m_modelModifyDialog; //!< dialog when modifying models
BlackMisc::Simulation::FsCommon::CVPilotRulesReader m_vPilotReader; //!< read vPilot rules
BlackMisc::CDigestSignal m_dsStashedModelsChanged { this, &CDbMappingComponent::onStashedModelsChangedDigest, 750, 25 };
BlackMisc::CDataReadOnly<BlackCore::Data::TAuthenticatedDbUser> m_swiftDbUser { this, &CDbMappingComponent::onUserChanged };

View File

@@ -51,7 +51,9 @@ namespace BlackGui
ui->tvp_OwnAircraftModels->addFilterDialog();
ui->tvp_OwnAircraftModels->setDisplayAutomatically(true);
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);
Q_ASSERT_X(c, Q_FUNC_INFO, "Connect failed");
@@ -155,7 +157,7 @@ namespace BlackGui
this->requestSimulatorModelsWithCacheInBackground(simulator);
ui->comp_SimulatorSelector->setValue(simulator);
this->setUiSimulatorString(simulator);
ui->tvp_OwnAircraftModels->setCorrespondingSimulator(simulator);
ui->tvp_OwnAircraftModels->setCorrespondingSimulator(simulator, m_simulatorSettings.getSimulatorDirectoryOrDefault(simulator));
return true;
}

View File

@@ -14,12 +14,13 @@
#include "blackgui/components/simulatorselector.h"
#include "blackgui/menus/menudelegate.h"
#include "blackgui/overlaymessagesframe.h"
#include "blackmisc/datacache.h"
#include "blackmisc/simulation/aircraftmodellist.h"
#include "blackmisc/simulation/aircraftmodelloader.h"
#include "blackmisc/simulation/aircraftmodelinterfaces.h"
#include "blackmisc/simulation/data/modelcaches.h"
#include "blackmisc/simulation/settings/modelsettings.h"
#include "blackmisc/simulation/simulatorinfo.h"
#include "blackmisc/datacache.h"
#include "blackmisc/directories.h"
#include "blackmisc/statusmessage.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::CSimulatorInfo m_simulator; //!< currently init to simulator
BlackMisc::CSetting<BlackMisc::Settings::TDirectorySettings> m_directorySettings { this }; //!< the swift directories
BlackMisc::Simulation::Settings::CMultiSimulatorSettings m_simulatorSettings { this }; //!< for directories
//! Request own models
void requestOwnModelsUpdate();

View File

@@ -70,7 +70,9 @@ namespace BlackGui
ui->tvp_OwnModelSet->menuAddItems(CAircraftModelView::MenuLoadAndSave | CAircraftModelView::MenuRefresh | CAircraftModelView::MenuOrderable);
ui->tvp_OwnModelSet->setSorting(CAircraftModel::IndexOrderString);
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->setRememberSelectionAndSetToLastSelection();
const CSimulatorInfo simulator = ui->comp_SimulatorSelector->getValue();
@@ -428,7 +430,7 @@ namespace BlackGui
m_simulator = 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));
this->synchronizeCache(simulator);
this->updateViewToCurrentModels();

View File

@@ -16,6 +16,7 @@
#include "blackgui/menus/menudelegate.h"
#include "blackmisc/simulation/data/modelcaches.h"
#include "blackmisc/simulation/settings/modelsettings.h"
#include "blackmisc/simulation/settings/simulatorsettings.h"
#include "blackmisc/simulation/aircraftmodelinterfaces.h"
#include "blackmisc/simulation/aircraftmodellist.h"
#include "blackmisc/simulation/simulatorinfo.h"
@@ -185,6 +186,7 @@ namespace BlackGui
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::TModel> m_modelSettings { this }; //!< settings for models
BlackMisc::Simulation::Settings::CMultiSimulatorSettings m_simulatorSettings { this }; //!< for directories
// -------------------------- custom menus -----------------------------------