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.
This commit is contained in:
bubnikv 2020-03-14 09:13:39 +01:00
parent ac103f334c
commit af4a5c3f8a

View file

@ -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);