From 1952442e18fd22e14af09811a993fac818e35c19 Mon Sep 17 00:00:00 2001 From: Yves <40505552+FractalEngineer@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:24:59 +0800 Subject: [PATCH] Restore select all plates as its own action (#12256) restore select all plates as its own function Co-authored-by: SoftFever --- src/slic3r/GUI/GLCanvas3D.cpp | 8 ++++++-- src/slic3r/GUI/GUI_Factories.cpp | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 583380af72..f482799c24 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3272,8 +3272,12 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) #else /* __APPLE__ */ case WXK_CONTROL_A: #endif /* __APPLE__ */ - if (!is_in_painting_mode && !m_layers_editing.is_enabled()) - post_event(SimpleEvent(EVT_GLCANVAS_SELECT_CURR_PLATE_ALL)); + if (!is_in_painting_mode && !m_layers_editing.is_enabled()) { + if (evt.ShiftDown()) + post_event(SimpleEvent(EVT_GLCANVAS_SELECT_ALL)); + else + post_event(SimpleEvent(EVT_GLCANVAS_SELECT_CURR_PLATE_ALL)); + } break; #ifdef __APPLE__ case 'c': diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 3d429e6e0b..627fb0e37e 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -1581,6 +1581,14 @@ void MenuFactory::create_plate_menu() return !plate->get_objects().empty(); }, m_parent); + // select objects on all plates + append_menu_item(menu, wxID_ANY, _L("Select All Plates"), _L("select all objects on all plates"), + [](wxCommandEvent&) { + plater()->select_all(); + }, "", nullptr, []() { + return !plater()->model().objects.empty(); + }, m_parent); + // delete objects on current plate append_menu_item(menu, wxID_ANY, _L("Delete All"), _L("delete all objects on current plate"), [](wxCommandEvent&) {