Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuSanka <yusanka@gmail.com>2019-11-08 21:33:18 +0300
committerYuSanka <yusanka@gmail.com>2019-11-08 21:33:18 +0300
commit49175c3112e8dd070f7603b23b6c3d5eddcca6ba (patch)
tree5cac9bf0e2d85cdd6e748083e6ce76c753589be5 /src/slic3r/GUI/Tab.cpp
parentc370fccd8b76b1c2f345812cd0f1cf15a3226860 (diff)
parent588734c7b373371d22a18fd2110e249df6367f0f (diff)
Merge remote-tracking branch 'origin/master' into ys_resin_cost
Diffstat (limited to 'src/slic3r/GUI/Tab.cpp')
-rw-r--r--src/slic3r/GUI/Tab.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
index 25604080e..5063c2fbc 100644
--- a/src/slic3r/GUI/Tab.cpp
+++ b/src/slic3r/GUI/Tab.cpp
@@ -227,9 +227,9 @@ void Tab::create_preset_tab()
m_treectrl->Bind(wxEVT_KEY_DOWN, &Tab::OnKeyDown, this);
m_presets_choice->Bind(wxEVT_COMBOBOX, ([this](wxCommandEvent e) {
- //! Because of The MSW and GTK version of wxBitmapComboBox derived from wxComboBox,
+ //! Because of The MSW and GTK version of wxBitmapComboBox derived from wxComboBox,
//! but the OSX version derived from wxOwnerDrawnCombo, instead of:
- //! select_preset(m_presets_choice->GetStringSelection().ToUTF8().data());
+ //! select_preset(m_presets_choice->GetStringSelection().ToUTF8().data());
//! we doing next:
int selected_item = m_presets_choice->GetSelection();
if (m_selected_preset_item == size_t(selected_item) && !m_presets->current_is_dirty())
@@ -241,7 +241,7 @@ void Tab::create_preset_tab()
selected_string == "------- User presets -------"*/) {
m_presets_choice->SetSelection(m_selected_preset_item);
if (wxString::FromUTF8(selected_string.c_str()) == PresetCollection::separator(L("Add a new printer")))
- wxTheApp->CallAfter([]() { Slic3r::GUI::config_wizard(Slic3r::GUI::ConfigWizard::RR_USER); });
+ wxTheApp->CallAfter([]() { wxGetApp().run_wizard(ConfigWizard::RR_USER); });
return;
}
m_selected_preset_item = selected_item;
@@ -1808,7 +1808,10 @@ void TabPrinter::build_fff()
optgroup->append_single_option_line("single_extruder_multi_material");
optgroup->m_on_change = [this, optgroup](t_config_option_key opt_key, boost::any value) {
- size_t extruders_count = boost::any_cast<size_t>(optgroup->get_value("extruders_count"));
+ // optgroup->get_value() return int for def.type == coInt,
+ // Thus, there should be boost::any_cast<int> !
+ // Otherwise, boost::any_cast<size_t> causes an "unhandled unknown exception"
+ size_t extruders_count = size_t(boost::any_cast<int>(optgroup->get_value("extruders_count")));
wxTheApp->CallAfter([this, opt_key, value, extruders_count]() {
if (opt_key == "extruders_count" || opt_key == "single_extruder_multi_material") {
extruders_count_changed(extruders_count);
@@ -3016,6 +3019,18 @@ void Tab::save_preset(std::string name /*= ""*/)
show_error(this, _(L("Cannot overwrite an external profile.")));
return;
}
+ if (existing && name != preset.name)
+ {
+ wxString msg_text = GUI::from_u8((boost::format(_utf8(L("Preset with name \"%1%\" already exist."))) % name).str());
+ msg_text += "\n" + _(L("Replace?"));
+ wxMessageDialog dialog(nullptr, msg_text, _(L("Warning")), wxICON_WARNING | wxYES | wxNO);
+
+ if (dialog.ShowModal() == wxID_NO)
+ return;
+
+ // Remove the preset from the list.
+ m_presets->delete_preset(name);
+ }
}
// Save the preset into Slic3r::data_dir / presets / section_name / preset_name.ini
@@ -3032,6 +3047,12 @@ void Tab::save_preset(std::string name /*= ""*/)
if (m_type == Preset::TYPE_PRINTER)
static_cast<TabPrinter*>(this)->m_initial_extruders_count = static_cast<TabPrinter*>(this)->m_extruders_count;
update_changed_ui();
+
+ /* If filament preset is saved for multi-material printer preset,
+ * there are cases when filament comboboxs are updated for old (non-modified) colors,
+ * but in full_config a filament_colors option aren't.*/
+ if (m_type == Preset::TYPE_FILAMENT && wxGetApp().extruders_edited_cnt() > 1)
+ wxGetApp().plater()->force_filament_colors_update();
}
// Called for a currently selected preset.
@@ -3563,12 +3584,14 @@ void TabSLAPrint::build()
optgroup->append_single_option_line("pad_enable");
optgroup->append_single_option_line("pad_wall_thickness");
optgroup->append_single_option_line("pad_wall_height");
+ optgroup->append_single_option_line("pad_brim_size");
optgroup->append_single_option_line("pad_max_merge_distance");
// TODO: Disabling this parameter for the beta release
// optgroup->append_single_option_line("pad_edge_radius");
optgroup->append_single_option_line("pad_wall_slope");
optgroup->append_single_option_line("pad_around_object");
+ optgroup->append_single_option_line("pad_around_object_everywhere");
optgroup->append_single_option_line("pad_object_gap");
optgroup->append_single_option_line("pad_object_connector_stride");
optgroup->append_single_option_line("pad_object_connector_width");