diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index ba1c440a3e..e65b604df1 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -1136,6 +1136,7 @@ void add_correct_opts_to_diff(const std::string &opt_key, t_config_option_keys& // list of options with vector variable, which is independent from number of extruders static const std::vector independent_from_extruder_number_options = { "bed_shape", + "thumbnails", "filament_ramming_parameters", "gcode_substitutions", "compatible_prints", diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index 828806a1f5..0b81a65b87 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -596,8 +596,8 @@ void ConfigOptionsGroup::back_to_config_value(const DynamicPrintConfig& config, value = int(nozzle_diameter->values.size()); } else if (m_opt_map.find(opt_key) == m_opt_map.end() || - // This option don't have corresponded field - PresetCollection::is_independent_from_extruder_number_option(opt_key) ) { + // This option doesn't have corresponded field + is_option_without_field(opt_key) ) { value = get_config_value(config, opt_key); this->change_opt_value(opt_key, value); return; @@ -980,6 +980,11 @@ bool OptionsGroup::launch_browser(const std::string& path_end) return wxGetApp().open_browser_with_warning_dialog(OptionsGroup::get_url(path_end), wxGetApp().mainframe->m_tabpanel); } +bool OptionsGroup::is_option_without_field(const std::string& opt_key) +{ + return opt_key!= "thumbnails" // "thumbnails" has related field + && PresetCollection::is_independent_from_extruder_number_option(opt_key); +} //------------------------------------------------------------------------------------------- diff --git a/src/slic3r/GUI/OptionsGroup.hpp b/src/slic3r/GUI/OptionsGroup.hpp index 67c3fbdbde..9218b4d7fe 100644 --- a/src/slic3r/GUI/OptionsGroup.hpp +++ b/src/slic3r/GUI/OptionsGroup.hpp @@ -225,6 +225,7 @@ protected: public: static wxString get_url(const std::string& path_end); static bool launch_browser(const std::string& path_end); + static bool is_option_without_field(const std::string& opt_key); }; class ConfigOptionsGroup: public OptionsGroup { diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 23787f4b70..57d5b6649a 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -532,7 +532,7 @@ void Tab::update_label_colours() else color = &m_modified_label_clr; } - if (PresetCollection::is_independent_from_extruder_number_option(opt.first)) { + if (OptionsGroup::is_option_without_field(opt.first)) { if (m_colored_Label_colors.find(opt.first) != m_colored_Label_colors.end()) m_colored_Label_colors.at(opt.first) = *color; continue; @@ -573,7 +573,7 @@ void Tab::decorate() Field* field = nullptr; wxColour* colored_label_clr = nullptr; - if(PresetCollection::is_independent_from_extruder_number_option(opt.first)) + if(OptionsGroup::is_option_without_field(opt.first)) colored_label_clr = (m_colored_Label_colors.find(opt.first) == m_colored_Label_colors.end()) ? nullptr : &m_colored_Label_colors.at(opt.first); if (!colored_label_clr) {