From dbdcaf300351c016dd4577c5c22b1019adcc69f8 Mon Sep 17 00:00:00 2001 From: Alek Rudnik Date: Fri, 19 Feb 2021 17:12:31 +0100 Subject: [PATCH] [EGD-5821] Add Network Access Technology widget Created Network Access Technology widget. --- module-gui/gui/widgets/CMakeLists.txt | 149 +++++++++--------- module-gui/gui/widgets/TopBar.cpp | 63 +++----- module-gui/gui/widgets/TopBar.hpp | 7 +- .../gui/widgets/TopBar/BatteryWidgetBase.cpp | 34 ++-- .../gui/widgets/TopBar/BatteryWidgetBase.hpp | 5 +- .../TopBar/NetworkAccessTechnologyWidget.cpp | 45 ++++++ .../TopBar/NetworkAccessTechnologyWidget.hpp | 20 +++ .../TopBar/SignalStrengthWidgetBar.cpp | 8 +- .../TopBar/SignalStrengthWidgetBar.hpp | 5 +- .../TopBar/SignalStrengthWidgetBase.cpp | 8 +- .../TopBar/SignalStrengthWidgetBase.hpp | 9 +- .../TopBar/SignalStrengthWidgetText.cpp | 8 +- .../TopBar/SignalStrengthWidgetText.hpp | 11 +- .../widgets/TopBar/StatusBarWidgetBase.hpp | 26 +++ 14 files changed, 239 insertions(+), 159 deletions(-) create mode 100644 module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.cpp create mode 100644 module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.hpp create mode 100644 module-gui/gui/widgets/TopBar/StatusBarWidgetBase.hpp diff --git a/module-gui/gui/widgets/CMakeLists.txt b/module-gui/gui/widgets/CMakeLists.txt index fa76f5ad92e90364281404a0f0b181d0bf3e9ee1..1e68a40ccdfea4b507e5d411708522af03853e2a 100644 --- a/module-gui/gui/widgets/CMakeLists.txt +++ b/module-gui/gui/widgets/CMakeLists.txt @@ -1,79 +1,80 @@ target_sources( ${PROJECT_NAME} PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/Alignment.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Arc.cpp" - "${CMAKE_CURRENT_LIST_DIR}/BottomBar.cpp" - "${CMAKE_CURRENT_LIST_DIR}/CheckBox.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Circle.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Icon.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Image.cpp" - "${CMAKE_CURRENT_LIST_DIR}/ImageBox.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Item.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Label.cpp" - "${CMAKE_CURRENT_LIST_DIR}/ListItem.cpp" - "${CMAKE_CURRENT_LIST_DIR}/ListView.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Margins.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Navigation.cpp" - "${CMAKE_CURRENT_LIST_DIR}/ProgressBar.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Rect.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Window.cpp" - "${CMAKE_CURRENT_LIST_DIR}/BoxLayout.cpp" - "${CMAKE_CURRENT_LIST_DIR}/BoxLayoutSizeStore.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar/SIM.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar/BatteryWidgetBase.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar/BatteryWidgetBar.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar/BatteryWidgetText.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar/SignalStrengthWidgetBase.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar/SignalStrengthWidgetBar.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar/SignalStrengthWidgetText.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Text.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextBlock.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextDocument.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextCursor.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextParse.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextLine.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextBlockCursor.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextBubble.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextFixedSize.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Style.cpp" - "${CMAKE_CURRENT_LIST_DIR}/InputMode.cpp" - "${CMAKE_CURRENT_LIST_DIR}/GridLayout.cpp" - "${CMAKE_CURRENT_LIST_DIR}/Lines.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextLineCursor.cpp" - "${CMAKE_CURRENT_LIST_DIR}/RichTextParser.cpp" - "${CMAKE_CURRENT_LIST_DIR}/TextFormat.cpp" - "${CMAKE_CURRENT_LIST_DIR}/CheckBoxWithLabel.cpp" - "${CMAKE_CURRENT_LIST_DIR}/visitor/DepthFirstItemTree.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Alignment.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Arc.cpp" + "${CMAKE_CURRENT_LIST_DIR}/BottomBar.cpp" + "${CMAKE_CURRENT_LIST_DIR}/CheckBox.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Circle.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Icon.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Image.cpp" + "${CMAKE_CURRENT_LIST_DIR}/ImageBox.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Item.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Label.cpp" + "${CMAKE_CURRENT_LIST_DIR}/ListItem.cpp" + "${CMAKE_CURRENT_LIST_DIR}/ListView.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Margins.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Navigation.cpp" + "${CMAKE_CURRENT_LIST_DIR}/ProgressBar.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Rect.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Window.cpp" + "${CMAKE_CURRENT_LIST_DIR}/BoxLayout.cpp" + "${CMAKE_CURRENT_LIST_DIR}/BoxLayoutSizeStore.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/SIM.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/BatteryWidgetBase.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/BatteryWidgetBar.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/BatteryWidgetText.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/SignalStrengthWidgetBase.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/SignalStrengthWidgetBar.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/SignalStrengthWidgetText.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar/NetworkAccessTechnologyWidget.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Text.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextBlock.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextDocument.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextCursor.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextParse.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextLine.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextBlockCursor.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextBubble.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextFixedSize.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Style.cpp" + "${CMAKE_CURRENT_LIST_DIR}/InputMode.cpp" + "${CMAKE_CURRENT_LIST_DIR}/GridLayout.cpp" + "${CMAKE_CURRENT_LIST_DIR}/Lines.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextLineCursor.cpp" + "${CMAKE_CURRENT_LIST_DIR}/RichTextParser.cpp" + "${CMAKE_CURRENT_LIST_DIR}/TextFormat.cpp" + "${CMAKE_CURRENT_LIST_DIR}/CheckBoxWithLabel.cpp" + "${CMAKE_CURRENT_LIST_DIR}/visitor/DepthFirstItemTree.cpp" PUBLIC - "${CMAKE_CURRENT_LIST_DIR}/Alignment.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Arc.hpp" - "${CMAKE_CURRENT_LIST_DIR}/BottomBar.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Circle.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Image.hpp" - "${CMAKE_CURRENT_LIST_DIR}/ImageBox.hpp" - "${CMAKE_CURRENT_LIST_DIR}/TextFixedSize.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Item.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Label.hpp" - "${CMAKE_CURRENT_LIST_DIR}/ListItem.hpp" - "${CMAKE_CURRENT_LIST_DIR}/ListItemProvider.hpp" - "${CMAKE_CURRENT_LIST_DIR}/ListView.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Margins.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Navigation.hpp" - "${CMAKE_CURRENT_LIST_DIR}/ProgressBar.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Rect.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Window.hpp" - "${CMAKE_CURRENT_LIST_DIR}/BoxLayout.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Layout.hpp" - "${CMAKE_CURRENT_LIST_DIR}/TopBar.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Text.hpp" - "${CMAKE_CURRENT_LIST_DIR}/CheckBoxWithLabel.hpp" - "${CMAKE_CURRENT_LIST_DIR}/CheckBoxWithLabel.hpp" - "${CMAKE_CURRENT_LIST_DIR}/Lines.hpp" - "${CMAKE_CURRENT_LIST_DIR}/TextLineCursor.hpp" - "${CMAKE_CURRENT_LIST_DIR}/visitor/GuiVisitor.hpp" - "${CMAKE_CURRENT_LIST_DIR}/visitor/ItemNode.hpp" - "${CMAKE_CURRENT_LIST_DIR}/visitor/ItemTree.hpp" - "${CMAKE_CURRENT_LIST_DIR}/visitor/DepthFirstItemTree.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Alignment.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Arc.hpp" + "${CMAKE_CURRENT_LIST_DIR}/BottomBar.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Circle.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Image.hpp" + "${CMAKE_CURRENT_LIST_DIR}/ImageBox.hpp" + "${CMAKE_CURRENT_LIST_DIR}/TextFixedSize.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Item.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Label.hpp" + "${CMAKE_CURRENT_LIST_DIR}/ListItem.hpp" + "${CMAKE_CURRENT_LIST_DIR}/ListItemProvider.hpp" + "${CMAKE_CURRENT_LIST_DIR}/ListView.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Margins.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Navigation.hpp" + "${CMAKE_CURRENT_LIST_DIR}/ProgressBar.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Rect.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Window.hpp" + "${CMAKE_CURRENT_LIST_DIR}/BoxLayout.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Layout.hpp" + "${CMAKE_CURRENT_LIST_DIR}/TopBar.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Text.hpp" + "${CMAKE_CURRENT_LIST_DIR}/CheckBoxWithLabel.hpp" + "${CMAKE_CURRENT_LIST_DIR}/CheckBoxWithLabel.hpp" + "${CMAKE_CURRENT_LIST_DIR}/Lines.hpp" + "${CMAKE_CURRENT_LIST_DIR}/TextLineCursor.hpp" + "${CMAKE_CURRENT_LIST_DIR}/visitor/GuiVisitor.hpp" + "${CMAKE_CURRENT_LIST_DIR}/visitor/ItemNode.hpp" + "${CMAKE_CURRENT_LIST_DIR}/visitor/ItemTree.hpp" + "${CMAKE_CURRENT_LIST_DIR}/visitor/DepthFirstItemTree.hpp" ) diff --git a/module-gui/gui/widgets/TopBar.cpp b/module-gui/gui/widgets/TopBar.cpp index 622d67408a6442c5bc22b8bb4dab8ad8f67dcdcb..dd9b89a770ec208df438b97fadfdf9a8d76b22a4 100644 --- a/module-gui/gui/widgets/TopBar.cpp +++ b/module-gui/gui/widgets/TopBar.cpp @@ -12,6 +12,7 @@ #include "TopBar/BatteryWidgetText.hpp" #include "TopBar/SignalStrengthWidgetBar.hpp" #include "TopBar/SignalStrengthWidgetText.hpp" +#include "TopBar/NetworkAccessTechnologyWidget.hpp" #include "common_data/EventStore.hpp" namespace gui::top_bar @@ -104,13 +105,8 @@ namespace gui::top_bar timeLabel->setText("00:00"); timeLabel->setAlignment(gui::Alignment(gui::Alignment::Horizontal::Center, gui::Alignment::Vertical::Center)); - networkAccessTechnologyLabel = - new Label(this, networkTechnology::x, networkTechnology::y, networkTechnology::w, networkTechnology::h); - networkAccessTechnologyLabel->setFilled(false); - networkAccessTechnologyLabel->setBorderColor(gui::ColorNoColor); - networkAccessTechnologyLabel->setFont(style::header::font::modes); - networkAccessTechnologyLabel->setAlignment( - gui::Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Center)); + networkAccessTechnologyWidget = new NetworkAccessTechnologyWidget( + this, networkTechnology::x, networkTechnology::y, networkTechnology::w, networkTechnology::h); updateNetworkAccessTechnology(); } @@ -137,7 +133,12 @@ namespace gui::top_bar { switch (indicator) { case Indicator::Signal: - updateSignalStrength(); + if (enabled) { + signalWidget->show(); + updateSignalStrength(); + break; + } + signalWidget->hide(); break; case Indicator::Time: timeLabel->setVisible(enabled); @@ -152,20 +153,30 @@ namespace gui::top_bar } break; case Indicator::Battery: - batteryWidget->show(Store::Battery::get(), enabled); + if (enabled) { + batteryWidget->show(); + updateBattery(); + break; + } + batteryWidget->hide(); break; case Indicator::SimCard: showSim(enabled); break; case Indicator::NetworkAccessTechnology: - updateNetworkAccessTechnology(); + if (enabled) { + networkAccessTechnologyWidget->show(); + updateNetworkAccessTechnology(); + break; + } + networkAccessTechnologyWidget->hide(); break; } } bool TopBar::updateBattery() { - batteryWidget->show(Store::Battery::get(), configuration.isEnabled(Indicator::Battery)); + batteryWidget->update(Store::Battery::get()); return true; } @@ -181,39 +192,15 @@ namespace gui::top_bar bool TopBar::updateSignalStrength() { auto signalStrength = Store::GSM::get()->getSignalStrength(); - signalWidget->show(signalStrength, configuration.isEnabled(Indicator::Signal)); + signalWidget->update(signalStrength); return true; } bool TopBar::updateNetworkAccessTechnology() { - if (configuration.isEnabled(Indicator::NetworkAccessTechnology)) { - auto accessTechnology = Store::GSM::get()->getNetwork().accessTechnology; - - constexpr auto text2g = "2G"; - constexpr auto text3g = "3G"; - constexpr auto textLte = "LTE"; - - switch (accessTechnology) { - case Store::Network::AccessTechnology::Gsm: - case Store::Network::AccessTechnology::GsmWEgprs: - networkAccessTechnologyLabel->setText(text2g); - break; - case Store::Network::AccessTechnology::Utran: - case Store::Network::AccessTechnology::UtranWHsdpa: - case Store::Network::AccessTechnology::UtranWHsupa: - case Store::Network::AccessTechnology::UtranWHsdpaAndWHsupa: - networkAccessTechnologyLabel->setText(text3g); - break; - case Store::Network::AccessTechnology::EUtran: - networkAccessTechnologyLabel->setText(textLte); - break; - case Store::Network::AccessTechnology::Unknown: - networkAccessTechnologyLabel->setText(""); - break; - } - } + auto accessTechnology = Store::GSM::get()->getNetwork().accessTechnology; + networkAccessTechnologyWidget->update(accessTechnology); return true; } diff --git a/module-gui/gui/widgets/TopBar.hpp b/module-gui/gui/widgets/TopBar.hpp index 0b8f91bbef77ba4f5012b7919b6b368beb425695..5114f3069b99a595f6ad769c63017ce57b494fb8 100644 --- a/module-gui/gui/widgets/TopBar.hpp +++ b/module-gui/gui/widgets/TopBar.hpp @@ -16,6 +16,7 @@ namespace gui { class SignalStrengthWidgetBase; class BatteryWidgetBase; + class NetworkAccessTechnologyWidget; } // namespace gui namespace gui::top_bar { @@ -79,9 +80,9 @@ namespace gui::top_bar static uint32_t time; protected: - Label *timeLabel = nullptr; - Label *networkAccessTechnologyLabel = nullptr; - SignalStrengthWidgetBase *signalWidget = nullptr; + Label *timeLabel = nullptr; + NetworkAccessTechnologyWidget *networkAccessTechnologyWidget = nullptr; + SignalStrengthWidgetBase *signalWidget = nullptr; Image *lock; gui::SIM *sim = nullptr; BatteryWidgetBase *batteryWidget = nullptr; diff --git a/module-gui/gui/widgets/TopBar/BatteryWidgetBase.cpp b/module-gui/gui/widgets/TopBar/BatteryWidgetBase.cpp index 4cb6e7e5994015a49284bc4417dd4b2f011a9d21..6cbe8f2d514909e49cb4384a4cc465ccfce5e705 100644 --- a/module-gui/gui/widgets/TopBar/BatteryWidgetBase.cpp +++ b/module-gui/gui/widgets/TopBar/BatteryWidgetBase.cpp @@ -7,31 +7,25 @@ namespace gui { BatteryWidgetBase::BatteryWidgetBase(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h) - : HBox(parent, x, y, w, h) + : StatusBarWidgetBase(parent, x, y, w, h) { setBorderColor(gui::ColorNoColor); } - void BatteryWidgetBase::show(const Store::Battery batteryContext, bool shown) + void BatteryWidgetBase::update(const Store::Battery &batteryContext) { - if (shown) { - setVisible(true); - switch (batteryContext.state) { - case Store::Battery::State::Discharging: - [[fallthrough]]; - case Store::Battery::State::PluggedNotCharging: - showBatteryLevel(batteryContext.level); - break; - case Store::Battery::State::Charging: - showBatteryCharging(); - break; - case Store::Battery::State::ChargingDone: - showBatteryChargingDone(); - break; - } - } - else { - setVisible(false); + switch (batteryContext.state) { + case Store::Battery::State::Discharging: + [[fallthrough]]; + case Store::Battery::State::PluggedNotCharging: + showBatteryLevel(batteryContext.level); + break; + case Store::Battery::State::Charging: + showBatteryCharging(); + break; + case Store::Battery::State::ChargingDone: + showBatteryChargingDone(); + break; } } } // namespace gui diff --git a/module-gui/gui/widgets/TopBar/BatteryWidgetBase.hpp b/module-gui/gui/widgets/TopBar/BatteryWidgetBase.hpp index 65f56fffc6eec170979dd3c224469fb8137f39fa..6761cf1eca47d041625b0e1c721b52c61e894599 100644 --- a/module-gui/gui/widgets/TopBar/BatteryWidgetBase.hpp +++ b/module-gui/gui/widgets/TopBar/BatteryWidgetBase.hpp @@ -3,6 +3,7 @@ #pragma once +#include "StatusBarWidgetBase.hpp" #include "BoxLayout.hpp" #include @@ -10,7 +11,7 @@ namespace gui { class HBox; - class BatteryWidgetBase : public HBox + class BatteryWidgetBase : public StatusBarWidgetBase { virtual void showBatteryLevel(std::uint32_t percentage) = 0; virtual void showBatteryChargingDone() = 0; @@ -18,6 +19,6 @@ namespace gui public: BatteryWidgetBase(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h); - void show(const Store::Battery batteryContext, bool shown); + void update(const Store::Battery &batteryContext); }; } // namespace gui diff --git a/module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.cpp b/module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.cpp new file mode 100644 index 0000000000000000000000000000000000000000..be444a4b2a82f9abe8273731154d2eeb20b5a8b5 --- /dev/null +++ b/module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.cpp @@ -0,0 +1,45 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#include "NetworkAccessTechnologyWidget.hpp" +#include "Item.hpp" + +namespace gui +{ + NetworkAccessTechnologyWidget::NetworkAccessTechnologyWidget( + Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h) + : StatusBarWidgetBase(parent, x, y, w, h) + { + setFilled(false); + setBorderColor(gui::ColorNoColor); + setFont(style::header::font::modes); + setAlignment(gui::Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Center)); + } + + void NetworkAccessTechnologyWidget::update(const Store::Network::AccessTechnology accessTechnology) + { + _accessTechnology = accessTechnology; + constexpr auto text2g = "2G"; + constexpr auto text3g = "3G"; + constexpr auto textLte = "LTE"; + + switch (accessTechnology) { + case Store::Network::AccessTechnology::Gsm: + case Store::Network::AccessTechnology::GsmWEgprs: + setText(text2g); + break; + case Store::Network::AccessTechnology::Utran: + case Store::Network::AccessTechnology::UtranWHsdpa: + case Store::Network::AccessTechnology::UtranWHsupa: + case Store::Network::AccessTechnology::UtranWHsdpaAndWHsupa: + setText(text3g); + break; + case Store::Network::AccessTechnology::EUtran: + setText(textLte); + break; + case Store::Network::AccessTechnology::Unknown: + setText(""); + break; + } + } +} // namespace gui diff --git a/module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.hpp b/module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.hpp new file mode 100644 index 0000000000000000000000000000000000000000..aac717b3d59595b1f8b71997e8cdd3f86fd274c6 --- /dev/null +++ b/module-gui/gui/widgets/TopBar/NetworkAccessTechnologyWidget.hpp @@ -0,0 +1,20 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#pragma once + +#include "StatusBarWidgetBase.hpp" +#include +#include + +namespace gui +{ + class NetworkAccessTechnologyWidget : public StatusBarWidgetBase