Follow-up to 0c29eb9943
Next code refactoring: m_support_material_overhangs_queried have to be initialized from outside just once
This commit is contained in:
parent
ea56f00a31
commit
e5b51a654d
3 changed files with 22 additions and 12 deletions
src/slic3r/GUI
|
@ -33,7 +33,7 @@ void ConfigManipulation::toggle_field(const std::string& opt_key, const bool tog
|
||||||
cb_toggle_field(opt_key, toggle, opt_index);
|
cb_toggle_field(opt_key, toggle, opt_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, const bool is_global_config, bool set_support_material_overhangs_queried)
|
void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, const bool is_global_config)
|
||||||
{
|
{
|
||||||
// #ys_FIXME_to_delete
|
// #ys_FIXME_to_delete
|
||||||
//! Temporary workaround for the correct updates of the TextCtrl (like "layer_height"):
|
//! Temporary workaround for the correct updates of the TextCtrl (like "layer_height"):
|
||||||
|
@ -160,12 +160,10 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
|
||||||
apply(config, &new_conf);
|
apply(config, &new_conf);
|
||||||
}
|
}
|
||||||
|
|
||||||
support_material_overhangs_queried = set_support_material_overhangs_queried;
|
|
||||||
|
|
||||||
if (config->opt_bool("support_material")) {
|
if (config->opt_bool("support_material")) {
|
||||||
// Ask only once.
|
// Ask only once.
|
||||||
if (!support_material_overhangs_queried) {
|
if (!m_support_material_overhangs_queried) {
|
||||||
support_material_overhangs_queried = true;
|
m_support_material_overhangs_queried = true;
|
||||||
if (!config->opt_bool("overhangs")/* != 1*/) {
|
if (!config->opt_bool("overhangs")/* != 1*/) {
|
||||||
wxString msg_text = _(L("Supports work better, if the following feature is enabled:\n"
|
wxString msg_text = _(L("Supports work better, if the following feature is enabled:\n"
|
||||||
"- Detect bridging perimeters"));
|
"- Detect bridging perimeters"));
|
||||||
|
@ -184,7 +182,7 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
support_material_overhangs_queried = false;
|
m_support_material_overhangs_queried = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config->option<ConfigOptionPercent>("fill_density")->value == 100) {
|
if (config->option<ConfigOptionPercent>("fill_density")->value == 100) {
|
||||||
|
|
|
@ -20,7 +20,9 @@ namespace GUI {
|
||||||
class ConfigManipulation
|
class ConfigManipulation
|
||||||
{
|
{
|
||||||
bool is_msg_dlg_already_exist{ false };
|
bool is_msg_dlg_already_exist{ false };
|
||||||
bool support_material_overhangs_queried{ false };
|
|
||||||
|
bool m_support_material_overhangs_queried{false};
|
||||||
|
bool m_is_initialized_support_material_overhangs_queried{ false };
|
||||||
|
|
||||||
// function to loading of changed configuration
|
// function to loading of changed configuration
|
||||||
std::function<void()> load_config = nullptr;
|
std::function<void()> load_config = nullptr;
|
||||||
|
@ -50,12 +52,19 @@ public:
|
||||||
void toggle_field(const std::string& field_key, const bool toggle, int opt_index = -1);
|
void toggle_field(const std::string& field_key, const bool toggle, int opt_index = -1);
|
||||||
|
|
||||||
// FFF print
|
// FFF print
|
||||||
void update_print_fff_config(DynamicPrintConfig* config, const bool is_global_config = false, bool set_support_material_overhangs_queried = false);
|
void update_print_fff_config(DynamicPrintConfig* config, const bool is_global_config = false);
|
||||||
void toggle_print_fff_options(DynamicPrintConfig* config);
|
void toggle_print_fff_options(DynamicPrintConfig* config);
|
||||||
|
|
||||||
// SLA print
|
// SLA print
|
||||||
void update_print_sla_config(DynamicPrintConfig* config, const bool is_global_config = false);
|
void update_print_sla_config(DynamicPrintConfig* config, const bool is_global_config = false);
|
||||||
void toggle_print_sla_options(DynamicPrintConfig* config);
|
void toggle_print_sla_options(DynamicPrintConfig* config);
|
||||||
|
|
||||||
|
bool is_initialized_support_material_overhangs_queried() { return m_is_initialized_support_material_overhangs_queried; }
|
||||||
|
void initialize_support_material_overhangs_queried(bool queried)
|
||||||
|
{
|
||||||
|
m_is_initialized_support_material_overhangs_queried = true;
|
||||||
|
m_support_material_overhangs_queried = queried;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // GUI
|
} // GUI
|
||||||
|
|
|
@ -1740,11 +1740,14 @@ void TabPrint::update()
|
||||||
// Note: This workaround works till "support_material" and "overhangs" is exclusive sets of mutually no-exclusive parameters.
|
// Note: This workaround works till "support_material" and "overhangs" is exclusive sets of mutually no-exclusive parameters.
|
||||||
// But it should be corrected when we will have more such sets.
|
// But it should be corrected when we will have more such sets.
|
||||||
// Disable check of the compatibility of the "support_material" and "overhangs" options for saved user profile
|
// Disable check of the compatibility of the "support_material" and "overhangs" options for saved user profile
|
||||||
|
if (!m_config_manipulation.is_initialized_support_material_overhangs_queried()) {
|
||||||
const Preset& selected_preset = m_preset_bundle->prints.get_selected_preset();
|
const Preset& selected_preset = m_preset_bundle->prints.get_selected_preset();
|
||||||
bool is_user_and_saved_preset = !selected_preset.is_system && !selected_preset.is_dirty;
|
bool is_user_and_saved_preset = !selected_preset.is_system && !selected_preset.is_dirty;
|
||||||
bool support_material_overhangs_queried = m_config->opt_bool("support_material") && !m_config->opt_bool("overhangs");
|
bool support_material_overhangs_queried = m_config->opt_bool("support_material") && !m_config->opt_bool("overhangs");
|
||||||
|
m_config_manipulation.initialize_support_material_overhangs_queried(is_user_and_saved_preset && support_material_overhangs_queried);
|
||||||
|
}
|
||||||
|
|
||||||
m_config_manipulation.update_print_fff_config(m_config, true, is_user_and_saved_preset && support_material_overhangs_queried);
|
m_config_manipulation.update_print_fff_config(m_config, true);
|
||||||
|
|
||||||
update_description_lines();
|
update_description_lines();
|
||||||
Layout();
|
Layout();
|
||||||
|
|
Loading…
Add table
Reference in a new issue