emit an event on every dir sync so that UI can update timestamps
This commit is contained in:
@ -163,6 +163,7 @@ class WatchedDirectoryManager {
|
||||
log.fine("syncing ${wd.directory}")
|
||||
wd.lastSync = now
|
||||
doPersist(wd)
|
||||
eventBus.publish(new WatchedDirectorySyncEvent(directory: wd.directory, when: now))
|
||||
|
||||
def cb = new DirSyncCallback()
|
||||
fileManager.positiveTree.list(wd.directory, cb)
|
||||
|
@ -0,0 +1,8 @@
|
||||
package com.muwire.core.files.directories
|
||||
|
||||
import com.muwire.core.Event
|
||||
|
||||
class WatchedDirectorySyncEvent extends Event {
|
||||
File directory
|
||||
long when
|
||||
}
|
@ -7,6 +7,7 @@ import com.muwire.core.files.DirectoryUnsharedEvent;
|
||||
import com.muwire.core.files.DirectoryWatchedEvent;
|
||||
import com.muwire.core.files.directories.UISyncDirectoryEvent;
|
||||
import com.muwire.core.files.directories.WatchedDirectoryConfigurationEvent;
|
||||
import com.muwire.core.files.directories.WatchedDirectorySyncEvent;
|
||||
|
||||
public class AdvancedSharingManager {
|
||||
|
||||
@ -29,6 +30,10 @@ public class AdvancedSharingManager {
|
||||
revision++;
|
||||
}
|
||||
|
||||
public void onWatchedDirectorySyncEvent(WatchedDirectorySyncEvent e) {
|
||||
revision++;
|
||||
}
|
||||
|
||||
|
||||
void sync(File dir) {
|
||||
revision++;
|
||||
|
@ -37,6 +37,7 @@ import com.muwire.core.files.FileHashingEvent;
|
||||
import com.muwire.core.files.FileLoadedEvent;
|
||||
import com.muwire.core.files.FileSharedEvent;
|
||||
import com.muwire.core.files.FileUnsharedEvent;
|
||||
import com.muwire.core.files.directories.WatchedDirectorySyncEvent;
|
||||
import com.muwire.core.search.BrowseStatusEvent;
|
||||
import com.muwire.core.search.UIResultBatchEvent;
|
||||
import com.muwire.core.search.UIResultEvent;
|
||||
@ -181,6 +182,7 @@ public class MuWireClient {
|
||||
AdvancedSharingManager advancedSharingManager = new AdvancedSharingManager(core);
|
||||
core.getEventBus().register(DirectoryWatchedEvent.class, advancedSharingManager);
|
||||
core.getEventBus().register(DirectoryUnsharedEvent.class, advancedSharingManager);
|
||||
core.getEventBus().register(WatchedDirectorySyncEvent.class, advancedSharingManager);
|
||||
|
||||
servletContext.setAttribute("searchManager", searchManager);
|
||||
servletContext.setAttribute("downloadManager", downloadManager);
|
||||
|
Reference in New Issue
Block a user