From d9c1d459c5744aa880cd0c5e9093b0ee42f5321b Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Mon, 29 Oct 2018 20:31:42 -0500 Subject: [PATCH] Convert filament_settings_id to something that can be set instead of just read from a configuration file. --- lib/Slic3r/GUI/PresetEditor.pm | 1 + xs/src/libslic3r/PrintConfig.cpp | 11 +++++++++-- xs/src/libslic3r/PrintConfig.hpp | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/Slic3r/GUI/PresetEditor.pm b/lib/Slic3r/GUI/PresetEditor.pm index 256394042..1a6e540c1 100644 --- a/lib/Slic3r/GUI/PresetEditor.pm +++ b/lib/Slic3r/GUI/PresetEditor.pm @@ -1046,6 +1046,7 @@ sub build { my $optgroup = $page->new_optgroup('Optional information'); $optgroup->append_single_option_line('filament_density', 0); $optgroup->append_single_option_line('filament_cost', 0); + $optgroup->append_single_option_line('filament_settings_id', 0); } } diff --git a/xs/src/libslic3r/PrintConfig.cpp b/xs/src/libslic3r/PrintConfig.cpp index 48d43fba5..1521881ea 100644 --- a/xs/src/libslic3r/PrintConfig.cpp +++ b/xs/src/libslic3r/PrintConfig.cpp @@ -447,8 +447,15 @@ PrintConfigDef::PrintConfigDef() def->default_value = opt; } - def = this->add("filament_settings_id", coString); - def->default_value = new ConfigOptionString(""); + def = this->add("filament_settings_id", coStrings); + def->label = __TRANS("Custom GCode ID"); + def->tooltip = __TRANS("Identifer for this filament. Used to mark specific filament profiles for custom gcode."); + def->cli = "filament-settings-id=s@"; + { + ConfigOptionStrings* opt = new ConfigOptionStrings(); + opt->values.push_back(""); + def->default_value = opt; + } def = this->add("fill_angle", coFloat); def->label = __TRANS("Fill angle"); diff --git a/xs/src/libslic3r/PrintConfig.hpp b/xs/src/libslic3r/PrintConfig.hpp index 17f629541..99ba80dc6 100644 --- a/xs/src/libslic3r/PrintConfig.hpp +++ b/xs/src/libslic3r/PrintConfig.hpp @@ -336,6 +336,7 @@ class GCodeConfig : public virtual StaticPrintConfig ConfigOptionFloats filament_cost; ConfigOptionFloats filament_max_volumetric_speed; ConfigOptionStrings filament_notes; + ConfigOptionStrings filament_settings_id; ConfigOptionBool gcode_comments; ConfigOptionEnum gcode_flavor; ConfigOptionBool label_printed_objects; @@ -380,6 +381,7 @@ class GCodeConfig : public virtual StaticPrintConfig OPT_PTR(filament_cost); OPT_PTR(filament_max_volumetric_speed); OPT_PTR(filament_notes); + OPT_PTR(filament_settings_id); OPT_PTR(gcode_comments); OPT_PTR(gcode_flavor); OPT_PTR(label_printed_objects);