diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index ff5563226..fdf00c2d0 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -91,7 +91,9 @@ enum ConfigOptionType { enum ConfigOptionMode { comSimple = 0, comAdvanced, - comExpert + comExpert, + + comUndef }; enum PrinterTechnology : unsigned char diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 0377fdbbf..aeb520d09 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -729,10 +729,15 @@ void Tab::update_mode() m_mode_sizer->SetMode(m_mode); update_visibility(); + + update_changed_tree_ui(); } void Tab::update_visibility() { + if (m_mode == comUndef) // if mode isn't set for this moment + m_mode = wxGetApp().get_mode(); + Freeze(); // There is needed Freeze/Thaw to avoid a flashing after Show/Layout for (auto page : m_pages) @@ -741,8 +746,6 @@ void Tab::update_visibility() Layout(); Thaw(); - - update_changed_tree_ui(); } void Tab::msw_rescale() diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 423bc198f..3aa183540 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -218,7 +218,7 @@ protected: int m_em_unit; // To avoid actions with no-completed Tab bool m_complited { false }; - ConfigOptionMode m_mode = comSimple; + ConfigOptionMode m_mode = comUndef; public: PresetBundle* m_preset_bundle;