// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "ApnOptionsWindow.hpp" #include #include #include namespace gui { ApnOptionsWindow::ApnOptionsWindow(app::ApplicationCommon *app) : BaseSettingsWindow(app, window::name::apn_options) { setTitle(utils::translate("common_options_title")); apnSettingsModel = new ApnSettingsModel(application); } auto ApnOptionsWindow::buildOptionsList() -> std::list { std::list optionsList; optionsList.emplace_back(std::make_unique( utils::translate("app_settings_apn_options_edit"), [=](gui::Item &item) { std::unique_ptr data = std::make_unique(apn); data->ignoreCurrentWindowOnStack = true; application->switchWindow(gui::window::name::new_apn, gui::ShowMode::GUI_SHOW_INIT, std::move(data)); return true; }, nullptr, this)); optionsList.emplace_back(std::make_unique( utils::translate("app_settings_apn_options_delete"), [=](gui::Item &item) { apnSettingsModel->removeAPN(apn); application->returnToPreviousWindow(); return true; }, nullptr, this)); optionsList.emplace_back(std::make_unique( utils::translate("app_settings_apn_options_set_as_default"), [=](gui::Item &item) { apnSettingsModel->setAsDefaultAPN(apn); application->returnToPreviousWindow(); return true; }, nullptr, this)); return optionsList; } auto ApnOptionsWindow::handleSwitchData(SwitchData *data) -> bool { if (data == nullptr) { return false; } auto item = dynamic_cast(data); if (item == nullptr) { return false; } apn = item->getApn(); if (apn == nullptr) { apn = std::make_shared(); return true; } return true; } } // namespace gui