diff --git a/src/blackmisc/simulation/aircraftmodelloader.cpp b/src/blackmisc/simulation/aircraftmodelloader.cpp index 4c4f53fca..c2aa08242 100644 --- a/src/blackmisc/simulation/aircraftmodelloader.cpp +++ b/src/blackmisc/simulation/aircraftmodelloader.cpp @@ -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()); diff --git a/src/blackmisc/simulation/aircraftmodelloader.h b/src/blackmisc/simulation/aircraftmodelloader.h index 9ac45fd29..817825885 100644 --- a/src/blackmisc/simulation/aircraftmodelloader.h +++ b/src/blackmisc/simulation/aircraftmodelloader.h @@ -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 m_cancelLoading { false }; //!< flag, requesting to cancel loading std::atomic m_loadingInProgress { false }; //!< Loading in progress std::atomic m_skipLoadingEmptyModelDir { true }; //!< Loading empty model dirs might erase the cache, so normally we skip it