From 96ca63c220f345ff453f0b4c90d64a61bfb5c26b Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Mon, 30 Oct 2023 10:49:40 +0800 Subject: [PATCH] FIX: fix the tips text displayed of K factor limitation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jira: STUDIO-4941、STUDIO-4948、STUDIO-4950、STUDIO-4944 Change-Id: I2135547201fb8d6a5b9b8e467a5699fb22934a46 --- src/slic3r/GUI/AMSMaterialsSetting.cpp | 4 ++-- src/slic3r/GUI/CaliHistoryDialog.cpp | 21 ++++++++++++-------- src/slic3r/GUI/CalibrationWizardSavePage.cpp | 10 ++++++---- src/slic3r/GUI/ExtrusionCalibration.cpp | 6 +++--- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index 0ac2ebefc..75091bcf8 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -561,8 +561,8 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event) wxString n_text = m_input_n_val->GetTextCtrl()->GetValue(); if ((obj->get_printer_series() != PrinterSeries::SERIES_X1) && !ExtrusionCalibration::check_k_validation(k_text)) { - wxString k_tips = _L("Please input a valid value (K in 0~0.5)"); - wxString kn_tips = _L("Please input a valid value (K in 0~0.5, N in 0.6~2.0)"); + wxString k_tips = _L("Please input a valid value (K in 0~0.3)"); + wxString kn_tips = _L("Please input a valid value (K in 0~0.3, N in 0.6~2.0)"); MessageDialog msg_dlg(nullptr, k_tips, wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); return; diff --git a/src/slic3r/GUI/CaliHistoryDialog.cpp b/src/slic3r/GUI/CaliHistoryDialog.cpp index 1190edfc7..8bc949c1e 100644 --- a/src/slic3r/GUI/CaliHistoryDialog.cpp +++ b/src/slic3r/GUI/CaliHistoryDialog.cpp @@ -15,6 +15,7 @@ namespace GUI { #define HISTORY_WINDOW_SIZE wxSize(FromDIP(700), FromDIP(600)) #define EDIT_HISTORY_DIALOG_INPUT_SIZE wxSize(FromDIP(160), FromDIP(24)) #define HISTORY_WINDOW_ITEMS_COUNT 5 +static const wxString k_tips = "Please input a valid value (K in 0~0.3)"; static wxString get_preset_name_by_filament_id(std::string filament_id) { @@ -376,22 +377,26 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow* parent, con k_value->GetTextCtrl()->Bind(wxEVT_TEXT_ENTER, [this, k_value](auto& e) { float k = 0.0f; if (!CalibUtils::validate_input_k_value(k_value->GetTextCtrl()->GetValue(), &k)) { - MessageDialog msg_dlg(nullptr, _L("Please input a valid value (K in 0~0.5)"), wxEmptyString, wxICON_WARNING | wxOK); + MessageDialog msg_dlg(nullptr, _L(k_tips), wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); } - wxString k_str = wxString::Format("%.3f", k); - k_value->GetTextCtrl()->SetValue(k_str); - m_new_result.k_value = k; + else { + wxString k_str = wxString::Format("%.3f", k); + k_value->GetTextCtrl()->SetValue(k_str); + m_new_result.k_value = k; + } }); k_value->GetTextCtrl()->Bind(wxEVT_KILL_FOCUS, [this, k_value](auto& e) { float k = 0.0f; if (!CalibUtils::validate_input_k_value(k_value->GetTextCtrl()->GetValue(), &k)) { - MessageDialog msg_dlg(nullptr, _L("Please input a valid value (K in 0~0.5)"), wxEmptyString, wxICON_WARNING | wxOK); + MessageDialog msg_dlg(nullptr, _L(k_tips), wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); } - wxString k_str = wxString::Format("%.3f", k); - k_value->GetTextCtrl()->SetValue(k_str); - m_new_result.k_value = k; + else { + wxString k_str = wxString::Format("%.3f", k); + k_value->GetTextCtrl()->SetValue(k_str); + m_new_result.k_value = k; + } e.Skip(); }); flex_sizer->Add(k_title); diff --git a/src/slic3r/GUI/CalibrationWizardSavePage.cpp b/src/slic3r/GUI/CalibrationWizardSavePage.cpp index e14a21b98..f8a6ba5eb 100644 --- a/src/slic3r/GUI/CalibrationWizardSavePage.cpp +++ b/src/slic3r/GUI/CalibrationWizardSavePage.cpp @@ -8,6 +8,7 @@ namespace Slic3r { namespace GUI { #define CALIBRATION_SAVE_INPUT_SIZE wxSize(FromDIP(240), FromDIP(24)) #define FLOW_RATE_MAX_VALUE 1.15 +static const wxString k_tips = "Please input a valid value (K in 0~0.3)"; static wxString get_default_name(wxString filament_name, CalibMode mode){ PresetBundle* preset_bundle = wxGetApp().preset_bundle; @@ -363,10 +364,11 @@ void CaliPASaveAutoPanel::save_to_result_from_widgets(wxWindow* window, bool* ou if (input->get_type() == GridTextInputType::K) { float k = 0.0f; if (!CalibUtils::validate_input_k_value(input->GetTextCtrl()->GetValue(), &k)) { - *out_msg = _L("Please input a valid value (K in 0~0.5)"); + *out_msg = _L("Please input a valid value (K in 0~0.3)"); *out_is_valid = false; } - m_calib_results[tray_id].k_value = k; + else + m_calib_results[tray_id].k_value = k; } else if (input->get_type() == GridTextInputType::N) { } @@ -546,7 +548,7 @@ bool CaliPASaveManualPanel::get_result(PACalibResult& out_result) { // Check if the value is valid float k; if (!CalibUtils::validate_input_k_value(m_k_val->GetTextCtrl()->GetValue(), &k)) { - MessageDialog msg_dlg(nullptr, _L("Please input a valid value (K in 0~0.5)"), wxEmptyString, wxICON_WARNING | wxOK); + MessageDialog msg_dlg(nullptr, _L(k_tips), wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); return false; } @@ -698,7 +700,7 @@ void CaliPASaveP1PPanel::set_pa_cali_method(ManualPaCaliMethod method) bool CaliPASaveP1PPanel::get_result(float* out_k, float* out_n){ // Check if the value is valid if (!CalibUtils::validate_input_k_value(m_k_val->GetTextCtrl()->GetValue(), out_k)) { - MessageDialog msg_dlg(nullptr, _L("Please input a valid value (K in 0~0.5)"), wxEmptyString, wxICON_WARNING | wxOK); + MessageDialog msg_dlg(nullptr, _L(k_tips), wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); return false; } diff --git a/src/slic3r/GUI/ExtrusionCalibration.cpp b/src/slic3r/GUI/ExtrusionCalibration.cpp index f6134f145..92149c4af 100644 --- a/src/slic3r/GUI/ExtrusionCalibration.cpp +++ b/src/slic3r/GUI/ExtrusionCalibration.cpp @@ -508,7 +508,7 @@ bool ExtrusionCalibration::check_k_validation(wxString k_text) ; } - if (k < 0 || k > 0.5) + if (k < 0 || k > 0.3) return false; return true; } @@ -544,8 +544,8 @@ void ExtrusionCalibration::on_click_save(wxCommandEvent &event) wxString k_text = m_k_val->GetTextCtrl()->GetValue(); wxString n_text = m_n_val->GetTextCtrl()->GetValue(); if (!ExtrusionCalibration::check_k_validation(k_text)) { - wxString k_tips = _L("Please input a valid value (K in 0~0.5)"); - wxString kn_tips = _L("Please input a valid value (K in 0~0.5, N in 0.6~2.0)"); + wxString k_tips = _L("Please input a valid value (K in 0~0.3)"); + wxString kn_tips = _L("Please input a valid value (K in 0~0.3, N in 0.6~2.0)"); MessageDialog msg_dlg(nullptr, k_tips, wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); return;