Refresh command

This commit is contained in:
2022-05-24 10:55:49 +02:00
parent b2db3675e8
commit 1adf5386b8
6 changed files with 38 additions and 5 deletions

View File

@@ -0,0 +1,13 @@
namespace FileTime.App.Core.UserCommand;
public sealed class RefreshCommand : IIdentifiableUserCommand
{
public const string CommandName = "refresh";
public static RefreshCommand Instance { get; } = new RefreshCommand();
private RefreshCommand()
{
}
public string UserCommandID => CommandName;
}

View File

@@ -54,10 +54,21 @@ public class NavigationUserCommandHandlerService : UserCommandHandlerServiceBase
new TypeUserCommandHandler<MoveCursorUpCommand>(MoveCursorUp),
new TypeUserCommandHandler<OpenContainerCommand>(OpenContainer),
new TypeUserCommandHandler<OpenSelectedCommand>(OpenSelected),
new TypeUserCommandHandler<RefreshCommand>(Refresh),
new TypeUserCommandHandler<SwitchToTabCommand>(SwitchToTab),
});
}
private async Task Refresh(RefreshCommand command)
{
if (_currentLocation?.FullName is null) return;
var refreshedItem = await _timelessContentProvider.GetItemByFullNameAsync(_currentLocation.FullName, PointInTime.Present);
if (refreshedItem is not IContainer refreshedContainer) return;
_selectedTab?.Tab?.ForceSetCurrentLocation(refreshedContainer);
}
private async Task OpenContainer(OpenContainerCommand command)
{
var resolvedPath = await command.Path.ResolveAsync();

View File

@@ -24,6 +24,8 @@ public class DefaultIdentifiableCommandHandlerRegister : IStartupHandler
AddUserCommand(PasteCommand.Merge);
AddUserCommand(PasteCommand.Overwrite);
AddUserCommand(PasteCommand.Skip);
AddUserCommand(RefreshCommand.Instance);
AddUserCommand(SwitchToTabCommand.SwitchToLastTab);
AddUserCommand(SwitchToTabCommand.SwitchToTab1);
AddUserCommand(SwitchToTabCommand.SwitchToTab2);
AddUserCommand(SwitchToTabCommand.SwitchToTab3);
@@ -32,7 +34,6 @@ public class DefaultIdentifiableCommandHandlerRegister : IStartupHandler
AddUserCommand(SwitchToTabCommand.SwitchToTab6);
AddUserCommand(SwitchToTabCommand.SwitchToTab7);
AddUserCommand(SwitchToTabCommand.SwitchToTab8);
AddUserCommand(SwitchToTabCommand.SwitchToLastTab);
}
private void AddUserCommand(IIdentifiableUserCommand command)