FIX: impl sync extruder information & fix something

Change-Id: I5f7224f646729cba94505487d00015a8e48443c5
This commit is contained in:
chunmao.guo 2024-07-08 16:32:21 +08:00 committed by lane.wei
parent 507c6a9b2c
commit 26bf483bfe
2 changed files with 17 additions and 2 deletions

View File

@ -685,8 +685,20 @@ void Sidebar::priv::sync_extruder_list()
auto printer_tab = dynamic_cast<TabPrinter *>(wxGetApp().get_tab(Preset::TYPE_PRINTER)); auto printer_tab = dynamic_cast<TabPrinter *>(wxGetApp().get_tab(Preset::TYPE_PRINTER));
printer_tab->set_extruder_volume_type(0, NozzleVolumeType::nvtBigTraffic); printer_tab->set_extruder_volume_type(0, NozzleVolumeType::nvtBigTraffic);
printer_tab->set_extruder_volume_type(1, NozzleVolumeType::nvtNormal); printer_tab->set_extruder_volume_type(1, NozzleVolumeType::nvtNormal);
AMSCountPopupWindow::SetAMSCount(0, 0, 0); MachineObject *obj = wxGetApp().getDeviceManager()->get_selected_machine();
AMSCountPopupWindow::SetAMSCount(1, 1, 1); if (obj == nullptr) {
MessageDialog dlg(this->plater, _L("Please select a printer in 'Device' page first."), _L("Sync extruder infomation"), wxOK);
dlg.ShowModal();
return;
}
int left = 0, right = 0;
for (auto ams : obj->amsList) {
// Main (first) extruder at right
if (ams.second->nozzle == 0) ++right;
else ++left;
}
AMSCountPopupWindow::SetAMSCount(0, left, obj->vt_slot.size() > 1);
AMSCountPopupWindow::SetAMSCount(1, right, 1);
AMSCountPopupWindow::UpdateAMSCount(0, m_left_ams_count); AMSCountPopupWindow::UpdateAMSCount(0, m_left_ams_count);
AMSCountPopupWindow::UpdateAMSCount(1, m_right_ams_count); AMSCountPopupWindow::UpdateAMSCount(1, m_right_ams_count);
} }

View File

@ -3926,6 +3926,7 @@ void TabPrinter::build_unregular_pages(bool from_initial_build/* = false*/)
// } // }
//} //}
on_value_change(opt_key, value);
update_dirty(); update_dirty();
update(); update();
}; };
@ -5010,6 +5011,8 @@ bool Tab::tree_sel_change_delayed(wxCommandEvent& event)
// update_undo_buttons(); // update_undo_buttons();
this->OnActivate(); this->OnActivate();
m_parent->set_active_tab(this); m_parent->set_active_tab(this);
m_main_sizer->Show(m_extruder_switch, !m_active_page->m_opt_id_map.empty());
GetParent()->Layout();
m_page_view->Thaw(); m_page_view->Thaw();
return false; return false;