FIX:miss "Printer not connected" case

jira: STUDIO-12166
Change-Id: I962a93f1127064816fd481dc3ad7be034e3de0f3
(cherry picked from commit 9eba9b8a2d91517f13cfa306fb41b06232910a13)
This commit is contained in:
zhou.xu
2025-05-14 15:37:46 +08:00
committed by Noisyfox
parent a37dbd6f1d
commit 0ad5ff27eb
2 changed files with 17 additions and 16 deletions

View File

@@ -13744,7 +13744,7 @@ Preset *get_printer_preset(MachineObject *obj)
return printer_preset; return printer_preset;
} }
bool Plater::check_printer_initialized(MachineObject *obj, bool only_warning) bool Plater::check_printer_initialized(MachineObject *obj, bool only_warning, bool popup_warning)
{ {
if (!obj) if (!obj)
return false; return false;
@@ -13764,22 +13764,23 @@ bool Plater::check_printer_initialized(MachineObject *obj, bool only_warning)
} }
if (!has_been_initialized) { if (!has_been_initialized) {
if (!only_warning) { if (popup_warning) {
if (!only_warning) {
if (DeviceManager::get_printer_can_set_nozzle(obj->printer_type)) {
MessageDialog dlg(wxGetApp().plater(), _L("The nozzle type is not set. Please set the nozzle and try again."), _L("Warning"), wxOK | wxICON_WARNING);
dlg.ShowModal();
} else {
MessageDialog dlg(wxGetApp().plater(), _L("The nozzle type is not set. Please check."), _L("Warning"), wxOK | wxICON_WARNING);
dlg.ShowModal();
}
if (DeviceManager::get_printer_can_set_nozzle(obj->printer_type)) { PrinterPartsDialog *print_parts_dlg = new PrinterPartsDialog(nullptr);
MessageDialog dlg(wxGetApp().plater(), _L("The nozzle type is not set. Please set the nozzle and try again."), _L("Warning"), wxOK | wxICON_WARNING); print_parts_dlg->update_machine_obj(obj);
dlg.ShowModal(); print_parts_dlg->ShowModal();
} else { } else {
MessageDialog dlg(wxGetApp().plater(), _L("The nozzle type is not set. Please check."), _L("Warning"), wxOK | wxICON_WARNING); auto printer_name = get_selected_printer_name_in_combox(); // wxString(obj->get_preset_printer_model_name(machine_print_name))
dlg.ShowModal(); pop_warning_and_go_to_device_page(printer_name, Plater::PrinterWarningType::NOT_CONNECTED, _L("Sync printer information"));
} }
PrinterPartsDialog *print_parts_dlg = new PrinterPartsDialog(nullptr);
print_parts_dlg->update_machine_obj(obj);
print_parts_dlg->ShowModal();
} else {
auto printer_name = get_selected_printer_name_in_combox(); // wxString(obj->get_preset_printer_model_name(machine_print_name))
pop_warning_and_go_to_device_page(printer_name, Plater::PrinterWarningType::NOT_CONNECTED, _L("Sync printer information"));
} }
return false; return false;
} }
@@ -15806,7 +15807,7 @@ bool Plater::is_same_printer_for_connected_and_selected(bool popup_warning)
if (obj == nullptr) { if (obj == nullptr) {
return false; return false;
} }
if (!check_printer_initialized(obj,true)) if (!check_printer_initialized(obj, true, popup_warning))
return false; return false;
Preset * machine_preset = get_printer_preset(obj); Preset * machine_preset = get_printer_preset(obj);
if (!machine_preset) if (!machine_preset)

View File

@@ -570,7 +570,7 @@ public:
EMPTY_FILAMENT EMPTY_FILAMENT
}; };
void pop_warning_and_go_to_device_page(wxString printer_name, PrinterWarningType type, const wxString &title); void pop_warning_and_go_to_device_page(wxString printer_name, PrinterWarningType type, const wxString &title);
bool check_printer_initialized(MachineObject *obj, bool only_warning = false); bool check_printer_initialized(MachineObject *obj, bool only_warning = false,bool popup_warning = true);
bool is_same_printer_for_connected_and_selected(bool popup_warning = true); bool is_same_printer_for_connected_and_selected(bool popup_warning = true);
// BBS // BBS
//void show_action_buttons(const bool is_ready_to_slice) const; //void show_action_buttons(const bool is_ready_to_slice) const;