diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 737714149..a401f2e63 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1735,8 +1735,11 @@ void SelectMachineDialog::prepare_mode() Fit(); } - for (auto it = m_materialList.begin(); it != m_materialList.end(); it++) { - it->second->item->enable(); + if (m_print_page_mode != PrintPageModePrepare) { + m_print_page_mode = PrintPageModePrepare; + for (auto it = m_materialList.begin(); it != m_materialList.end(); it++) { + it->second->item->enable(); + } } } @@ -1752,13 +1755,18 @@ void SelectMachineDialog::sending_mode() Fit(); } - for (auto it = m_materialList.begin(); it != m_materialList.end(); it++) { - it->second->item->disable(); + + if (m_print_page_mode != PrintPageModeSending) { + m_print_page_mode = PrintPageModeSending; + for (auto it = m_materialList.begin(); it != m_materialList.end(); it++) { + it->second->item->disable(); + } } } void SelectMachineDialog::finish_mode() { + m_print_page_mode = PrintPageModeFinish; m_is_in_sending_mode = false; m_simplebook->SetSelection(2); Layout(); diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index e93ddd590..0d57a7493 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -238,6 +238,12 @@ private: #define SELECT_MACHINE_DIALOG_SIMBOOK_SIZE wxSize(FromDIP(370), FromDIP(64)) +enum PrintPageMode { + PrintPageModePrepare = 0, + PrintPageModeSending, + PrintPageModeFinish +}; + enum PrintDialogStatus { PrintStatusInit = 0, PrintStatusNoUserLogin, @@ -287,6 +293,7 @@ private: bool m_export_3mf_cancel{ false }; bool m_is_canceled{ false }; bool m_is_rename_mode{ false }; + PrintPageMode m_print_page_mode{PrintPageMode::PrintPageModePrepare}; std::string m_print_error_msg; std::string m_print_error_extra; std::string m_printer_last_select;