Console upgrades, PossibleCommands VM

This commit is contained in:
2023-08-10 22:54:52 +02:00
parent 96d4eb926d
commit e989a65e81
48 changed files with 983 additions and 400 deletions

View File

@@ -1,21 +0,0 @@
using System.Globalization;
using Avalonia.Data.Converters;
using FileTime.App.Core.UserCommand;
namespace FileTime.GuiApp.App.Converters;
public class CommandToCommandNameConverter : IValueConverter
{
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{
if(value is not IUserCommand command) return value;
//TODO: implement
return command.ToString();
}
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

View File

@@ -34,7 +34,6 @@
<converters:CompareConverter ComparisonCondition="{x:Static converters:ComparisonCondition.NotEqual}" x:Key="NotEqualsConverter" />
<converters:CompareConverter ComparisonCondition="{x:Static converters:ComparisonCondition.GreaterThan}" x:Key="GreaterThanConverter" />
<converters:ExceptionToStringConverter x:Key="ExceptionToStringConverter" />
<converters:CommandToCommandNameConverter x:Key="CommandToCommandNameConverter" />
<converters:ItemToImageConverter x:Key="ItemToImageConverter" />
<converters:StringReplaceConverter
NewValue="/"

View File

@@ -19,5 +19,6 @@ public interface IMainWindowViewModel : IMainWindowViewModelBase
IAdminElevationManager AdminElevationManager { get; }
IClipboardService ClipboardService { get; }
ITimelineViewModel TimelineViewModel { get; }
IPossibleCommandsViewModel PossibleCommands { get; }
Task RunOrOpenItem(IItemViewModel itemViewModel);
}

View File

@@ -37,6 +37,7 @@ namespace FileTime.GuiApp.App.ViewModels;
[Inject(typeof(IClipboardService), PropertyAccessModifier = AccessModifier.Public)]
[Inject(typeof(IModalService), PropertyName = "_modalService")]
[Inject(typeof(ITimelineViewModel), PropertyAccessModifier = AccessModifier.Public)]
[Inject(typeof(IPossibleCommandsViewModel), PropertyName = "PossibleCommands",PropertyAccessModifier = AccessModifier.Public)]
public partial class MainWindowViewModel : IMainWindowViewModel
{
public bool Loading => false;

View File

@@ -750,7 +750,7 @@
</StackPanel>
</Grid>
<Grid IsVisible="{Binding AppState.PossibleCommands.Count, Converter={StaticResource NotEqualsConverter}, ConverterParameter=0}">
<Grid IsVisible="{Binding PossibleCommands.PossibleCommands.Count, Converter={StaticResource NotEqualsConverter}, ConverterParameter=0}">
<Grid.RowDefinitions>
<RowDefinition Height="1" />
<RowDefinition Height="Auto" />
@@ -763,17 +763,17 @@
Margin="10,0"
VerticalAlignment="Center" />
<ItemsRepeater Grid.Row="1" ItemsSource="{Binding AppState.PossibleCommands}">
<ItemsRepeater Grid.Row="1" ItemsSource="{Binding PossibleCommands.PossibleCommands}">
<ItemsRepeater.ItemTemplate>
<DataTemplate x:DataType="configuration:CommandBindingConfiguration">
<DataTemplate x:DataType="corevm:IPossibleCommandEntryViewModel">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding KeysDisplayText}" />
<TextBlock Grid.Column="1" Text="{Binding Command, Converter={StaticResource CommandToCommandNameConverter}}" />
<TextBlock Text="{Binding KeysText}" />
<TextBlock Grid.Column="1" Text="{Binding Title}" />
</Grid>
</DataTemplate>
</ItemsRepeater.ItemTemplate>