11 #include <QStandardPaths>
12 #include <QTextStream>
14 #include "qsystemdetection.h"
20 using namespace swift::config;
22 namespace swift::misc::simulation::flightgear
25 const QString &CFlightgearUtil::flightgearRootDir()
27 static QString flightgearRootDir;
30 QSettings flightgearRegistry(
31 "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\FlightGear_is1",
32 QSettings::NativeFormat);
33 flightgearRootDir = flightgearRegistry.value(
"InstallLocation").toString().trimmed();
35 return flightgearRootDir;
38 bool CFlightgearUtil::isFlightgearRootDirExisting()
40 static const bool exists = QDir(flightgearRootDir()).exists();
44 QStringList CFlightgearUtil::modelDirectoriesFromSimDir(
const QString &simulatorDir)
49 QString terraSyncFolder =
50 QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) +
"/Flightgear/Aircraft";
51 if (QDir(terraSyncFolder).exists()) { dirs.append(terraSyncFolder); }
52 QString fgdataAIFolder = simulatorDir +
"data/AI/Aircraft";
53 if (QDir(fgdataAIFolder).exists()) { dirs.append(fgdataAIFolder); }
58 const QStringList &CFlightgearUtil::flightgearModelDirectories()
60 static const QStringList dirs =
61 flightgearRootDir().isEmpty() ? QStringList() : modelDirectoriesFromSimDir(flightgearRootDir());
65 const QStringList &CFlightgearUtil::flightgearModelExcludeDirectoryPatterns()
67 static const QStringList empty;
static constexpr bool isRunningOnWindowsNtPlatform()
Running on Windows NT platform?