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;