~aleteoryx/muditaos

ref: eda92600a7df852e18bdb44388966248a4af3c77 muditaos/module-gui/gui/widgets/status-bar/SignalStrengthText.cpp -rw-r--r-- 1.5 KiB
eda92600 — Maciej Gibowicz [BH-2095] Add quote interval setting 10 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md

#include "SignalStrengthText.hpp"
#include "Label.hpp"
#include <EventStore.hpp>
#include <Utils.hpp>
#include "Style.hpp"

namespace gui::status_bar
{
    SignalStrengthText::SignalStrengthText(
        Item *parent, std::uint32_t x, std::uint32_t y, std::uint32_t w, std::uint32_t h)
        : SignalStrengthBase(parent, x, y, w, h)
    {
        label = new Label(this, 0, 0, 0, 0);
        label->setFilled(false);
        label->setBorderColor(gui::ColorNoColor);
        label->setFont(style::status_bar::signal::font);
        label->setAlignment(gui::Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Bottom));

        setMinimumSize(style::status_bar::signal::maxX, style::status_bar::height);
        label->setMaximumSize(style::status_bar::signal::maxX, style::status_bar::height);
    }

    bool SignalStrengthText::update(const Store::SignalStrength &signal,
                                    [[maybe_unused]] const Store::Network::Status &status,
                                    [[maybe_unused]] const Store::Tethering &tethering)
    {
        /* Skip update if nothing has changed */
        if (currentRssidBm == signal.rssidBm) {
            return false;
        }

        label->setText(utils::to_string(signal.rssidBm) + " dBm");
        currentRssidBm = signal.rssidBm;
        return true;
    }
} // namespace gui::status_bar