M module-apps/application-onboarding/ApplicationOnBoarding.cpp => module-apps/application-onboarding/ApplicationOnBoarding.cpp +2 -2
@@ 19,9 19,9 @@
#include "windows/OnBoardingChangeDateAndTimeWindow.hpp"
#include <module-services/service-appmgr/service-appmgr/messages/GetCurrentDisplayLanguageResponse.hpp>
-#include <module-apps/application-settings/data/LanguagesData.hpp>
+#include <application-settings/data/LanguagesData.hpp>
+#include <application-settings/windows/system/ChangeTimeZone.hpp>
#include <module-services/service-db/agents/settings/SystemSettings.hpp>
-#include <module-apps/application-settings/windows/ChangeTimeZone.hpp>
#include <apps-common/locks/data/PhoneLockMessages.hpp>
#include <apps-common/locks/data/SimLockMessages.hpp>
#include <service-appmgr/service-appmgr/model/ApplicationManager.hpp>
M module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.hpp => module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.hpp +2 -2
@@ 3,8 3,8 @@
#pragma once
-#include <application-settings/windows/ChangeDateAndTimeWindow.hpp>
-#include <application-settings/models/DateAndTimeModel.hpp>
+#include <application-settings/windows/system/ChangeDateAndTimeWindow.hpp>
+#include <application-settings/models/system/DateAndTimeModel.hpp>
namespace app::onBoarding
{
M module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.hpp => module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.hpp +1 -1
@@ 3,7 3,7 @@
#pragma once
-#include <module-apps/application-settings/windows/DateAndTimeMainWindow.hpp>
+#include <application-settings/windows/system/DateAndTimeMainWindow.hpp>
namespace app::onBoarding
{
M module-apps/application-onboarding/windows/OnBoardingLanguagesWindow.hpp => module-apps/application-onboarding/windows/OnBoardingLanguagesWindow.hpp +1 -1
@@ 3,7 3,7 @@
#pragma once
-#include <module-apps/application-settings/windows/LanguagesWindow.hpp>
+#include <application-settings/windows/system/LanguagesWindow.hpp>
namespace app::onBoarding
{
M module-apps/application-settings/ApplicationSettings.cpp => module-apps/application-settings/ApplicationSettings.cpp +26 -27
@@ 42,15 42,14 @@
#include <application-settings/windows/apps/SoundSelectWindow.hpp>
#include <application-settings/windows/security/SecurityMainWindow.hpp>
#include <application-settings/windows/security/AutolockWindow.hpp>
-#include <application-settings/windows/SARInfoWindow.hpp>
-#include <application-settings/windows/SystemMainWindow.hpp>
-#include <application-settings/windows/LanguagesWindow.hpp>
-#include <application-settings/windows/DateAndTimeMainWindow.hpp>
-#include <application-settings/windows/ChangeTimeZone.hpp>
-#include <application-settings/windows/ChangeDateAndTimeWindow.hpp>
-#include <application-settings/windows/AboutYourPureWindow.hpp>
-#include <application-settings/windows/CertificationWindow.hpp>
-#include <application-settings/windows/TechnicalInformationWindow.hpp>
+#include <application-settings/windows/system/SystemMainWindow.hpp>
+#include <application-settings/windows/system/LanguagesWindow.hpp>
+#include <application-settings/windows/system/DateAndTimeMainWindow.hpp>
+#include <application-settings/windows/system/ChangeTimeZone.hpp>
+#include <application-settings/windows/system/ChangeDateAndTimeWindow.hpp>
+#include <application-settings/windows/system/TechnicalInformationWindow.hpp>
+#include <application-settings/windows/system/CertificationWindow.hpp>
+#include <application-settings/windows/system/SARInfoWindow.hpp>
#include <application-settings/data/ApnListData.hpp>
#include <application-settings/data/BondedDevicesData.hpp>
#include <application-settings/data/BluetoothStatusData.hpp>
@@ 473,12 472,7 @@ namespace app
return std::make_unique<gui::AutolockWindow>(app, static_cast<ApplicationSettings *>(app));
});
- windowsFactory.attach(gui::window::name::dialog_settings, [](Application *app, const std::string &name) {
- return std::make_unique<gui::Dialog>(app, name);
- });
- windowsFactory.attach(gui::window::name::dialog_confirm, [](Application *app, const std::string &name) {
- return std::make_unique<gui::DialogConfirm>(app, gui::window::name::dialog_confirm);
- });
+ // System
windowsFactory.attach(gui::window::name::system, [](Application *app, const std::string &name) {
return std::make_unique<gui::SystemMainWindow>(app);
});
@@ 488,30 482,35 @@ namespace app
windowsFactory.attach(gui::window::name::date_and_time, [](Application *app, const std::string &name) {
return std::make_unique<gui::DateAndTimeMainWindow>(app, gui::window::name::date_and_time);
});
- windowsFactory.attach(gui::window::name::about_your_pure, [](Application *app, const std::string &name) {
- return std::make_unique<gui::AboutYourPureWindow>(app);
- });
- windowsFactory.attach(gui::window::name::factory_reset, [](Application *app, const std::string &name) {
- return std::make_unique<gui::DialogYesNo>(app, name);
+ windowsFactory.attach(gui::window::name::change_time_zone, [](Application *app, const std::string &name) {
+ return std::make_unique<gui::ChangeTimeZone>(app);
});
- windowsFactory.attach(gui::window::name::certification, [](Application *app, const std::string &name) {
- return std::make_unique<gui::CertificationWindow>(app);
+ windowsFactory.attach(gui::window::name::change_date_and_time, [](Application *app, const std::string &name) {
+ return std::make_unique<gui::ChangeDateAndTimeWindow>(app);
});
windowsFactory.attach(gui::window::name::technical_information, [&](Application *app, const std::string &name) {
auto factoryData = std::make_unique<FactoryData>(*settings);
- auto presenter = std::make_unique<TechnicalWindowPresenter>(std::move(factoryData));
+ auto model = std::make_unique<TechnicalInformationModel>(std::move(factoryData));
+ auto presenter = std::make_unique<TechnicalWindowPresenter>(std::move(model));
return std::make_unique<gui::TechnicalInformationWindow>(app, std::move(presenter));
});
+ windowsFactory.attach(gui::window::name::certification, [](Application *app, const std::string &name) {
+ return std::make_unique<gui::CertificationWindow>(app);
+ });
windowsFactory.attach(gui::window::name::sar, [&](Application *app, const std::string &name) {
auto sarInfoRepository = std::make_unique<SARInfoRepository>("assets/certification_info", "sar.txt");
auto presenter = std::make_unique<SARInfoWindowPresenter>(std::move(sarInfoRepository));
return std::make_unique<gui::SARInfoWindow>(app, std::move(presenter));
});
- windowsFactory.attach(gui::window::name::change_time_zone, [](Application *app, const std::string &name) {
- return std::make_unique<gui::ChangeTimeZone>(app);
+ windowsFactory.attach(gui::window::name::factory_reset, [](Application *app, const std::string &name) {
+ return std::make_unique<gui::DialogYesNo>(app, name);
});
- windowsFactory.attach(gui::window::name::change_date_and_time, [](Application *app, const std::string &name) {
- return std::make_unique<gui::ChangeDateAndTimeWindow>(app);
+
+ windowsFactory.attach(gui::window::name::dialog_settings, [](Application *app, const std::string &name) {
+ return std::make_unique<gui::Dialog>(app, name);
+ });
+ windowsFactory.attach(gui::window::name::dialog_confirm, [](Application *app, const std::string &name) {
+ return std::make_unique<gui::DialogConfirm>(app, gui::window::name::dialog_confirm);
});
windowsFactory.attach(gui::window::name::dialog_retry, [](Application *app, const std::string &name) {
return std::make_unique<gui::DialogRetry>(app, name);
M module-apps/application-settings/CMakeLists.txt => module-apps/application-settings/CMakeLists.txt +28 -28
@@ 23,21 23,25 @@ target_sources( ${PROJECT_NAME}
models/display-keypad/CategoriesModel.cpp
models/apps/AudioSettingsModel.cpp
models/apps/SoundsModel.cpp
- models/DateAndTimeModel.cpp
- models/SARInfoRepository.cpp
- models/FactoryData.cpp
- presenter/SARInfoWindowPresenter.cpp
- presenter/TechnicalWindowPresenter.cpp
+ models/system/DateAndTimeModel.cpp
+ models/system/SARInfoRepository.cpp
+ models/system/FactoryData.cpp
+ models/system/TechnicalInformationModel.cpp
+ presenter/system/SARInfoWindowPresenter.cpp
+ presenter/system/TechnicalWindowPresenter.cpp
+ widgets/SpinBoxOptionSettings.cpp
widgets/advanced/ColorTestListItem.cpp
widgets/advanced/ColorTestListView.cpp
widgets/network/ApnInputWidget.cpp
widgets/display-keypad/QuoteWidget.cpp
widgets/display-keypad/CategoryWidget.cpp
widgets/apps/SettingsSoundItem.cpp
- widgets/SettingsDateItem.cpp
- widgets/SettingsTimeItem.cpp
- widgets/SpinBoxOptionSettings.cpp
+ widgets/system/SettingsDateItem.cpp
+ widgets/system/SettingsTimeItem.cpp
+ widgets/system/TechnicalInformationItem.cpp
windows/SettingsMainWindow.cpp
+ windows/BaseSettingsWindow.cpp
+ windows/OptionsWidgetMaker.cpp
windows/advanced/AdvancedOptionsWindow.cpp
windows/advanced/InformationWindow.cpp
windows/advanced/UITestWindow.cpp
@@ 76,28 80,26 @@ target_sources( ${PROJECT_NAME}
windows/apps/SoundSelectWindow.cpp
windows/security/SecurityMainWindow.cpp
windows/security/AutolockWindow.cpp
- windows/BaseSettingsWindow.cpp
- windows/OptionsWidgetMaker.cpp
- windows/SARInfoWindow.cpp
- windows/SystemMainWindow.cpp
- windows/LanguagesWindow.cpp
- windows/DateAndTimeMainWindow.cpp
- windows/ChangeTimeZone.cpp
- windows/ChangeDateAndTimeWindow.cpp
- windows/AboutYourPureWindow.cpp
- windows/CertificationWindow.cpp
- windows/TechnicalInformationWindow.cpp
+ windows/system/SystemMainWindow.cpp
+ windows/system/LanguagesWindow.cpp
+ windows/system/DateAndTimeMainWindow.cpp
+ windows/system/ChangeTimeZone.cpp
+ windows/system/ChangeDateAndTimeWindow.cpp
+ windows/system/SARInfoWindow.cpp
+ windows/system/CertificationWindow.cpp
+ windows/system/TechnicalInformationWindow.cpp
PUBLIC
ApplicationSettings.hpp
models/advanced/ColorTestModel.hpp
+ widgets/SettingsStyle.hpp
widgets/advanced/ColorTestListItem.hpp
widgets/advanced/ColorTestListItem.hpp
widgets/advanced/ColorTestListStyle.hpp
widgets/network/ApnInputWidget.hpp
widgets/display-keypad/CategoryWidget.hpp
- widgets/SettingsStyle.hpp
windows/SettingsMainWindow.hpp
+ windows/BaseSettingsWindow.hpp
windows/WindowNames.hpp
windows/advanced/AdvancedOptionsWindow.hpp
windows/advanced/InformationWindow.hpp
@@ 117,14 119,12 @@ target_sources( ${PROJECT_NAME}
windows/apps/AppsWindow.hpp
windows/apps/MessagesWindow.hpp
windows/security/AutolockWindow.hpp
- windows/BaseSettingsWindow.hpp
- windows/SystemMainWindow.hpp
- windows/LanguagesWindow.hpp
- windows/DateAndTimeMainWindow.hpp
- windows/ChangeDateAndTimeWindow.hpp
- windows/AboutYourPureWindow.hpp
- windows/CertificationWindow.hpp
- windows/TechnicalInformationWindow.hpp
+ windows/system/SystemMainWindow.hpp
+ windows/system/LanguagesWindow.hpp
+ windows/system/DateAndTimeMainWindow.hpp
+ windows/system/ChangeDateAndTimeWindow.hpp
+ windows/system/CertificationWindow.hpp
+ windows/system/TechnicalInformationWindow.hpp
)
add_dependencies(${PROJECT_NAME} version)
R module-apps/application-settings/models/DateAndTimeModel.cpp => module-apps/application-settings/models/system/DateAndTimeModel.cpp +4 -3
@@ 1,11 1,12 @@
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-#include <application-settings/widgets/SettingsDateItem.hpp>
-#include <application-settings/widgets/SettingsTimeItem.hpp>
#include "DateAndTimeModel.hpp"
+
+#include <application-settings/widgets/system/SettingsDateItem.hpp>
+#include <application-settings/widgets/system/SettingsTimeItem.hpp>
+#include <widgets/DateAndTimeStyle.hpp>
#include <ListView.hpp>
-#include <apps-common/widgets/DateAndTimeStyle.hpp>
DateAndTimeModel::DateAndTimeModel(app::Application *application) : app(application)
{}
R module-apps/application-settings/models/DateAndTimeModel.hpp => module-apps/application-settings/models/system/DateAndTimeModel.hpp +3 -3
@@ 3,10 3,10 @@
#pragma once
-#include "Application.hpp"
-#include "InternalModel.hpp"
-#include <ListItemProvider.hpp>
#include <widgets/DateOrTimeListItem.hpp>
+#include <Application.hpp>
+#include <InternalModel.hpp>
+#include <ListItemProvider.hpp>
namespace gui
{
R module-apps/application-settings/models/FactoryData.cpp => module-apps/application-settings/models/system/FactoryData.cpp +0 -0
R module-apps/application-settings/models/FactoryData.hpp => module-apps/application-settings/models/system/FactoryData.hpp +0 -0
R module-apps/application-settings/models/SARInfoRepository.cpp => module-apps/application-settings/models/system/SARInfoRepository.cpp +0 -2
@@ 3,9 3,7 @@
#include "SARInfoRepository.hpp"
-#include <gsl/util>
#include <i18n/i18n.hpp>
-
#include <fstream>
SARInfoRepository::SARInfoRepository(std::filesystem::path certificationInfoPath, std::filesystem::path fileName)
R module-apps/application-settings/models/SARInfoRepository.hpp => module-apps/application-settings/models/system/SARInfoRepository.hpp +0 -0
A module-apps/application-settings/models/system/TechnicalInformationModel.cpp => module-apps/application-settings/models/system/TechnicalInformationModel.cpp +72 -0
@@ 0,0 1,72 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#include "TechnicalInformationModel.hpp"
+
+#include <application-settings/widgets/system/TechnicalInformationItem.hpp>
+#include <application-settings/widgets/SettingsStyle.hpp>
+#include <ListView.hpp>
+#include <source/version.hpp>
+#include <i18n/i18n.hpp>
+
+TechnicalInformationModel::TechnicalInformationModel(std::unique_ptr<AbstractFactoryData> &&factoryData)
+ : factoryData{std::move(factoryData)}
+{
+ createData();
+}
+
+auto TechnicalInformationModel::requestRecordsCount() -> unsigned int
+{
+ return internalData.size();
+}
+
+auto TechnicalInformationModel::getMinimalItemHeight() const -> unsigned int
+{
+ return style::technical_info::height + 2 * style::margins::big;
+}
+
+void TechnicalInformationModel::requestRecords(const uint32_t offset, const uint32_t limit)
+{
+ setupModel(offset, limit);
+ list->onProviderDataUpdate();
+}
+
+auto TechnicalInformationModel::getItem(gui::Order order) -> gui::ListItem *
+{
+ return getRecord(order);
+}
+
+void TechnicalInformationModel::createData()
+{
+ internalData.push_back(
+ new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_model"), factoryData->getModel()));
+
+ internalData.push_back(new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_serial_number"),
+ factoryData->getSerial()));
+
+ internalData.push_back(
+ new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_os_version"), std::string(VERSION)));
+
+ internalData.push_back(new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_imei"), imei));
+
+#if DEVELOPER_SETTINGS_OPTIONS == 1
+ internalData.push_back(new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_battery"),
+ factoryData->getBatteryRev()));
+
+ internalData.push_back(new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_pcb_mb"),
+ factoryData->getPcb("mb")));
+
+ internalData.push_back(new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_pcb_lm"),
+ factoryData->getPcb("lm")));
+
+ internalData.push_back(new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_pcb_am"),
+ factoryData->getPcb("am")));
+
+ internalData.push_back(new gui::TechnicalInformationItem(utils::translate("app_settings_tech_info_pcb_um"),
+ factoryData->getPcb("um")));
+#endif // DEVELOPER_SETTINGS_OPTIONS
+
+ for (auto item : internalData) {
+ item->deleteByList = false;
+ }
+}
A module-apps/application-settings/models/system/TechnicalInformationModel.hpp => module-apps/application-settings/models/system/TechnicalInformationModel.hpp +27 -0
@@ 0,0 1,27 @@
+// 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 "FactoryData.hpp"
+
+#include <InternalModel.hpp>
+#include <ListItemProvider.hpp>
+
+class TechnicalInformationModel : public app::InternalModel<gui::ListItem *>, public gui::ListItemProvider
+{
+ private:
+ static constexpr auto imei = "AA-BBBBBB-CCCCC-D";
+
+ std::unique_ptr<AbstractFactoryData> factoryData;
+
+ public:
+ explicit TechnicalInformationModel(std::unique_ptr<AbstractFactoryData> &&factoryData);
+
+ void createData();
+
+ [[nodiscard]] auto requestRecordsCount() -> unsigned int override;
+ [[nodiscard]] auto getMinimalItemHeight() const -> unsigned int override;
+ auto getItem(gui::Order order) -> gui::ListItem * override;
+ void requestRecords(const uint32_t offset, const uint32_t limit) override;
+};
D module-apps/application-settings/presenter/TechnicalWindowPresenter.cpp => module-apps/application-settings/presenter/TechnicalWindowPresenter.cpp +0 -29
@@ 1,29 0,0 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
-// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-
-#include "TechnicalWindowPresenter.hpp"
-
-TechnicalWindowPresenter::TechnicalWindowPresenter(std::unique_ptr<AbstractFactoryData> &&factoryData)
- : factoryData{std::move(factoryData)}
-{}
-
-auto TechnicalWindowPresenter::getModel() -> std::string
-{
- return factoryData->getModel();
-}
-auto TechnicalWindowPresenter::getCase() -> std::string
-{
- return factoryData->getCase();
-}
-auto TechnicalWindowPresenter::getSerial() -> std::string
-{
- return factoryData->getSerial();
-}
-auto TechnicalWindowPresenter::getBatteryRev() -> std::string
-{
- return factoryData->getBatteryRev();
-}
-auto TechnicalWindowPresenter::getPcb(std::string type) -> std::string
-{
- return factoryData->getPcb(type);
-}>
\ No newline at end of file
R module-apps/application-settings/presenter/SARInfoWindowPresenter.cpp => module-apps/application-settings/presenter/system/SARInfoWindowPresenter.cpp +0 -0
R module-apps/application-settings/presenter/SARInfoWindowPresenter.hpp => module-apps/application-settings/presenter/system/SARInfoWindowPresenter.hpp +2 -2
@@ 3,8 3,8 @@
#pragma once
-#include "application-settings/models/SARInfoRepository.hpp"
-#include "BasePresenter.hpp"
+#include <application-settings/models/system/SARInfoRepository.hpp>
+#include <BasePresenter.hpp>
class SARInfoWindowContract
{
A module-apps/application-settings/presenter/system/TechnicalWindowPresenter.cpp => module-apps/application-settings/presenter/system/TechnicalWindowPresenter.cpp +13 -0
@@ 0,0 1,13 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#include "TechnicalWindowPresenter.hpp"
+
+TechnicalWindowPresenter::TechnicalWindowPresenter(std::shared_ptr<gui::ListItemProvider> technicalInformationProvider)
+ : technicalInformationProvider{std::move(technicalInformationProvider)}
+{}
+
+std::shared_ptr<gui::ListItemProvider> TechnicalWindowPresenter::getTechnicalInformationProvider() const
+{
+ return technicalInformationProvider;
+}
R module-apps/application-settings/presenter/TechnicalWindowPresenter.hpp => module-apps/application-settings/presenter/system/TechnicalWindowPresenter.hpp +7 -20
@@ 3,8 3,8 @@
#pragma once
-#include "application-settings/models/FactoryData.hpp"
-#include "BasePresenter.hpp"
+#include <BasePresenter.hpp>
+#include <ListItemProvider.hpp>
class TechnicalWindowContract
{
@@ 17,32 17,19 @@ class TechnicalWindowContract
class Presenter : public app::BasePresenter<TechnicalWindowContract::View>
{
public:
- virtual ~Presenter() noexcept override = default;
+ virtual ~Presenter() noexcept = default;
- virtual auto getModel() -> std::string = 0;
- virtual auto getCase() -> std::string = 0;
- virtual auto getSerial() -> std::string = 0;
- virtual auto getBatteryRev() -> std::string = 0;
- virtual auto getPcb(std::string type) -> std::string = 0;
+ virtual std::shared_ptr<gui::ListItemProvider> getTechnicalInformationProvider() const = 0;
};
};
class TechnicalWindowPresenter : public TechnicalWindowContract::Presenter
{
public:
- static constexpr auto PCB_LM = "lm";
- static constexpr auto PCB_AM = "am";
- static constexpr auto PCB_MB = "mb";
- static constexpr auto PCB_UM = "um";
+ explicit TechnicalWindowPresenter(std::shared_ptr<gui::ListItemProvider> technicalInformationProvider);
- explicit TechnicalWindowPresenter(std::unique_ptr<AbstractFactoryData> &&factoryData);
-
- auto getModel() -> std::string override;
- auto getCase() -> std::string override;
- auto getSerial() -> std::string override;
- auto getBatteryRev() -> std::string override;
- auto getPcb(std::string type) -> std::string override;
+ std::shared_ptr<gui::ListItemProvider> getTechnicalInformationProvider() const override;
private:
- std::unique_ptr<AbstractFactoryData> factoryData;
+ std::shared_ptr<gui::ListItemProvider> technicalInformationProvider;
};
M module-apps/application-settings/widgets/SettingsStyle.hpp => module-apps/application-settings/widgets/SettingsStyle.hpp +6 -29
@@ 42,31 42,6 @@ namespace style
namespace window
{
- namespace languageChange
- {
- inline constexpr auto options_posX = 17;
- inline constexpr auto options_posY = 100;
- inline constexpr auto options_distance_between = 60;
- } // namespace languageChange
-
- namespace torch
- {
- inline constexpr auto body_offset = 155;
-
- inline constexpr auto bar_y = 396;
- inline constexpr auto bar_h = 1;
-
- inline constexpr auto description_y = 425;
- inline constexpr auto description_h = 100;
- } // namespace torch
-
- namespace nightshift
- {
- inline constexpr auto body_offset = style::window::default_vertical_pos + 16;
-
- inline constexpr auto separator_h = 55;
- } // namespace nightshift
-
namespace newApn
{
inline constexpr uint32_t x = style::window::default_left_margin;
@@ 215,9 190,11 @@ namespace style
} // namespace certification
- namespace techinfo
+ namespace technical_info
{
- inline constexpr auto width = 400;
- inline constexpr auto height = 30;
- } // namespace techinfo
+ inline constexpr auto width = style::window::default_body_width;
+ inline constexpr auto height = 60;
+ inline constexpr auto title_height = 27;
+ inline constexpr auto value_height = 33;
+ } // namespace technical_info
} // namespace style
R module-apps/application-settings/widgets/SettingsDateItem.cpp => module-apps/application-settings/widgets/system/SettingsDateItem.cpp +4 -3
@@ 2,9 2,10 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "SettingsDateItem.hpp"
-#include <apps-common/widgets/DateAndTimeStyle.hpp>
-#include <apps-common/widgets/WidgetsUtils.hpp>
-#include <module-gui/gui/input/InputEvent.hpp>
+
+#include <widgets/DateAndTimeStyle.hpp>
+#include <widgets/WidgetsUtils.hpp>
+#include <InputEvent.hpp>
namespace date_and_time = style::window::date_and_time;
R module-apps/application-settings/widgets/SettingsDateItem.hpp => module-apps/application-settings/widgets/system/SettingsDateItem.hpp +1 -1
@@ 3,7 3,7 @@
#pragma once
-#include <apps-common/widgets/DateWidget.hpp>
+#include <widgets/DateWidget.hpp>
#include <widgets/DateOrTimeListItem.hpp>
namespace gui
R module-apps/application-settings/widgets/SettingsTimeItem.cpp => module-apps/application-settings/widgets/system/SettingsTimeItem.cpp +3 -2
@@ 3,8 3,9 @@
#include "SettingsDateItem.hpp"
#include "SettingsTimeItem.hpp"
-#include <apps-common/widgets/DateAndTimeStyle.hpp>
-#include <apps-common/widgets/WidgetsUtils.hpp>
+
+#include <widgets/DateAndTimeStyle.hpp>
+#include <widgets/WidgetsUtils.hpp>
namespace date_and_time = style::window::date_and_time;
R module-apps/application-settings/widgets/SettingsTimeItem.hpp => module-apps/application-settings/widgets/system/SettingsTimeItem.hpp +0 -0
A module-apps/application-settings/widgets/system/TechnicalInformationItem.cpp => module-apps/application-settings/widgets/system/TechnicalInformationItem.cpp +36 -0
@@ 0,0 1,36 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#include "TechnicalInformationItem.hpp"
+
+#include <application-settings/widgets/SettingsStyle.hpp>
+
+namespace gui
+{
+ TechnicalInformationItem::TechnicalInformationItem(const std::string &titleText, const std::string &valueText)
+ {
+ setMinimumSize(style::technical_info::width, style::technical_info::height);
+ setMargins(Margins(0, style::margins::big, 0, style::margins::big));
+ activeItem = false;
+
+ body = new VBox(this, 0, 0, 0, 0);
+ body->setEdges(RectangleEdge::None);
+
+ title = new gui::Text(body, 0, 0, 0, 0);
+ title->setMinimumSize(style::technical_info::width, style::technical_info::title_height);
+ title->setFont(style::window::font::small);
+ title->setAlignment(Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Top));
+ title->setText(titleText);
+
+ value = new gui::Text(body, 0, 0, 0, 0);
+ value->setMinimumSize(style::technical_info::width, style::technical_info::value_height);
+ value->setAlignment(Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Bottom));
+ value->setFont(style::window::font::medium);
+ value->setText(valueText);
+
+ dimensionChangedCallback = [&]([[maybe_unused]] gui::Item &item, const BoundingBox &newDim) -> bool {
+ body->setArea({0, 0, newDim.w, newDim.h});
+ return true;
+ };
+ }
+} /* namespace gui */
A module-apps/application-settings/widgets/system/TechnicalInformationItem.hpp => module-apps/application-settings/widgets/system/TechnicalInformationItem.hpp +23 -0
@@ 0,0 1,23 @@
+// 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 <ListItem.hpp>
+#include <Text.hpp>
+#include <BoxLayout.hpp>
+
+namespace gui
+{
+ class TechnicalInformationItem : public ListItem
+ {
+ public:
+ TechnicalInformationItem(const std::string &title, const std::string &value);
+
+ private:
+ VBox *body = nullptr;
+ Text *title = nullptr;
+ Text *value = nullptr;
+ };
+
+} /* namespace gui */
D module-apps/application-settings/windows/AboutYourPureWindow.cpp => module-apps/application-settings/windows/AboutYourPureWindow.cpp +0 -38
@@ 1,38 0,0 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
-// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-
-#include "application-settings/ApplicationSettings.hpp"
-#include "OptionSetting.hpp"
-#include "AboutYourPureWindow.hpp"
-
-namespace gui
-{
- AboutYourPureWindow::AboutYourPureWindow(app::Application *app)
- : BaseSettingsWindow(app, window::name::about_your_pure)
- {
- setTitle(utils::translate("app_settings_about_your_pure"));
- }
-
- auto AboutYourPureWindow::buildOptionsList() -> std::list<Option>
- {
- std::list<Option> optionList;
- auto addOption = [&](UTF8 name, const std::string &window) {
- optionList.emplace_back(std::make_unique<option::OptionSettings>(
- utils::translate(name),
- [=](Item &item) {
- LOG_INFO("switching to %s page", window.c_str());
- application->switchWindow(window, nullptr);
- return true;
- },
- nullptr,
- nullptr,
- option::SettingRightItem::ArrowWhite));
- };
-
- addOption("app_settings_technical_information", gui::window::name::technical_information);
- addOption("app_settings_certification", gui::window::name::certification);
- addOption("app_settings_sar", gui::window::name::sar);
-
- return optionList;
- }
-} // namespace gui
D module-apps/application-settings/windows/TechnicalInformationWindow.cpp => module-apps/application-settings/windows/TechnicalInformationWindow.cpp +0 -108
@@ 1,108 0,0 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
-// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-
-#include "TechnicalInformationWindow.hpp"
-#include <application-settings/ApplicationSettings.hpp>
-#include <widgets/Text.hpp>
-#include <application-settings/widgets/SettingsStyle.hpp>
-#include <source/version.hpp>
-
-namespace gui
-{
-
- TechnicalInformationWindow::TechnicalInformationWindow(
- app::Application *app, std::unique_ptr<TechnicalWindowContract::Presenter> technicalPresenter)
- : AppWindow(app, gui::window::name::certification), presenter(std::move(technicalPresenter))
- {
- presenter->attach(this);
- buildInterface();
- }
-
- void TechnicalInformationWindow::buildInterface()
- {
- AppWindow::buildInterface();
-
- setTitle(utils::translate("app_settings_technical_information"));
-
- auto vBox = new VBox(this,
- style::window::default_left_margin,
- style::window::default_vertical_pos + style::margins::very_big,
- style::window::default_body_width,
- style::window::default_body_height);
- vBox->setEdges(RectangleEdge::None);
-
- modelText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- modelText->setText(utils::translate("app_settings_tech_info_model"));
- modelText->setFont(style::window::font::smallbold);
- modelValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- modelValue->setText(presenter->getModel());
-
- serialNumberText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- serialNumberText->setFont(style::window::font::smallbold);
- serialNumberText->setText(utils::translate("app_settings_tech_info_serial_number"));
- serialNumberValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- serialNumberValue->setText(presenter->getSerial());
-
- osVersionText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- osVersionText->setFont(style::window::font::smallbold);
- osVersionText->setText(utils::translate("app_settings_tech_info_os_version"));
- osVersionValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- osVersionValue->setText(std::string(VERSION));
-
- imeiText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- imeiText->setFont(style::window::font::smallbold);
- imeiText->setText(utils::translate("app_settings_tech_info_imei"));
- imeiValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- imeiValue->setText(imei);
-
- batteryText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- batteryText->setFont(style::window::font::smallbold);
- batteryText->setText(utils::translate("app_settings_tech_info_battery"));
- batteryValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- batteryValue->setText(presenter->getBatteryRev());
-
- pcbMbText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbMbText->setText(utils::translate("app_settings_tech_info_pcb_mb"));
- pcbMbText->setFont(style::window::font::smallbold);
- pcbMbValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbMbValue->setText(presenter->getPcb(TechnicalWindowPresenter::PCB_MB));
-
- pcbLmText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbLmText->setFont(style::window::font::smallbold);
- pcbLmText->setText(utils::translate("app_settings_tech_info_pcb_lm"));
- pcbLmValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbLmValue->setText(presenter->getPcb(TechnicalWindowPresenter::PCB_LM));
-
- pcbAmText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbAmText->setFont(style::window::font::smallbold);
- pcbAmText->setText(utils::translate("app_settings_tech_info_pcb_am"));
- pcbAmValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbAmValue->setText(presenter->getPcb(TechnicalWindowPresenter::PCB_AM));
-
- pcbUmText = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbUmText->setFont(style::window::font::smallbold);
- pcbUmText->setText(utils::translate("app_settings_tech_info_pcb_um"));
- pcbUmValue = new gui::Text(vBox, 0, 0, style::techinfo::width, style::techinfo::height);
- pcbUmValue->setText(presenter->getPcb(TechnicalWindowPresenter::PCB_UM));
-
- bottomBar->setText(BottomBar::Side::RIGHT, utils::translate(style::strings::common::back));
- }
-
- void TechnicalInformationWindow::destroyInterface()
- {
- erase();
- modelText = nullptr;
- modelValue = nullptr;
- serialNumberText = nullptr;
- serialNumberValue = nullptr;
- osVersionText = nullptr;
- osVersionValue = nullptr;
- imeiText = nullptr;
- imeiValue = nullptr;
- };
-
- TechnicalInformationWindow::~TechnicalInformationWindow()
- {
- destroyInterface();
- }
-} // namespace gui
D module-apps/application-settings/windows/TechnicalInformationWindow.hpp => module-apps/application-settings/windows/TechnicalInformationWindow.hpp +0 -56
@@ 1,56 0,0 @@
-// 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 "BaseSettingsWindow.hpp"
-#include <module-apps/application-settings/ApplicationSettings.hpp>
-#include <module-apps/application-settings/presenter/TechnicalWindowPresenter.hpp>
-
-namespace gui
-{
- class TechnicalInformationWindow : public AppWindow, public TechnicalWindowContract::View
- {
- static constexpr auto imei = "AA-BBBBBB-CCCCC-D";
-
- public:
- TechnicalInformationWindow(app::Application *app,
- std::unique_ptr<TechnicalWindowContract::Presenter> presenter);
- ~TechnicalInformationWindow() override;
-
- void destroyInterface() override;
-
- private:
- void buildInterface() override;
-
- gui::Text *modelText = nullptr;
- gui::Text *modelValue = nullptr;
-
- gui::Text *serialNumberText = nullptr;
- gui::Text *serialNumberValue = nullptr;
-
- gui::Text *osVersionText = nullptr;
- gui::Text *osVersionValue = nullptr;
-
- gui::Text *imeiText = nullptr;
- gui::Text *imeiValue = nullptr;
-
- gui::Text *batteryText = nullptr;
- gui::Text *batteryValue = nullptr;
-
- gui::Text *pcbMbText = nullptr;
- gui::Text *pcbMbValue = nullptr;
-
- gui::Text *pcbAmText = nullptr;
- gui::Text *pcbAmValue = nullptr;
-
- gui::Text *pcbUmText = nullptr;
- gui::Text *pcbUmValue = nullptr;
-
- gui::Text *pcbLmText = nullptr;
- gui::Text *pcbLmValue = nullptr;
-
- std::unique_ptr<TechnicalWindowContract::Presenter> presenter;
- };
-
-} // namespace gui
M module-apps/application-settings/windows/WindowNames.hpp => module-apps/application-settings/windows/WindowNames.hpp +5 -9
@@ 55,20 55,16 @@ namespace gui::window::name
inline constexpr auto security = "Security";
inline constexpr auto autolock = "Autolock";
- inline constexpr auto system = "System";
- inline constexpr auto change_settings = "ChangeSettings";
- inline constexpr auto dialog_settings = "DialogSettings";
- inline constexpr auto change_passcode = "ChangePasscode";
-
+ inline constexpr auto system = "System";
inline constexpr auto languages = "Languages";
inline constexpr auto date_and_time = "DateAndTime";
- inline constexpr auto factory_reset = "FactoryReset";
+ inline constexpr auto change_date_and_time = "ChangeDateAndTime";
+ inline constexpr auto change_time_zone = "ChangeTimeZone";
inline constexpr auto about_your_pure = "AboutYourPure";
inline constexpr auto technical_information = "TechnicalInformation";
inline constexpr auto certification = "Certification";
inline constexpr auto sar = "Sar";
+ inline constexpr auto factory_reset = "FactoryReset";
- inline constexpr auto change_date_and_time = "ChangeDateAndTime";
- inline constexpr auto change_time_zone = "ChangeTimeZone";
-
+ inline constexpr auto dialog_settings = "DialogSettings";
} // namespace gui::window::name
R module-apps/application-settings/windows/CertificationWindow.cpp => module-apps/application-settings/windows/system/CertificationWindow.cpp +4 -22
@@ 2,10 2,11 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "CertificationWindow.hpp"
-#include <application-settings/ApplicationSettings.hpp>
-#include <widgets/Text.hpp>
-#include <widgets/Image.hpp>
+
+#include <application-settings/windows/WindowNames.hpp>
#include <application-settings/widgets/SettingsStyle.hpp>
+#include <Text.hpp>
+#include <Image.hpp>
inline constexpr auto certno = "XXXXXXXXXXXXXXXXXXX";
@@ 89,23 90,4 @@ namespace gui
europeCeText->setText(utils::translate("app_settings_europe"));
europeCeValue->setText(certno);
}
-
- void CertificationWindow::destroyInterface()
- {
- erase();
- usFccIdText = nullptr;
- usFccIdValue = nullptr;
- usFccIdImage = nullptr;
- canadaIcText = nullptr;
- canadaIcValue = nullptr;
- canadaIcImage = nullptr;
- europeCeText = nullptr;
- europeCeValue = nullptr;
- europeCeImage = nullptr;
- };
-
- CertificationWindow::~CertificationWindow()
- {
- destroyInterface();
- }
} // namespace gui
R module-apps/application-settings/windows/CertificationWindow.hpp => module-apps/application-settings/windows/system/CertificationWindow.hpp +1 -3
@@ 3,7 3,7 @@
#pragma once
-#include "BaseSettingsWindow.hpp"
+#include <application-settings/windows/BaseSettingsWindow.hpp>
namespace gui
{
@@ 11,8 11,6 @@ namespace gui
{
public:
explicit CertificationWindow(app::Application *app);
- ~CertificationWindow() override;
- void destroyInterface() override;
private:
void buildInterface() override;
R module-apps/application-settings/windows/ChangeDateAndTimeWindow.cpp => module-apps/application-settings/windows/system/ChangeDateAndTimeWindow.cpp +4 -4
@@ 2,12 2,12 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "ChangeDateAndTimeWindow.hpp"
-#include <application-settings/ApplicationSettings.hpp>
-#include <gui/input/InputEvent.hpp>
-#include <ListView.hpp>
+
+#include <widgets/DateAndTimeStyle.hpp>
#include <service-time/Constants.hpp>
#include <service-time/service-time/TimeMessage.hpp>
-#include <widgets/DateAndTimeStyle.hpp>
+#include <InputEvent.hpp>
+#include <ListView.hpp>
namespace gui
{
R module-apps/application-settings/windows/ChangeDateAndTimeWindow.hpp => module-apps/application-settings/windows/system/ChangeDateAndTimeWindow.hpp +2 -2
@@ 3,9 3,9 @@
#pragma once
+#include <application-settings/windows/WindowNames.hpp>
+#include <application-settings/models/system/DateAndTimeModel.hpp>
#include <AppWindow.hpp>
-#include <application-settings/ApplicationSettings.hpp>
-#include "application-settings/models/DateAndTimeModel.hpp"
namespace gui
{
R module-apps/application-settings/windows/ChangeTimeZone.cpp => module-apps/application-settings/windows/system/ChangeTimeZone.cpp +2 -1
@@ 2,8 2,9 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "ChangeTimeZone.hpp"
-#include "OptionSetting.hpp"
+#include <application-settings/windows/WindowNames.hpp>
+#include <OptionSetting.hpp>
#include <time/TimeZone.hpp>
#include <service-time/service-time/TimeMessage.hpp>
#include <service-time/Constants.hpp>
R module-apps/application-settings/windows/ChangeTimeZone.hpp => module-apps/application-settings/windows/system/ChangeTimeZone.hpp +1 -3
@@ 3,9 3,7 @@
#pragma once
-#include "BaseSettingsWindow.hpp"
-#include <application-settings/ApplicationSettings.hpp>
-#include <Option.hpp>
+#include <application-settings/windows/BaseSettingsWindow.hpp>
namespace gui
{
R module-apps/application-settings/windows/DateAndTimeMainWindow.cpp => module-apps/application-settings/windows/system/DateAndTimeMainWindow.cpp +3 -2
@@ 1,9 1,10 @@
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-#include "application-settings/ApplicationSettings.hpp"
#include "DateAndTimeMainWindow.hpp"
-#include "OptionSetting.hpp"
+
+#include <application-settings/windows/WindowNames.hpp>
+#include <OptionSetting.hpp>
#include <service-time/service-time/TimeMessage.hpp>
#include <service-time/Constants.hpp>
#include <service-time/api/TimeSettingsApi.hpp>
R module-apps/application-settings/windows/DateAndTimeMainWindow.hpp => module-apps/application-settings/windows/system/DateAndTimeMainWindow.hpp +2 -2
@@ 3,8 3,8 @@
#pragma once
-#include "BaseSettingsWindow.hpp"
-#include "time/time_locale.hpp"
+#include <application-settings/windows/BaseSettingsWindow.hpp>
+#include <time/time_locale.hpp>
namespace gui
{
R module-apps/application-settings/windows/LanguagesWindow.cpp => module-apps/application-settings/windows/system/LanguagesWindow.cpp +4 -5
@@ 1,13 1,12 @@
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-#include "application-settings/ApplicationSettings.hpp"
-#include "application-settings/data/LanguagesData.hpp"
#include "LanguagesWindow.hpp"
-#include <utility>
-#include "OptionSetting.hpp"
-#include "service-appmgr/Controller.hpp"
+#include <application-settings/data/LanguagesData.hpp>
+
+#include <OptionSetting.hpp>
+#include <service-appmgr/Controller.hpp>
namespace gui
{
R module-apps/application-settings/windows/LanguagesWindow.hpp => module-apps/application-settings/windows/system/LanguagesWindow.hpp +2 -3
@@ 3,9 3,8 @@
#pragma once
-#include "application-settings/ApplicationSettings.hpp"
-#include "BaseSettingsWindow.hpp"
-#include <i18n/i18n.hpp>
+#include <application-settings/windows/WindowNames.hpp>
+#include <application-settings/windows/BaseSettingsWindow.hpp>
namespace gui
{
R module-apps/application-settings/windows/SARInfoWindow.cpp => module-apps/application-settings/windows/system/SARInfoWindow.cpp +4 -18
@@ 2,8 2,10 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "SARInfoWindow.hpp"
-#include "application-settings/ApplicationSettings.hpp"
-#include "application-settings/widgets/SettingsStyle.hpp"
+
+#include <application-settings/windows/WindowNames.hpp>
+#include <application-settings/widgets/SettingsStyle.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
@@ 15,22 17,6 @@ namespace gui
buildInterface();
}
- SARInfoWindow::~SARInfoWindow() noexcept
- {
- destroyInterface();
- }
-
- void SARInfoWindow::rebuild()
- {
- destroyInterface();
- buildInterface();
- }
-
- void SARInfoWindow::destroyInterface()
- {
- erase();
- }
-
void SARInfoWindow::buildInterface()
{
AppWindow::buildInterface();
R module-apps/application-settings/windows/SARInfoWindow.hpp => module-apps/application-settings/windows/system/SARInfoWindow.hpp +3 -10
@@ 3,13 3,9 @@
#pragma once
-#include "AppWindow.hpp"
-
-#include "application-settings/presenter/SARInfoWindowPresenter.hpp"
-
-#include <module-gui/gui/widgets/Label.hpp>
-#include <module-gui/gui/widgets/Text.hpp>
-#include <module-gui/gui/input/InputEvent.hpp>
+#include <application-settings/presenter/system/SARInfoWindowPresenter.hpp>
+#include <AppWindow.hpp>
+#include <Text.hpp>
namespace gui
{
@@ 18,13 14,10 @@ namespace gui
public:
explicit SARInfoWindow(app::Application *app,
std::unique_ptr<SARInfoWindowContract::Presenter> &&windowPresenter);
- ~SARInfoWindow() noexcept override;
private:
void onBeforeShow(gui::ShowMode mode, gui::SwitchData *data) override;
- void rebuild() override;
void buildInterface() override;
- void destroyInterface() override;
std::unique_ptr<SARInfoWindowContract::Presenter> presenter;
gui::Text *sarInfoText = nullptr;
R module-apps/application-settings/windows/SystemMainWindow.cpp => module-apps/application-settings/windows/system/SystemMainWindow.cpp +8 -4
@@ 1,12 1,14 @@
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-#include "application-settings/ApplicationSettings.hpp"
-#include "OptionSetting.hpp"
#include "SystemMainWindow.hpp"
-#include "DialogMetadataMessage.hpp"
+
+#include <application-settings/windows/WindowNames.hpp>
+
#include <service-desktop/DesktopMessages.hpp>
#include <service-desktop/ServiceDesktop.hpp>
+#include <OptionSetting.hpp>
+#include <DialogMetadataMessage.hpp>
namespace gui
{
@@ 53,9 55,11 @@ namespace gui
option::SettingRightItem::Disabled));
};
+ addOption("app_settings_about_your_pure", gui::window::name::technical_information);
addOption("app_settings_language", gui::window::name::languages);
addOption("app_settings_date_and_time", gui::window::name::date_and_time);
- addOption("app_settings_about_your_pure", gui::window::name::about_your_pure);
+ addOption("app_settings_certification", gui::window::name::certification);
+ addOption("app_settings_sar", gui::window::name::sar);
addFactoryResetOption("app_settings_factory_reset", gui::window::name::factory_reset);
return optionList;
R module-apps/application-settings/windows/SystemMainWindow.hpp => module-apps/application-settings/windows/system/SystemMainWindow.hpp +1 -1
@@ 3,7 3,7 @@
#pragma once
-#include "BaseSettingsWindow.hpp"
+#include <application-settings/windows/BaseSettingsWindow.hpp>
namespace gui
{
A module-apps/application-settings/windows/system/TechnicalInformationWindow.cpp => module-apps/application-settings/windows/system/TechnicalInformationWindow.cpp +37 -0
@@ 0,0 1,37 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#include "TechnicalInformationWindow.hpp"
+
+#include <application-settings/windows/WindowNames.hpp>
+
+namespace gui
+{
+ TechnicalInformationWindow::TechnicalInformationWindow(
+ app::Application *app, std::shared_ptr<TechnicalWindowContract::Presenter> technicalPresenter)
+ : AppWindow(app, gui::window::name::technical_information), presenter(std::move(technicalPresenter))
+ {
+ presenter->attach(this);
+ buildInterface();
+ }
+
+ void TechnicalInformationWindow::buildInterface()
+ {
+ AppWindow::buildInterface();
+
+ setTitle(utils::translate("app_settings_about_your_pure"));
+ bottomBar->setActive(gui::BottomBar::Side::RIGHT, true);
+ bottomBar->setText(gui::BottomBar::Side::RIGHT, utils::translate(::style::strings::common::back));
+
+ auto list = new ListView(this,
+ style::window::default_left_margin,
+ style::window::default_vertical_pos,
+ style::listview::body_width_with_scroll,
+ style::window::default_body_height,
+ presenter->getTechnicalInformationProvider(),
+ listview::ScrollBarType::Fixed);
+
+ setFocusItem(list);
+ list->rebuildList();
+ }
+} // namespace gui
R module-apps/application-settings/windows/AboutYourPureWindow.hpp => module-apps/application-settings/windows/system/TechnicalInformationWindow.hpp +11 -4
@@ 3,16 3,23 @@
#pragma once
-#include "BaseSettingsWindow.hpp"
+#include <application-settings/windows/BaseSettingsWindow.hpp>
+#include <application-settings/presenter/system/TechnicalWindowPresenter.hpp>
+#include <application-settings/models/system/TechnicalInformationModel.hpp>
namespace gui
{
- class AboutYourPureWindow : public BaseSettingsWindow
+ class TechnicalInformationWindow : public AppWindow, public TechnicalWindowContract::View
{
+
public:
- explicit AboutYourPureWindow(app::Application *app);
+ TechnicalInformationWindow(app::Application *app,
+ std::shared_ptr<TechnicalWindowContract::Presenter> presenter);
private:
- auto buildOptionsList() -> std::list<Option> override;
+ void buildInterface() override;
+
+ std::shared_ptr<TechnicalWindowContract::Presenter> presenter;
};
+
} // namespace gui
M module-apps/apps-common/options/OptionStyle.hpp => module-apps/apps-common/options/OptionStyle.hpp +1 -1
@@ 43,7 43,7 @@ namespace gui::option
inline constexpr uint32_t optionsListTopMargin = 10U;
inline constexpr uint32_t optionsListX = style::window::default_left_margin;
inline constexpr uint32_t optionsListY = style::window::default_vertical_pos + optionsListTopMargin;
- inline constexpr uint32_t optionsListW = style::window::default_body_width;
+ inline constexpr uint32_t optionsListW = style::listview::body_width_with_scroll;
inline constexpr uint32_t optionsListH = style::window::default_body_height;
} // namespace window