From 6c9debd02f47a912c15bc2ae029f80cf69ea4783 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Tue, 26 Dec 2023 16:40:49 +0800 Subject: [PATCH] FIX: keep unsave config category order Change-Id: I2dfb126ab9d2669dc6e71261ee7bccf613652127 Jira: STUDIO-4293 --- src/slic3r/GUI/UnsavedChangesDialog.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/UnsavedChangesDialog.cpp b/src/slic3r/GUI/UnsavedChangesDialog.cpp index 63e093332..1268d9382 100644 --- a/src/slic3r/GUI/UnsavedChangesDialog.cpp +++ b/src/slic3r/GUI/UnsavedChangesDialog.cpp @@ -1434,6 +1434,7 @@ void UnsavedChangesDialog::update_list() { std::map> class_g_list; std::map> class_c_list; + std::vector category_list; // group for (auto i = 0; i < m_presetitems.size(); i++) { @@ -1453,6 +1454,7 @@ void UnsavedChangesDialog::update_list() std::vector vp; vp.push_back(m_presetitems[i].group_name); class_c_list.emplace(m_presetitems[i].category_name, vp); + category_list.push_back(m_presetitems[i].category_name); } else { /*for (auto iter = class_c_list.begin(); iter != class_c_list.end(); iter++) iter->second.push_back(m_presetitems[i].group_name);*/ @@ -1468,8 +1470,8 @@ void UnsavedChangesDialog::update_list() auto m_listsizer = new wxBoxSizer(wxVERTICAL); - for (auto iter = class_c_list.begin(); iter != class_c_list.end(); iter++) { - + for (auto category : category_list) { + auto iter = class_c_list.find(category); //category auto panel_category = new wxPanel(m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxSize(-1, UNSAVE_CHANGE_DIALOG_ITEM_HEIGHT), wxTAB_TRAVERSAL); panel_category->SetBackgroundColour(GREY300);