Refactor, Design, ContextMenu

This commit is contained in:
2022-01-27 10:33:47 +01:00
parent 0025339261
commit 80570d8895
18 changed files with 688 additions and 146 deletions

View File

@@ -1,3 +1,4 @@
using System.Runtime.InteropServices;
using AsyncEvent;
using FileTime.Core.Models;
using FileTime.Core.Providers;
@@ -21,6 +22,9 @@ namespace FileTime.Providers.Local
public string FullName { get; }
public AsyncEventHandler Refreshed { get; } = new();
public string Attributes => GetAttributes();
public DateTime CreatedAt => Directory.CreationTime;
public LocalFolder(DirectoryInfo directory, LocalContentProvider contentProvider, IContainer? parent)
{
@@ -111,5 +115,21 @@ namespace FileTime.Providers.Local
Directory.Delete(true);
return Task.CompletedTask;
}
public string GetAttributes()
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
return "";
}
else
{
return "d"
+ ((Directory.Attributes & FileAttributes.Archive) == FileAttributes.Archive ? "a" : "-")
+ ((Directory.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly ? "r" : "-")
+ ((Directory.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden ? "h" : "-")
+ ((Directory.Attributes & FileAttributes.System) == FileAttributes.System ? "s" : "-");
}
}
}
}