mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 07:35:48 +08:00
Ref T252, utility functions for simulator directories
This commit is contained in:
@@ -205,6 +205,12 @@ namespace BlackMisc
|
||||
return dir;
|
||||
}
|
||||
|
||||
QString CFsCommonUtil::p3dSimObjectsDirFromSimDir(const QString &simDir)
|
||||
{
|
||||
if (simDir.isEmpty()) { return QStringLiteral(""); }
|
||||
return CFileUtils::appendFilePaths(simDir, "SimObjects");
|
||||
}
|
||||
|
||||
const QStringList &CFsCommonUtil::p3dSimObjectsExcludeDirectoryPatterns()
|
||||
{
|
||||
static const QStringList exclude
|
||||
|
||||
@@ -61,6 +61,9 @@ namespace BlackMisc
|
||||
//! P3D's sim object dir, resolved from multiple sources
|
||||
static const QString &p3dSimObjectsDir();
|
||||
|
||||
//! P3D aircraft dir, relative to simulator directory
|
||||
static QString p3dSimObjectsDirFromSimDir(const QString &simDir);
|
||||
|
||||
//! Exclude directories for simObjects
|
||||
static const QStringList &p3dSimObjectsExcludeDirectoryPatterns();
|
||||
|
||||
|
||||
@@ -101,25 +101,38 @@ namespace BlackMisc
|
||||
#endif
|
||||
}
|
||||
|
||||
QString CXPlaneUtil::xplaneRootDir()
|
||||
const QString &CXPlaneUtil::xplaneRootDir()
|
||||
{
|
||||
if (!xplane11Dir().isEmpty()) { return xplane11Dir(); }
|
||||
else if (!xplane10Dir().isEmpty()) { return xplane10Dir(); }
|
||||
else if (!xplane9Dir().isEmpty()) { return xplane9Dir(); }
|
||||
else { return {}; }
|
||||
static const QString dir = []
|
||||
{
|
||||
if (!xplane11Dir().isEmpty()) { return xplane11Dir(); }
|
||||
else if (!xplane10Dir().isEmpty()) { return xplane10Dir(); }
|
||||
else if (!xplane9Dir().isEmpty()) { return xplane9Dir(); }
|
||||
else { return QString(); }
|
||||
}();
|
||||
return dir;
|
||||
}
|
||||
|
||||
bool CXPlaneUtil::isXplaneRootDirExisting()
|
||||
{
|
||||
const QDir dir(xplaneRootDir());
|
||||
return dir.exists();
|
||||
static const bool exists = QDir(xplaneRootDir()).exists();
|
||||
return exists;
|
||||
}
|
||||
|
||||
QString CXPlaneUtil::xplanePluginDir()
|
||||
const QString &CXPlaneUtil::xplanePluginDir()
|
||||
{
|
||||
const QString xp = xplaneRootDir();
|
||||
if (xp.isEmpty()) { return xp; }
|
||||
return CFileUtils::appendFilePaths(xp, xplanePluginPath());
|
||||
static const QString pd(xplaneRootDir().isEmpty() ? "" : CFileUtils::appendFilePaths(xplaneRootDir(), xplanePluginPath()));
|
||||
return pd;
|
||||
}
|
||||
|
||||
QString CXPlaneUtil::pluginDirFromSimDir(const QString &simulatorDir)
|
||||
{
|
||||
return CFileUtils::appendFilePaths(simulatorDir, xplanePluginPath());
|
||||
}
|
||||
|
||||
QStringList CXPlaneUtil::modelDirectoriesFromSimDir(const QString &simulatorDir)
|
||||
{
|
||||
return QStringList({ simulatorDir });
|
||||
}
|
||||
|
||||
QString CXPlaneUtil::xplanePluginPath()
|
||||
@@ -130,19 +143,20 @@ namespace BlackMisc
|
||||
|
||||
bool CXPlaneUtil::isXplanePluginDirDirExisting()
|
||||
{
|
||||
const QDir dir(xplanePluginDir());
|
||||
return dir.exists();
|
||||
static const bool exists = QDir(xplanePluginDir()).exists();
|
||||
return exists;
|
||||
}
|
||||
|
||||
QStringList CXPlaneUtil::xplaneModelDirectories()
|
||||
const QStringList &CXPlaneUtil::xplaneModelDirectories()
|
||||
{
|
||||
if (xplaneRootDir().isEmpty()) { return QStringList(); }
|
||||
return QStringList({ xplaneRootDir() });
|
||||
static const QStringList dirs = xplaneRootDir().isEmpty() ? QStringList() : QStringList({xplaneRootDir()});
|
||||
return dirs;
|
||||
}
|
||||
|
||||
QStringList CXPlaneUtil::xplaneModelExcludeDirectoryPatterns()
|
||||
const QStringList &CXPlaneUtil::xplaneModelExcludeDirectoryPatterns()
|
||||
{
|
||||
return QStringList();
|
||||
static const QStringList empty;
|
||||
return empty;
|
||||
}
|
||||
|
||||
QString CXPlaneUtil::xswiftbusLegacyDir(const QString &rootDir)
|
||||
|
||||
@@ -40,14 +40,20 @@ namespace BlackMisc
|
||||
|
||||
//! XPlane root directory
|
||||
//! In case more then one XPlane version is found, the path to the highest version is used
|
||||
static QString xplaneRootDir();
|
||||
static const QString &xplaneRootDir();
|
||||
|
||||
//! Is the xplaneRootDir existing?
|
||||
static bool isXplaneRootDirExisting();
|
||||
|
||||
//! XPlane plugin directory
|
||||
//! In case more then one XPlane version is found, the path to the highest version is used
|
||||
static QString xplanePluginDir();
|
||||
static const QString &xplanePluginDir();
|
||||
|
||||
//! Plugin directory from given simulator directory
|
||||
static QString pluginDirFromSimDir(const QString &simulatorDir);
|
||||
|
||||
//! Model directories from simultaor directory
|
||||
static QStringList modelDirectoriesFromSimDir(const QString &simulatorDir);
|
||||
|
||||
//! XPlane relative plugin path
|
||||
static QString xplanePluginPath();
|
||||
@@ -56,10 +62,10 @@ namespace BlackMisc
|
||||
static bool isXplanePluginDirDirExisting();
|
||||
|
||||
//! Directories with models
|
||||
static QStringList xplaneModelDirectories();
|
||||
static const QStringList &xplaneModelDirectories();
|
||||
|
||||
//! Exclude directories for models
|
||||
static QStringList xplaneModelExcludeDirectoryPatterns();
|
||||
static const QStringList &xplaneModelExcludeDirectoryPatterns();
|
||||
|
||||
//! XSwiftBus legacy directory
|
||||
static QString xswiftbusLegacyDir(const QString &rootDir);
|
||||
|
||||
Reference in New Issue
Block a user