diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 154a5f295..cbaa0f260 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -250,7 +250,7 @@ PresetsConfigSubstitutions PresetBundle::load_presets(AppConfig &config, Forward dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/" + config.get("preset_folder"); } else { - dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/default"; + dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/" + DEFAULT_USER_FOLDER_NAME; } fs::path user_folder(data_dir() + "/" + PRESET_USER_DIR); if (!fs::exists(user_folder)) @@ -700,8 +700,11 @@ PresetsConfigSubstitutions PresetBundle::import_presets(std::vector //BBS save user preset to user_id preset folder void PresetBundle::save_user_presets(AppConfig& config, std::vector& need_to_delete_list) { + std::string user_sub_folder = DEFAULT_USER_FOLDER_NAME; + if (!config.get("preset_folder").empty()) + user_sub_folder = config.get("preset_folder"); //BBS: change directory by design - const std::string dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/"+ config.get("preset_folder"); + const std::string dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/"+ user_sub_folder; BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(" enter, save to %1%")%dir_user_presets; diff --git a/src/libslic3r/PresetBundle.hpp b/src/libslic3r/PresetBundle.hpp index edc80e587..5b5c41d50 100644 --- a/src/libslic3r/PresetBundle.hpp +++ b/src/libslic3r/PresetBundle.hpp @@ -9,6 +9,8 @@ #include #include +#define DEFAULT_USER_FOLDER_NAME "default" + namespace Slic3r { // Bundle of Print + Filament + Printer presets. diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index d81fc8a55..d93eda10c 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -3096,6 +3096,7 @@ void GUI_App::request_user_logout() m_agent->user_logout(); m_agent->set_user_selected_machine(""); + app_config->set("preset_folder", ""); /* delete old user settings */ m_device_manager->clean_user_info(); GUI::wxGetApp().sidebar().load_ams_list({});