InputView.axaml
1 <UserControl 2 xmlns="https://github.com/avaloniaui" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia" 5 xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale" 6 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 7 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 8 xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models" 9 xmlns:views="clr-namespace:Ryujinx.Ava.UI.Views.Input" 10 xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels.Input" 11 HorizontalAlignment="Stretch" 12 VerticalAlignment="Stretch" 13 d:DesignHeight="800" 14 d:DesignWidth="800" 15 x:Class="Ryujinx.Ava.UI.Views.Input.InputView" 16 x:DataType="viewModels:InputViewModel" 17 x:CompileBindings="True" 18 mc:Ignorable="d" 19 Focusable="True"> 20 <Design.DataContext> 21 <viewModels:InputViewModel /> 22 </Design.DataContext> 23 <UserControl.Styles> 24 <Style Selector="ToggleButton"> 25 <Setter Property="Width" Value="90" /> 26 <Setter Property="Height" Value="27" /> 27 <Setter Property="HorizontalAlignment" Value="Stretch" /> 28 </Style> 29 </UserControl.Styles> 30 <StackPanel 31 HorizontalAlignment="Stretch" 32 VerticalAlignment="Stretch" 33 Orientation="Vertical"> 34 <StackPanel 35 Margin="0 0 0 5" 36 Orientation="Vertical" 37 Spacing="5"> 38 <Grid> 39 <Grid.ColumnDefinitions> 40 <ColumnDefinition Width="*" /> 41 <ColumnDefinition Width="10" /> 42 <ColumnDefinition Width="*" /> 43 </Grid.ColumnDefinitions> 44 <!-- Player Selection --> 45 <Grid 46 Grid.Column="0" 47 Margin="2" 48 HorizontalAlignment="Stretch" 49 VerticalAlignment="Center"> 50 <Grid.ColumnDefinitions> 51 <ColumnDefinition Width="Auto"/> 52 <ColumnDefinition Width="*" /> 53 </Grid.ColumnDefinitions> 54 <TextBlock 55 Margin="5,0,10,0" 56 Width="90" 57 HorizontalAlignment="Left" 58 VerticalAlignment="Center" 59 Text="{locale:Locale ControllerSettingsPlayer}" /> 60 <ComboBox 61 Grid.Column="1" 62 Name="PlayerIndexBox" 63 HorizontalAlignment="Stretch" 64 VerticalAlignment="Center" 65 SelectionChanged="PlayerIndexBox_OnSelectionChanged" 66 ItemsSource="{Binding PlayerIndexes}" 67 SelectedIndex="{Binding PlayerId}"> 68 <ComboBox.ItemTemplate> 69 <DataTemplate> 70 <TextBlock Text="{Binding Name}" /> 71 </DataTemplate> 72 </ComboBox.ItemTemplate> 73 </ComboBox> 74 </Grid> 75 <!-- Profile Selection --> 76 <Grid 77 Grid.Column="2" 78 Margin="2" 79 HorizontalAlignment="Stretch" 80 VerticalAlignment="Center"> 81 <Grid.ColumnDefinitions> 82 <ColumnDefinition Width="Auto"/> 83 <ColumnDefinition Width="*" /> 84 <ColumnDefinition Width="Auto"/> 85 <ColumnDefinition Width="Auto"/> 86 <ColumnDefinition Width="Auto"/> 87 </Grid.ColumnDefinitions> 88 <TextBlock 89 Margin="5,0,10,0" 90 Width="90" 91 HorizontalAlignment="Left" 92 VerticalAlignment="Center" 93 Text="{locale:Locale ControllerSettingsProfile}" /> 94 <ui:FAComboBox 95 Grid.Column="1" 96 IsEditable="True" 97 Name="ProfileBox" 98 HorizontalAlignment="Stretch" 99 VerticalAlignment="Center" 100 SelectedIndex="0" 101 ItemsSource="{Binding ProfilesList}" 102 Text="{Binding ProfileName, Mode=TwoWay}" /> 103 <Button 104 Grid.Column="2" 105 MinWidth="0" 106 Margin="5,0,0,0" 107 VerticalAlignment="Center" 108 ToolTip.Tip="{locale:Locale ControllerSettingsLoadProfileToolTip}" 109 Command="{Binding LoadProfile}"> 110 <ui:SymbolIcon 111 Symbol="Upload" 112 FontSize="15" 113 Height="20" /> 114 </Button> 115 <Button 116 Grid.Column="3" 117 MinWidth="0" 118 Margin="5,0,0,0" 119 VerticalAlignment="Center" 120 ToolTip.Tip="{locale:Locale ControllerSettingsSaveProfileToolTip}" 121 Command="{Binding SaveProfile}"> 122 <ui:SymbolIcon 123 Symbol="Save" 124 FontSize="15" 125 Height="20" /> 126 </Button> 127 <Button 128 Grid.Column="4" 129 MinWidth="0" 130 Margin="5,0,0,0" 131 VerticalAlignment="Center" 132 ToolTip.Tip="{locale:Locale ControllerSettingsRemoveProfileToolTip}" 133 Command="{Binding RemoveProfile}"> 134 <ui:SymbolIcon 135 Symbol="Delete" 136 FontSize="15" 137 Height="20" /> 138 </Button> 139 </Grid> 140 </Grid> 141 <Separator /> 142 <Grid> 143 <Grid.ColumnDefinitions> 144 <ColumnDefinition Width="*" /> 145 <ColumnDefinition Width="10" /> 146 <ColumnDefinition Width="*" /> 147 </Grid.ColumnDefinitions> 148 <!-- Input Device --> 149 <Grid 150 Grid.Column="0" 151 Margin="2" 152 HorizontalAlignment="Stretch"> 153 <Grid.ColumnDefinitions> 154 <ColumnDefinition Width="Auto"/> 155 <ColumnDefinition Width="*"/> 156 <ColumnDefinition Width="Auto" /> 157 </Grid.ColumnDefinitions> 158 <TextBlock 159 Grid.Column="0" 160 Margin="5,0,10,0" 161 Width="90" 162 HorizontalAlignment="Left" 163 VerticalAlignment="Center" 164 Text="{locale:Locale ControllerSettingsInputDevice}" /> 165 <ComboBox 166 Grid.Column="1" 167 Name="DeviceBox" 168 HorizontalAlignment="Stretch" 169 VerticalAlignment="Center" 170 ItemsSource="{Binding DeviceList}" 171 SelectedIndex="{Binding Device}" /> 172 <Button 173 Grid.Column="2" 174 MinWidth="0" 175 Margin="5,0,0,0" 176 VerticalAlignment="Center" 177 Command="{Binding LoadDevices}"> 178 <ui:SymbolIcon 179 Symbol="Refresh" 180 FontSize="15" 181 Height="20"/> 182 </Button> 183 </Grid> 184 <!-- Controller Type --> 185 <Grid 186 Grid.Column="2" 187 Margin="2" 188 HorizontalAlignment="Stretch" 189 VerticalAlignment="Center"> 190 <Grid.ColumnDefinitions> 191 <ColumnDefinition Width="Auto"/> 192 <ColumnDefinition Width="*" /> 193 </Grid.ColumnDefinitions> 194 <TextBlock 195 Margin="5,0,10,0" 196 Width="90" 197 HorizontalAlignment="Left" 198 VerticalAlignment="Center" 199 Text="{locale:Locale ControllerSettingsControllerType}" /> 200 <ComboBox 201 Grid.Column="1" 202 HorizontalAlignment="Stretch" 203 ItemsSource="{Binding Controllers}" 204 SelectedIndex="{Binding Controller}"> 205 <ComboBox.ItemTemplate> 206 <DataTemplate DataType="models:ControllerModel"> 207 <TextBlock Text="{Binding Name}" /> 208 </DataTemplate> 209 </ComboBox.ItemTemplate> 210 </ComboBox> 211 </Grid> 212 </Grid> 213 </StackPanel> 214 <ContentControl Content="{Binding ConfigViewModel}" IsVisible="{Binding ShowSettings}"> 215 <ContentControl.DataTemplates> 216 <DataTemplate DataType="viewModels:ControllerInputViewModel"> 217 <views:ControllerInputView /> 218 </DataTemplate> 219 <DataTemplate DataType="viewModels:KeyboardInputViewModel"> 220 <views:KeyboardInputView /> 221 </DataTemplate> 222 </ContentControl.DataTemplates> 223 </ContentControl> 224 </StackPanel> 225 </UserControl>