Improve file operations, layout memory, and drive status.

Add a sequential file-operations queue with pause, reorder, and optional auto-clear; persist window size and tree width; show free space; and clear leftover indexing status.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-24 01:52:30 +02:00
parent d79605cde9
commit 9bf451932f
41 changed files with 2855 additions and 275 deletions

View File

@@ -31,11 +31,14 @@ public sealed class VolumeFingerprint
public string? Filesystem { get; init; }
public string? Label { get; init; }
public long? CapacityBytes { get; init; }
public long? FreeBytes { get; init; }
public string? DeviceInstanceId { get; init; }
public required string RootPath { get; init; }
public string? DisplayName { get; init; }
}
public readonly record struct VolumeSpace(long? CapacityBytes, long? FreeBytes);
public sealed class IndexEntry
{
public long Id { get; set; }
@@ -113,7 +116,11 @@ public sealed class TransferJob
public TransferStatus Status { get; set; }
public long? BytesTotal { get; set; }
public long BytesDone { get; set; }
public long FilesDone { get; set; }
public long FilesTotal { get; set; }
public string? CurrentPath { get; set; }
public DateTimeOffset CreatedUtc { get; set; }
public DateTimeOffset? StartedUtc { get; set; }
public string? Error { get; set; }
public IReadOnlyList<string> AdditionalSources { get; init; } = [];
}
@@ -134,6 +141,8 @@ public sealed class FileSystemItem
public LocationInfo Location { get; init; } = LocationInfo.None;
public SizeKnowledge SizeKnowledge { get; init; } = SizeKnowledge.Calculated;
public string? DisplayName { get; init; }
public long? FreeSpaceBytes { get; init; }
public long? CapacityBytes { get; init; }
public bool IsReparsePoint => (Attributes & AttributeFlags.ReparsePoint) != 0;
}