// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "InputEvent.hpp" #include "gui/widgets/BottomBar.hpp" #include "gui/widgets/TopBar.hpp" #include "log/log.hpp" // module-utils #include #include "PowerOffWindow.hpp" // services #include #include #include "service-cellular/ServiceCellular.hpp" #include #include #include namespace gui { PowerOffWindow::PowerOffWindow(app::Application *app, std::unique_ptr &&presenter) : DialogYesNo(app, app::window::name::desktop_poweroff), presenter(std::move(presenter)) { topBar->configure(std::move(configureTopBar(application->getTopBarConfiguration()))); } top_bar::Configuration PowerOffWindow::configureTopBar(top_bar::Configuration appConfiguration) { appConfiguration.enable(top_bar::Indicator::Time); appConfiguration.disable(top_bar::Indicator::Lock); appConfiguration.disable(top_bar::Indicator::Battery); appConfiguration.disable(top_bar::Indicator::NetworkAccessTechnology); appConfiguration.disable(top_bar::Indicator::Signal); appConfiguration.disable(top_bar::Indicator::SimCard); return appConfiguration; } void PowerOffWindow::onBeforeShow(ShowMode mode, SwitchData *data) { DialogMetadata metadata; metadata.action = [=]() -> bool { LOG_INFO("User call close system"); presenter->powerOff(); return true; }; metadata.title = utils::localize.get("app_desktop_poweroff_title"); metadata.text = utils::localize.get("app_desktop_poweroff_question"); metadata.icon = "turn_off_W_G"; auto msg = std::make_unique(std::move(metadata)); DialogYesNo::onBeforeShow(mode, msg.get()); } } /* namespace gui */