Skip to content

Commit

Permalink
1.Fix: wrong extruder_counts by Switching between multi-extruder prin…
Browse files Browse the repository at this point in the history
…ters using tabs 2. unneccessary unsaved dialog
  • Loading branch information
womendoushihaoyin committed Dec 29, 2024
1 parent 42c10fc commit 52708ff
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
3 changes: 2 additions & 1 deletion src/slic3r/GUI/GUI_App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5597,7 +5597,8 @@ bool GUI_App::check_and_save_current_preset_changes(const wxString& caption, con
if (remember_choice)
act_buttons |= ActionButtons::REMEMBER_CHOISE;
UnsavedChangesDialog dlg(caption, header, "", act_buttons);
if (dlg.ShowModal() == wxID_CANCEL)
bool no_need_change = dlg.getUpdateItemCount() == 0 ? true : false;
if (!no_need_change && dlg.ShowModal() == wxID_CANCEL)
return false;

if (dlg.save_preset()) // save selected changes
Expand Down
17 changes: 6 additions & 11 deletions src/slic3r/GUI/Tab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5114,17 +5114,13 @@ bool Tab::select_preset(std::string preset_name, bool delete_current /*=false*/,
apply_config_from_cache();

// Orca: update presets for the selected printer
load_current_preset();

if (m_type == Preset::TYPE_PRINTER && wxGetApp().app_config->get_bool("remember_printer_config")) {
m_preset_bundle->update_selections(*wxGetApp().app_config);
int extruders_count = m_preset_bundle->printers.get_edited_preset().config.opt<ConfigOptionFloats>("nozzle_diameter")->values.size();
if (extruders_count > 1) {
// multi tool
wxGetApp().plater()->sidebar().on_filaments_change(extruders_count);
} else {
wxGetApp().plater()->sidebar().on_filaments_change(m_preset_bundle->filament_presets.size());
}
wxGetApp().plater()->sidebar().on_filaments_change(m_preset_bundle->filament_presets.size());
}
load_current_preset();


if (delete_third_printer) {
wxGetApp().CallAfter([filament_presets, process_presets]() {
Expand Down Expand Up @@ -6104,9 +6100,8 @@ void Page::update_visibility(ConfigOptionMode mode, bool update_contolls_visibil
#ifdef __WXMSW__
if (!m_show) return;
// BBS: fix field control position
auto groups = this->m_optgroups;
wxTheApp->CallAfter([groups]() {
for (auto group : groups) {
wxTheApp->CallAfter([this]() {
for (auto group : m_optgroups) {
if (group->custom_ctrl) group->custom_ctrl->fixup_items_positions();
}
});
Expand Down

0 comments on commit 52708ff

Please sign in to comment.