From 3c163285e5e64cfe8375c1f4ce9a090c7876c307 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 27 Mar 2019 16:59:34 +0100 Subject: [PATCH] Fix of SPE-879 and #2021 --- src/slic3r/GUI/Field.cpp | 5 +++++ src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 35 +++++++++++++++-------------------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 52b930a60..d77405230 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -584,6 +584,11 @@ void Choice::BUILD() { void Choice::set_selection() { + /* To prevent earlier control updating under OSX set m_disable_change_event to true + * (under OSX wxBitmapComboBox send wxEVT_COMBOBOX even after SetSelection()) + */ + m_disable_change_event = true; + wxString text_value = wxString(""); wxBitmapComboBox* field = dynamic_cast(window); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 7b31c80c0..c5b567429 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -427,7 +427,7 @@ FreqChangedParams::FreqChangedParams(wxWindow* parent, const int label_width) : option = m_og->get_option("fill_density"); option.opt.label = L("Infill"); - option.opt.width = 7 * wxGetApp().em_unit(); + option.opt.width = 5 * wxGetApp().em_unit(); option.opt.sidetext = " "; line.append_option(option); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index b8122c0d0..631050f29 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -927,31 +927,26 @@ void Tab::update_frequently_changed_parameters() auto og_freq_chng_params = wxGetApp().sidebar().og_freq_chng_params(supports_printer_technology(ptFFF)); if (!og_freq_chng_params) return; - if (m_type == Preset::TYPE_SLA_PRINT) - { - for (auto opt_key : { "supports_enable", "pad_enable" }) - { - boost::any val = og_freq_chng_params->get_config_value(*m_config, opt_key); - og_freq_chng_params->set_value(opt_key, val); - } - return; - } + const bool is_fff = supports_printer_technology(ptFFF); - // for m_type == Preset::TYPE_PRINT - boost::any value = og_freq_chng_params->get_config_value(*m_config, "fill_density"); - og_freq_chng_params->set_value("fill_density", value); + const std::string support = is_fff ? "support_material" : "supports_enable"; + const std::string buildplate_only = is_fff ? "support_material_buildplate_only" : "support_buildplate_only"; - wxString new_selection = !m_config->opt_bool("support_material") ? - _("None") : - m_config->opt_bool("support_material_buildplate_only") ? - _("Support on build plate only") : - _("Everywhere"); + wxString new_selection = !m_config->opt_bool(support) ? _("None") : + m_config->opt_bool(buildplate_only) ? _("Support on build plate only") : + _("Everywhere"); og_freq_chng_params->set_value("support", new_selection); - bool val = m_config->opt_float("brim_width") > 0.0 ? true : false; - og_freq_chng_params->set_value("brim", val); + const std::string updated_value_key = is_fff ? "fill_density" : "pad_enable"; - update_wiping_button_visibility(); + const boost::any val = og_freq_chng_params->get_config_value(*m_config, updated_value_key); + og_freq_chng_params->set_value(updated_value_key, val); + + if (is_fff) + { + og_freq_chng_params->set_value("brim", bool(m_config->opt_float("brim_width") > 0.0)); + update_wiping_button_visibility(); + } } void TabPrint::build()