mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-26 02:35:38 +08:00
Ref T660, P3D SimObjects folder validation preparations
This commit is contained in:
committed by
Mat Sutcliffe
parent
1839c77ab9
commit
8082b4c7df
@@ -1395,7 +1395,7 @@ namespace BlackMisc
|
|||||||
return msgs;
|
return msgs;
|
||||||
}
|
}
|
||||||
|
|
||||||
CStatusMessageList CAircraftModelList::validateFiles(CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmpty, int stopAtFailedFiles, bool &stopped, const QString &rootDirectory, bool alreadySortedByFn) const
|
CStatusMessageList CAircraftModelList::validateFiles(CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmptyFileNames, int stopAtFailedFiles, bool &stopped, const QString &rootDirectory, bool alreadySortedByFn) const
|
||||||
{
|
{
|
||||||
invalidModels.clear();
|
invalidModels.clear();
|
||||||
validModels.clear();
|
validModels.clear();
|
||||||
@@ -1430,7 +1430,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
if (!model.hasFileName())
|
if (!model.hasFileName())
|
||||||
{
|
{
|
||||||
if (ignoreEmpty) { continue; }
|
if (ignoreEmptyFileNames) { continue; }
|
||||||
msgs.push_back(CStatusMessage(this).validationError(u"'%1', no file name") << model.getModelStringAndDbKey());
|
msgs.push_back(CStatusMessage(this).validationError(u"'%1', no file name") << model.getModelStringAndDbKey());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -478,7 +478,7 @@ namespace BlackMisc
|
|||||||
CStatusMessageList validateDistributors(const CDistributorList &distributors, CAircraftModelList &validModels, CAircraftModelList &invalidModels) const;
|
CStatusMessageList validateDistributors(const CDistributorList &distributors, CAircraftModelList &validModels, CAircraftModelList &invalidModels) const;
|
||||||
|
|
||||||
//! Validate files (file exists etc.)
|
//! Validate files (file exists etc.)
|
||||||
CStatusMessageList validateFiles(CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmpty, int stopAtFailedFiles, bool &stopped, const QString &rootDirectory, bool alreadySortedByFn = false) const;
|
CStatusMessageList validateFiles(CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmptyFileNames, int stopAtFailedFiles, bool &stopped, const QString &rootDirectory, bool alreadySortedByFn = false) const;
|
||||||
|
|
||||||
//! To compact JSON format
|
//! To compact JSON format
|
||||||
QJsonObject toMemoizedJson() const;
|
QJsonObject toMemoizedJson() const;
|
||||||
|
|||||||
@@ -166,7 +166,10 @@ namespace BlackMisc
|
|||||||
CStatusMessageList specificTests;
|
CStatusMessageList specificTests;
|
||||||
if (models.isLikelyFsFamilyModelList())
|
if (models.isLikelyFsFamilyModelList())
|
||||||
{
|
{
|
||||||
specificTests = FsCommon::CFsCommonUtil::validateConfigFiles(models, validModels, invalidModels, ignoreEmpty, stopAtFailedFiles, stopped);
|
const CStatusMessageList specificTests1 = FsCommon::CFsCommonUtil::validateConfigFiles(models, validModels, invalidModels, ignoreEmpty, stopAtFailedFiles, stopped);
|
||||||
|
const CStatusMessageList specificTests2 = FsCommon::CFsCommonUtil::validateP3DSimObjectsPath(models, validModels, invalidModels, ignoreEmpty, stopAtFailedFiles, stopped);
|
||||||
|
specificTests.push_back(specificTests1);
|
||||||
|
specificTests.push_back(specificTests2);
|
||||||
}
|
}
|
||||||
else if (models.isLikelyXPlaneModelList())
|
else if (models.isLikelyXPlaneModelList())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -215,10 +215,10 @@ namespace BlackMisc
|
|||||||
return dir;
|
return dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList CFsCommonUtil::p3dSimObjectsDirPlusAddOnSimObjectsDirs(const QString &simObjectsDir)
|
QStringList CFsCommonUtil::p3dSimObjectsDirPlusAddOnSimObjectsDirs(const QString &simObjectsDir, const QString &versionHint)
|
||||||
{
|
{
|
||||||
// finding the user settings only works on P3D machine
|
// finding the user settings only works on P3D machine
|
||||||
const QSet<QString> allP3dAddOnSimObjectPaths = CFsCommonUtil::allP3dAddOnSimObjectPaths("v4");
|
const QSet<QString> allP3dAddOnSimObjectPaths = CFsCommonUtil::allP3dAddOnSimObjectPaths(versionHint);
|
||||||
QStringList all(allP3dAddOnSimObjectPaths.toList());
|
QStringList all(allP3dAddOnSimObjectPaths.toList());
|
||||||
all.push_front(simObjectsDir.isEmpty() ? p3dSimObjectsDir() : simObjectsDir);
|
all.push_front(simObjectsDir.isEmpty() ? p3dSimObjectsDir() : simObjectsDir);
|
||||||
all.sort(Qt::CaseInsensitive);
|
all.sort(Qt::CaseInsensitive);
|
||||||
@@ -542,13 +542,13 @@ namespace BlackMisc
|
|||||||
return paths;
|
return paths;
|
||||||
}
|
}
|
||||||
|
|
||||||
CStatusMessageList CFsCommonUtil::validateConfigFiles(const CAircraftModelList &models, CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmpty, int stopAtFailedFiles, bool &stopped)
|
CStatusMessageList CFsCommonUtil::validateConfigFiles(const CAircraftModelList &models, CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmptyFileNames, int stopAtFailedFiles, bool &stopped)
|
||||||
{
|
{
|
||||||
CAircraftModelList sorted(models);
|
CAircraftModelList sorted(models);
|
||||||
CStatusMessage m;
|
CStatusMessage m;
|
||||||
sorted.sortByFileName();
|
sorted.sortByFileName();
|
||||||
stopped = false;
|
stopped = false;
|
||||||
CStatusMessageList msgs = sorted.validateFiles(validModels, invalidModels, ignoreEmpty, stopAtFailedFiles, stopped, "", true);
|
CStatusMessageList msgs = sorted.validateFiles(validModels, invalidModels, ignoreEmptyFileNames, stopAtFailedFiles, stopped, "", true);
|
||||||
if (stopped || validModels.isEmpty()) { return msgs; }
|
if (stopped || validModels.isEmpty()) { return msgs; }
|
||||||
|
|
||||||
const CAircraftModelList nonFsModels = validModels.findNonFsFamilyModels();
|
const CAircraftModelList nonFsModels = validModels.findNonFsFamilyModels();
|
||||||
@@ -603,6 +603,11 @@ namespace BlackMisc
|
|||||||
// finished
|
// finished
|
||||||
return msgs;
|
return msgs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CStatusMessageList CFsCommonUtil::validateP3DSimObjectsPath(const CAircraftModelList &models, CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmptyFileNames, int stopAtFailedFiles, bool &stopped)
|
||||||
|
{
|
||||||
|
return {};
|
||||||
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ namespace BlackMisc
|
|||||||
static const QString &p3dSimObjectsDir();
|
static const QString &p3dSimObjectsDir();
|
||||||
|
|
||||||
//! P3D's simObject dir and the add on dirs
|
//! P3D's simObject dir and the add on dirs
|
||||||
static QStringList p3dSimObjectsDirPlusAddOnSimObjectsDirs(const QString &simObjectsDir = "");
|
static QStringList p3dSimObjectsDirPlusAddOnSimObjectsDirs(const QString &simObjectsDir = "", const QString &versionHint = "v4");
|
||||||
|
|
||||||
//! P3D aircraft dir, relative to simulator directory
|
//! P3D aircraft dir, relative to simulator directory
|
||||||
static QString p3dSimObjectsDirFromSimDir(const QString &simDir);
|
static QString p3dSimObjectsDirFromSimDir(const QString &simDir);
|
||||||
@@ -101,7 +101,7 @@ namespace BlackMisc
|
|||||||
static int copyFsxTerrainProbeFiles(const QString &simObjectDir, CStatusMessageList &messages);
|
static int copyFsxTerrainProbeFiles(const QString &simObjectDir, CStatusMessageList &messages);
|
||||||
|
|
||||||
//! Find the config files (add-ons.cfg)
|
//! Find the config files (add-ons.cfg)
|
||||||
//! \note C:/Users/Joe Doe/AppData/Roaming/Lockheed Martin/Prepar3D v4
|
//! \note "C:/Users/Joe Doe/AppData/Roaming/Lockheed Martin/Prepar3D v4"
|
||||||
//! \param versionHint like "v4"
|
//! \param versionHint like "v4"
|
||||||
static QSet<QString> findP3dAddOnConfigFiles(const QString &versionHint = "v4");
|
static QSet<QString> findP3dAddOnConfigFiles(const QString &versionHint = "v4");
|
||||||
|
|
||||||
@@ -128,7 +128,11 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Validate aircraft.cfg entries
|
//! Validate aircraft.cfg entries
|
||||||
//! \remark only for FSX/P3D/FS9 models
|
//! \remark only for FSX/P3D/FS9 models
|
||||||
static CStatusMessageList validateConfigFiles(const CAircraftModelList &models, CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmpty, int stopAtFailedFiles, bool &stopped);
|
static CStatusMessageList validateConfigFiles(const CAircraftModelList &models, CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmptyFileNames, int stopAtFailedFiles, bool &stopped);
|
||||||
|
|
||||||
|
//! Validate if known SimObjects path
|
||||||
|
//! \remark only for P3D
|
||||||
|
static CStatusMessageList validateP3DSimObjectsPath(const CAircraftModelList &models, CAircraftModelList &validModels, CAircraftModelList &invalidModels, bool ignoreEmptyFileNames, int stopAtFailedFiles, bool &stopped);
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
Reference in New Issue
Block a user