Container size scan, improvements

This commit is contained in:
2023-08-03 00:00:45 +02:00
parent 1713973c3a
commit f4d361f767
57 changed files with 814 additions and 532 deletions

View File

@@ -10,6 +10,6 @@ public class DoubleTextPreview : IPreviewElement
public IObservable<List<ItemNamePart>> Text1 { get; init; } = new BehaviorSubject<List<ItemNamePart>>(new());
public IObservable<List<ItemNamePart>> Text2 { get; init; } = new BehaviorSubject<List<ItemNamePart>>(new());
public PreviewType PreviewType { get; } = PreviewType.DoubleTextList;
public PreviewType PreviewType => PreviewType.DoubleTextList;
object IPreviewElement.PreviewType => PreviewType;
}

View File

@@ -1,9 +0,0 @@
namespace FileTime.App.Core.Models.Enums;
public enum ItemAttributeType
{
File,
Element,
Container,
SizeContainer
}

View File

@@ -0,0 +1,8 @@
using DeclarativeProperty;
namespace FileTime.App.Core.Models.Traits;
public interface ISizeProvider
{
IDeclarativeProperty<long> Size { get; }
}

View File

@@ -1,8 +1,9 @@
using DeclarativeProperty;
using FileTime.App.Core.ViewModels.ItemPreview;
namespace FileTime.App.Core.Services;
public interface IItemPreviewService
{
IObservable<IItemPreviewViewModel?> ItemPreview { get; }
IDeclarativeProperty<IItemPreviewViewModel?> ItemPreview { get; }
}

View File

@@ -13,6 +13,7 @@ public interface IAppState
IDeclarativeProperty<ViewMode> ViewMode { get; }
DeclarativeProperty<string?> RapidTravelText { get; }
ITimelineViewModel TimelineViewModel { get; }
IDeclarativeProperty<string?> ContainerStatus { get; }
void AddTab(ITabViewModel tabViewModel);
void RemoveTab(ITabViewModel tabViewModel);

View File

@@ -1,10 +0,0 @@
using FileTime.App.Core.Models.Enums;
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels;
public interface IContainerSizeContainerViewModel : IItemViewModel, IInitable<IContainer, ITabViewModel, ItemViewModelType>
{
long Size { get; set; }
}

View File

@@ -1,11 +1,14 @@
using FileTime.App.Core.Models.Enums;
using FileTime.App.Core.Models.Traits;
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels;
public interface IElementViewModel : IItemViewModel, IInitable<IElement, ITabViewModel, ItemViewModelType>
public interface IElementViewModel :
IItemViewModel,
ISizeProvider,
IInitable<IElement, ITabViewModel, ItemViewModelType>
{
IElement? Element { get; }
long? Size { get; set; }
}

View File

@@ -13,7 +13,7 @@ public interface IItemViewModel : IInitable<IItem, ITabViewModel, ItemViewModelT
IDeclarativeProperty<bool> IsSelected { get; set; }
IDeclarativeProperty<bool>? IsMarked { get; set; }
IDeclarativeProperty<bool> IsAlternative { get; }
IObservable<ItemViewMode> ViewMode { get; set; }
IDeclarativeProperty<ItemViewMode> ViewMode { get; set; }
DateTime? CreatedAt { get; set; }
string? Attributes { get; set; }
bool EqualsTo(IItemViewModel? itemViewModel);