From ac0e49ceffab6e7a608aa918ffce699968b88a7e Mon Sep 17 00:00:00 2001 From: tao wang Date: Mon, 5 Feb 2024 09:25:27 +0800 Subject: [PATCH] NEW:add printer compatible check from sd card view jira:[STUDIO-5969] Change-Id: I86d10ebe2e9bc77e6350e26aeed6b4f0f9fdcecb --- src/slic3r/GUI/SelectMachine.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 508972436..64221c2a7 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2218,10 +2218,19 @@ bool SelectMachineDialog::is_blocking_printing(MachineObject* obj_) { DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); if (!dev) return true; - - PresetBundle* preset_bundle = wxGetApp().preset_bundle; - auto source_model = preset_bundle->printers.get_edited_preset().get_printer_type(preset_bundle); auto target_model = obj_->printer_type; + std::string source_model = ""; + + if (m_print_type == PrintFromType::FROM_NORMAL) { + PresetBundle* preset_bundle = wxGetApp().preset_bundle; + source_model = preset_bundle->printers.get_edited_preset().get_printer_type(preset_bundle); + + + }else if (m_print_type == PrintFromType::FROM_SDCARD_VIEW) { + if (m_required_data_plate_data_list.size() > 0) { + source_model = m_required_data_plate_data_list[m_print_plate_idx]->printer_model_id; + } + } if (source_model != target_model) { std::vector compatible_machine = dev->get_compatible_machine(target_model); @@ -3426,7 +3435,7 @@ void SelectMachineDialog::update_show_status() } } - if (m_print_type == PrintFromType::FROM_NORMAL && is_blocking_printing(obj_)) { + if (is_blocking_printing(obj_)) { show_status(PrintDialogStatus::PrintStatusUnsupportedPrinter); return; }