diff --git a/src/blackcore/context/contextsimulator.h b/src/blackcore/context/contextsimulator.h index ac2ce4713..a605f7987 100644 --- a/src/blackcore/context/contextsimulator.h +++ b/src/blackcore/context/contextsimulator.h @@ -242,6 +242,9 @@ namespace BlackCore //! Follow aircraft im simulator view virtual bool followAircraft(const BlackMisc::Aviation::CCallsign &callsign) = 0; + //! Recalculate all aircraft + virtual void recalculateAllAircraft() = 0; + //! Reset model by matching it again virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) = 0; diff --git a/src/blackcore/context/contextsimulatorempty.h b/src/blackcore/context/contextsimulatorempty.h index 78eb7706f..8fdc45b38 100644 --- a/src/blackcore/context/contextsimulatorempty.h +++ b/src/blackcore/context/contextsimulatorempty.h @@ -254,6 +254,12 @@ namespace BlackCore return false; } + //! \copydoc IContextSimulator::recalculateAllAircraft + virtual void recalculateAllAircraft() override + { + logEmptyContextWarning(Q_FUNC_INFO); + } + //! \copydoc IContextSimulator::resetToModelMatchingAircraft virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override { diff --git a/src/blackcore/context/contextsimulatorimpl.cpp b/src/blackcore/context/contextsimulatorimpl.cpp index 1938a71ac..ab22f9226 100644 --- a/src/blackcore/context/contextsimulatorimpl.cpp +++ b/src/blackcore/context/contextsimulatorimpl.cpp @@ -874,6 +874,13 @@ namespace BlackCore return m_simulatorPlugin.second->followAircraft(callsign); } + void CContextSimulator::recalculateAllAircraft() + { + if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } + if (!m_simulatorPlugin.second) { return; } + return m_simulatorPlugin.second->recalculateAllAircraft(); + } + bool CContextSimulator::resetToModelMatchingAircraft(const CCallsign &callsign) { CSimulatedAircraft aircraft = this->getAircraftInRangeForCallsign(callsign); diff --git a/src/blackcore/context/contextsimulatorimpl.h b/src/blackcore/context/contextsimulatorimpl.h index da3f4fa20..e1f47ea1d 100644 --- a/src/blackcore/context/contextsimulatorimpl.h +++ b/src/blackcore/context/contextsimulatorimpl.h @@ -102,6 +102,7 @@ namespace BlackCore virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override; virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override; virtual bool followAircraft(const BlackMisc::Aviation::CCallsign &callsign) override; + virtual void recalculateAllAircraft() override; virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override; virtual void setWeatherActivated(bool activated) override; virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override; diff --git a/src/blackcore/context/contextsimulatorproxy.cpp b/src/blackcore/context/contextsimulatorproxy.cpp index fc745c5b0..25a0cfd71 100644 --- a/src/blackcore/context/contextsimulatorproxy.cpp +++ b/src/blackcore/context/contextsimulatorproxy.cpp @@ -241,6 +241,11 @@ namespace BlackCore return m_dBusInterface->callDBusRet(QLatin1String("followAircraft"), callsign); } + void CContextSimulatorProxy::recalculateAllAircraft() + { + m_dBusInterface->callDBus(QLatin1String("recalculateAllAircraft")); + } + bool CContextSimulatorProxy::resetToModelMatchingAircraft(const CCallsign &callsign) { return m_dBusInterface->callDBusRet(QLatin1String("resetToModelMatchingAircraft"), callsign, callsign); diff --git a/src/blackcore/context/contextsimulatorproxy.h b/src/blackcore/context/contextsimulatorproxy.h index e78b078c6..74fd45a7c 100644 --- a/src/blackcore/context/contextsimulatorproxy.h +++ b/src/blackcore/context/contextsimulatorproxy.h @@ -86,6 +86,7 @@ namespace BlackCore virtual BlackMisc::CPixmap iconForModel(const QString &modelString) const override; virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override; virtual bool followAircraft(const BlackMisc::Aviation::CCallsign &callsign) override; + virtual void recalculateAllAircraft() override; virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override; virtual void setWeatherActivated(bool activated) override; virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;