From f2aa5efbeb6884b51b22319c30fe69ebc09eff9f Mon Sep 17 00:00:00 2001 From: Marcus Nilsson Date: Sat, 19 Jun 2021 13:00:09 +0200 Subject: [PATCH] PixelPaint: Add basic support for closing tabs This enables closing of tabs in PixelPaint, for the moment very basic with no checking if the image is modified or saved. --- Userland/Applications/PixelPaint/main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Userland/Applications/PixelPaint/main.cpp b/Userland/Applications/PixelPaint/main.cpp index d42f702d0f..6aa591ad2d 100644 --- a/Userland/Applications/PixelPaint/main.cpp +++ b/Userland/Applications/PixelPaint/main.cpp @@ -61,6 +61,7 @@ int main(int argc, char** argv) auto& toolbox = *main_widget.find_descendant_of_type_named("toolbox"); auto& tab_widget = *main_widget.find_descendant_of_type_named("tab_widget"); tab_widget.set_container_margins({ 4, 4, 5, 5 }); + tab_widget.set_close_button_enabled(true); auto& palette_widget = *main_widget.find_descendant_of_type_named("palette_widget"); @@ -524,6 +525,13 @@ int main(int argc, char** argv) return image_editor; }; + tab_widget.on_tab_close_click = [&](auto& widget) { + auto& image_editor = downcast(widget); + tab_widget.deferred_invoke([&](auto&) { + tab_widget.remove_tab(image_editor); + }); + }; + tab_widget.on_change = [&](auto& widget) { auto& image_editor = downcast(widget); palette_widget.set_image_editor(image_editor);