A art/phone/application_desktop/topbar/signal/signal0.png => art/phone/application_desktop/topbar/signal/signal0.png +0 -0
A art/phone/application_desktop/topbar/signal/signal0_roaming.png => art/phone/application_desktop/topbar/signal/signal0_roaming.png +0 -0
A art/phone/application_desktop/topbar/signal/signal1.png => art/phone/application_desktop/topbar/signal/signal1.png +0 -0
A art/phone/application_desktop/topbar/signal/signal1_roaming.png => art/phone/application_desktop/topbar/signal/signal1_roaming.png +0 -0
A art/phone/application_desktop/topbar/signal/signal2.png => art/phone/application_desktop/topbar/signal/signal2.png +0 -0
A art/phone/application_desktop/topbar/signal/signal2_roaming.png => art/phone/application_desktop/topbar/signal/signal2_roaming.png +0 -0
A art/phone/application_desktop/topbar/signal/signal3.png => art/phone/application_desktop/topbar/signal/signal3.png +0 -0
A art/phone/application_desktop/topbar/signal/signal3_roaming.png => art/phone/application_desktop/topbar/signal/signal3_roaming.png +0 -0
A art/phone/application_desktop/topbar/signal/signal4.png => art/phone/application_desktop/topbar/signal/signal4.png +0 -0
A art/phone/application_desktop/topbar/signal/signal4_roaming.png => art/phone/application_desktop/topbar/signal/signal4_roaming.png +0 -0
A art/phone/application_desktop/topbar/signal/signal_noconn.png => art/phone/application_desktop/topbar/signal/signal_noconn.png +0 -0
M image/assets/images/signal0.vpi => image/assets/images/signal0.vpi +0 -0
A image/assets/images/signal0_roaming.vpi => image/assets/images/signal0_roaming.vpi +0 -0
M image/assets/images/signal1.vpi => image/assets/images/signal1.vpi +0 -0
A image/assets/images/signal1_roaming.vpi => image/assets/images/signal1_roaming.vpi +0 -0
M image/assets/images/signal2.vpi => image/assets/images/signal2.vpi +0 -0
A image/assets/images/signal2_roaming.vpi => image/assets/images/signal2_roaming.vpi +0 -0
M image/assets/images/signal3.vpi => image/assets/images/signal3.vpi +0 -0
A image/assets/images/signal3_roaming.vpi => image/assets/images/signal3_roaming.vpi +0 -0
M image/assets/images/signal4.vpi => image/assets/images/signal4.vpi +0 -0
A image/assets/images/signal4_roaming.vpi => image/assets/images/signal4_roaming.vpi +0 -0
A image/assets/images/signal_noconn.vpi => image/assets/images/signal_noconn.vpi +0 -0
M module-gui/gui/widgets/StatusBar.cpp => module-gui/gui/widgets/StatusBar.cpp +3 -2
@@ 245,8 245,9 @@ namespace gui::status_bar
void StatusBar::showSignalStrength(bool enabled)
{
- auto signalStrength = Store::GSM::get()->getSignalStrength();
- signal->update(signalStrength);
+ const auto signalStrength = Store::GSM::get()->getSignalStrength();
+ const auto networkStatus = Store::GSM::get()->getNetwork().status;
+ signal->update(signalStrength, networkStatus);
enabled ? signal->show() : signal->hide();
}
M module-gui/gui/widgets/status-bar/SignalStrengthBar.cpp => module-gui/gui/widgets/status-bar/SignalStrengthBar.cpp +31 -10
@@ 10,32 10,53 @@ namespace gui::status_bar
{
namespace
{
+ constexpr auto signal_none = "signal_noconn";
+
constexpr auto signal0 = "signal0";
constexpr auto signal1 = "signal1";
constexpr auto signal2 = "signal2";
constexpr auto signal3 = "signal3";
constexpr auto signal4 = "signal4";
- constexpr auto signal5 = "signal5";
+
+ constexpr auto signal0_roaming = "signal0_roaming";
+ constexpr auto signal1_roaming = "signal1_roaming";
+ constexpr auto signal2_roaming = "signal2_roaming";
+ constexpr auto signal3_roaming = "signal3_roaming";
+ constexpr auto signal4_roaming = "signal4_roaming";
using SignalMap = std::unordered_map<Store::RssiBar, std::string>;
- const SignalMap signalMap = {{Store::RssiBar::zero, signal0},
- {Store::RssiBar::one, signal1},
- {Store::RssiBar::two, signal2},
- {Store::RssiBar::three, signal3},
- {Store::RssiBar::four, signal4},
- {Store::RssiBar::five, signal5}};
+
+ const SignalMap signalMapHomeCon = {{Store::RssiBar::zero, signal0},
+ {Store::RssiBar::one, signal1},
+ {Store::RssiBar::two, signal2},
+ {Store::RssiBar::three, signal3},
+ {Store::RssiBar::four, signal4}};
+
+ const SignalMap signalMapRoaming = {{Store::RssiBar::zero, signal0_roaming},
+ {Store::RssiBar::one, signal1_roaming},
+ {Store::RssiBar::two, signal2_roaming},
+ {Store::RssiBar::three, signal3_roaming},
+ {Store::RssiBar::four, signal4_roaming}};
} // namespace
SignalStrengthBar::SignalStrengthBar(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h)
: SignalStrengthBase(parent, x, y, w, h)
{
- img = new Image(this, signalMap.at(Store::RssiBar::zero));
+ img = new Image(this, signal_none);
setMinimumSize(img->getWidth(), style::header::status_bar::height);
}
- void SignalStrengthBar::update()
+ void SignalStrengthBar::update(const Store::SignalStrength &signal, const Store::Network::Status &status)
{
- img->set(signalMap.at(signalStrength.rssiBar));
+ if (status == Store::Network::Status::RegisteredRoaming) {
+ img->set(signalMapRoaming.at(signal.rssiBar));
+ }
+ else if (status == Store::Network::Status::RegisteredHomeNetwork) {
+ img->set(signalMapHomeCon.at(signal.rssiBar));
+ }
+ else {
+ img->set(signal_none);
+ }
}
} // namespace gui::status_bar
M module-gui/gui/widgets/status-bar/SignalStrengthBar.hpp => module-gui/gui/widgets/status-bar/SignalStrengthBar.hpp +4 -5
@@ 13,12 13,11 @@ namespace gui::status_bar
{
class SignalStrengthBar : public SignalStrengthBase
{
- Image *img = nullptr;
-
- protected:
- void update() override;
-
public:
SignalStrengthBar(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h);
+ void update(const Store::SignalStrength &signal, const Store::Network::Status &status) override;
+
+ private:
+ Image *img = nullptr;
};
} // namespace gui::status_bar
M module-gui/gui/widgets/status-bar/SignalStrengthBase.cpp => module-gui/gui/widgets/status-bar/SignalStrengthBase.cpp +0 -6
@@ 11,10 11,4 @@ namespace gui::status_bar
setEdges(RectangleEdge::None);
setAlignment(Alignment(Alignment::Horizontal::Left, Alignment::Vertical::Bottom));
}
-
- void SignalStrengthBase::update(const Store::SignalStrength &data)
- {
- signalStrength = data;
- update();
- }
} // namespace gui::status_bar
M module-gui/gui/widgets/status-bar/SignalStrengthBase.hpp => module-gui/gui/widgets/status-bar/SignalStrengthBase.hpp +1 -5
@@ 11,12 11,8 @@ namespace gui::status_bar
{
class SignalStrengthBase : public StatusBarWidgetBase<HBox>
{
- protected:
- Store::SignalStrength signalStrength;
- virtual void update() = 0;
-
public:
SignalStrengthBase(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h);
- void update(const Store::SignalStrength &data);
+ virtual void update(const Store::SignalStrength &signal, const Store::Network::Status &status) = 0;
};
} // namespace gui::status_bar
M module-gui/gui/widgets/status-bar/SignalStrengthText.cpp => module-gui/gui/widgets/status-bar/SignalStrengthText.cpp +3 -2
@@ 22,9 22,10 @@ namespace gui::status_bar
label->setMaximumSize(style::header::status_bar::signal::maxX, style::header::status_bar::height);
}
- void SignalStrengthText::update()
+ void SignalStrengthText::update(const Store::SignalStrength &signal,
+ [[maybe_unused]] const Store::Network::Status &status)
{
- label->setText(utils::to_string(signalStrength.rssidBm) + " dBm");
+ label->setText(utils::to_string(signal.rssidBm) + " dBm");
}
} // namespace gui::status_bar
M module-gui/gui/widgets/status-bar/SignalStrengthText.hpp => module-gui/gui/widgets/status-bar/SignalStrengthText.hpp +6 -6
@@ 9,17 9,17 @@ namespace gui
{
class Label;
}
+
namespace gui::status_bar
{
class SignalStrengthText : public SignalStrengthBase
{
- private:
- Label *label = nullptr;
-
- protected:
- void update() override;
-
public:
SignalStrengthText(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h);
+ void update(const Store::SignalStrength &signal,
+ [[maybe_unused]] const Store::Network::Status &status) override;
+
+ private:
+ Label *label = nullptr;
};
} // namespace gui::status_bar