Rename Commands enum to Command

This commit is contained in:
2022-05-11 11:49:26 +02:00
parent ae66ff92ee
commit 0ee4025e00
13 changed files with 94 additions and 94 deletions

View File

@@ -1,6 +1,6 @@
namespace FileTime.App.Core.Command; namespace FileTime.App.Core.Command;
public enum Commands public enum Command
{ {
None, None,

View File

@@ -4,6 +4,6 @@ namespace FileTime.App.Core.Services;
public interface ICommandHandler public interface ICommandHandler
{ {
bool CanHandleCommand(Commands command); bool CanHandleCommand(Command.Command command);
Task HandleCommandAsync(Commands command); Task HandleCommandAsync(Command.Command command);
} }

View File

@@ -4,5 +4,5 @@ namespace FileTime.App.Core.Services;
public interface ICommandHandlerService public interface ICommandHandlerService
{ {
Task HandleCommandAsync(Commands command); Task HandleCommandAsync(Command.Command command);
} }

View File

@@ -8,7 +8,7 @@ namespace FileTime.App.Core.Services.CommandHandler;
public abstract class CommandHandlerBase : ICommandHandler public abstract class CommandHandlerBase : ICommandHandler
{ {
private readonly Dictionary<Commands, Func<Task>> _commandHandlers = new(); private readonly Dictionary<Command.Command, Func<Task>> _commandHandlers = new();
private readonly IAppState? _appState; private readonly IAppState? _appState;
protected CommandHandlerBase(IAppState? appState = null) protected CommandHandlerBase(IAppState? appState = null)
@@ -16,12 +16,12 @@ public abstract class CommandHandlerBase : ICommandHandler
_appState = appState; _appState = appState;
} }
public bool CanHandleCommand(Commands command) => _commandHandlers.ContainsKey(command); public bool CanHandleCommand(Command.Command command) => _commandHandlers.ContainsKey(command);
public async Task HandleCommandAsync(Commands command) => await _commandHandlers[command].Invoke(); public async Task HandleCommandAsync(Command.Command command) => await _commandHandlers[command].Invoke();
protected void AddCommandHandler(Commands command, Func<Task> handler) => _commandHandlers.Add(command, handler); protected void AddCommandHandler(Command.Command command, Func<Task> handler) => _commandHandlers.Add(command, handler);
protected void AddCommandHandlers(IEnumerable<(Commands command, Func<Task> handler)> commandHandlers) protected void AddCommandHandlers(IEnumerable<(Command.Command command, Func<Task> handler)> commandHandlers)
{ {
foreach (var (command, handler) in commandHandlers) foreach (var (command, handler) in commandHandlers)
{ {
@@ -29,7 +29,7 @@ public abstract class CommandHandlerBase : ICommandHandler
} }
} }
protected void RemoveCommandHandler(Commands command) => _commandHandlers.Remove(command); protected void RemoveCommandHandler(Command.Command command) => _commandHandlers.Remove(command);
protected IDisposable SaveSelectedTab(Action<ITabViewModel?> handler) => RunWithAppState(appState => appState.SelectedTab.Subscribe(handler)); protected IDisposable SaveSelectedTab(Action<ITabViewModel?> handler) => RunWithAppState(appState => appState.SelectedTab.Subscribe(handler));
protected IDisposable SaveCurrentSelectedItem(Action<IItemViewModel?> handler) protected IDisposable SaveCurrentSelectedItem(Action<IItemViewModel?> handler)

View File

@@ -29,13 +29,13 @@ public class ItemManipulationCommandHandler : CommandHandlerBase
_markedItems = new BindedCollection<IAbsolutePath>(appState.SelectedTab.Select(t => t?.MarkedItems)); _markedItems = new BindedCollection<IAbsolutePath>(appState.SelectedTab.Select(t => t?.MarkedItems));
AddCommandHandlers(new (Commands, Func<Task>)[] AddCommandHandlers(new (Command.Command, Func<Task>)[]
{ {
(Commands.Copy, Copy), (Command.Command.Copy, Copy),
(Commands.Mark, MarkItem), (Command.Command.Mark, MarkItem),
(Commands.PasteMerge, PasteMerge), (Command.Command.PasteMerge, PasteMerge),
(Commands.PasteOverwrite, PasteOverwrite), (Command.Command.PasteOverwrite, PasteOverwrite),
(Commands.PasteSkip, PasteSkip), (Command.Command.PasteSkip, PasteSkip),
}); });
} }
@@ -44,7 +44,7 @@ public class ItemManipulationCommandHandler : CommandHandlerBase
if (_selectedTab == null || _currentSelectedItem?.BaseItem?.FullName == null) return; if (_selectedTab == null || _currentSelectedItem?.BaseItem?.FullName == null) return;
_selectedTab.ToggleMarkedItem(new AbsolutePath(_currentSelectedItem.BaseItem)); _selectedTab.ToggleMarkedItem(new AbsolutePath(_currentSelectedItem.BaseItem));
await _commandHandlerService.HandleCommandAsync(Commands.MoveCursorDown); await _commandHandlerService.HandleCommandAsync(Command.Command.MoveCursorDown);
} }
private Task Copy() private Task Copy()

