From 547c9cb0ba08d05da823fc6533f794a9bef06c68 Mon Sep 17 00:00:00 2001 From: Stone Li Date: Tue, 4 Jul 2023 11:59:39 +0800 Subject: [PATCH] FIX: fix wrong save page Change-Id: I0dd97f9c8d40e1e88230634af7aaf07180132d61 Signed-off-by: Stone Li --- src/slic3r/GUI/CalibrationWizard.cpp | 10 +++++----- src/slic3r/GUI/CalibrationWizardPage.hpp | 2 +- src/slic3r/GUI/CalibrationWizardSavePage.cpp | 9 ++++++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp index c959fd6c2..bf1050903 100644 --- a/src/slic3r/GUI/CalibrationWizard.cpp +++ b/src/slic3r/GUI/CalibrationWizard.cpp @@ -90,12 +90,7 @@ void CalibrationWizard::update(MachineObject* obj) } else { if (last_obj != obj && obj->is_info_ready()) { - for (int i = 0; i < m_page_steps.size(); i++) { - if (m_page_steps[i]->page) - m_page_steps[i]->page->on_device_connected(obj); - } this->on_device_connected(obj); - last_obj = obj; } } @@ -111,6 +106,11 @@ void CalibrationWizard::on_device_connected(MachineObject* obj) { if (!m_page_steps.empty()) show_step(m_page_steps.front()); + + for (int i = 0; i < m_page_steps.size(); i++) { + if (m_page_steps[i]->page) + m_page_steps[i]->page->on_device_connected(obj); + } } void CalibrationWizard::set_cali_method(CalibrationMethod method) diff --git a/src/slic3r/GUI/CalibrationWizardPage.hpp b/src/slic3r/GUI/CalibrationWizardPage.hpp index 105163dba..6743612e2 100644 --- a/src/slic3r/GUI/CalibrationWizardPage.hpp +++ b/src/slic3r/GUI/CalibrationWizardPage.hpp @@ -224,7 +224,7 @@ public: virtual void update(MachineObject* obj) { curr_obj = obj; } /* device changed and connected */ - virtual void on_device_connected(MachineObject* obj) {} + virtual void on_device_connected(MachineObject* obj) { curr_obj = obj; } virtual void on_reset_page() {} diff --git a/src/slic3r/GUI/CalibrationWizardSavePage.cpp b/src/slic3r/GUI/CalibrationWizardSavePage.cpp index aff98a4bd..7f6a6bf1b 100644 --- a/src/slic3r/GUI/CalibrationWizardSavePage.cpp +++ b/src/slic3r/GUI/CalibrationWizardSavePage.cpp @@ -657,6 +657,11 @@ void CalibrationPASavePage::show_panels(CalibrationMethod method, const std::str m_auto_panel->Show(false); m_manual_panel->Show(false); m_p1p_panel->Show(); + } else { + m_auto_panel->Show(false); + m_manual_panel->Show(false); + m_p1p_panel->Show(); + assert(false); } Layout(); } @@ -671,7 +676,9 @@ void CalibrationPASavePage::set_cali_method(CalibrationMethod method) void CalibrationPASavePage::on_device_connected(MachineObject* obj) { - ; + curr_obj = obj; + if (curr_obj) + show_panels(m_cali_method, curr_obj->printer_type); } void CalibrationPASavePage::update(MachineObject* obj)