Displays directory access error in file system resource manager.

This commit is contained in:
2023-11-30 01:13:43 +08:00
parent 2fbd2fb466
commit 7f8c0b5eec

View File

@@ -1,8 +1,10 @@
using Cryville.Common;
using Cryville.Crtr.UI;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security;
namespace Cryville.Crtr.Browsing {
internal class FileSystemResourceManager : IPathedResourceManager<FileSystemEntry> {
@@ -57,9 +59,19 @@ namespace Cryville.Crtr.Browsing {
#error No root path handling logic
#endif
_cd = new DirectoryInfo(path);
_items = _cd.GetFileSystemInfos()
.Where(i => i is DirectoryInfo || _extFilter.Contains(i.Extension))
.Select(i => new FileSystemEntry(i)).ToArray();
try {
_items = _cd.GetFileSystemInfos()
.Where(i => i is DirectoryInfo || _extFilter.Contains(i.Extension))
.Select(i => new FileSystemEntry(i)).ToArray();
}
catch (SecurityException ex) {
Popup.CreateException(ex);
return;
}
catch (UnauthorizedAccessException ex) {
Popup.CreateException(ex);
return;
}
}
ApplyFilter();
DirectoryChanged?.Invoke();