Skip to content

Commit

Permalink
Added a deactivate() function to Tab so when switching tabs it hides … (
Browse files Browse the repository at this point in the history
#5386)

Added a deactivate() function to Tab so when switching tabs it hides the active contents. Also removed clearing of the pages so it's not destroyed each time.

Co-authored-by: SoftFever <softfeverever@gmail.com>
  • Loading branch information
akoolenbourke and SoftFever committed May 19, 2024
1 parent 01213e5 commit 7a33559
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/slic3r/GUI/Tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5199,6 +5199,10 @@ bool Tab::tree_sel_change_delayed(wxCommandEvent& event)
if (m_active_page == page)
return false;

if (m_active_page != nullptr) {
m_active_page->deactivate();
}

m_active_page = page;

auto throw_if_canceled = std::function<void()>([this](){
Expand All @@ -5216,8 +5220,6 @@ bool Tab::tree_sel_change_delayed(wxCommandEvent& event)

try {
m_page_view->Freeze();
// clear pages from the controls
clear_pages();
throw_if_canceled();

//BBS: GUI refactor
Expand Down Expand Up @@ -5922,6 +5924,13 @@ void Page::activate(ConfigOptionMode mode, std::function<void()> throw_if_cancel
#endif
}

void Page::deactivate()
{
for (auto group : m_optgroups) {
group->Hide();
}
}

void Page::clear()
{
for (auto group : m_optgroups)
Expand Down
1 change: 1 addition & 0 deletions src/slic3r/GUI/Tab.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ class Page// : public wxScrolledWindow
void reload_config();
void update_visibility(ConfigOptionMode mode, bool update_contolls_visibility);
void activate(ConfigOptionMode mode, std::function<void()> throw_if_canceled);
void deactivate();
void clear();
void msw_rescale();
void sys_color_changed();
Expand Down

0 comments on commit 7a33559

Please sign in to comment.