From 045f79d0bde487a9674d4d21a416523e4f5b800e Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 11 Feb 2019 04:03:55 +0100 Subject: [PATCH] Ref T536, text message component * register tab enum * select tab by frequency --- .../components/registermetadatacomponents.cpp | 5 ++++- src/blackgui/components/textmessagecomponent.cpp | 11 ++++++++++- src/blackgui/components/textmessagecomponent.h | 3 +++ src/blackgui/components/textmessagecomponenttab.h | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/blackgui/components/registermetadatacomponents.cpp b/src/blackgui/components/registermetadatacomponents.cpp index 37905b189..71ad778d5 100644 --- a/src/blackgui/components/registermetadatacomponents.cpp +++ b/src/blackgui/components/registermetadatacomponents.cpp @@ -8,6 +8,9 @@ */ #include "registermetadatacomponents.h" +#include "textmessagecomponenttab.h" + +#include namespace BlackGui { @@ -15,7 +18,7 @@ namespace BlackGui { void registerMetadata() { - + qRegisterMetaType(); } } // ns } // ns diff --git a/src/blackgui/components/textmessagecomponent.cpp b/src/blackgui/components/textmessagecomponent.cpp index b3d22f92a..9b04e0a22 100644 --- a/src/blackgui/components/textmessagecomponent.cpp +++ b/src/blackgui/components/textmessagecomponent.cpp @@ -361,7 +361,6 @@ namespace BlackGui void CTextMessageComponent::showCurrentFrequenciesFromCockpit() { const CSimulatedAircraft ownAircraft = this->getOwnAircraft(); - const CFrequency freq1 = ownAircraft.getCom1System().getFrequencyActive(); const CFrequency freq2 = ownAircraft.getCom2System().getFrequencyActive(); @@ -687,6 +686,16 @@ namespace BlackGui if (!m_usedAsOverlayWidget) { this->displayMyself(); } } + void CTextMessageComponent::showCorrespondingTabForFrequency(const CFrequency &frequency) + { + const CSimulatedAircraft ownAircraft = this->getOwnAircraft(); + const CFrequency freq1 = ownAircraft.getCom1System().getFrequencyActive(); + const CFrequency freq2 = ownAircraft.getCom2System().getFrequencyActive(); + if (freq1 == frequency) { this->setTab(TextMessagesCom1); return; } + if (freq2 == frequency) { this->setTab(TextMessagesCom2); return; } + this->setTab(TextMessagesAll); + } + void CTextMessageComponent::fontSizeMinus() { ui->comp_SettingsStyle->fontSizeMinus(); diff --git a/src/blackgui/components/textmessagecomponent.h b/src/blackgui/components/textmessagecomponent.h index 3b6627404..180e017d7 100644 --- a/src/blackgui/components/textmessagecomponent.h +++ b/src/blackgui/components/textmessagecomponent.h @@ -59,6 +59,9 @@ namespace BlackGui //! Display the tab for given callsign void showCorrespondingTab(const BlackMisc::Aviation::CCallsign &callsign); + //! Display the tab for given frequency + void showCorrespondingTabForFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency); + //! Font size @{ void fontSizeMinus(); void fontSizePlus(); diff --git a/src/blackgui/components/textmessagecomponenttab.h b/src/blackgui/components/textmessagecomponenttab.h index 19779ad44..be6080d49 100644 --- a/src/blackgui/components/textmessagecomponenttab.h +++ b/src/blackgui/components/textmessagecomponenttab.h @@ -12,6 +12,8 @@ #ifndef BLACKGUI_COMPONENTS_TEXTMESSAGECOMPONENT_TAB_H #define BLACKGUI_COMPONENTS_TEXTMESSAGECOMPONENT_TAB_H +#include + namespace BlackGui { namespace Components @@ -26,4 +28,7 @@ namespace BlackGui }; } // ns } // ns + +Q_DECLARE_METATYPE(BlackGui::Components::TextMessageTab) + #endif // guard