diff --git a/src/plugins/simulator/fsxcommon/fsxsettingscomponent.cpp b/src/plugins/simulator/fsxcommon/fsxsettingscomponent.cpp index 6618214a4..49f9bdb25 100644 --- a/src/plugins/simulator/fsxcommon/fsxsettingscomponent.cpp +++ b/src/plugins/simulator/fsxcommon/fsxsettingscomponent.cpp @@ -25,7 +25,10 @@ namespace BlackSimPlugin { ui->setupUi(this); ui->cb_TraceSimConnectCalls->setChecked(false); + connect(ui->cb_TraceSimConnectCalls, &QCheckBox::released, this, &CFsxSettingsComponent::onSimConnectTraceChanged); + connect(ui->cb_EnableTerrainProbe, &QCheckBox::released, this, &CFsxSettingsComponent::onEnableTerrainProbeChanged); + const CSimulatorFsxCommon *fsx = this->getFsxSimulator(); if (fsx) { @@ -43,9 +46,16 @@ namespace BlackSimPlugin fsx->setTractingSendId(ui->cb_TraceSimConnectCalls->isChecked()); } + void CFsxSettingsComponent::onEnableTerrainProbeChanged() + { + CSimulatorFsxCommon *fsx = this->getFsxSimulator(); + if (!fsx) { return; } + fsx->setUsingFsxTerrainProbe(ui->cb_EnableTerrainProbe->isChecked()); + } + CSimulatorFsxCommon *CFsxSettingsComponent::getFsxSimulator() const { - if (!sGui || !sGui->getISimulator()) { return nullptr; } + if (!sGui || !sGui->getISimulator() || sGui->isShuttingDown()) { return nullptr; } ISimulator *sim = sGui->getISimulator(); if (!sim->getSimulatorInfo().isFsxP3DFamily()) { return nullptr; } if (sim->getSimulatorInfo() != m_simulator) { return nullptr; } diff --git a/src/plugins/simulator/fsxcommon/fsxsettingscomponent.h b/src/plugins/simulator/fsxcommon/fsxsettingscomponent.h index 94b85d405..d014348f5 100644 --- a/src/plugins/simulator/fsxcommon/fsxsettingscomponent.h +++ b/src/plugins/simulator/fsxcommon/fsxsettingscomponent.h @@ -39,9 +39,12 @@ namespace BlackSimPlugin void setSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) { m_simulator = simulator; } private: - //! Checkbox change + //! Trace checkbox changed void onSimConnectTraceChanged(); + //! Terrain probe checkbox changed + void onEnableTerrainProbeChanged(); + //! Access the concrete implementation CSimulatorFsxCommon *getFsxSimulator () const; diff --git a/src/plugins/simulator/fsxcommon/fsxsettingscomponent.ui b/src/plugins/simulator/fsxcommon/fsxsettingscomponent.ui index efa0f6190..5b4cf8864 100644 --- a/src/plugins/simulator/fsxcommon/fsxsettingscomponent.ui +++ b/src/plugins/simulator/fsxcommon/fsxsettingscomponent.ui @@ -6,22 +6,22 @@ 0 0 - 326 - 47 + 180 + 64 FSX settings - - + + - + Trace simConnect calls (this will trace sendId calls and provide further information) @@ -31,6 +31,20 @@ + + + + + + + + + + + Use the terrain probe + + + diff --git a/src/plugins/simulator/fsxconfig/simulatorfsxconfig.h b/src/plugins/simulator/fsxconfig/simulatorfsxconfig.h index 4e4e061b8..a8c997f7a 100644 --- a/src/plugins/simulator/fsxconfig/simulatorfsxconfig.h +++ b/src/plugins/simulator/fsxconfig/simulatorfsxconfig.h @@ -33,7 +33,7 @@ namespace BlackSimPlugin CSimulatorFsxConfig(QObject *parent = nullptr); //! Dtor - virtual ~CSimulatorFsxConfig() {} + virtual ~CSimulatorFsxConfig() override {} //! \copydoc BlackGui::IPluginConfig::createConfigWindow() BlackGui::CPluginConfigWindow *createConfigWindow(QWidget *parent) override;