From 9b71e176d9ac82d6a6836b24bf49f531fdaf6d2b Mon Sep 17 00:00:00 2001 From: "zhou.xu" Date: Wed, 27 Dec 2023 09:52:16 +0800 Subject: [PATCH] FIX:gcode.3mf file needs to open the plate_toolbar Jira: STUDIO-5686 Change-Id: I43824cbaaae59e54ccab2298da52c080e1567713 --- src/slic3r/GUI/GLCanvas3D.cpp | 5 +++++ src/slic3r/GUI/GLCanvas3D.hpp | 1 + src/slic3r/GUI/Plater.cpp | 11 ++++++++++- src/slic3r/GUI/Plater.hpp | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 0423845b6..140a64889 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1650,6 +1650,11 @@ void GLCanvas3D::enable_select_plate_toolbar(bool enable) m_sel_plate_toolbar.set_enabled(enable); } +void GLCanvas3D::clear_select_plate_toolbar_render_flag() +{ + m_sel_plate_toolbar.is_render_finish = false; +} + void GLCanvas3D::enable_assemble_view_toolbar(bool enable) { m_assemble_view_toolbar.set_enabled(enable); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 9974a1238..948d824ce 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -795,6 +795,7 @@ public: void _update_select_plate_toolbar_stats_item(bool force_selected = false); void reset_select_plate_toolbar_selection(); void enable_select_plate_toolbar(bool enable); + void clear_select_plate_toolbar_render_flag(); void enable_assemble_view_toolbar(bool enable); void enable_return_toolbar(bool enable); void enable_separator_toolbar(bool enable); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 86db8ab3a..a92fecf98 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1870,6 +1870,14 @@ std::string& Sidebar::get_search_line() return p->searcher.search_string(); } +void Sidebar::set_is_gcode_file(bool flag) +{ + m_is_gcode_file = flag; + if (m_is_gcode_file) { + wxGetApp().plater()->force_update_all_plate_thumbnails(); + } +} + void Sidebar::auto_calc_flushing_volumes(const int modify_id) { auto& project_config = wxGetApp().preset_bundle->project_config; auto& printer_config = wxGetApp().preset_bundle->printers.get_edited_preset().config; @@ -5802,7 +5810,7 @@ void Plater::priv::set_current_panel(wxPanel* panel, bool no_slice) } } else { - preview->get_canvas3d()->enable_select_plate_toolbar(false); + preview->get_canvas3d()->clear_select_plate_toolbar_render_flag(); } if (current_panel == panel) @@ -9453,6 +9461,7 @@ void Plater::force_update_all_plate_thumbnails() invalid_all_plate_thumbnails(); update_all_plate_thumbnails(true); } + get_preview_canvas3D()->clear_select_plate_toolbar_render_flag(); get_preview_canvas3D()->update_plate_thumbnails(); } diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index c48450d80..621f55c82 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -175,7 +175,7 @@ public: std::vector& combos_filament(); Search::OptionsSearcher& get_searcher(); std::string& get_search_line(); - void set_is_gcode_file(bool flag) { m_is_gcode_file = flag; } + void set_is_gcode_file(bool flag); void update_soft_first_start_state() { m_soft_first_start = false; } void cancel_update_3d_state() { m_update_3d_state = false; } bool get_update_3d_state() { return m_update_3d_state; }