diff --git a/SDMetaUI/Services/FileSystemObserver.cs b/SDMetaUI/Services/FileSystemObserver.cs index 797420e..86fcadc 100644 --- a/SDMetaUI/Services/FileSystemObserver.cs +++ b/SDMetaUI/Services/FileSystemObserver.cs @@ -1,5 +1,4 @@ using SDMeta; -using System.IO.Abstractions; namespace SDMetaUI.Services { @@ -17,28 +16,28 @@ public FileSystemObserver(IImageDir configuration) private readonly IList added = new List(); private readonly IList removed = new List(); private readonly IList removedInAdvanced = new List(); - private IEnumerable watchers; + private IEnumerable watchers; private void Start() { if (watchers == null) { - watchers = new List(); + watchers = configuration.GetPath().Select(p => GetWatcher(p)).ToList(); + } + } - var directoryList = configuration.GetPath(); - foreach (var directory in directoryList) - { - var watcher = new FileSystemWatcher(directory); + private FileSystemWatcher GetWatcher(string directory) + { + var watcher = new FileSystemWatcher(directory); - watcher.Created += OnCreated; - watcher.Deleted += OnDeleted; - watcher.Renamed += OnCreated; + watcher.Created += OnCreated; + watcher.Deleted += OnDeleted; + watcher.Renamed += OnCreated; - // watcher.Filter = "*.png"; - watcher.IncludeSubdirectories = true; - watcher.EnableRaisingEvents = true; - } - } + // watcher.Filter = "*.png"; + watcher.IncludeSubdirectories = true; + watcher.EnableRaisingEvents = true; + return watcher; } public void RegisterRemoval(string path)