From 16729c9283f5adfc4100c8dc3db68f2bcb968670 Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Thu, 13 Feb 2025 20:48:57 +0800 Subject: [PATCH] FIX: update some text jira: [STUDIO-10352] Change-Id: I33b02a811970002b5f05ee2e519eb722b19e7051 --- src/slic3r/GUI/SelectMachine.cpp | 24 ++++++++++++++++++------ src/slic3r/GUI/SelectMachine.hpp | 2 +- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index fe950ff40..9ad3114a5 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1976,7 +1976,7 @@ bool SelectMachineDialog::is_blocking_printing(MachineObject* obj_) * @param tag_nozzle_diameter -- return the target nozzle_diameter but mismatch * @return is same or not /*************************************************************/ -bool SelectMachineDialog::is_same_nozzle_diameters(float& tag_nozzle_diameter) const +bool SelectMachineDialog::is_same_nozzle_diameters(float &tag_nozzle_diameter, int& mismatch_nozzle_id) const { DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); if (!dev) return false; @@ -2007,6 +2007,7 @@ bool SelectMachineDialog::is_same_nozzle_diameters(float& tag_nozzle_diameter) c tag_nozzle_diameter = float(opt_nozzle_diameters->get_at(used_nozzle_idx)); if (tag_nozzle_diameter != obj_->m_extder_data.extders[used_nozzle_idx].current_nozzle_diameter) { + mismatch_nozzle_id = used_nozzle_idx; return false; } } @@ -3325,16 +3326,27 @@ void SelectMachineDialog::update_show_status() // check nozzle type and diameter if (m_print_type == PrintFromType::FROM_NORMAL) { + int mismatch_nozzle_id = 0; float nozzle_diameter = 0; - if (!is_same_nozzle_diameters(nozzle_diameter)) + if (!is_same_nozzle_diameters(nozzle_diameter, mismatch_nozzle_id)) { std::vector msg_params; if (obj_->m_extder_data.total_extder_count == 2) { - const wxString& nozzle_config = wxString::Format(_L("The current nozzle diameter (Left: %.1fmm Right: %.1fmm) doesn't match with the slicing file (%.1fmm). " - "Please make sure the nozzle installed matches with settings in printer, then set the " - "corresponding printer preset when slicing."), obj_->m_extder_data.extders[1].current_nozzle_diameter, - obj_->m_extder_data.extders[0].current_nozzle_diameter, nozzle_diameter); + wxString mismatch_nozzle_str; + if (mismatch_nozzle_id == MAIN_NOZZLE_ID) + { + mismatch_nozzle_str = _L("right nozzle"); + } + else + { + mismatch_nozzle_str = _L("left nozzle"); + } + + const wxString& nozzle_config = wxString::Format(_L("The %s diameter(%.1fmm) of current printer doesn't match with the slicing file (%.1fmm). " + "Please make sure the nozzle installed matches with settings in printer, then set the " + "corresponding printer preset when slicing."), mismatch_nozzle_str, + obj_->m_extder_data.extders[mismatch_nozzle_id].current_nozzle_diameter, nozzle_diameter); msg_params.emplace_back(nozzle_config); } else diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index 918a4500d..623d3ec7d 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -483,7 +483,7 @@ public: void update_timelapse_enable_status(); bool is_same_printer_model(); bool is_blocking_printing(MachineObject* obj_); - bool is_same_nozzle_diameters(float& tag_nozzle_diameter) const; + bool is_same_nozzle_diameters(float& tag_nozzle_diameter, int& mismatch_nozzle_id) const; bool is_same_nozzle_type(const Extder& extruder, std::string& filament_type) const; bool has_tips(MachineObject* obj); bool is_timeout();