diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp index 2dafff88d5..e9182d2f0f 100644 --- a/src/slic3r/GUI/CalibrationWizard.cpp +++ b/src/slic3r/GUI/CalibrationWizard.cpp @@ -556,6 +556,13 @@ void PressureAdvanceWizard::on_cali_start() void PressureAdvanceWizard::on_cali_save() { if (curr_obj) { + if (curr_obj->is_connecting() || !curr_obj->is_connected()) + { + MessageDialog msg_dlg(nullptr, _L("Connecting to printer..."), wxEmptyString, wxOK); + msg_dlg.ShowModal(); + return; + } + if (curr_obj->get_printer_series() == PrinterSeries::SERIES_X1) { if (m_cali_method == CalibrationMethod::CALI_METHOD_AUTO) { std::vector new_pa_cali_results; diff --git a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp index ceccc72e23..23edc25e1d 100644 --- a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp @@ -144,7 +144,7 @@ void CalibrationCaliPage::update(MachineObject* obj) if (obj->print_status == "RUNNING") m_is_between_start_and_running = false; - if (m_is_between_start_and_running) { + if (obj->is_connecting() || !obj->is_connected() || m_is_between_start_and_running) { reset_printing_values(); m_action_panel->enable_button(CaliPageActionType::CALI_ACTION_CALI_NEXT, false); return; diff --git a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp index f1e5e9968f..0e6ce4d57e 100644 --- a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp @@ -1159,6 +1159,10 @@ void CalibrationPresetPage::update_show_status() show_status(CaliPresetPageStatus::CaliPresetStatusUnsupportedPrinter); return; } + else if (obj_->is_connecting() || !obj_->is_connected()) { + show_status(CaliPresetPageStatus::CaliPresetStatusInConnecting); + return; + } else if (obj_->is_in_upgrading()) { show_status(CaliPresetPageStatus::CaliPresetStatusInUpgrading); return; @@ -1310,6 +1314,11 @@ void CalibrationPresetPage::show_status(CaliPresetPageStatus status) update_print_status_msg(wxEmptyString, false); Enable_Send_Button(false); } + else if (status == CaliPresetPageStatus::CaliPresetStatusInConnecting) { + wxString msg_text = _L("Connecting to printer"); + update_print_status_msg(msg_text, true); + Enable_Send_Button(false); + } Layout(); } diff --git a/src/slic3r/GUI/CalibrationWizardPresetPage.hpp b/src/slic3r/GUI/CalibrationWizardPresetPage.hpp index 698384a5cf..daf793a93c 100644 --- a/src/slic3r/GUI/CalibrationWizardPresetPage.hpp +++ b/src/slic3r/GUI/CalibrationWizardPresetPage.hpp @@ -118,6 +118,7 @@ enum CaliPresetPageStatus CaliPresetStatusNeedForceUpgrading, CaliPresetStatusNeedConsistencyUpgrading, CaliPresetStatusUnsupportedPrinter, + CaliPresetStatusInConnecting, CaliPresetStatusFilamentIncompatible, };