/// <summary> /// Creates a new SystemDirectory object for the given directory path. /// </summary> public SystemDirectory(string pathToDirectory, Dispatcher dispatcher) { try { this.dispatcher = dispatcher; files = new InvokingObservableCollection <SystemFile>(this.dispatcher); DirectoryInfo = new DirectoryInfo(pathToDirectory); fileWatcher.IncludeSubdirectories = false; fileWatcher.Filter = ""; fileWatcher.NotifyFilter = NotifyFilters.DirectoryName | NotifyFilters.FileName; createdHandler = new FileSystemEventHandler(fileWatcher_Created); deletedHandler = new FileSystemEventHandler(fileWatcher_Deleted); renamedHandler = new RenamedEventHandler(fileWatcher_Renamed); fileWatcher.Created += createdHandler; fileWatcher.Deleted += deletedHandler; fileWatcher.Renamed += renamedHandler; fileWatcher.EnableRaisingEvents = true; } catch (UnauthorizedAccessException) { CairoMessage.Show(Localization.DisplayString.sError_FileNotFoundInfo, Localization.DisplayString.sError_OhNo, MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Creates a new SystemDirectory object for the given directory path. /// </summary> public SystemDirectory(string pathToDirectory, Dispatcher dispatcher) { this.dispatcher = dispatcher; files = new InvokingObservableCollection <SystemFile>(this.dispatcher); this.DirectoryInfo = new DirectoryInfo(pathToDirectory); fileWatcher.IncludeSubdirectories = false; fileWatcher.Filter = ""; fileWatcher.NotifyFilter = NotifyFilters.DirectoryName | NotifyFilters.FileName; fileWatcher.Created += new FileSystemEventHandler(fileWatcher_Created); fileWatcher.Deleted += new FileSystemEventHandler(fileWatcher_Deleted); fileWatcher.Renamed += new RenamedEventHandler(fileWatcher_Renamed); fileWatcher.EnableRaisingEvents = true; }