View File

@@ -24,13 +24,13 @@ public class NavigationCommandHandler : CommandHandlerBase
SaveCurrentLocation(l => _currentLocation = l); SaveCurrentLocation(l => _currentLocation = l);
SaveCurrentItems(i => _currentItems = i); SaveCurrentItems(i => _currentItems = i);
AddCommandHandlers(new (Commands, Func<Task>)[] AddCommandHandlers(new (Command.Command, Func<Task>)[]
{ {
(Commands.EnterRapidTravel, EnterRapidTravel), (Command.Command.EnterRapidTravel, EnterRapidTravel),
(Commands.GoUp, GoUp), (Command.Command.GoUp, GoUp),
(Commands.MoveCursorDown, MoveCursorDown), (Command.Command.MoveCursorDown, MoveCursorDown),
(Commands.MoveCursorUp, MoveCursorUp), (Command.Command.MoveCursorUp, MoveCursorUp),
(Commands.Open, OpenContainer), (Command.Command.Open, OpenContainer),
}); });
} }

View File

@@ -67,7 +67,7 @@ public class CommandHandlerService : ICommandHandlerService
//(Commands.ToggleHidden, ToggleHidden), //(Commands.ToggleHidden, ToggleHidden),
} }
public async Task HandleCommandAsync(Commands command) public async Task HandleCommandAsync(Command.Command command)
{ {
var handler = _commandHandlers.Value.FirstOrDefault(h => h.CanHandleCommand(command)); var handler = _commandHandlers.Value.FirstOrDefault(h => h.CanHandleCommand(command));

View File

@@ -7,31 +7,31 @@ public class CommandBindingConfiguration
{ {
public List<KeyConfig> Keys { get; set; } = new List<KeyConfig>(); public List<KeyConfig> Keys { get; set; } = new List<KeyConfig>();
public Commands Command { get; set; } = Commands.None; public Command Command { get; set; } = Command.None;
public string KeysDisplayText => GetKeysDisplayText(); public string KeysDisplayText => GetKeysDisplayText();
public CommandBindingConfiguration() { } public CommandBindingConfiguration() { }
public CommandBindingConfiguration(Commands command, IEnumerable<KeyConfig> keys) public CommandBindingConfiguration(Command command, IEnumerable<KeyConfig> keys)
{ {
Keys = new List<KeyConfig>(keys); Keys = new List<KeyConfig>(keys);
Command = command; Command = command;
} }
public CommandBindingConfiguration(Commands command, KeyConfig key) public CommandBindingConfiguration(Command command, KeyConfig key)
{ {
Keys = new List<KeyConfig>() { key }; Keys = new List<KeyConfig>() { key };
Command = command; Command = command;
} }
public CommandBindingConfiguration(Commands command, IEnumerable<Key> keys) public CommandBindingConfiguration(Command command, IEnumerable<Key> keys)
{ {
Keys = keys.Select(k => new KeyConfig(k)).ToList(); Keys = keys.Select(k => new KeyConfig(k)).ToList();
Command = command; Command = command;
} }
public CommandBindingConfiguration(Commands command, Key key) public CommandBindingConfiguration(Command command, Key key)
{ {
Keys = new List<KeyConfig>() { new KeyConfig(key) }; Keys = new List<KeyConfig>() { new KeyConfig(key) };
Command = command; Command = command;

View File

@@ -42,66 +42,66 @@ public static class MainConfiguration
{ {
return new List<CommandBindingConfiguration>() return new List<CommandBindingConfiguration>()
{ {
new CommandBindingConfiguration(Commands.AutoRefresh, new KeyConfig(Key.R, shift: true)), new CommandBindingConfiguration(Command.AutoRefresh, new KeyConfig(Key.R, shift: true)),
new CommandBindingConfiguration(Commands.ChangeTimelineMode, new[] { Key.T, Key.M }), new CommandBindingConfiguration(Command.ChangeTimelineMode, new[] { Key.T, Key.M }),
new CommandBindingConfiguration(Commands.CloseTab, Key.Q), new CommandBindingConfiguration(Command.CloseTab, Key.Q),
new CommandBindingConfiguration(Commands.Compress, new[] { Key.Y, Key.C }), new CommandBindingConfiguration(Command.Compress, new[] { Key.Y, Key.C }),
new CommandBindingConfiguration(Commands.Copy, new[] { Key.Y, Key.Y }), new CommandBindingConfiguration(Command.Copy, new[] { Key.Y, Key.Y }),
new CommandBindingConfiguration(Commands.CopyHash, new[] { Key.C, Key.H }), new CommandBindingConfiguration(Command.CopyHash, new[] { Key.C, Key.H }),
new CommandBindingConfiguration(Commands.CopyPath, new[] { Key.C, Key.P }), new CommandBindingConfiguration(Command.CopyPath, new[] { Key.C, Key.P }),
new CommandBindingConfiguration(Commands.CreateContainer, Key.F7), new CommandBindingConfiguration(Command.CreateContainer, Key.F7),
new CommandBindingConfiguration(Commands.CreateContainer, new[] { Key.C, Key.C }), new CommandBindingConfiguration(Command.CreateContainer, new[] { Key.C, Key.C }),
new CommandBindingConfiguration(Commands.CreateElement, new[] { Key.C, Key.E }), new CommandBindingConfiguration(Command.CreateElement, new[] { Key.C, Key.E }),
new CommandBindingConfiguration(Commands.Cut, new[] { Key.D, Key.D }), new CommandBindingConfiguration(Command.Cut, new[] { Key.D, Key.D }),
new CommandBindingConfiguration(Commands.Edit, new KeyConfig(Key.F4)), new CommandBindingConfiguration(Command.Edit, new KeyConfig(Key.F4)),
new CommandBindingConfiguration(Commands.EnterRapidTravel, new KeyConfig(Key.OemComma, shift: true)), new CommandBindingConfiguration(Command.EnterRapidTravel, new KeyConfig(Key.OemComma, shift: true)),
new CommandBindingConfiguration(Commands.FindByName, new[] { Key.F, Key.N }), new CommandBindingConfiguration(Command.FindByName, new[] { Key.F, Key.N }),
new CommandBindingConfiguration(Commands.FindByNameRegex, new[] { Key.F, Key.R }), new CommandBindingConfiguration(Command.FindByNameRegex, new[] { Key.F, Key.R }),
new CommandBindingConfiguration(Commands.GoToHome, new[] { Key.G, Key.H }), new CommandBindingConfiguration(Command.GoToHome, new[] { Key.G, Key.H }),
new CommandBindingConfiguration(Commands.GoToPath, new KeyConfig(Key.L, ctrl: true)), new CommandBindingConfiguration(Command.GoToPath, new KeyConfig(Key.L, ctrl: true)),
new CommandBindingConfiguration(Commands.GoToPath, new[] { Key.G, Key.P }), new CommandBindingConfiguration(Command.GoToPath, new[] { Key.G, Key.P }),
new CommandBindingConfiguration(Commands.GoToProvider, new[] { Key.G, Key.T }), new CommandBindingConfiguration(Command.GoToProvider, new[] { Key.G, Key.T }),
new CommandBindingConfiguration(Commands.GoToRoot, new[] { Key.G, Key.R }), new CommandBindingConfiguration(Command.GoToRoot, new[] { Key.G, Key.R }),
new CommandBindingConfiguration(Commands.HardDelete, new[] { new KeyConfig(Key.D,shift: true), new KeyConfig(Key.D, shift: true) }), new CommandBindingConfiguration(Command.HardDelete, new[] { new KeyConfig(Key.D,shift: true), new KeyConfig(Key.D, shift: true) }),
new CommandBindingConfiguration(Commands.Mark, Key.Space), new CommandBindingConfiguration(Command.Mark, Key.Space),
new CommandBindingConfiguration(Commands.MoveToLast, new KeyConfig(Key.G, shift: true)), new CommandBindingConfiguration(Command.MoveToLast, new KeyConfig(Key.G, shift: true)),
new CommandBindingConfiguration(Commands.MoveToFirst, new[] { Key.G, Key.G }), new CommandBindingConfiguration(Command.MoveToFirst, new[] { Key.G, Key.G }),
new CommandBindingConfiguration(Commands.NextTimelineBlock, Key.L ), new CommandBindingConfiguration(Command.NextTimelineBlock, Key.L ),
new CommandBindingConfiguration(Commands.NextTimelineCommand, Key.J ), new CommandBindingConfiguration(Command.NextTimelineCommand, Key.J ),
new CommandBindingConfiguration(Commands.OpenInFileBrowser, new[] { Key.O, Key.E }), new CommandBindingConfiguration(Command.OpenInFileBrowser, new[] { Key.O, Key.E }),
new CommandBindingConfiguration(Commands.PasteMerge, new[] { Key.P, Key.P }), new CommandBindingConfiguration(Command.PasteMerge, new[] { Key.P, Key.P }),
new CommandBindingConfiguration(Commands.PasteOverwrite, new[] { Key.P, Key.O }), new CommandBindingConfiguration(Command.PasteOverwrite, new[] { Key.P, Key.O }),
new CommandBindingConfiguration(Commands.PasteSkip, new[] { Key.P, Key.S }), new CommandBindingConfiguration(Command.PasteSkip, new[] { Key.P, Key.S }),
new CommandBindingConfiguration(Commands.PinFavorite, new[] { Key.F, Key.P }), new CommandBindingConfiguration(Command.PinFavorite, new[] { Key.F, Key.P }),
new CommandBindingConfiguration(Commands.PreviousTimelineBlock, Key.H ), new CommandBindingConfiguration(Command.PreviousTimelineBlock, Key.H ),
new CommandBindingConfiguration(Commands.PreviousTimelineCommand, Key.K ), new CommandBindingConfiguration(Command.PreviousTimelineCommand, Key.K ),
new CommandBindingConfiguration(Commands.Refresh, Key.R), new CommandBindingConfiguration(Command.Refresh, Key.R),
new CommandBindingConfiguration(Commands.Rename, Key.F2), new CommandBindingConfiguration(Command.Rename, Key.F2),
new CommandBindingConfiguration(Commands.Rename, new[] { Key.C, Key.W }), new CommandBindingConfiguration(Command.Rename, new[] { Key.C, Key.W }),
new CommandBindingConfiguration(Commands.RunCommand, new KeyConfig(Key.D4, shift: true)), new CommandBindingConfiguration(Command.RunCommand, new KeyConfig(Key.D4, shift: true)),
new CommandBindingConfiguration(Commands.ScanContainerSize, new[] { Key.C, Key.S }), new CommandBindingConfiguration(Command.ScanContainerSize, new[] { Key.C, Key.S }),
new CommandBindingConfiguration(Commands.ShowAllShotcut, Key.F1), new CommandBindingConfiguration(Command.ShowAllShotcut, Key.F1),
new CommandBindingConfiguration(Commands.SoftDelete, new[] { new KeyConfig(Key.D), new KeyConfig(Key.D, shift: true) }), new CommandBindingConfiguration(Command.SoftDelete, new[] { new KeyConfig(Key.D), new KeyConfig(Key.D, shift: true) }),
new CommandBindingConfiguration(Commands.SwitchToLastTab, Key.D9), new CommandBindingConfiguration(Command.SwitchToLastTab, Key.D9),
new CommandBindingConfiguration(Commands.SwitchToTab1, Key.D1), new CommandBindingConfiguration(Command.SwitchToTab1, Key.D1),
new CommandBindingConfiguration(Commands.SwitchToTab2, Key.D2), new CommandBindingConfiguration(Command.SwitchToTab2, Key.D2),
new CommandBindingConfiguration(Commands.SwitchToTab3, Key.D3), new CommandBindingConfiguration(Command.SwitchToTab3, Key.D3),
new CommandBindingConfiguration(Commands.SwitchToTab4, Key.D4), new CommandBindingConfiguration(Command.SwitchToTab4, Key.D4),
new CommandBindingConfiguration(Commands.SwitchToTab5, Key.D5), new CommandBindingConfiguration(Command.SwitchToTab5, Key.D5),
new CommandBindingConfiguration(Commands.SwitchToTab6, Key.D6), new CommandBindingConfiguration(Command.SwitchToTab6, Key.D6),
new CommandBindingConfiguration(Commands.SwitchToTab7, Key.D7), new CommandBindingConfiguration(Command.SwitchToTab7, Key.D7),
new CommandBindingConfiguration(Commands.SwitchToTab8, Key.D8), new CommandBindingConfiguration(Command.SwitchToTab8, Key.D8),
new CommandBindingConfiguration(Commands.TimelinePause, new[] { Key.T, Key.P }), new CommandBindingConfiguration(Command.TimelinePause, new[] { Key.T, Key.P }),
new CommandBindingConfiguration(Commands.TimelineRefresh, new[] { Key.T, Key.R }), new CommandBindingConfiguration(Command.TimelineRefresh, new[] { Key.T, Key.R }),
new CommandBindingConfiguration(Commands.TimelineStart, new[] { Key.T, Key.S }), new CommandBindingConfiguration(Command.TimelineStart, new[] { Key.T, Key.S }),
new CommandBindingConfiguration(Commands.ToggleAdvancedIcons, new[] { Key.Z, Key.I }), new CommandBindingConfiguration(Command.ToggleAdvancedIcons, new[] { Key.Z, Key.I }),
new CommandBindingConfiguration(Commands.GoUp, Key.Left), new CommandBindingConfiguration(Command.GoUp, Key.Left),
new CommandBindingConfiguration(Commands.Open, Key.Right), new CommandBindingConfiguration(Command.Open, Key.Right),
new CommandBindingConfiguration(Commands.OpenOrRun, Key.Enter), new CommandBindingConfiguration(Command.OpenOrRun, Key.Enter),
new CommandBindingConfiguration(Commands.MoveCursorUp, Key.Up), new CommandBindingConfiguration(Command.MoveCursorUp, Key.Up),
new CommandBindingConfiguration(Commands.MoveCursorDown, Key.Down), new CommandBindingConfiguration(Command.MoveCursorDown, Key.Down),
new CommandBindingConfiguration(Commands.MoveCursorUpPage, Key.PageUp), new CommandBindingConfiguration(Command.MoveCursorUpPage, Key.PageUp),
new CommandBindingConfiguration(Commands.MoveCursorDownPage, Key.PageDown), new CommandBindingConfiguration(Command.MoveCursorDownPage, Key.PageDown),
}; };
} }

View File

@@ -8,7 +8,7 @@ public class CommandToCommandNameConverter : IValueConverter
{ {
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{ {
if(value is not Commands command) return value; if(value is not Command command) return value;
//TODO: implement //TODO: implement
return command.ToString(); return command.ToString();

View File

@@ -136,7 +136,7 @@ public class DefaultModeKeyInputHandler : IDefaultModeKeyInputHandler
} }
} }
private async Task CallCommandAsync(Commands command) private async Task CallCommandAsync(Command command)
{ {
try try
{ {

View File

@@ -23,7 +23,7 @@ public class KeyboardConfigurationService : IKeyboardConfigurationService
foreach (var keyBinding in keyBindings) foreach (var keyBinding in keyBindings)
{ {
if (keyBinding.Command == Commands.None) if (keyBinding.Command == Command.None)
{ {
throw new FormatException($"No command is set in keybinding for keys '{keyBinding.KeysDisplayText}'"); throw new FormatException($"No command is set in keybinding for keys '{keyBinding.KeysDisplayText}'");
} }
@@ -49,6 +49,6 @@ public class KeyboardConfigurationService : IKeyboardConfigurationService
private static bool IsUniversal(CommandBindingConfiguration keyMapping) private static bool IsUniversal(CommandBindingConfiguration keyMapping)
{ {
return keyMapping.Command is Commands.GoUp or Commands.Open or Commands.OpenOrRun or Commands.MoveCursorUp or Commands.MoveCursorDown or Commands.MoveCursorUpPage or Commands.MoveCursorDownPage; return keyMapping.Command is Command.GoUp or Command.Open or Command.OpenOrRun or Command.MoveCursorUp or Command.MoveCursorDown or Command.MoveCursorUpPage or Command.MoveCursorDownPage;
} }
} }

View File

@@ -122,7 +122,7 @@ public class RapidTravelModeKeyInputHandler : IRapidTravelModeKeyInputHandler
} }
} }
private async Task CallCommandAsync(Commands command) private async Task CallCommandAsync(Command command)
{ {
try try
{ {