diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 716a8b0d4d..28dd90097c 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -722,6 +722,17 @@ void PresetBundle::update_user_presets_directory(const std::string preset_folder BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(" finished"); } +void PresetBundle::remove_user_presets_directory(const std::string preset_folder) +{ + const std::string dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/" + preset_folder; + + BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(" enter, delete directory : %1%") % dir_user_presets; + fs::path folder(dir_user_presets); + if (fs::exists(folder)) { + fs::remove_all(folder); + } +} + void PresetBundle::update_system_preset_setting_ids(std::map>& system_presets) { for (auto iterator: system_presets) diff --git a/src/libslic3r/PresetBundle.hpp b/src/libslic3r/PresetBundle.hpp index c578bbfebf..0cd7aef994 100644 --- a/src/libslic3r/PresetBundle.hpp +++ b/src/libslic3r/PresetBundle.hpp @@ -49,7 +49,8 @@ public: PresetsConfigSubstitutions import_presets(std::vector &files, std::function override_confirm, ForwardCompatibilitySubstitutionRule rule); void save_user_presets(AppConfig& config, std::vector& need_to_delete_list); void remove_users_preset(AppConfig &config); - void update_user_presets_directory(const std::string preset_folder); + void update_user_presets_directory(const std::string preset_folder); + void remove_user_presets_directory(const std::string preset_folder); void update_system_preset_setting_ids(std::map>& system_presets); //BBS: add API to get previous machine diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index c103c7709a..b08509b96d 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -3387,6 +3387,10 @@ void GUI_App::remove_user_presets() { if (preset_bundle && m_agent) { preset_bundle->remove_users_preset(*app_config); + + std::string user_id = m_agent->get_user_id(); + preset_bundle->remove_user_presets_directory(user_id); + //update ui mainframe->update_side_preset_ui(); }