From 005e8f5533d59cea077791d2789065ce82a3e6f3 Mon Sep 17 00:00:00 2001 From: Stone Li Date: Mon, 5 Dec 2022 15:43:43 +0800 Subject: [PATCH] ENH: sort device list by dev_name in monitor Change-Id: I1800407a30d3cafc52328cb29019ef6c5f7d5909 --- src/slic3r/GUI/SelectMachine.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 9373737e2..c26a37cac 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -678,12 +678,25 @@ void SelectMachinePopup::update_user_devices() m_bind_machine_list.clear(); m_bind_machine_list = dev->get_my_machine_list(); + //sort list + std::vector> user_machine_list; + for (auto& it: m_bind_machine_list) { + user_machine_list.push_back(it); + } + + std::sort(user_machine_list.begin(), user_machine_list.end(), [&](auto& a, auto&b) { + if (a.second && b.second) { + return a.second->dev_name.compare(b.second->dev_name) < 0; + } + return false; + }); + BOOST_LOG_TRIVIAL(trace) << "SelectMachinePopup update_machine_list start"; this->Freeze(); m_scrolledWindow->Freeze(); int i = 0; - for (auto& elem : m_bind_machine_list) { + for (auto& elem : user_machine_list) { MachineObject* mobj = elem.second; MachineObjectPanel* op = nullptr; if (i < m_user_list_machine_panel.size()) {