// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "OnBoardingSimSelectWindow.hpp" #include #include #include #include namespace gui { OnBoardingSimSelectWindow::OnBoardingSimSelectWindow(app::Application *app, std::string name) : BaseSettingsWindow(app, std::move(name)) { buildInterface(); } void OnBoardingSimSelectWindow::buildInterface() { setTitle(utils::translate("app_onboarding_select_sim")); bottomBar->setText(gui::BottomBar::Side::CENTER, utils::translate(::style::strings::common::select)); bottomBar->setText(gui::BottomBar::Side::RIGHT, utils::translate(::style::strings::common::back)); bottomBar->setText(gui::BottomBar::Side::LEFT, utils::translate(::style::strings::common::skip)); descriptionText = new gui::Text(this, style::window::default_left_margin, style::onboarding::sim_select::description_y, style::window::default_body_width, style::onboarding::sim_select::description_h); descriptionText->setFont(style::window::font::medium); descriptionText->setAlignment( gui::Alignment{gui::Alignment::Horizontal::Center, gui::Alignment::Vertical::Top}); descriptionText->setEdges(RectangleEdge::Top); descriptionText->setPenWidth(style::window::default_border_rect_no_focus); descriptionText->setPadding(Padding(0, style::onboarding::sim_select::description_top_padding, 0, 0)); descriptionText->setRichText(utils::translate("app_onboarding_select_sim_description")); } void OnBoardingSimSelectWindow::onBeforeShow(ShowMode mode, SwitchData *data) { refreshOptionsList(); } auto OnBoardingSimSelectWindow::buildOptionsList() -> std::list { std::list options; options.emplace_back(std::make_unique( "SIM1", [=](const gui::Item &item) { application->getPhoneLockSubject().setPhoneLock(); return true; }, nullptr, this, gui::option::SettingRightItem::SIM1)); options.emplace_back(std::make_unique( "SIM2", [=](const gui::Item &item) { application->getPhoneLockSubject().setPhoneLock(); return true; }, nullptr, this, gui::option::SettingRightItem::SIM2)); return options; } bool OnBoardingSimSelectWindow::onInput(const gui::InputEvent &inputEvent) { if (inputEvent.isShortRelease(gui::KeyCode::KEY_LF)) { auto metaData = std::make_unique(gui::DialogMetadata{ utils::translate("app_onboarding_title"), "info_icon_W_G", utils::translate("app_onboarding_skip_confirm"), "", [=]() -> bool { auto metaData = std::make_unique( gui::DialogMetadata{utils::translate("app_onboarding_no_sim_selected_title"), "sim_card_W_G", utils::translate("app_onboarding_no_sim_selected_description"), "", [=]() -> bool { return true; }}); application->switchWindow(gui::window::name::onBoarding_no_sim_selected, gui::ShowMode::GUI_SHOW_INIT, std::move(metaData)); return true; }}); application->switchWindow( gui::window::name::onBoarding_skip, gui::ShowMode::GUI_SHOW_INIT, std::move(metaData)); return true; } return AppWindow::onInput(inputEvent); } } /* namespace gui */