diff --git a/.gitignore b/.gitignore index 00a8862..39954e0 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,7 @@ Cargo.lock # 日志文件 *.log -adcignore.txt \ No newline at end of file +adcignore.txt + +# 规则文件 +/rules \ No newline at end of file diff --git a/src/subscription.rs b/src/subscription.rs index 88ad380..5376a7c 100644 --- a/src/subscription.rs +++ b/src/subscription.rs @@ -1,4 +1,3 @@ -use dirs_next as dirs; use eframe::egui; use std::collections::HashMap; use std::fs; @@ -16,10 +15,7 @@ pub struct SubscriptionManager { impl Default for SubscriptionManager { fn default() -> Self { - let rules_directory = dirs::data_dir() - .unwrap_or_else(|| PathBuf::from(".")) - .join("AppDataCleaner") - .join("rules"); + let rules_directory = PathBuf::from("./rules"); // 确保目录存在 if let Err(e) = fs::create_dir_all(&rules_directory) { @@ -39,6 +35,16 @@ impl Default for SubscriptionManager { } impl SubscriptionManager { + pub fn set_rules_directory(&mut self, directory: &str) { + let new_directory = PathBuf::from(directory); + + if let Err(e) = fs::create_dir_all(&new_directory) { + eprintln!("无法创建规则目录: {}", e); + } else { + self.rules_directory = new_directory; + } + } + pub fn show_window(&mut self, ctx: &egui::Context) { let mut is_open = self.is_open; if is_open {