diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index c1f859b5c1..da08a08ed5 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -241,12 +241,12 @@ PresetsConfigSubstitutions PresetBundle::load_presets(AppConfig &config, Forward //BBS: change system config to json std::tie(substitutions, errors_cummulative) = this->load_system_presets_from_json(substitution_rule); - // Load default user presets always - load_user_presets(DEFAULT_USER_FOLDER_NAME, substitution_rule); // BBS load preset from user's folder, load system default if // BBS: change directories by design std::string dir_user_presets = config.get("preset_folder"); - if (!dir_user_presets.empty()) { + if (dir_user_presets.empty()) { + load_user_presets(DEFAULT_USER_FOLDER_NAME, substitution_rule); + } else { load_user_presets(dir_user_presets, substitution_rule); } diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index f9cfe30592..8a316cf89a 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -4425,6 +4425,9 @@ void GUI_App::start_sync_user_preset(bool load_immediately, bool with_progress_d { if (!m_agent || !m_agent->is_user_login()) return; + if (load_immediately) + remove_user_presets(); + enable_user_preset_folder(true); // has already start sync @@ -4541,6 +4544,9 @@ void GUI_App::stop_sync_user_preset() remove_user_presets(); enable_user_preset_folder(false); + preset_bundle->load_user_presets(DEFAULT_USER_FOLDER_NAME, ForwardCompatibilitySubstitutionRule::Enable); + mainframe->update_side_preset_ui(); + if (!enable_sync) return;