From fdb57550aa01ae88538b2de954670b84c6e72baa Mon Sep 17 00:00:00 2001 From: tao wang Date: Wed, 5 Mar 2025 18:26:11 +0800 Subject: [PATCH] NEW:disabled materials item will retain original color jira:[STUDIO-10539] Change-Id: Iabdbc6582dae5bcb2ec31775163949f0d451dcca --- src/slic3r/GUI/AmsMappingPopup.cpp | 10 ++++++---- src/slic3r/GUI/AmsMappingPopup.hpp | 2 +- src/slic3r/GUI/SelectMachine.cpp | 3 +++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/AmsMappingPopup.cpp b/src/slic3r/GUI/AmsMappingPopup.cpp index 50e341e06..23f07e04e 100644 --- a/src/slic3r/GUI/AmsMappingPopup.cpp +++ b/src/slic3r/GUI/AmsMappingPopup.cpp @@ -99,16 +99,18 @@ void MaterialItem::reset_ams_info() { void MaterialItem::disable() { if (IsEnabled()) { - this->Disable(); - Refresh(); + //this->Disable(); + //Refresh(); + m_enable = false; } } void MaterialItem::enable() { if (!IsEnabled()) { - this->Enable(); - Refresh(); + /*this->Enable(); + Refresh();*/ + m_enable = true; } } diff --git a/src/slic3r/GUI/AmsMappingPopup.hpp b/src/slic3r/GUI/AmsMappingPopup.hpp index b9a9bd4ea..ef7b0c9b4 100644 --- a/src/slic3r/GUI/AmsMappingPopup.hpp +++ b/src/slic3r/GUI/AmsMappingPopup.hpp @@ -104,6 +104,7 @@ public: bool m_selected {false}; bool m_warning{false}; bool m_match {true}; + bool m_enable {true}; void msw_rescale(); void allow_paint_dropdown(bool flag); @@ -116,7 +117,6 @@ public: void on_selected(); void on_warning(); - void on_left_down(wxMouseEvent &evt); void paintEvent(wxPaintEvent &evt); virtual void render(wxDC &dc); void match(bool mat); diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 9c476beab..af9829ecf 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -3854,6 +3854,7 @@ void SelectMachineDialog::reset_and_sync_ams_list() item->SetToolTip(m_ams_tooltip); item->Bind(wxEVT_LEFT_UP, [this, item, materials, extruder](wxMouseEvent &e) {}); item->Bind(wxEVT_LEFT_DOWN, [this, item, materials, extruder](wxMouseEvent &e) { + if (!item->m_enable) {return;} MaterialHash::iterator iter = m_materialList.begin(); while (iter != m_materialList.end()) { int id = iter->first; @@ -4359,6 +4360,8 @@ void SelectMachineDialog::set_default_from_sdcard() item->Bind(wxEVT_LEFT_UP, [this, item, materials](wxMouseEvent& e) {}); item->Bind(wxEVT_LEFT_DOWN, [this, obj_, item, materials, diameters_count, fo](wxMouseEvent& e) { + if (!item->m_enable) {return;} + MaterialHash::iterator iter = m_materialList.begin(); while (iter != m_materialList.end()) { int id = iter->first;