From ba5641b3110ac605233a822f2f6559b2f393f446 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 (cherry picked from commit 27c6d46dc20003111bda97c516bf9bf04730d7e6) --- 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 a10e1d0660..521950fd5c 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 033dd63304..695ff251bb 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -409,10 +409,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); + } } }