diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index eb0a4440ec..187ab28ebc 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1615,6 +1615,8 @@ void GLCanvas3D::enable_main_toolbar(bool enable) void GLCanvas3D::reset_select_plate_toolbar_selection() { if (m_sel_plate_toolbar.m_all_plates_stats_item) m_sel_plate_toolbar.m_all_plates_stats_item->selected = false; + if (wxGetApp().mainframe) + wxGetApp().mainframe->update_slice_print_status(MainFrame::eEventSliceUpdate, true, true); } void GLCanvas3D::enable_select_plate_toolbar(bool enable) diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 18fc75a953..d6304eae23 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -724,6 +724,7 @@ public: const GLVolumeCollection& get_volumes() const { return m_volumes; } void reset_volumes(); ModelInstanceEPrintVolumeState check_volumes_outside_state() const; + bool is_all_plates_selected() { return m_sel_plate_toolbar.m_all_plates_stats_item && m_sel_plate_toolbar.m_all_plates_stats_item->selected; } const float get_scale() const; //BBS diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index cbb00f57ec..a55b483de2 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1672,7 +1672,7 @@ bool MainFrame::get_enable_print_status() PartPlateList &part_plate_list = m_plater->get_partplate_list(); PartPlate *current_plate = part_plate_list.get_curr_plate(); - + bool is_all_plates = wxGetApp().plater()->get_preview_canvas3D()->is_all_plates_selected(); if (m_print_select == ePrintAll) { if (!part_plate_list.is_all_slice_results_ready_for_print()) @@ -1686,6 +1686,7 @@ bool MainFrame::get_enable_print_status() { enable = false; } + enable = enable && !is_all_plates; } else if (m_print_select == eExportGcode) { @@ -1693,6 +1694,7 @@ bool MainFrame::get_enable_print_status() { enable = false; } + enable = enable && !is_all_plates; } else if (m_print_select == eSendGcode) { @@ -1700,6 +1702,7 @@ bool MainFrame::get_enable_print_status() enable = false; if (!can_send_gcode()) enable = false; + enable = enable && !is_all_plates; } else if (m_print_select == eUploadGcode) { @@ -1707,6 +1710,7 @@ bool MainFrame::get_enable_print_status() enable = false; if (!can_send_gcode()) enable = false; + enable = enable && !is_all_plates; } else if (m_print_select == eExportSlicedFile) { @@ -1714,6 +1718,7 @@ bool MainFrame::get_enable_print_status() { enable = false; } + enable = enable && !is_all_plates; } else if (m_print_select == eSendToPrinter) { @@ -1721,6 +1726,7 @@ bool MainFrame::get_enable_print_status() { enable = false; } + enable = enable && !is_all_plates; } else if (m_print_select == eSendToPrinterAll) {