diff --git a/src/blackgui/components/configsimulatorcomponent.cpp b/src/blackgui/components/configsimulatorcomponent.cpp index 034373f7f..f127bcba7 100644 --- a/src/blackgui/components/configsimulatorcomponent.cpp +++ b/src/blackgui/components/configsimulatorcomponent.cpp @@ -53,17 +53,14 @@ namespace BlackGui void CConfigSimulatorComponent::preselectSimulators() { - CSimulatorInfo sims; - if (m_enabledSimulators.isSaved()) + CSimulatorInfo sims = m_enabledSimulators.get(); + if (!sims.isAnySimulator()) { - sims = CSimulatorInfo(m_enabledSimulators.get()); - } - else - { - // by model set - sims = m_modelSets.simulatorsWithInitializedCache(); + CSimulatorInfo simWithModels = m_modelSets.simulatorsWithModels(); + sims = simWithModels; } + // no x64 check as we would allow to config 32bit with launcher x64 and vice versa const bool p3d = (sims.isP3D() || !CFsCommonUtil::p3dDir().isEmpty()) && CBuildConfig::isCompiledWithP3DSupport(); const bool fsx = (sims.isFSX() || !CFsCommonUtil::fsxDir().isEmpty()) && CBuildConfig::isCompiledWithFsxSupport(); const bool fs9 = (sims.isFS9() || !CFsCommonUtil::fs9Dir().isEmpty()) && CBuildConfig::isCompiledWithFs9Support(); diff --git a/src/blackmisc/simulation/data/modelcaches.cpp b/src/blackmisc/simulation/data/modelcaches.cpp index db83d3601..3bca82d32 100644 --- a/src/blackmisc/simulation/data/modelcaches.cpp +++ b/src/blackmisc/simulation/data/modelcaches.cpp @@ -162,6 +162,19 @@ namespace BlackMisc return withInitializedCache; } + CSimulatorInfo IMultiSimulatorModelCaches::simulatorsWithModels() const + { + CSimulatorInfo withModels; + for (const CSimulatorInfo &simInfo : CSimulatorInfo::allSimulators().asSingleSimulatorSet()) + { + if (this->getCachedModelsCount(simInfo) > 0) + { + withModels.add(simInfo); + } + } + return withModels; + } + CModelCaches::CModelCaches(bool synchronizeCache, QObject *parent) : IMultiSimulatorModelCaches(parent) { const CSimulatorInfo sim = BlackMisc::Simulation::CSimulatorInfo::guessDefaultSimulator(); diff --git a/src/blackmisc/simulation/data/modelcaches.h b/src/blackmisc/simulation/data/modelcaches.h index e12350435..b130e54c9 100644 --- a/src/blackmisc/simulation/data/modelcaches.h +++ b/src/blackmisc/simulation/data/modelcaches.h @@ -220,6 +220,10 @@ namespace BlackMisc //! \threadsafe CSimulatorInfo simulatorsWithInitializedCache() const; + //! Simulators which have models + //! \threadsafe + CSimulatorInfo simulatorsWithModels() const; + //! Timestamp //! \threadsafe QDateTime getSynchronizedTimestamp(const CSimulatorInfo &simulator);