diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 449beb252d..bec3f3c9ae 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -275,6 +275,10 @@ void AppConfig::set_defaults() set_bool("auto_calculate", true); } + if (get("remember_printer_config").empty()) { + set_bool("remember_printer_config", true); + } + if (get("show_home_page").empty()) { set_bool("show_home_page", true); } diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 725ffe3726..919e79bd98 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1030,6 +1030,7 @@ wxWindow* PreferencesDialog::create_general_page() auto item_hints = create_item_checkbox(_L("Show \"Tip of the day\" notification after start"), page, _L("If enabled, useful hints are displayed at startup."), 50, "show_hints"); auto item_calc_mode = create_item_checkbox(_L("Flushing volumes: Auto-calculate everytime the color changed."), page, _L("If enabled, auto-calculate everytime the color changed."), 50, "auto_calculate"); + auto item_remember_printer_config = create_item_checkbox(_L("Remember printer configuration"), page, _L("If enabled, Orca will remember and switch filament/process configuration for each printer automatically."), 50, "remember_printer_config"); auto title_presets = create_item_title(_L("Presets"), page, _L("Presets")); auto title_network = create_item_title(_L("Network"), page, _L("Network")); auto item_user_sync = create_item_checkbox(_L("Auto sync user presets(Printer/Filament/Process)"), page, _L("User Sync"), 50, "sync_user_preset"); @@ -1097,6 +1098,7 @@ wxWindow* PreferencesDialog::create_general_page() sizer_page->Add(item_calc_mode, 0, wxTOP, FromDIP(3)); sizer_page->Add(item_user_sync, 0, wxTOP, FromDIP(3)); sizer_page->Add(item_system_sync, 0, wxTOP, FromDIP(3)); + sizer_page->Add(item_remember_printer_config, 0, wxTOP, FromDIP(3)); sizer_page->Add(item_save_presets, 0, wxTOP, FromDIP(3)); sizer_page->Add(title_network, 0, wxTOP | wxEXPAND, FromDIP(20)); sizer_page->Add(item_check_stable_version_only, 0, wxTOP, FromDIP(3)); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index c6144e2237..b41b0e8a7c 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -4757,7 +4757,7 @@ bool Tab::select_preset(std::string preset_name, bool delete_current /*=false*/, apply_config_from_cache(); // Orca: update presets for the selected printer - if (m_type == Preset::TYPE_PRINTER) { + if (m_type == Preset::TYPE_PRINTER && wxGetApp().app_config->get_bool("remember_printer_config")) { m_preset_bundle->update_selections(*wxGetApp().app_config); wxGetApp().plater()->sidebar().on_filaments_change(m_preset_bundle->filament_presets.size()); }