Mesen2/UI/Windows/ControllerConfigWindow.axaml
2024-07-28 11:05:14 +09:00

115 lines
5.5 KiB
XML

<Window
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="using:Mesen.ViewModels"
xmlns:v="using:Mesen.Views"
xmlns:l="using:Mesen.Localization"
xmlns:c="using:Mesen.Controls"
xmlns:cfg="using:Mesen.Config"
mc:Ignorable="d"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
x:DataType="vm:ControllerConfigViewModel"
x:Class="Mesen.Windows.ControllerConfigWindow"
SizeToContent="WidthAndHeight"
CanResize="False"
Title="{l:Translate Title}"
>
<Design.DataContext>
<vm:ControllerConfigViewModel />
</Design.DataContext>
<Window.DataTemplates>
<v:ControllerConfigViewLocator />
</Window.DataTemplates>
<StackPanel>
<Border BorderThickness="1" BorderBrush="Gray" Padding="3" Margin="2">
<Panel>
<Image Source="/Assets/Help.png" Margin="0" Width="16" Height="16" HorizontalAlignment="Left" />
<TextBlock Text="{l:Translate lblHint}" TextWrapping="Wrap" Margin="25 0 0 0" VerticalAlignment="Center" />
</Panel>
</Border>
<TabControl Name="tabMain" TabStripPlacement="Top" SelectedIndex="0">
<TabItem Header="{l:Translate tpgSet1}" Content="{Binding KeyMapping1}" />
<TabItem Header="{l:Translate tpgSet2}" Content="{Binding KeyMapping2}" />
<TabItem Header="{l:Translate tpgSet3}" Content="{Binding KeyMapping3}" />
<TabItem Header="{l:Translate tpgSet4}" Content="{Binding KeyMapping4}" />
</TabControl>
<Grid ColumnDefinitions="Auto,*,Auto" RowDefinitions="Auto,Auto">
<Button
Name="PresetButton"
Content="{l:Translate btnSelectPreset}"
Click="btnPreset_OnClick"
VerticalAlignment="Top"
Margin="12"
IsVisible="{Binding ShowPresets}"
>
<Button.ContextMenu>
<ContextMenu Name="Preset" Placement="BottomEdgeAlignedLeft">
<MenuItem Header="{l:Translate mnuKeyboard}">
<MenuItem Header="{l:Translate mnuWasdLayout}" Click="mnuWasdLayout_OnClick" />
<MenuItem Header="{l:Translate mnuArrowLayout}" Click="mnuArrowLayout_OnClick" />
</MenuItem>
<Separator />
<MenuItem Header="{l:Translate mnuXboxController}">
<MenuItem Header="{l:Translate mnuXboxLayout1}" Click="mnuXboxLayout1_OnClick" IsVisible="{Binding !IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuXboxLayout2}" Click="mnuXboxLayout2_OnClick" IsVisible="{Binding !IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuXboxLayout1AltA}" Click="mnuXboxLayout1_OnClick" IsVisible="{Binding IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuXboxLayout1AltB}" Click="mnuXboxLayout1Alt_OnClick" IsVisible="{Binding IsTwoButtonController}" />
<Separator IsVisible="{Binding IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuXboxLayout2AltA}" Click="mnuXboxLayout2_OnClick" IsVisible="{Binding IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuXboxLayout2AltB}" Click="mnuXboxLayout2Alt_OnClick" IsVisible="{Binding IsTwoButtonController}" />
</MenuItem>
<MenuItem Header="{l:Translate mnuPs4Controller}">
<MenuItem Header="{l:Translate mnuPs4Layout1}" Click="mnuPs4Layout1_OnClick" IsVisible="{Binding !IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuPs4Layout2}" Click="mnuPs4Layout2_OnClick" IsVisible="{Binding !IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuPs4Layout1AltA}" Click="mnuPs4Layout1_OnClick" IsVisible="{Binding IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuPs4Layout1AltB}" Click="mnuPs4Layout1Alt_OnClick" IsVisible="{Binding IsTwoButtonController}" />
<Separator IsVisible="{Binding IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuPs4Layout2AltA}" Click="mnuPs4Layout2_OnClick" IsVisible="{Binding IsTwoButtonController}" />
<MenuItem Header="{l:Translate mnuPs4Layout2AltB}" Click="mnuPs4Layout2Alt_OnClick" IsVisible="{Binding IsTwoButtonController}" />
</MenuItem>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button
Margin="12 10 0 3"
Grid.Column="0"
Grid.Row="0"
Click="btnSetDefaultBindings_OnClick"
Content="{l:Translate btnSetDefaultBindings}"
IsVisible="{Binding !ShowPresets}"
/>
<Button
Margin="12 10 0 3"
Grid.Column="0"
Grid.Row="1"
Click="btnClearBindings_OnClick"
Content="{l:Translate btnClear}"
/>
<StackPanel Orientation="Horizontal" Margin="0 3 3 0" Grid.Column="2" IsVisible="{Binding ShowTurbo}">
<TextBlock Text="{l:Translate lblTurboSpeed}" VerticalAlignment="Top" Margin="0 5 0 0" />
<Grid ColumnDefinitions="Auto,Auto" RowDefinitions="Auto,Auto" Margin="0 -10 0 0">
<c:MesenSlider Value="{Binding Config.TurboSpeed}" Grid.ColumnSpan="2" Minimum="0" Maximum="3" Width="150" Margin="10 0 10 0" HideValue="True" TickFrequency="1" />
<TextBlock Grid.Row="1" Grid.Column="0" Text="{l:Translate lblTurboSlow}" Margin="5" />
<TextBlock Grid.Row="1" Grid.Column="1" Text="{l:Translate lblTurboFast}" HorizontalAlignment="Right" Margin="5" />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="5 10 5 3" Grid.Column="2" Grid.Row="1">
<Button MinWidth="70" HorizontalContentAlignment="Center" Click="btnOk_OnClick" Content="{l:Translate btnOK}" />
<Button MinWidth="70" HorizontalContentAlignment="Center" Click="btnCancel_OnClick" Content="{l:Translate btnCancel}" />
</StackPanel>
</Grid>
</StackPanel>
</Window>