Command refactor, fixes, improvements

This commit is contained in:
2022-02-18 23:28:33 +01:00
parent 502f80313a
commit 5a88911ca7
42 changed files with 456 additions and 292 deletions

View File

@@ -12,6 +12,12 @@ using FileTime.Avalonia.Misc;
using FileTime.Avalonia.Models;
using FileTime.Avalonia.ViewModels;
using FileTime.Core.Command;
using FileTime.Core.Command.Copy;
using FileTime.Core.Command.CreateContainer;
using FileTime.Core.Command.CreateElement;
using FileTime.Core.Command.Delete;
using FileTime.Core.Command.Move;
using FileTime.Core.Command.Rename;
using FileTime.Core.Components;
using FileTime.Core.Interactions;
using FileTime.Core.Models;
@@ -229,7 +235,7 @@ namespace FileTime.Avalonia.Services
var newTab = new Tab();
await newTab.Init(newContainer);
tabContainer = new TabContainer(newTab, _localContentProvider, _itemNameConverterService);
tabContainer = new TabContainer(_timeRunner, newTab, _localContentProvider, _itemNameConverterService);
await tabContainer.Init(number);
var i = 0;

View File

@@ -1,6 +1,4 @@
using System.Linq;
using System.Net;
using System.Text;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;
@@ -13,6 +11,7 @@ using FileTime.Core.Providers;
using FileTime.Providers.Local;
using FileTime.Core.Models;
using Microsoft.Extensions.Logging;
using FileTime.Core.Timeline;
namespace FileTime.Avalonia.Services
{
@@ -25,13 +24,15 @@ namespace FileTime.Avalonia.Services
private readonly IEnumerable<IContentProvider> _contentProviders;
private readonly LocalContentProvider _localContentProvider;
private readonly ILogger<StatePersistenceService> _logger;
private readonly TimeRunner _timeRunner;
public StatePersistenceService(
AppState appState,
ItemNameConverterService itemNameConverterService,
IEnumerable<IContentProvider> contentProviders,
LocalContentProvider localContentProvider,
ILogger<StatePersistenceService> logger)
ILogger<StatePersistenceService> logger,
TimeRunner timeRunner)
{
_appState = appState;
_itemNameConverterService = itemNameConverterService;
@@ -45,6 +46,7 @@ namespace FileTime.Avalonia.Services
PropertyNameCaseInsensitive = true,
WriteIndented = true
};
this._timeRunner = timeRunner;
}
public async Task LoadStatesAsync()
@@ -151,7 +153,7 @@ namespace FileTime.Avalonia.Services
}
}
var newTabContainer = new TabContainer(newTab, _localContentProvider, _itemNameConverterService);
var newTabContainer = new TabContainer(_timeRunner, newTab, _localContentProvider, _itemNameConverterService);
await newTabContainer.Init(tab.Number);
_appState.Tabs.Add(newTabContainer);
}