diff --git a/src/blackgui/components/aircraftcomponent.cpp b/src/blackgui/components/aircraftcomponent.cpp index 8ca2e6b7c..f1196afd3 100644 --- a/src/blackgui/components/aircraftcomponent.cpp +++ b/src/blackgui/components/aircraftcomponent.cpp @@ -7,9 +7,6 @@ * contained in the LICENSE file. */ -#include "blackcore/context/contextnetwork.h" -#include "blackcore/context/contextsimulator.h" -#include "blackcore/network.h" #include "blackgui/components/aircraftcomponent.h" #include "blackgui/guiapplication.h" #include "blackgui/guiutility.h" @@ -18,6 +15,11 @@ #include "blackgui/views/airportview.h" #include "blackgui/views/simulatedaircraftview.h" #include "blackgui/views/viewbase.h" +#include "blackcore/context/contextnetwork.h" +#include "blackcore/context/contextsimulator.h" +#include "blackcore/network.h" +#include "blackmisc/network/server.h" +#include "blackmisc/network/fsdsetup.h" #include "ui_aircraftcomponent.h" #include @@ -31,6 +33,7 @@ using namespace BlackGui::Models; using namespace BlackGui::Settings; using namespace BlackCore; using namespace BlackCore::Context; +using namespace BlackMisc::Network; using namespace BlackMisc::Simulation; using namespace BlackMisc::PhysicalQuantities; @@ -161,7 +164,12 @@ namespace BlackGui } else if (INetwork::isConnectedStatus(to)) { - // void + if (sGui && sGui->getIContextNetwork()) + { + const CServer server = sGui->getIContextNetwork()->getConnectedServer(); + const bool sendFast = server.getFsdSetup().sendInterimPositions(); + ui->tvp_AircraftInRange->configureMenuFastPositionUpdates(sendFast); + } } } diff --git a/src/blackgui/components/mappingcomponent.cpp b/src/blackgui/components/mappingcomponent.cpp index 5edec8cdb..001731785 100644 --- a/src/blackgui/components/mappingcomponent.cpp +++ b/src/blackgui/components/mappingcomponent.cpp @@ -7,9 +7,6 @@ * contained in the LICENSE file. */ -#include "blackcore/context/contextnetwork.h" -#include "blackcore/context/contextsimulator.h" -#include "blackcore/network.h" #include "blackgui/components/mappingcomponent.h" #include "blackgui/guiapplication.h" #include "blackgui/guiutility.h" @@ -19,13 +16,17 @@ #include "blackgui/views/checkboxdelegate.h" #include "blackgui/views/simulatedaircraftview.h" #include "blackgui/views/viewbase.h" +#include "blackcore/context/contextnetwork.h" +#include "blackcore/context/contextsimulator.h" +#include "blackcore/network.h" +#include "blackmisc/simulation/simulatedaircraft.h" +#include "blackmisc/simulation/simulatedaircraftlist.h" +#include "blackmisc/simulation/aircraftmodel.h" #include "blackmisc/aviation/callsign.h" +#include "blackmisc/network/server.h" #include "blackmisc/icons.h" #include "blackmisc/logmessage.h" #include "blackmisc/pixmap.h" -#include "blackmisc/simulation/aircraftmodel.h" -#include "blackmisc/simulation/simulatedaircraft.h" -#include "blackmisc/simulation/simulatedaircraftlist.h" #include "blackmisc/statusmessage.h" #include "mappingcomponent.h" #include "ui_mappingcomponent.h" @@ -426,6 +427,15 @@ namespace BlackGui this->tokenBucketUpdate(); ui->tvp_RenderedAircraft->clear(); } + else if (INetwork::isConnectedStatus(to)) + { + if (sGui && sGui->getIContextNetwork()) + { + const CServer server = sGui->getIContextNetwork()->getConnectedServer(); + const bool sendFast = server.getFsdSetup().sendInterimPositions(); + ui->tvp_RenderedAircraft->configureMenuFastPositionUpdates(sendFast); + } + } } CSimulatorInfo CMappingComponent::getConnectedOrSelectedSimulator() const diff --git a/src/blackgui/views/simulatedaircraftview.cpp b/src/blackgui/views/simulatedaircraftview.cpp index 40ab1064f..88e6f8fd7 100644 --- a/src/blackgui/views/simulatedaircraftview.cpp +++ b/src/blackgui/views/simulatedaircraftview.cpp @@ -53,6 +53,11 @@ namespace BlackGui m_withMenuEnableGndFlag = menuGndFlag; } + void CSimulatedAircraftView::configureMenuFastPositionUpdates(bool menuFastPositionUpdates) + { + m_withMenuFastPosition = menuFastPositionUpdates; + } + void CSimulatedAircraftView::customMenu(CMenuActions &menuActions) { // sub menus, only adding the path, the content will be added below diff --git a/src/blackgui/views/simulatedaircraftview.h b/src/blackgui/views/simulatedaircraftview.h index 1f8d334dd..ea38d804c 100644 --- a/src/blackgui/views/simulatedaircraftview.h +++ b/src/blackgui/views/simulatedaircraftview.h @@ -50,9 +50,12 @@ namespace BlackGui //! Mode void setAircraftMode(Models::CSimulatedAircraftListModel::AircraftMode mode); - //! configure the menu + //! Configure the menu void configureMenu(bool menuHighlightAndFollow, bool menuEnableAircraft, bool menuFastPositionUpdates, bool menuGndFlag); + //! Configure fast position updates menu + void configureMenuFastPositionUpdates(bool menuFastPositionUpdates); + signals: //! Request a text message void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);