FIX: config deep compare & plate config extruder switch

Change-Id: Iae1716e6511e252f131ab4355f9521d7611d7133
(cherry picked from commit 7e7e8723667852b34851fc19095f879b975773ba)
This commit is contained in:
chunmao.guo
2024-07-05 17:00:41 +08:00
committed by Noisyfox
parent 905f6b4291
commit 5a00e9c704
2 changed files with 9 additions and 1 deletions

View File

@@ -2691,7 +2691,7 @@ void add_correct_opts_to_diff(const std::string &opt_key, t_config_option_keys&
{
int init_id = i <= opt_init_max_id ? i : 0;
if (opt_cur->values[i] != opt_init->values[init_id]
&& (strict || opt_cur->is_nil(i) || opt_init->is_nil(init_id)))
&& (strict || !(opt_cur->is_nil(i) || opt_init->is_nil(init_id))))
vec.emplace_back(opt_key + "#" + std::to_string(i));
}
}

View File

@@ -1761,6 +1761,10 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
tab->update_extruder_variants(extruder_idx);
tab->reload_config();
}
if (auto tab = wxGetApp().plate_tab) {
tab->update_extruder_variants(extruder_idx);
tab->reload_config();
}
for (auto tab : wxGetApp().model_tabs_list) {
tab->update_extruder_variants(extruder_idx);
tab->reload_config();
@@ -4956,6 +4960,10 @@ void Tab::load_current_preset()
// Reload preset pages with the new configuration values.
update_extruder_variants();
if (m_type == Preset::TYPE_PRINT) {
if (auto tab = wxGetApp().plate_tab) {
tab->update_extruder_variants();
tab->reload_config();
}
for (auto tab : wxGetApp().model_tabs_list) {
tab->update_extruder_variants();
tab->reload_config();