From af4a5c3f8aca7a67a87e2e7e3de9398c2158945e Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sat, 14 Mar 2020 09:13:39 +0100 Subject: [PATCH] Synchronization of skirt input field enable / disable state in the parameter tab. An inconsistency between the slicing back-end and the parameter page has been fixed, where the slicing back end only creates skirt for non-zero number of skirt loops even if the minimum skirt extrusion is set. --- src/slic3r/GUI/ConfigManipulation.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 6ae0b221b..8d1daeb8e 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -268,12 +268,11 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig* config) "bridge_acceleration", "first_layer_acceleration" }) toggle_field(el, have_default_acceleration); - bool have_skirt = config->opt_int("skirts") > 0 || config->opt_float("min_skirt_length") > 0; - for (auto el : { "skirt_distance", "skirt_height" }) + bool have_skirt = config->opt_int("skirts") > 0; + toggle_field("skirt_height", have_skirt && !config->opt_bool("draft_shield")); + for (auto el : { "skirt_distance", "draft_shield", "min_skirt_length" }) toggle_field(el, have_skirt); - toggle_field("skirt_height", !config->opt_bool("draft_shield")); - bool have_brim = config->opt_float("brim_width") > 0; // perimeter_extruder uses the same logic as in Print::extruders() toggle_field("perimeter_extruder", have_perimeters || have_brim);