/* * Copyright (c) 2021, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #include "SettingsDialog.h" #include #include #include #include SettingsDialog::SettingsDialog(GUI::Window* parent, ByteString player_name) : GUI::Dialog(parent) , m_player_name(move(player_name)) { set_rect({ 0, 0, 250, 75 }); set_title("Settings"); set_icon(parent->icon()); set_resizable(false); auto main_widget = set_main_widget(); main_widget->set_fill_with_background_color(true); main_widget->set_layout(4); auto& name_box = main_widget->add(); name_box.set_layout(GUI::Margins {}, 4); auto& name_label = name_box.add("Name:"_string); name_label.set_text_alignment(Gfx::TextAlignment::CenterLeft); auto& textbox = name_box.add(); textbox.set_text(m_player_name); textbox.on_change = [&] { m_player_name = textbox.text(); }; auto& button_box = main_widget->add(); button_box.set_layout(GUI::Margins {}, 12); button_box.add("Cancel"_string).on_click = [this](auto) { done(ExecResult::Cancel); }; button_box.add("OK"_string).on_click = [this](auto) { done(ExecResult::OK); }; }