// 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 "OnBoardingDateAndTimeWindow.hpp" #include "ConfigurationSuccessfulDialogWindow.hpp" #include #include #include #include #include
#include #include namespace app::onBoarding { OnBoardingDateAndTimeWindow::OnBoardingDateAndTimeWindow(app::ApplicationCommon *app) : DateAndTimeMainWindow(app, gui::window::name::onBoarding_date_and_time) { changeDateAndTimeWindow = gui::window::name::onBoarding_change_date_and_time; } OnBoardingDateAndTimeWindow::~OnBoardingDateAndTimeWindow() { clearOptions(); } void OnBoardingDateAndTimeWindow::onBeforeShow(gui::ShowMode mode, gui::SwitchData *data) { DateAndTimeMainWindow::onBeforeShow(mode, data); if (Store::GSM::get()->simCardInserted()) { header->navigationIndicatorAdd(new gui::header::IceAction(), gui::header::BoxSelection::Left); } } bool OnBoardingDateAndTimeWindow::onInput(const gui::InputEvent &inputEvent) { if (inputEvent.isShortRelease(gui::KeyCode::KEY_LF)) { return getFocusItem()->onActivated(nullptr); } else if (inputEvent.isShortRelease(gui::KeyCode::KEY_ENTER)) { auto metaData = std::make_unique( gui::DialogMetadata{utils::translate("app_onboarding_title_configuration"), "success_128px_W_G", utils::translate("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 if (inputEvent.isShortRelease(gui::KeyCode::KEY_LEFT) && Store::GSM::get()->simCardInserted()) { app::manager::Controller::sendAction(application, app::manager::actions::EmergencyDial, std::make_unique(), app::manager::OnSwitchBehaviour::RunInBackground); return true; } else { return DateAndTimeMainWindow::onInput(inputEvent); } } bool OnBoardingDateAndTimeWindow::navBarCallback(gui::Item &item) { setNavBarText(utils::translate(style::strings::common::save), gui::nav_bar::Side::Center); if (item.focus) { setNavBarText(utils::translate(style::strings::common::Switch), gui::nav_bar::Side::Left); } else { setNavBarText(utils::translate(style::strings::common::select), gui::nav_bar::Side::Left); } return true; } } // namespace app::onBoarding