Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuSanka <yusanka@gmail.com>2018-05-21 15:36:09 +0300
committerYuSanka <yusanka@gmail.com>2018-05-21 15:36:09 +0300
commitc4478ccffaed4a6ca3ffff324df90f523bec2152 (patch)
treed8b78b4721cff1169a60b61b6fd33d70e4b7b304 /xs/src/slic3r/GUI/Tab.cpp
parent64b905820d00bad48b43f7d5ba36848462814976 (diff)
Fixed wrong updating of the options group tree
Diffstat (limited to 'xs/src/slic3r/GUI/Tab.cpp')
-rw-r--r--xs/src/slic3r/GUI/Tab.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/xs/src/slic3r/GUI/Tab.cpp b/xs/src/slic3r/GUI/Tab.cpp
index 5a47dd1e7..38c97f25e 100644
--- a/xs/src/slic3r/GUI/Tab.cpp
+++ b/xs/src/slic3r/GUI/Tab.cpp
@@ -1709,7 +1709,8 @@ void TabPrinter::build_extruder_pages(){
size_t n_before_extruders = 2; // Count of pages before Extruder pages
size_t n_after_single_extruder_MM = 2; // Count of pages after single_extruder_multi_material page
- if (m_extruders_count_old == m_extruders_count || m_extruders_count <= 2)
+ if (m_extruders_count_old == m_extruders_count ||
+ (m_has_single_extruder_MM_page && m_extruders_count == 1))
{
// if we have a single extruder MM setup, add a page with configuration options:
for (int i = 0; i < m_pages.size(); ++i) // first make sure it's not there already
@@ -1717,16 +1718,19 @@ void TabPrinter::build_extruder_pages(){
m_pages.erase(m_pages.begin() + i);
break;
}
- if (m_extruders_count > 1 && m_config->opt_bool("single_extruder_multi_material")) {
- // create a page, but pretend it's an extruder page, so we can add it to m_pages ourselves
- auto page = add_options_page(_(L("Single extruder MM setup")), "printer_empty.png", true);
- auto optgroup = page->new_optgroup(_(L("Single extruder multimaterial parameters")));
- optgroup->append_single_option_line("cooling_tube_retraction");
- optgroup->append_single_option_line("cooling_tube_length");
- optgroup->append_single_option_line("parking_pos_retraction");
- m_pages.insert(m_pages.end() - n_after_single_extruder_MM, page);
- }
+ m_has_single_extruder_MM_page = false;
+ }
+ if (m_extruders_count > 1 && m_config->opt_bool("single_extruder_multi_material") && !m_has_single_extruder_MM_page) {
+ // create a page, but pretend it's an extruder page, so we can add it to m_pages ourselves
+ auto page = add_options_page(_(L("Single extruder MM setup")), "printer_empty.png", true);
+ auto optgroup = page->new_optgroup(_(L("Single extruder multimaterial parameters")));
+ optgroup->append_single_option_line("cooling_tube_retraction");
+ optgroup->append_single_option_line("cooling_tube_length");
+ optgroup->append_single_option_line("parking_pos_retraction");
+ m_pages.insert(m_pages.end() - n_after_single_extruder_MM, page);
+ m_has_single_extruder_MM_page = true;
}
+
for (auto extruder_idx = m_extruders_count_old; extruder_idx < m_extruders_count; ++extruder_idx){
//# build page