From 27c6d46dc20003111bda97c516bf9bf04730d7e6 Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Tue, 11 Mar 2025 10:02:22 +0800 Subject: [PATCH] FIX: optimize the switching cancel jira: [none] Change-Id: I60f4e5bcbbe67e6c86793a651e8837a551a762a3 --- src/slic3r/GUI/DeviceManager.hpp | 2 ++ src/slic3r/GUI/StatusPanel.cpp | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 8427f9eb2..31e2f4793 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -35,7 +35,9 @@ #define HOLD_COUNT_MAX 3 #define HOLD_COUNT_CAMERA 6 + #define HOLD_TIME_MAX 3 // 3 seconds +#define HOLD_TIME_SWITCHING 6 // 6 seconds #define GET_VERSION_RETRYS 10 #define RETRY_INTERNAL 2000 diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index becdf9d1a..562782c20 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -408,10 +408,17 @@ ExtruderSwithingStatus::ExtruderSwithingStatus(wxWindow *parent) void ExtruderSwithingStatus::updateBy(MachineObject *obj) { m_obj = obj; - Show(m_obj != nullptr); - if (m_obj && (time(nullptr) - m_last_ctrl_time) > HOLD_TIME_MAX) + if (!m_obj) { - updateBy(obj->m_extder_data); + Show(false); + } + else + { + /*do not display while command sended in a mean while*/ + if ((time(nullptr) - m_last_ctrl_time) > HOLD_TIME_SWITCHING) + { + updateBy(obj->m_extder_data); + } } }