From 272917de284d3436e551da30fca1c9355b6572c4 Mon Sep 17 00:00:00 2001 From: cflip Date: Thu, 11 Aug 2022 00:04:51 -0600 Subject: [PATCH] PixelPaint: Allow configuration of default image size through GUI This adds a checkbox to the new image dialog that allows the user to set the default values without needing to manually edit the config file --- .../PixelPaint/CreateNewImageDialog.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Userland/Applications/PixelPaint/CreateNewImageDialog.cpp b/Userland/Applications/PixelPaint/CreateNewImageDialog.cpp index 56f9c44dc6..cb816cfa1f 100644 --- a/Userland/Applications/PixelPaint/CreateNewImageDialog.cpp +++ b/Userland/Applications/PixelPaint/CreateNewImageDialog.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -19,7 +20,7 @@ CreateNewImageDialog::CreateNewImageDialog(GUI::Window* parent_window) { set_title("Create new image"); set_icon(parent_window->icon()); - resize(200, 200); + resize(200, 220); auto& main_widget = set_main_widget(); main_widget.set_fill_with_background_color(true); @@ -47,11 +48,20 @@ CreateNewImageDialog::CreateNewImageDialog(GUI::Window* parent_window) auto& height_spinbox = main_widget.add(); + auto& set_defaults_checkbox = main_widget.add(); + set_defaults_checkbox.set_text("Use these settings as default"); + auto& button_container = main_widget.add(); button_container.set_layout(); auto& ok_button = button_container.add("OK"); - ok_button.on_click = [this](auto) { + ok_button.on_click = [&](auto) { + if (set_defaults_checkbox.is_checked()) { + Config::write_string("PixelPaint"sv, "NewImage"sv, "Name"sv, m_image_name); + Config::write_i32("PixelPaint"sv, "NewImage"sv, "Width"sv, m_image_size.width()); + Config::write_i32("PixelPaint"sv, "NewImage"sv, "Height"sv, m_image_size.height()); + } + done(ExecResult::OK); }; ok_button.set_default(true);