diff --git a/core/src/main/groovy/com/muwire/core/files/directories/UISyncDirectoryEvent.groovy b/core/src/main/groovy/com/muwire/core/files/directories/UISyncDirectoryEvent.groovy new file mode 100644 index 00000000..2721db26 --- /dev/null +++ b/core/src/main/groovy/com/muwire/core/files/directories/UISyncDirectoryEvent.groovy @@ -0,0 +1,7 @@ +package com.muwire.core.files.directories + +import com.muwire.core.Event + +class UISyncDirectoryEvent extends Event { + File directory +} diff --git a/core/src/main/groovy/com/muwire/core/files/directories/WatchedDirectoryManager.groovy b/core/src/main/groovy/com/muwire/core/files/directories/WatchedDirectoryManager.groovy index 5bf8f983..6b10864a 100644 --- a/core/src/main/groovy/com/muwire/core/files/directories/WatchedDirectoryManager.groovy +++ b/core/src/main/groovy/com/muwire/core/files/directories/WatchedDirectoryManager.groovy @@ -54,6 +54,15 @@ class WatchedDirectoryManager { timer.cancel() } + void onUISyncDirectoryEvent(UISyncDirectoryEvent e) { + def wd = watchedDirs.get(e.directory) + if (wd == null) { + log.warning("Got a sync event for non-watched dir ${e.directory}") + return + } + diskIO.submit({sync(wd, System.currentTimeMillis())} as Runnable) + } + void onWatchedDirectoryConfigurationEvent(WatchedDirectoryConfigurationEvent e) { if (converting) { def newDir = new WatchedDirectory(e.directory)