M module-apps/application-onboarding/ApplicationOnBoarding.cpp => module-apps/application-onboarding/ApplicationOnBoarding.cpp +14 -1
@@ 13,12 13,14 @@
#include "windows/NoConfigurationDialogWindow.hpp"
#include "windows/UpdateDialogWindow.hpp"
#include "windows/SkipDialogWindow.hpp"
+#include "windows/OnBoardingDateAndTimeWindow.hpp"
+#include "windows/OnBoardingChangeDateAndTimeWindow.hpp"
#include <service-db/DBMessage.hpp>
#include <module-services/service-appmgr/service-appmgr/messages/GetCurrentDisplayLanguageResponse.hpp>
#include <module-apps/application-settings-new/data/LanguagesData.hpp>
#include <module-services/service-db/agents/settings/SystemSettings.hpp>
-#include <module-apps/windows/Dialog.hpp>
+#include <module-apps/application-settings-new/windows/ChangeTimeZone.hpp>
namespace app
{
@@ 125,6 127,17 @@ namespace app
windowsFactory.attach(gui::window::name::onBoarding_skip, [](Application *app, const std::string &name) {
return std::make_unique<app::onBoarding::SkipDialogWindow>(app);
});
+ windowsFactory.attach(gui::window::name::onBoarding_date_and_time,
+ [](Application *app, const std::string &name) {
+ return std::make_unique<app::onBoarding::OnBoardingDateAndTimeWindow>(app);
+ });
+ windowsFactory.attach(gui::window::name::onBoarding_change_date_and_time,
+ [](Application *app, const std::string &name) {
+ return std::make_unique<gui::OnBoardingChangeDateAndTimeWindow>(app);
+ });
+ windowsFactory.attach(gui::window::name::change_time_zone, [](Application *app, const std::string &name) {
+ return std::make_unique<gui::ChangeTimeZone>(app);
+ });
attachPopups({gui::popup::ID::Volume, gui::popup::ID::PhoneModes});
}
M module-apps/application-onboarding/ApplicationOnBoarding.hpp => module-apps/application-onboarding/ApplicationOnBoarding.hpp +2 -0
@@ 14,6 14,8 @@ namespace gui::window::name
inline constexpr auto onBoarding_no_configuration = "OnBoardingNoConfiguration";
inline constexpr auto onBoarding_update = "OnBoardingUpdate";
inline constexpr auto onBoarding_skip = "OnBoardingSkipConfirm";
+ inline constexpr auto onBoarding_date_and_time = "OnBoardingDateAndTime";
+ inline constexpr auto onBoarding_change_date_and_time = "OnBoardingChangeDateAndTime";
} // namespace gui::window::name
namespace app
M module-apps/application-onboarding/CMakeLists.txt => module-apps/application-onboarding/CMakeLists.txt +3 -0
@@ 22,6 22,8 @@ target_sources(${PROJECT_NAME}
"${CMAKE_CURRENT_LIST_DIR}/windows/NoConfigurationDialogWindow.cpp"
"${CMAKE_CURRENT_LIST_DIR}/windows/UpdateDialogWindow.cpp"
"${CMAKE_CURRENT_LIST_DIR}/windows/SkipDialogWindow.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingDateAndTimeWindow.cpp"
+ "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingChangeDateAndTimeWindow.cpp"
PUBLIC
"${CMAKE_CURRENT_LIST_DIR}/ApplicationOnBoarding.hpp"
"${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingMainWindow.hpp"
@@ 35,6 37,7 @@ target_sources(${PROJECT_NAME}
"${CMAKE_CURRENT_LIST_DIR}/windows/NoConfigurationDialogWindow.hpp"
"${CMAKE_CURRENT_LIST_DIR}/windows/UpdateDialogWindow.hpp"
"${CMAKE_CURRENT_LIST_DIR}/windows/SkipDialogWindow.hpp"
+ "${CMAKE_CURRENT_LIST_DIR}/windows/OnBoardingDateAndTimeWindow.hpp"
)
target_include_directories(${PROJECT_NAME}
A module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.cpp => module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.cpp +25 -0
@@ 0,0 1,25 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#include "OnBoardingChangeDateAndTimeWindow.hpp"
+#include <module-apps/application-onboarding/ApplicationOnBoarding.hpp>
+#include <InputEvent.hpp>
+
+namespace gui
+{
+ OnBoardingChangeDateAndTimeWindow::OnBoardingChangeDateAndTimeWindow(app::Application *app)
+ : ChangeDateAndTimeWindow(app, gui::window::name::onBoarding_change_date_and_time)
+ {}
+
+ bool OnBoardingChangeDateAndTimeWindow::onInput(const gui::InputEvent &inputEvent)
+ {
+ if (inputEvent.is(gui::KeyCode::KEY_ENTER)) {
+ auto ret = ChangeDateAndTimeWindow::onInput(inputEvent);
+ application->returnToPreviousWindow();
+ return ret;
+ }
+
+ return ChangeDateAndTimeWindow::onInput(inputEvent);
+ }
+
+} /* namespace gui */
A module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.hpp => module-apps/application-onboarding/windows/OnBoardingChangeDateAndTimeWindow.hpp +18 -0
@@ 0,0 1,18 @@
+// 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 <application-settings-new/windows/ChangeDateAndTimeWindow.hpp>
+#include <application-settings-new/models/DateAndTimeModel.hpp>
+
+namespace gui
+{
+ class OnBoardingChangeDateAndTimeWindow : public ChangeDateAndTimeWindow
+ {
+ public:
+ explicit OnBoardingChangeDateAndTimeWindow(app::Application *app);
+
+ bool onInput(const InputEvent &inputEvent) override;
+ };
+} /* namespace gui */
A module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.cpp => module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.cpp +67 -0
@@ 0,0 1,67 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#include "application-onboarding/ApplicationOnBoarding.hpp"
+#include "OnBoardingDateAndTimeWindow.hpp"
+#include "ConfigurationSuccessfulDialogWindow.hpp"
+#include <module-gui/gui/input/InputEvent.hpp>
+#include <module-apps/application-onboarding/data/OnBoardingSwitchData.hpp>
+#include <module-apps/messages/DialogMetadataMessage.hpp>
+
+namespace app::onBoarding
+{
+ OnBoardingDateAndTimeWindow::OnBoardingDateAndTimeWindow(app::Application *app) : DateAndTimeMainWindow(app)
+ {}
+
+ OnBoardingDateAndTimeWindow::~OnBoardingDateAndTimeWindow()
+ {
+ clearOptions();
+ }
+
+ void OnBoardingDateAndTimeWindow::onBeforeShow(gui::ShowMode mode, gui::SwitchData *data)
+ {
+ DateAndTimeMainWindow::onBeforeShow(mode, data);
+
+ bottomBar->setText(gui::BottomBar::Side::CENTER, utils::localize.get(style::strings::common::save));
+ bottomBar->setText(gui::BottomBar::Side::LEFT, utils::localize.get(style::strings::common::Switch));
+ bottomBar->setText(gui::BottomBar::Side::RIGHT, utils::localize.get(style::strings::common::back));
+ }
+
+ bool OnBoardingDateAndTimeWindow::onInput(const gui::InputEvent &inputEvent)
+ {
+ if (inputEvent.isShortPress() && inputEvent.is(gui::KeyCode::KEY_RF)) {
+ return AppWindow::onInput(inputEvent);
+ }
+ else if (inputEvent.isShortPress() && inputEvent.is(gui::KeyCode::KEY_LF)) {
+ return getFocusItem()->onActivated(nullptr);
+ }
+ else if (inputEvent.isShortPress() && inputEvent.is(gui::KeyCode::KEY_ENTER)) {
+ auto metaData = std::make_unique<gui::DialogMetadataMessage>(
+ gui::DialogMetadata{utils::localize.get("app_onboarding_title_configuration"),
+ "success_icon_W_G",
+ utils::localize.get("app_onboarding_configuration_successful"),
+ "",
+ [=]() -> bool { return true; }});
+ application->switchWindow(gui::window::name::onBoarding_configuration_successful,
+ gui::ShowMode::GUI_SHOW_INIT,
+ std::move(metaData));
+ return true;
+ }
+ else {
+ return DateAndTimeMainWindow::onInput(inputEvent);
+ }
+ }
+
+ bool OnBoardingDateAndTimeWindow::bottomBarCallback(gui::Item &item)
+ {
+ setBottomBarText(utils::localize.get(style::strings::common::save), gui::BottomBar::Side::CENTER);
+
+ if (item.focus) {
+ setBottomBarText(utils::localize.get(style::strings::common::Switch), gui::BottomBar::Side::LEFT);
+ }
+ else {
+ setBottomBarText(utils::localize.get(style::strings::common::select), gui::BottomBar::Side::LEFT);
+ }
+ return true;
+ }
+} // namespace app::onBoarding
A module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.hpp => module-apps/application-onboarding/windows/OnBoardingDateAndTimeWindow.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 <module-apps/application-settings-new/windows/DateAndTimeMainWindow.hpp>
+
+namespace app::onBoarding
+{
+ class OnBoardingDateAndTimeWindow : public gui::DateAndTimeMainWindow
+ {
+ public:
+ explicit OnBoardingDateAndTimeWindow(app::Application *app);
+ ~OnBoardingDateAndTimeWindow();
+
+ protected:
+ bool bottomBarCallback(Item &item) override;
+
+ private:
+ void onBeforeShow(gui::ShowMode mode, gui::SwitchData *data) override;
+ bool onInput(const gui::InputEvent &inputEvent) override;
+ };
+} // namespace app::onBoarding
M module-apps/application-onboarding/windows/StartConfigurationWindow.cpp => module-apps/application-onboarding/windows/StartConfigurationWindow.cpp +2 -8
@@ 51,15 51,9 @@ namespace app::onBoarding
std::make_unique<OnBoardingSwitchData>());
}
if (inputEvent.is(gui::KeyCode::KEY_ENTER)) {
- auto metaData = std::make_unique<gui::DialogMetadataMessage>(
- gui::DialogMetadata{utils::localize.get("app_onboarding_title_configuration"),
- "success_icon_W_G",
- utils::localize.get("app_onboarding_configuration_successful"),
- "",
- [=]() -> bool { return true; }});
- application->switchWindow(gui::window::name::onBoarding_configuration_successful,
+ application->switchWindow(gui::window::name::onBoarding_date_and_time,
gui::ShowMode::GUI_SHOW_INIT,
- std::move(metaData));
+ std::make_unique<OnBoardingSwitchData>());
}
if (inputEvent.is(gui::KeyCode::KEY_LF)) {
M module-apps/application-settings-new/windows/ChangeDateAndTimeWindow.cpp => module-apps/application-settings-new/windows/ChangeDateAndTimeWindow.cpp +2 -3
@@ 11,9 11,8 @@
namespace gui
{
- ChangeDateAndTimeWindow::ChangeDateAndTimeWindow(app::Application *app)
- : AppWindow(app, gui::window::name::change_date_and_time), dateAndTimeModel{std::make_shared<DateAndTimeModel>(
- this->application)}
+ ChangeDateAndTimeWindow::ChangeDateAndTimeWindow(app::Application *app, std::string name)
+ : AppWindow(app, name), dateAndTimeModel{std::make_shared<DateAndTimeModel>(this->application)}
{
buildInterface();
}
M module-apps/application-settings-new/windows/ChangeDateAndTimeWindow.hpp => module-apps/application-settings-new/windows/ChangeDateAndTimeWindow.hpp +3 -1
@@ 4,6 4,7 @@
#pragma once
#include <AppWindow.hpp>
+#include <application-settings-new/ApplicationSettings.hpp>
#include "application-settings-new/models/DateAndTimeModel.hpp"
namespace gui
@@ 12,7 13,8 @@ namespace gui
class ChangeDateAndTimeWindow : public AppWindow
{
public:
- explicit ChangeDateAndTimeWindow(app::Application *app);
+ explicit ChangeDateAndTimeWindow(app::Application *app,
+ std::string name = gui::window::name::change_date_and_time);
void buildInterface() override;
bool onInput(const InputEvent &inputEvent) override;
M module-apps/application-settings-new/windows/DateAndTimeMainWindow.cpp => module-apps/application-settings-new/windows/DateAndTimeMainWindow.cpp +12 -11
@@ 35,17 35,7 @@ namespace gui
optionList.emplace_back(std::make_unique<option::OptionSettings>(
text,
activatedCallback,
- [=](Item &item) {
- if (item.focus) {
- this->setBottomBarText(utils::localize.get(style::strings::common::Switch),
- BottomBar::Side::CENTER);
- }
- else {
- this->setBottomBarText(utils::localize.get(style::strings::common::select),
- BottomBar::Side::CENTER);
- }
- return true;
- },
+ [=](Item &item) { return bottomBarCallback(item); },
nullptr,
rightItem,
false,
@@ 116,4 106,15 @@ namespace gui
return optionList;
}
+
+ bool DateAndTimeMainWindow::bottomBarCallback(Item &item)
+ {
+ if (item.focus) {
+ setBottomBarText(utils::localize.get(style::strings::common::Switch), BottomBar::Side::CENTER);
+ }
+ else {
+ setBottomBarText(utils::localize.get(style::strings::common::select), BottomBar::Side::CENTER);
+ }
+ return true;
+ }
} // namespace gui
M module-apps/application-settings-new/windows/DateAndTimeMainWindow.hpp => module-apps/application-settings-new/windows/DateAndTimeMainWindow.hpp +5 -3
@@ 13,11 13,13 @@ namespace gui
public:
explicit DateAndTimeMainWindow(app::Application *app);
- private:
+ protected:
auto buildOptionsList() -> std::list<Option> override;
+ virtual bool bottomBarCallback(Item &item);
+
+ bool automaticDateAndTimeIsOn = false;
+ bool automaticTimeZoneIsOn = false;
- bool automaticDateAndTimeIsOn = false;
- bool automaticTimeZoneIsOn = false;
utils::time::Locale::TimeFormat timeFormat = utils::time::Locale::defaultTimeFormat;
utils::time::Locale::DateFormat dateFormat = utils::time::Locale::defaultDateFormat;
};
M module-bsp/board/rt1051/bsp/usb => module-bsp/board/rt1051/bsp/usb +1 -1
@@ 1,1 1,1 @@
-Subproject commit 07460ac1a8e2f6234d2492c842e22b28e4363d84
+Subproject commit 4381632145feb752622397d1f04b8064b1e96811