From a3a54934e05ecd85584dfe631a4bf3242682bd8b Mon Sep 17 00:00:00 2001 From: "zhou.xu" Date: Sat, 18 Jan 2025 16:49:27 +0800 Subject: [PATCH] FIX:not map for unknown material jira: STUDIO-9960 Change-Id: Ifd1b5f42676e9aa127805caa919ed2e3ef3f2900 --- src/libslic3r/PresetBundle.cpp | 5 +++++ src/slic3r/GUI/SyncAmsInfoDialog.cpp | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 7254e37ae..517044825 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -1839,6 +1839,11 @@ unsigned int PresetBundle::sync_ams_list(unsigned int &unknowns, bool use_map, s index++; if (filament_id.empty()) { if (use_map) { + for (int j = maps.size() - 1; j >= 0; j--) { + if (maps[j].slot_id == slot_id && maps[j].ams_id == ams_id) { + maps.erase(j); + } + } ams_filament_presets.push_back("Generic PLA");//for unknow matieral auto default_unknown_color = "#CECECE"; ams_filament_colors.push_back(default_unknown_color); diff --git a/src/slic3r/GUI/SyncAmsInfoDialog.cpp b/src/slic3r/GUI/SyncAmsInfoDialog.cpp index 3f7acaa1b..d74fe0d78 100644 --- a/src/slic3r/GUI/SyncAmsInfoDialog.cpp +++ b/src/slic3r/GUI/SyncAmsInfoDialog.cpp @@ -1252,9 +1252,10 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) : m_append_color_checkbox = new ::CheckBox(this, wxID_ANY); //m_append_color_checkbox->SetForegroundColour(wxColour(107, 107, 107, 100)); m_append_color_checkbox->SetValue(wxGetApp().app_config->get_bool("enable_append_color_by_sync_ams")); - m_append_color_checkbox->Bind(wxEVT_CHECKBOX, [this](wxCommandEvent &e) { + m_append_color_checkbox->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent &e) { auto flag = wxGetApp().app_config->get_bool("enable_append_color_by_sync_ams"); wxGetApp().app_config->set_bool("enable_append_color_by_sync_ams",!flag); + m_append_color_checkbox->SetValue(!flag); }); m_append_color_checkbox->Hide(); m_append_color_sizer->Add(m_append_color_checkbox, 0, wxALIGN_LEFT | wxTOP, FromDIP(4)); @@ -1270,9 +1271,10 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) : m_merge_color_checkbox = new ::CheckBox(this, wxID_ANY); //m_merge_color_checkbox->SetForegroundColour(wxColour(107, 107, 107, 100)); m_merge_color_checkbox->SetValue(wxGetApp().app_config->get_bool("enable_merge_color_by_sync_ams")); - m_merge_color_checkbox->Bind(wxEVT_CHECKBOX, [this](wxCommandEvent &e) { + m_merge_color_checkbox->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent &e) { auto flag = wxGetApp().app_config->get_bool("enable_merge_color_by_sync_ams"); wxGetApp().app_config->set_bool("enable_merge_color_by_sync_ams",!flag); + m_merge_color_checkbox->SetValue(!flag); }); m_merge_color_checkbox->Hide(); m_merge_color_sizer->Add(m_merge_color_checkbox, 0, wxALIGN_LEFT | wxTOP, FromDIP(2));