IconProvider, container exceptions, refactor

This commit is contained in:
2022-02-02 11:02:37 +01:00
parent c4bf417ba3
commit 3e553dd448
31 changed files with 597 additions and 132 deletions

View File

@@ -25,6 +25,7 @@ namespace FileTime.Core.Timeline
public IContentProvider Provider { get; }
public IContentProvider VirtualProvider { get; }
public IReadOnlyList<Exception> Exceptions { get; } = new List<Exception>().AsReadOnly();
public TimeContainer(string name, IContainer parent, IContentProvider contentProvider, IContentProvider virtualContentProvider, PointInTime pointInTime)
{
@@ -117,5 +118,6 @@ namespace FileTime.Core.Timeline
if (elementDiff.Type != DifferenceItemType.Container) throw new ArgumentException($"{elementDiff}'s {nameof(Difference.Type)} property is not {DifferenceItemType.Element}.");
return new TimeElement(elementDiff.Name, this, Provider, elementDiff.AbsolutePath.VirtualContentProvider ?? elementDiff.AbsolutePath.ContentProvider);
}
public Task<bool> CanOpen() => Task.FromResult(true);
}
}

View File

@@ -6,6 +6,8 @@ namespace FileTime.Core.Timeline
{
public class TimeProvider : IContentProvider
{
private readonly PointInTime _pointInTime;
public bool IsLoaded => true;
public AsyncEventHandler Refreshed { get; } = new();
@@ -22,7 +24,7 @@ namespace FileTime.Core.Timeline
public IContentProvider Provider => this;
private readonly PointInTime _pointInTime;
public IReadOnlyList<Exception> Exceptions { get; } = new List<Exception>().AsReadOnly();
public TimeProvider(PointInTime pointInTime)
{
@@ -85,5 +87,6 @@ namespace FileTime.Core.Timeline
public Task Rename(string newName) => throw new NotSupportedException();
public void SetParent(IContainer container) { }
public Task<bool> CanOpen() => Task.FromResult(true);
}
}