diff --git a/src/blackgui/views/simulatedaircraftview.cpp b/src/blackgui/views/simulatedaircraftview.cpp index 88e6f8fd7..1866db0b7 100644 --- a/src/blackgui/views/simulatedaircraftview.cpp +++ b/src/blackgui/views/simulatedaircraftview.cpp @@ -65,6 +65,8 @@ namespace BlackGui menuActions.addMenuDisplayModels(); menuActions.addMenuDataTransfer(); + menuActions.addAction(CIcons::appInterpolation16(), "Recalculate all aircraft", CMenuAction::pathClientSimulationDisplay(), { this, &CSimulatedAircraftView::recalculateAllAircraft }); + if (m_withMenuEnableAircraft && !this->isEmpty()) { menuActions.addAction(CIcons::appAircraft16(), "Enable all aircraft", CMenuAction::pathClientSimulationDisplay(), { this, &CSimulatedAircraftView::enableAllDisabledAircraft }); @@ -219,6 +221,13 @@ namespace BlackGui simContext->highlightAircraft(aircraft, true, IContextSimulator::HighlightTime()); } + void CSimulatedAircraftView::recalculateAllAircraft() + { + IContextSimulator *simContext = simulatorContext(); + if (!simContext) { return; } + simContext->recalculateAllAircraft(); + } + void CSimulatedAircraftView::enableFastPositionUpdates(const CSimulatedAircraft &aircraft) { IContextNetwork *nwContext = networkContext(); diff --git a/src/blackgui/views/simulatedaircraftview.h b/src/blackgui/views/simulatedaircraftview.h index ea38d804c..2eb5ce44b 100644 --- a/src/blackgui/views/simulatedaircraftview.h +++ b/src/blackgui/views/simulatedaircraftview.h @@ -104,6 +104,9 @@ namespace BlackGui //! Highlight in simulator void highlightInSimulator(const BlackMisc::Simulation::CSimulatedAircraft &aircraft); + //! Fully recalculate all aircraft + void recalculateAllAircraft(); + //! Enable fast position updates void enableFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);