mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-01 21:48:13 +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");
|
||||
switch (simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG: return m_simSettingsFG.get();
|
||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.get();
|
||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.get();
|
||||
case CSimulatorInfo::P3D: return m_simSettingsP3D.get();
|
||||
case CSimulatorInfo::XPLANE: return m_simSettingsXP.get();
|
||||
|
||||
default:
|
||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||
break;
|
||||
@@ -162,6 +164,7 @@ namespace BlackMisc
|
||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||
switch (simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG: return m_simSettingsFG.set(settings);
|
||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.set(settings);
|
||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.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");
|
||||
switch (simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG: return m_simSettingsFG.setAndSave(settings);
|
||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.setAndSave(settings);
|
||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.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");
|
||||
switch (simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG: return m_simSettingsFG.save();
|
||||
case CSimulatorInfo::FS9: return m_simSettingsFs9.save();
|
||||
case CSimulatorInfo::FSX: return m_simSettingsFsx.save();
|
||||
case CSimulatorInfo::P3D: return m_simSettingsP3D.save();
|
||||
@@ -281,16 +286,6 @@ namespace BlackMisc
|
||||
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()
|
||||
{
|
||||
this->emitSettingsChanged(CSimulatorInfo::fsx());
|
||||
@@ -311,6 +306,11 @@ namespace BlackMisc
|
||||
this->emitSettingsChanged(CSimulatorInfo::xplane());
|
||||
}
|
||||
|
||||
void CMultiSimulatorSettings::onFGSettingsChanged()
|
||||
{
|
||||
this->emitSettingsChanged(CSimulatorInfo::fg());
|
||||
}
|
||||
|
||||
void CMultiSimulatorSettings::emitSettingsChanged(const CSimulatorInfo &simInfo)
|
||||
{
|
||||
emit this->settingsChanged(simInfo);
|
||||
@@ -498,6 +498,7 @@ namespace BlackMisc
|
||||
QStringList dirs;
|
||||
switch (m_simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG: break;
|
||||
case CSimulatorInfo::FS9: dirs = QStringList({CFsCommonUtil::fs9AircraftDirFromSimDir(s)}); break;
|
||||
case CSimulatorInfo::FSX: dirs = QStringList({CFsCommonUtil::fsxSimObjectsDirFromSimDir(s)}); break;
|
||||
case CSimulatorInfo::P3D: dirs = QStringList({CFsCommonUtil::p3dSimObjectsDirFromSimDir(s)}); break;
|
||||
@@ -568,6 +569,10 @@ namespace BlackMisc
|
||||
static const QStringList e;
|
||||
switch (simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG:
|
||||
{
|
||||
return e;
|
||||
}
|
||||
case CSimulatorInfo::FS9:
|
||||
{
|
||||
if (CFsCommonUtil::fs9AircraftDir().isEmpty()) { return e; }
|
||||
@@ -600,8 +605,10 @@ namespace BlackMisc
|
||||
const QString &CSpecializedSimulatorSettings::defaultSimulatorDirectory(const CSimulatorInfo &simulator)
|
||||
{
|
||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||
static const QString empty;
|
||||
switch (simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG: return empty;
|
||||
case CSimulatorInfo::FS9: return CFsCommonUtil::fs9Dir();
|
||||
case CSimulatorInfo::FSX: return CFsCommonUtil::fsxDir();
|
||||
case CSimulatorInfo::P3D: return CFsCommonUtil::p3dDir();
|
||||
@@ -610,15 +617,16 @@ namespace BlackMisc
|
||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||
break;
|
||||
}
|
||||
static const QString empty;
|
||||
return empty;
|
||||
}
|
||||
|
||||
const QStringList &CSpecializedSimulatorSettings::defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator)
|
||||
{
|
||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||
static const QStringList empty;
|
||||
switch (simulator.getSimulator())
|
||||
{
|
||||
case CSimulatorInfo::FG: return empty;
|
||||
case CSimulatorInfo::FS9: return CFsCommonUtil::fs9AircraftObjectsExcludeDirectoryPatterns();
|
||||
case CSimulatorInfo::FSX: return CFsCommonUtil::fsxSimObjectsExcludeDirectoryPatterns();
|
||||
case CSimulatorInfo::P3D: return CFsCommonUtil::p3dSimObjectsExcludeDirectoryPatterns();
|
||||
@@ -627,7 +635,6 @@ namespace BlackMisc
|
||||
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
|
||||
break;
|
||||
}
|
||||
static const QStringList empty;
|
||||
return empty;
|
||||
}
|
||||
|
||||
|
||||
@@ -261,6 +261,16 @@ namespace BlackMisc
|
||||
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
|
||||
class BLACKMISC_EXPORT CMultiSimulatorSettings : public QObject
|
||||
{
|
||||
@@ -323,11 +333,11 @@ namespace BlackMisc
|
||||
|
||||
//! Default model exclude patterns per simulator
|
||||
//! \deprecated use CSpecializedSimulatorSettings::defaultModelExcludeDirectoryPatterns
|
||||
static const QStringList &defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator);
|
||||
// static const QStringList &defaultModelExcludeDirectoryPatterns(const CSimulatorInfo &simulator);
|
||||
|
||||
//! Default simulator path per simulator
|
||||
//! \deprecated use CSpecializedSimulatorSettings::defaultSimulatorDirectory
|
||||
static const QString &defaultSimulatorDirectory(const CSimulatorInfo &simulator);
|
||||
// static const QString &defaultSimulatorDirectory(const CSimulatorInfo &simulator);
|
||||
|
||||
signals:
|
||||
//! Simulator settings have been changed
|
||||
@@ -338,12 +348,14 @@ namespace BlackMisc
|
||||
CSetting<Settings::TSimulatorFs9> m_simSettingsFs9 { this, &CMultiSimulatorSettings::onFs9SettingsChanged }; //!< FS9 settings
|
||||
CSetting<Settings::TSimulatorP3D> m_simSettingsP3D { this, &CMultiSimulatorSettings::onP3DSettingsChanged }; //!< P3D 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 @{
|
||||
void onFsxSettingsChanged();
|
||||
void onFs9SettingsChanged();
|
||||
void onP3DSettingsChanged();
|
||||
void onXPSettingsChanged();
|
||||
void onFGSettingsChanged();
|
||||
//! @}
|
||||
|
||||
//! Emit the signal, allows breakpoint
|
||||
|
||||
Reference in New Issue
Block a user