From d1932d8c982c54fe8796d097464b0805db241a13 Mon Sep 17 00:00:00 2001 From: tao wang Date: Wed, 11 Dec 2024 17:13:17 +0800 Subject: [PATCH] FIX:fixed incorrect layout without AMS jira:[none ] Change-Id: I7cda157a149b89820b7936eb058a7ad8058d9e4b (cherry picked from commit 5550b96305086684084cf538656e9bfada14f164) --- src/slic3r/GUI/StatusPanel.cpp | 30 ++++++++++++++------------- src/slic3r/GUI/Widgets/AMSControl.cpp | 5 +++++ src/slic3r/GUI/Widgets/AMSControl.hpp | 1 + 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index b441f86c5..32b314207 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -3049,19 +3049,14 @@ void StatusPanel::update_ams(MachineObject *obj) if (obj->is_enable_np && obj->amsList.size() > 0){ ams_mode = AMSModel(obj->amsList.begin()->second->type); } - if (!obj - || !obj->is_connected() - || obj->amsList.empty() - || obj->ams_exist_bits == 0) { - if (!obj || !obj->is_connected()) { - last_tray_exist_bits = -1; - last_ams_exist_bits = -1; - last_tray_is_bbl_bits = -1; - last_read_done_bits = -1; - last_reading_bits = -1; - last_ams_version = -1; - BOOST_LOG_TRIVIAL(trace) << "machine object" << obj->dev_name << " was disconnected, set show_ams_group is false"; - } + if (!obj || !obj->is_connected()) { + last_tray_exist_bits = -1; + last_ams_exist_bits = -1; + last_tray_is_bbl_bits = -1; + last_read_done_bits = -1; + last_reading_bits = -1; + last_ams_version = -1; + BOOST_LOG_TRIVIAL(trace) << "machine object" << obj->dev_name << " was disconnected, set show_ams_group is false"; m_ams_control->SetAmsModel(AMSModel::EXT_AMS, ams_mode); show_ams_group(false); @@ -3073,7 +3068,14 @@ void StatusPanel::update_ams(MachineObject *obj) m_filament_step->SetAmsModel(ams_mode, ams_mode); show_ams_group(true); show_filament_load_group(true); - m_ams_control->show_auto_refill(true); + + if (obj->amsList.empty() || obj->ams_exist_bits == 0) { + m_ams_control->show_auto_refill(false); + m_ams_control->enable_ams_setting(false); + } else { + m_ams_control->show_auto_refill(true); + m_ams_control->enable_ams_setting(true); + } } diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index c291af318..0e2bd8f9d 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -3581,6 +3581,11 @@ void AMSControl::show_auto_refill(bool show) m_amswin->Fit(); } +void AMSControl::enable_ams_setting(bool en) +{ + m_button_ams_setting->Enable(en); +} + void AMSControl::show_vams(bool show) { //m_panel_virtual->Show(show); diff --git a/src/slic3r/GUI/Widgets/AMSControl.hpp b/src/slic3r/GUI/Widgets/AMSControl.hpp index b5bdb7453..e331c2362 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.hpp +++ b/src/slic3r/GUI/Widgets/AMSControl.hpp @@ -192,6 +192,7 @@ public: void show_noams_mode(); void show_auto_refill(bool show); + void enable_ams_setting(bool en); void show_vams(bool show); void show_vams_kn_value(bool show); void update_vams_kn_value(AmsTray tray, MachineObject* obj);