104 lines
5.2 KiB
XML
104 lines
5.2 KiB
XML
<Window x:Class="ytLive.HotkeyConfigDialog"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="Global Hotkey Bindings" Height="520" Width="480"
|
|
Icon="/Assets/llamacasty-icon.png"
|
|
WindowStartupLocation="CenterOwner" ResizeMode="NoResize"
|
|
ShowInTaskbar="False" Background="#1a1a2e">
|
|
|
|
<Window.Resources>
|
|
<BooleanToVisibilityConverter x:Key="BoolToVis"/>
|
|
</Window.Resources>
|
|
|
|
<Grid Margin="24">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Grid.Row="0" Text="Global Hotkey Bindings" FontSize="18" FontWeight="Bold"
|
|
Foreground="#e0e0e0" Margin="0,0,0,12"/>
|
|
|
|
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
|
|
<ItemsControl ItemsSource="{Binding Rows}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid Margin="0,4">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="180"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock Grid.Column="0" Text="{Binding ActionName}"
|
|
Foreground="#e0e0e0" FontSize="13"
|
|
VerticalAlignment="Center" Margin="0,0,12,0"/>
|
|
|
|
<Button Grid.Column="1" Click="ChordButton_Click"
|
|
Tag="{Binding}" Cursor="Hand"
|
|
HorizontalAlignment="Left" MinWidth="140"
|
|
Padding="10,5" FontSize="13"
|
|
VerticalAlignment="Center">
|
|
<Border Background="#16213e" CornerRadius="4" Padding="10,5">
|
|
<TextBlock Text="{Binding DisplayText}" Foreground="#e0e0e0"
|
|
FontSize="13"/>
|
|
</Border>
|
|
</Button>
|
|
|
|
<Button Grid.Column="2" Content="✕" Click="UnbindButton_Click"
|
|
Tag="{Binding}" Cursor="Hand"
|
|
ToolTip="Remove binding"
|
|
FontSize="12" Foreground="#8a93a8"
|
|
Background="Transparent" BorderThickness="0"
|
|
Padding="6,4" VerticalAlignment="Center">
|
|
<Button.Style>
|
|
<Style TargetType="Button">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Chord}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Hidden"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</ScrollViewer>
|
|
|
|
<!-- Conflict warning: hidden when no message -->
|
|
<Border Grid.Row="2" Background="#3d1a1a" CornerRadius="4" Padding="10,8"
|
|
Margin="0,8,0,0" BorderBrush="#e94560" BorderThickness="1">
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ConflictMessage}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
<TextBlock Text="{Binding ConflictMessage}" Foreground="#e94560"
|
|
FontSize="12" TextWrapping="Wrap"/>
|
|
</Border>
|
|
|
|
<!-- Bottom buttons -->
|
|
<StackPanel Grid.Row="4" Orientation="Horizontal" Margin="0,12,0,0">
|
|
<Button Content="Reset to Defaults" Command="{Binding ResetToDefaultsCommand}"
|
|
Style="{StaticResource YtButtonSecondary}" Margin="0,0,8,0" FontSize="12"
|
|
Padding="12,6"/>
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<Button Content="Cancel" Command="{Binding CancelCommand}"
|
|
Style="{StaticResource YtButtonSecondary}" Margin="0,0,8,0"
|
|
IsCancel="True" Padding="12,6"/>
|
|
<Button Content="Save" Command="{Binding SaveCommand}"
|
|
Style="{StaticResource YtButton}" MinWidth="110" Padding="12,6"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Window>
|