mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 00:25:35 +08:00
Ref T430, simulator settings for FG
This commit is contained in:
@@ -141,10 +141,12 @@ namespace BlackMisc
|
|||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
switch (simulator.getSimulator())
|
switch (simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG: return m_simSettingsFG.get();
|
||||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.get();
|
case CSimulatorInfo::FS9: return m_simSettingsFs9.get();
|
||||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.get();
|
case CSimulatorInfo::FSX: return m_simSettingsFsx.get();
|
||||||
case CSimulatorInfo::P3D: return m_simSettingsP3D.get();
|
case CSimulatorInfo::P3D: return m_simSettingsP3D.get();
|
||||||
case CSimulatorInfo::XPLANE: return m_simSettingsXP.get();
|
case CSimulatorInfo::XPLANE: return m_simSettingsXP.get();
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
break;
|
break;
|
||||||
@@ -162,6 +164,7 @@ namespace BlackMisc
|
|||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
switch (simulator.getSimulator())
|
switch (simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG: return m_simSettingsFG.set(settings);
|
||||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.set(settings);
|
case CSimulatorInfo::FS9: return m_simSettingsFs9.set(settings);
|
||||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.set(settings);
|
case CSimulatorInfo::FSX: return m_simSettingsFsx.set(settings);
|
||||||
case CSimulatorInfo::P3D: return m_simSettingsP3D.set(settings);
|
case CSimulatorInfo::P3D: return m_simSettingsP3D.set(settings);
|
||||||
@@ -195,6 +198,7 @@ namespace BlackMisc
|
|||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
switch (simulator.getSimulator())
|
switch (simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG: return m_simSettingsFG.setAndSave(settings);
|
||||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.setAndSave(settings);
|
case CSimulatorInfo::FS9: return m_simSettingsFs9.setAndSave(settings);
|
||||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.setAndSave(settings);
|
case CSimulatorInfo::FSX: return m_simSettingsFsx.setAndSave(settings);
|
||||||
case CSimulatorInfo::P3D: return m_simSettingsP3D.setAndSave(settings);
|
case CSimulatorInfo::P3D: return m_simSettingsP3D.setAndSave(settings);
|
||||||
@@ -216,6 +220,7 @@ namespace BlackMisc
|
|||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
switch (simulator.getSimulator())
|
switch (simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG: return m_simSettingsFG.save();
|
||||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.save();
|
case CSimulatorInfo::FS9: return m_simSettingsFs9.save();
|
||||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.save();
|
case CSimulatorInfo::FSX: return m_simSettingsFsx.save();
|
||||||
case CSimulatorInfo::P3D: return m_simSettingsP3D.save();
|
case CSimulatorInfo::P3D: return m_simSettingsP3D.save();
|
||||||
@@ -281,16 +286,6 @@ namespace BlackMisc
|
|||||||
return CSpecializedSimulatorSettings::defaultModelDirectories(simulator);
|
return CSpecializedSimulatorSettings::defaultModelDirectories(simulator);
|
||||||
}
|
}
|
||||||
|
|
||||||
const QStringList &CMultiSimulatorSettings::defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator)
|
|
||||||
{
|
|
||||||
return CSpecializedSimulatorSettings::defaultModelExcludeDirectoryPatterns(simulator);
|
|
||||||
}
|
|
||||||
|
|
||||||
const QString &CMultiSimulatorSettings::defaultSimulatorDirectory(const CSimulatorInfo &simulator)
|
|
||||||
{
|
|
||||||
return CSpecializedSimulatorSettings::defaultSimulatorDirectory(simulator);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CMultiSimulatorSettings::onFsxSettingsChanged()
|
void CMultiSimulatorSettings::onFsxSettingsChanged()
|
||||||
{
|
{
|
||||||
this->emitSettingsChanged(CSimulatorInfo::fsx());
|
this->emitSettingsChanged(CSimulatorInfo::fsx());
|
||||||
@@ -311,6 +306,11 @@ namespace BlackMisc
|
|||||||
this->emitSettingsChanged(CSimulatorInfo::xplane());
|
this->emitSettingsChanged(CSimulatorInfo::xplane());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMultiSimulatorSettings::onFGSettingsChanged()
|
||||||
|
{
|
||||||
|
this->emitSettingsChanged(CSimulatorInfo::fg());
|
||||||
|
}
|
||||||
|
|
||||||
void CMultiSimulatorSettings::emitSettingsChanged(const CSimulatorInfo &simInfo)
|
void CMultiSimulatorSettings::emitSettingsChanged(const CSimulatorInfo &simInfo)
|
||||||
{
|
{
|
||||||
emit this->settingsChanged(simInfo);
|
emit this->settingsChanged(simInfo);
|
||||||
@@ -498,6 +498,7 @@ namespace BlackMisc
|
|||||||
QStringList dirs;
|
QStringList dirs;
|
||||||
switch (m_simulator.getSimulator())
|
switch (m_simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG: break;
|
||||||
case CSimulatorInfo::FS9: dirs = QStringList({CFsCommonUtil::fs9AircraftDirFromSimDir(s)}); break;
|
case CSimulatorInfo::FS9: dirs = QStringList({CFsCommonUtil::fs9AircraftDirFromSimDir(s)}); break;
|
||||||
case CSimulatorInfo::FSX: dirs = QStringList({CFsCommonUtil::fsxSimObjectsDirFromSimDir(s)}); break;
|
case CSimulatorInfo::FSX: dirs = QStringList({CFsCommonUtil::fsxSimObjectsDirFromSimDir(s)}); break;
|
||||||
case CSimulatorInfo::P3D: dirs = QStringList({CFsCommonUtil::p3dSimObjectsDirFromSimDir(s)}); break;
|
case CSimulatorInfo::P3D: dirs = QStringList({CFsCommonUtil::p3dSimObjectsDirFromSimDir(s)}); break;
|
||||||
@@ -568,6 +569,10 @@ namespace BlackMisc
|
|||||||
static const QStringList e;
|
static const QStringList e;
|
||||||
switch (simulator.getSimulator())
|
switch (simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG:
|
||||||
|
{
|
||||||
|
return e;
|
||||||
|
}
|
||||||
case CSimulatorInfo::FS9:
|
case CSimulatorInfo::FS9:
|
||||||
{
|
{
|
||||||
if (CFsCommonUtil::fs9AircraftDir().isEmpty()) { return e; }
|
if (CFsCommonUtil::fs9AircraftDir().isEmpty()) { return e; }
|
||||||
@@ -600,8 +605,10 @@ namespace BlackMisc
|
|||||||
const QString &CSpecializedSimulatorSettings::defaultSimulatorDirectory(const CSimulatorInfo &simulator)
|
const QString &CSpecializedSimulatorSettings::defaultSimulatorDirectory(const CSimulatorInfo &simulator)
|
||||||
{
|
{
|
||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
|
static const QString empty;
|
||||||
switch (simulator.getSimulator())
|
switch (simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG: return empty;
|
||||||
case CSimulatorInfo::FS9: return CFsCommonUtil::fs9Dir();
|
case CSimulatorInfo::FS9: return CFsCommonUtil::fs9Dir();
|
||||||
case CSimulatorInfo::FSX: return CFsCommonUtil::fsxDir();
|
case CSimulatorInfo::FSX: return CFsCommonUtil::fsxDir();
|
||||||
case CSimulatorInfo::P3D: return CFsCommonUtil::p3dDir();
|
case CSimulatorInfo::P3D: return CFsCommonUtil::p3dDir();
|
||||||
@@ -610,15 +617,16 @@ namespace BlackMisc
|
|||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
static const QString empty;
|
|
||||||
return empty;
|
return empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QStringList &CSpecializedSimulatorSettings::defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator)
|
const QStringList &CSpecializedSimulatorSettings::defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator)
|
||||||
{
|
{
|
||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
|
static const QStringList empty;
|
||||||
switch (simulator.getSimulator())
|
switch (simulator.getSimulator())
|
||||||
{
|
{
|
||||||
|
case CSimulatorInfo::FG: return empty;
|
||||||
case CSimulatorInfo::FS9: return CFsCommonUtil::fs9AircraftObjectsExcludeDirectoryPatterns();
|
case CSimulatorInfo::FS9: return CFsCommonUtil::fs9AircraftObjectsExcludeDirectoryPatterns();
|
||||||
case CSimulatorInfo::FSX: return CFsCommonUtil::fsxSimObjectsExcludeDirectoryPatterns();
|
case CSimulatorInfo::FSX: return CFsCommonUtil::fsxSimObjectsExcludeDirectoryPatterns();
|
||||||
case CSimulatorInfo::P3D: return CFsCommonUtil::p3dSimObjectsExcludeDirectoryPatterns();
|
case CSimulatorInfo::P3D: return CFsCommonUtil::p3dSimObjectsExcludeDirectoryPatterns();
|
||||||
@@ -627,7 +635,6 @@ namespace BlackMisc
|
|||||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
static const QStringList empty;
|
|
||||||
return empty;
|
return empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -261,6 +261,16 @@ namespace BlackMisc
|
|||||||
static const QString &humanReadable() { static const QString name("XPlane settings"); return name; }
|
static const QString &humanReadable() { static const QString name("XPlane settings"); return name; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//! Trait for simulator settings
|
||||||
|
struct TSimulatorFG : public TSettingTrait<CSimulatorSettings>
|
||||||
|
{
|
||||||
|
//! \copydoc BlackCore::TSettingTrait::key
|
||||||
|
static const char *key() { return "settingssimulatorfg"; }
|
||||||
|
|
||||||
|
//! \copydoc BlackCore::TSettingTrait::humanReadable
|
||||||
|
static const QString &humanReadable() { static const QString name("FG settings"); return name; }
|
||||||
|
};
|
||||||
|
|
||||||
//! Bundle of settings for all simulators
|
//! Bundle of settings for all simulators
|
||||||
class BLACKMISC_EXPORT CMultiSimulatorSettings : public QObject
|
class BLACKMISC_EXPORT CMultiSimulatorSettings : public QObject
|
||||||
{
|
{
|
||||||
@@ -323,11 +333,11 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Default model exclude patterns per simulator
|
//! Default model exclude patterns per simulator
|
||||||
//! \deprecated use CSpecializedSimulatorSettings::defaultModelExcludeDirectoryPatterns
|
//! \deprecated use CSpecializedSimulatorSettings::defaultModelExcludeDirectoryPatterns
|
||||||
static const QStringList &defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator);
|
// static const QStringList &defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator);
|
||||||
|
|
||||||
//! Default simulator path per simulator
|
//! Default simulator path per simulator
|
||||||
//! \deprecated use CSpecializedSimulatorSettings::defaultSimulatorDirectory
|
//! \deprecated use CSpecializedSimulatorSettings::defaultSimulatorDirectory
|
||||||
static const QString &defaultSimulatorDirectory(const CSimulatorInfo &simulator);
|
// static const QString &defaultSimulatorDirectory(const CSimulatorInfo &simulator);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! Simulator settings have been changed
|
//! Simulator settings have been changed
|
||||||
@@ -338,12 +348,14 @@ namespace BlackMisc
|
|||||||
CSetting<Settings::TSimulatorFs9> m_simSettingsFs9 { this, &CMultiSimulatorSettings::onFs9SettingsChanged }; //!< FS9 settings
|
CSetting<Settings::TSimulatorFs9> m_simSettingsFs9 { this, &CMultiSimulatorSettings::onFs9SettingsChanged }; //!< FS9 settings
|
||||||
CSetting<Settings::TSimulatorP3D> m_simSettingsP3D { this, &CMultiSimulatorSettings::onP3DSettingsChanged }; //!< P3D settings
|
CSetting<Settings::TSimulatorP3D> m_simSettingsP3D { this, &CMultiSimulatorSettings::onP3DSettingsChanged }; //!< P3D settings
|
||||||
CSetting<Settings::TSimulatorXP> m_simSettingsXP { this, &CMultiSimulatorSettings::onXPSettingsChanged }; //!< XP settings
|
CSetting<Settings::TSimulatorXP> m_simSettingsXP { this, &CMultiSimulatorSettings::onXPSettingsChanged }; //!< XP settings
|
||||||
|
CSetting<Settings::TSimulatorFG> m_simSettingsFG { this, &CMultiSimulatorSettings::onFGSettingsChanged }; //!< FG settings
|
||||||
|
|
||||||
//! Settings changed, this will only detect if settings are changed elsewhere @{
|
//! Settings changed, this will only detect if settings are changed elsewhere @{
|
||||||
void onFsxSettingsChanged();
|
void onFsxSettingsChanged();
|
||||||
void onFs9SettingsChanged();
|
void onFs9SettingsChanged();
|
||||||
void onP3DSettingsChanged();
|
void onP3DSettingsChanged();
|
||||||
void onXPSettingsChanged();
|
void onXPSettingsChanged();
|
||||||
|
void onFGSettingsChanged();
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
//! Emit the signal, allows breakpoint
|
//! Emit the signal, allows breakpoint
|
||||||
|
|||||||
Reference in New Issue
Block a user