Ref T118, init model directories (fixes the issue that no directory was found when triggered from context menu)

This commit is contained in:
Klaus Basan
2017-10-20 00:20:14 +02:00
parent 14c912e2aa
commit 24802b6f7f
2 changed files with 10 additions and 0 deletions

View File

@@ -133,6 +133,13 @@ namespace BlackMisc
emit this->loadingFinished(status, simInfo, CacheLoaded);
}
QStringList IAircraftModelLoader::getInitializedModelDirectories(const QStringList &modelDirectories, const CSimulatorInfo &simulator) const
{
QStringList modelDirs = modelDirectories.isEmpty() ? m_settings.getModelDirectoriesOrDefault(simulator) : modelDirectories;
modelDirs = CFileUtils::fixWindowsUncPaths(modelDirs);
return CDirectoryUtils::getExistingUnemptyDirectories(modelDirs);
}
QStringList IAircraftModelLoader::getModelDirectoriesOrDefault() const
{
const QStringList mdirs = m_settings.getModelDirectoriesOrDefault(this->getSimulator());

View File

@@ -198,6 +198,9 @@ namespace BlackMisc
//! A cache has been changed
void cacheChanged(const CSimulatorInfo &simInfo);
//! Get model directories from settings if empty, otherwise checked and UNC path fixed
QStringList getInitializedModelDirectories(const QStringList &modelDirectories, const CSimulatorInfo &simulator) const;
std::atomic<bool> m_cancelLoading { false }; //!< flag, requesting to cancel loading
std::atomic<bool> m_loadingInProgress { false }; //!< Loading in progress
std::atomic<bool> m_skipLoadingEmptyModelDir { true }; //!< Loading empty model dirs might erase the cache, so normally we skip it