From f4cdf6dc35269fdbd403ebe38c3615005cec526b Mon Sep 17 00:00:00 2001 From: jamesmoore Date: Sun, 10 Dec 2023 09:00:56 +0000 Subject: [PATCH] fix file system watcher --- SDMetaUI/Services/FileSystemObserver.cs | 29 ++++++++++++------------- 1 file changed, 14 insertions(+), 15 deletions(-) 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)