From 67205a0eeef2d9b21dca4758066a398a0cac4e43 Mon Sep 17 00:00:00 2001 From: "wenjie.guo" Date: Wed, 13 Dec 2023 16:38:37 +0800 Subject: [PATCH] FIX: The warning box still exits when the temperature has reset. Jira: STUDIO-5562 Signed-off-by: wenjie.guo Change-Id: I7532db69880449eb3fa0a14fc4dfc61e7f6d518e (cherry picked from commit 589ed5fe045b5e7ec3effe437c9685085960c0fc) --- src/slic3r/GUI/StatusPanel.cpp | 12 ++++++++++++ src/slic3r/GUI/Widgets/TempInput.hpp | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 3aa8150bb..9c7f0583c 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -3162,6 +3162,7 @@ void StatusPanel::on_set_bed_temp() BOOST_LOG_TRIVIAL(info) << "can not set over limit = " << limit << ", set temp = " << bed_temp; bed_temp = limit; m_tempCtrl_bed->SetTagTemp(wxString::Format("%d", bed_temp)); + m_tempCtrl_bed->Warning(false); } obj->command_set_bed(bed_temp); } @@ -3177,6 +3178,11 @@ void StatusPanel::on_set_nozzle_temp() long nozzle_temp; if (str.ToLong(&nozzle_temp) && obj) { set_hold_count(m_temp_nozzle_timeout); + if (nozzle_temp > m_tempCtrl_nozzle->get_max_temp()) { + nozzle_temp = m_tempCtrl_nozzle->get_max_temp(); + m_tempCtrl_nozzle->SetTagTemp(wxString::Format("%d", nozzle_temp)); + m_tempCtrl_nozzle->Warning(false); + } obj->command_set_nozzle(nozzle_temp); } } catch (...) { @@ -3191,6 +3197,11 @@ void StatusPanel::on_set_chamber_temp() long chamber_temp; if (str.ToLong(&chamber_temp) && obj) { set_hold_count(m_temp_chamber_timeout); + if (chamber_temp > m_tempCtrl_chamber->get_max_temp()) { + chamber_temp = m_tempCtrl_chamber->get_max_temp(); + m_tempCtrl_chamber->SetTagTemp(wxString::Format("%d", chamber_temp)); + m_tempCtrl_chamber->Warning(false); + } obj->command_set_chamber(chamber_temp); } } @@ -3934,6 +3945,7 @@ void StatusPanel::set_default() m_ams_control_box->Hide(); m_ams_control->Reset(); error_info_reset(); + SetFocus(); } void StatusPanel::show_status(int status) diff --git a/src/slic3r/GUI/Widgets/TempInput.hpp b/src/slic3r/GUI/Widgets/TempInput.hpp index 4e340671c..c86d3a712 100644 --- a/src/slic3r/GUI/Widgets/TempInput.hpp +++ b/src/slic3r/GUI/Widgets/TempInput.hpp @@ -89,7 +89,7 @@ public: wxString GetTagTemp() { return text_ctrl->GetValue(); } wxString GetCurrTemp() { return GetLabel(); } - + int get_max_temp() { return max_temp; } void SetLabel(const wxString &label); void SetTextColor(StateColor const &color);