From 8cca9e94a29b62aeadc75ad6d004c0fba671d6c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Oppeb=C3=B8en?= Date: Sat, 26 Nov 2022 22:59:10 +0100 Subject: [PATCH] PixelPaint: Record action for all select operations to allow undo Since selections with the select tools support undo, it makes sense for the edit operations 'select all', 'none', 'invert' and 'clear selection' to also support undo. --- Userland/Applications/PixelPaint/ImageEditor.cpp | 1 + Userland/Applications/PixelPaint/MainWidget.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Userland/Applications/PixelPaint/ImageEditor.cpp b/Userland/Applications/PixelPaint/ImageEditor.cpp index f9c2f2cbed..ed4cc8d627 100644 --- a/Userland/Applications/PixelPaint/ImageEditor.cpp +++ b/Userland/Applications/PixelPaint/ImageEditor.cpp @@ -426,6 +426,7 @@ void ImageEditor::keydown_event(GUI::KeyEvent& event) if (event.key() == Key_Escape && !m_image->selection().is_empty()) { m_image->selection().clear(); + did_complete_action("Clear Selection"sv); return; } diff --git a/Userland/Applications/PixelPaint/MainWidget.cpp b/Userland/Applications/PixelPaint/MainWidget.cpp index b33c9f1829..4c546aa754 100644 --- a/Userland/Applications/PixelPaint/MainWidget.cpp +++ b/Userland/Applications/PixelPaint/MainWidget.cpp @@ -359,18 +359,21 @@ void MainWidget::initialize_menubar(GUI::Window& window) if (!editor->active_layer()) return; editor->image().selection().merge(editor->active_layer()->relative_rect(), PixelPaint::Selection::MergeMode::Set); + editor->did_complete_action("Select All"sv); })); m_edit_menu->add_action(GUI::Action::create( "Clear &Selection", g_icon_bag.clear_selection, [&](auto&) { auto* editor = current_image_editor(); VERIFY(editor); editor->image().selection().clear(); + editor->did_complete_action("Clear Selection"sv); })); m_edit_menu->add_action(GUI::Action::create( "&Invert Selection", g_icon_bag.invert_selection, [&](auto&) { auto* editor = current_image_editor(); VERIFY(editor); editor->image().selection().invert(); + editor->did_complete_action("Invert Selection"sv); })); m_edit_menu->add_separator();