From 9510b1a9301892f89ed92d782129516fe9379e8e Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Fri, 24 Oct 2025 19:27:20 +0800 Subject: [PATCH] Disable filament merge option if not SEMM --- src/slic3r/GUI/GUI_Factories.cpp | 7 +++---- src/slic3r/GUI/Plater.hpp | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index f48a67843c..2232e16f60 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -1489,10 +1489,9 @@ void MenuFactory::create_filament_action_menu(bool init, int active_filament_men menu, wxID_ANY, _L("Delete"), _L("Delete this filament"), [](wxCommandEvent&) { plater()->sidebar().delete_filament(-2); }, "", nullptr, []() { - auto& sidebar = plater()->sidebar(); - return sidebar.combos_filament().size() > 1 + return plater()->sidebar().combos_filament().size() > 1 // Orca: only show delete filament option for SEMM machines unless is BBL - && sidebar.should_show_SEMM_buttons(); + && Sidebar::should_show_SEMM_buttons(); }, m_parent); } @@ -1502,7 +1501,7 @@ void MenuFactory::create_filament_action_menu(bool init, int active_filament_men wxMenu* sub_menu = new wxMenu(); std::vector icons = get_extruder_color_icons(true); - int filaments_cnt = icons.size(); + int filaments_cnt = Sidebar::should_show_SEMM_buttons() ? icons.size() : 0; for (int i = 0; i < filaments_cnt; i++) { if (i == active_filament_menu_id) continue; diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 4da9b159b9..fa235a84d3 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -198,7 +198,7 @@ public: void get_big_btn_sync_pos_size(wxPoint &pt, wxSize &size); void get_small_btn_sync_pos_size(wxPoint &pt, wxSize &size); // Orca - bool should_show_SEMM_buttons(); + static bool should_show_SEMM_buttons(); void show_SEMM_buttons(bool bshow); void update_dynamic_filament_list();