// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "InformationWindow.hpp" #include #include #include namespace gui { InformationWindow::InformationWindow(app::ApplicationCommon *app) : AppWindow(app, gui::window::name::information) { buildInterface(); } void InformationWindow::buildInterface() { AppWindow::buildInterface(); bottomBar->setActive(BottomBar::Side::RIGHT, true); bottomBar->setText(BottomBar::Side::RIGHT, utils::translate(style::strings::common::back)); setTitle(gui::window::name::information); box = new gui::VBox(this, 0, style::window::default_vertical_pos, style::window_width, style::window_height); box->setPenWidth(style::window::default_border_no_focus_w); addAlignedLabelWithValue(box, "GIT revision:", std::string(GIT_REV)); addAlignedLabelWithValue(box, "GIT branch:", std::string(GIT_BRANCH)); addAlignedLabelWithValue(box, "Version:", std::string(VERSION)); { addAlignedLabelWithValue(box, "Bootloader:", utils::translate("not available")); } std::string firmwareVersion; CellularServiceAPI::GetFirmwareVersion(getApplication(), firmwareVersion); addAlignedLabelWithValue( box, "Modem Frimware:", (firmwareVersion.empty() ? utils::translate("not available") : firmwareVersion)); } void InformationWindow::addAlignedLabelWithValue(BoxLayout *layout, const std::string &labelText, const std::string &valueText) { auto lineBox = new gui::VBox(layout, 0, 0, style::window_width, style::window::label::small_h * 2); lineBox->setEdges(RectangleEdge::Bottom); auto label = new gui::Label(lineBox, 0, 0, 0, 0); label->setMinimumHeight(style::window::label::small_h); label->setMaximumWidth(style::window_width); label->setEdges(RectangleEdge::None); label->setMargins(gui::Margins(style::window::default_left_margin, 0, 0, 0)); label->setText(labelText); label->setFont(style::window::font::smallbold); auto value = new gui::Label(lineBox, 0, 0, 0, 0); value->setMinimumHeight(style::window::label::small_h); value->setMaximumWidth(style::window_width); value->setEdges(RectangleEdge::None); value->setMargins(gui::Margins(0, 0, style::window::default_right_margin, 0)); value->setAlignment(gui::Alignment::Horizontal::Right); value->setText(valueText); value->setFont(style::window::font::small); lineBox->resizeItems(); LOG_DEBUG("%s:%s", labelText.c_str(), valueText.c_str()); } } // namespace gui