mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 11:05:44 +08:00
Fix CAircraftModelLoaderXPlane::performParsing to accept multiple dirs
This implements an old todo from KB.
This commit is contained in:
committed by
Mat Sutcliffe
parent
5181855b59
commit
6ea8d16460
@@ -120,10 +120,7 @@ namespace BlackMisc
|
|||||||
m_parserWorker = CWorker::fromTask(this, "CAircraftModelLoaderXPlane::performParsing",
|
m_parserWorker = CWorker::fromTask(this, "CAircraftModelLoaderXPlane::performParsing",
|
||||||
[this, modelDirs, excludedDirectoryPatterns, modelConsolidation]()
|
[this, modelDirs, excludedDirectoryPatterns, modelConsolidation]()
|
||||||
{
|
{
|
||||||
//! \todo KB/MS 2017-09 not high prio, but still needed: according to meet XP needs to support multiple directories
|
auto models = this->performParsing(modelDirs, excludedDirectoryPatterns);
|
||||||
//! \todo KB with T118 now model directories are passed (changed signatures) but the code below needs to support multiple dirs
|
|
||||||
const QString modelDirectory = modelDirs.front();
|
|
||||||
auto models = this->performParsing(modelDirectory, excludedDirectoryPatterns);
|
|
||||||
if (modelConsolidation) { modelConsolidation(models, true); }
|
if (modelConsolidation) { modelConsolidation(models, true); }
|
||||||
return models;
|
return models;
|
||||||
});
|
});
|
||||||
@@ -136,7 +133,7 @@ namespace BlackMisc
|
|||||||
else if (mode.testFlag(LoadDirectly))
|
else if (mode.testFlag(LoadDirectly))
|
||||||
{
|
{
|
||||||
emit this->diskLoadingStarted(simulator, mode);
|
emit this->diskLoadingStarted(simulator, mode);
|
||||||
CAircraftModelList models(this->performParsing(this->getFirstModelDirectoryOrDefault(), excludedDirectoryPatterns));
|
CAircraftModelList models(this->performParsing(modelDirs, excludedDirectoryPatterns));
|
||||||
this->updateInstalledModels(models);
|
this->updateInstalledModels(models);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -161,12 +158,14 @@ namespace BlackMisc
|
|||||||
return std::move(modelName).trimmed();
|
return std::move(modelName).trimmed();
|
||||||
}
|
}
|
||||||
|
|
||||||
CAircraftModelList CAircraftModelLoaderXPlane::performParsing(const QString &rootDirectory, const QStringList &excludeDirectories)
|
CAircraftModelList CAircraftModelLoaderXPlane::performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories)
|
||||||
{
|
{
|
||||||
CAircraftModelList allModels;
|
CAircraftModelList allModels;
|
||||||
allModels.push_back(parseCslPackages(CXPlaneUtil::xswiftbusLegacyDir(rootDirectory), excludeDirectories));
|
for (const QString &rootDirectory : rootDirectories)
|
||||||
|
{
|
||||||
allModels.push_back(parseCslPackages(rootDirectory, excludeDirectories));
|
allModels.push_back(parseCslPackages(rootDirectory, excludeDirectories));
|
||||||
allModels.push_back(parseFlyableAirplanes(rootDirectory, excludeDirectories));
|
allModels.push_back(parseFlyableAirplanes(rootDirectory, excludeDirectories));
|
||||||
|
}
|
||||||
return allModels;
|
return allModels;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ namespace BlackMisc
|
|||||||
QVector<CSLPlane> planes;
|
QVector<CSLPlane> planes;
|
||||||
};
|
};
|
||||||
|
|
||||||
CAircraftModelList performParsing(const QString &rootDirectory, const QStringList &excludeDirectories);
|
CAircraftModelList performParsing(const QStringList &rootDirectories, const QStringList &excludeDirectories);
|
||||||
CAircraftModelList parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories);
|
CAircraftModelList parseFlyableAirplanes(const QString &rootDirectory, const QStringList &excludeDirectories);
|
||||||
CAircraftModelList parseCslPackages(const QString &rootDirectory, const QStringList &excludeDirectories);
|
CAircraftModelList parseCslPackages(const QString &rootDirectory, const QStringList &excludeDirectories);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user