diff options
author | cflip <cflip@cflip.net> | 2022-08-11 00:04:51 -0600 |
---|---|---|
committer | Sam Atkins <atkinssj@gmail.com> | 2022-08-13 09:10:29 +0100 |
commit | 272917de284d3436e551da30fca1c9355b6572c4 (patch) | |
tree | c317349a4609441d4214b2e88c1dcb2ddb5bc94c /Userland/Applications/PixelPaint/CreateNewImageDialog.cpp | |
parent | e62e01ccec9ceb001b51a84a6479a4bcfaa2bfd5 (diff) | |
download | serenity-272917de284d3436e551da30fca1c9355b6572c4.zip |
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
Diffstat (limited to 'Userland/Applications/PixelPaint/CreateNewImageDialog.cpp')
-rw-r--r-- | Userland/Applications/PixelPaint/CreateNewImageDialog.cpp | 14 |
1 files 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 <LibConfig/Client.h> #include <LibGUI/BoxLayout.h> #include <LibGUI/Button.h> +#include <LibGUI/CheckBox.h> #include <LibGUI/Label.h> #include <LibGUI/SpinBox.h> #include <LibGUI/TextBox.h> @@ -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<GUI::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<GUI::SpinBox>(); + auto& set_defaults_checkbox = main_widget.add<GUI::CheckBox>(); + set_defaults_checkbox.set_text("Use these settings as default"); + auto& button_container = main_widget.add<GUI::Widget>(); button_container.set_layout<GUI::HorizontalBoxLayout>(); auto& ok_button = button_container.add<GUI::Button>("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); |