Functions to remove models from model set

This commit is contained in:
Klaus Basan
2019-09-06 19:02:39 +02:00
parent b39ed83f72
commit 08c8b7cf9b
6 changed files with 35 additions and 0 deletions

View File

@@ -210,6 +210,9 @@ namespace BlackCore
//! Model set completer string //! Model set completer string
virtual QStringList getModelSetCompleterStrings(bool sorted) const = 0; virtual QStringList getModelSetCompleterStrings(bool sorted) const = 0;
//! Remove models from set
virtual int removeModelsFromSet(const BlackMisc::Simulation::CAircraftModelList &removeModels) = 0;
//! \copydoc CAircraftMatcher::disableModelsForMatching //! \copydoc CAircraftMatcher::disableModelsForMatching
virtual void disableModelsForMatching(const BlackMisc::Simulation::CAircraftModelList &removedModels, bool incremental) = 0; virtual void disableModelsForMatching(const BlackMisc::Simulation::CAircraftModelList &removedModels, bool incremental) = 0;

View File

@@ -147,6 +147,14 @@ namespace BlackCore
return QStringList(); return QStringList();
} }
//! \copydoc IContextSimulator::removeModelsFromSet
virtual int removeModelsFromSet(const BlackMisc::Simulation::CAircraftModelList &removeModels) override
{
Q_UNUSED(removeModels);
logEmptyContextWarning(Q_FUNC_INFO);
return 0;
}
//! \copydoc CAircraftMatcher::disableModelsForMatching //! \copydoc CAircraftMatcher::disableModelsForMatching
virtual void disableModelsForMatching(const BlackMisc::Simulation::CAircraftModelList &removedModels, bool incremental) override virtual void disableModelsForMatching(const BlackMisc::Simulation::CAircraftModelList &removedModels, bool incremental) override
{ {

View File

@@ -279,6 +279,23 @@ namespace BlackCore
return known; return known;
} }
int CContextSimulator::removeModelsFromSet(const CAircraftModelList &removeModels)
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
if (removeModels.isEmpty()) { return 0; }
const CSimulatorInfo simulator = m_modelSetSimulator.get();
if (!simulator.isSingleSimulator()) { return 0; }
CCentralMultiSimulatorModelSetCachesProvider::modelCachesInstance().synchronizeCache(simulator);
CAircraftModelList models = CCentralMultiSimulatorModelSetCachesProvider::modelCachesInstance().getCachedModels(simulator);
const int removed = models.removeModelsWithString(removeModels, Qt::CaseInsensitive);
if (removed > 0)
{
CCentralMultiSimulatorModelSetCachesProvider::modelCachesInstance().setCachedModels(models, simulator);
}
return removed;
}
QStringList CContextSimulator::getModelSetCompleterStrings(bool sorted) const QStringList CContextSimulator::getModelSetCompleterStrings(bool sorted) const
{ {
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << sorted; } if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << sorted; }

View File

@@ -94,6 +94,7 @@ namespace BlackCore
virtual QStringList getModelSetStrings() const override; virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override; virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
virtual bool isKnownModelInSet(const QString &modelString) const override; virtual bool isKnownModelInSet(const QString &modelString) const override;
virtual int removeModelsFromSet(const BlackMisc::Simulation::CAircraftModelList &removeModels) override;
virtual void disableModelsForMatching(const BlackMisc::Simulation::CAircraftModelList &removedModels, bool incremental) override; virtual void disableModelsForMatching(const BlackMisc::Simulation::CAircraftModelList &removedModels, bool incremental) override;
virtual BlackMisc::Simulation::CAircraftModelList getDisabledModelsForMatching() const override; virtual BlackMisc::Simulation::CAircraftModelList getDisabledModelsForMatching() const override;
virtual void restoreDisabledModels() override; virtual void restoreDisabledModels() override;

View File

@@ -165,6 +165,11 @@ namespace BlackCore
return m_dBusInterface->callDBusRet<QStringList>(QLatin1String("getModelSetCompleterStrings"), sorted); return m_dBusInterface->callDBusRet<QStringList>(QLatin1String("getModelSetCompleterStrings"), sorted);
} }
int CContextSimulatorProxy::removeModelsFromSet(const CAircraftModelList &removeModels)
{
return m_dBusInterface->callDBusRet<int>(QLatin1String("removeModelsFromSet"), removeModels);
}
bool CContextSimulatorProxy::isKnownModelInSet(const QString &modelString) const bool CContextSimulatorProxy::isKnownModelInSet(const QString &modelString) const
{ {
return m_dBusInterface->callDBusRet<bool>(QLatin1String("isKnownModelInSet"), modelString); return m_dBusInterface->callDBusRet<bool>(QLatin1String("isKnownModelInSet"), modelString);

View File

@@ -73,6 +73,7 @@ namespace BlackCore
virtual void setModelSetLoaderSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override; virtual void setModelSetLoaderSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual QStringList getModelSetStrings() const override; virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override; virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
virtual int removeModelsFromSet(const BlackMisc::Simulation::CAircraftModelList &removeModels) override;
virtual bool isKnownModelInSet(const QString &modelString) const override; virtual bool isKnownModelInSet(const QString &modelString) const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const override; virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const override;
virtual int getModelSetCount() const override; virtual int getModelSetCount() const override;