ENH:add "sync filaments status" logic

jira: none
Change-Id: I7a74641e6d8e1d1d713d4d97af370a8c0a87f154
(cherry picked from commit abfa7261625dfd90ad276baf9afd66a3368303f1)
This commit is contained in:
zhou.xu
2025-01-20 09:51:34 +08:00
committed by Noisyfox
parent ecb94e119c
commit b2856b44b0
5 changed files with 90 additions and 40 deletions

View File

@@ -1214,8 +1214,12 @@ void Sidebar::priv::update_sync_status(const MachineObject *obj)
if (preset_bundle && preset_bundle->printers.get_edited_preset().get_printer_type(preset_bundle) == obj->printer_type) {
panel_printer_preset->ShowBadge(true);
printer_synced = true;
wxGetApp().plater()->sidebar().udpate_combos_filament_badge();
} else {
clear_all_sync_status();
wxGetApp().plater()->sidebar().clear_combos_filament_badge();
return;
}
@@ -2835,9 +2839,7 @@ void Sidebar::sync_ams_list(bool is_from_big_sync_btn)
c->ShowBadge(true);
};
{ // badge ams filament
for (auto &c : p->combos_filament) {//clear flag
c->ShowBadge(false);
}
clear_combos_filament_badge();
if (sync_result.direct_sync) {
for (auto &c : p->combos_filament) {
badge_combox_filament(c);
@@ -3117,6 +3119,25 @@ std::vector<PlaterPresetComboBox*>& Sidebar::combos_filament()
return p->combos_filament;
}
void Sidebar::clear_combos_filament_badge()
{
auto &combos_filament = p->combos_filament;
for (auto &c : combos_filament) { // clear flag
c->ShowBadge(false);
}
}
void Sidebar::udpate_combos_filament_badge() {
auto &combos_filament = p->combos_filament;
for (auto &c : combos_filament) {
auto selection = c->GetSelection();
auto select_flag = c->GetFlag(selection);
auto ok = select_flag == (int) PresetComboBox::FilamentAMSType::FROM_AMS;
c->ShowBadge(ok);
}
}
Search::OptionsSearcher& Sidebar::get_searcher()
{
return p->searcher;