mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-04-21 18:13:14 +02:00

  Now you can make a separate configuration (independent file) for each game. All emulator settings are available except for some UI functionality ones. The configuration file can be changed and deleted from a separate menu. The user configuration menu is available through the context menu on a given application. --------- Co-authored-by: Evan Husted <greem@greemdev.net>
273 lines
15 KiB
XML
273 lines
15 KiB
XML
<UserControl
|
|
x:Class="Ryujinx.Ava.UI.Views.Settings.SettingsUiView"
|
|
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:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
|
|
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
|
xmlns:helper="clr-namespace:Ryujinx.Common.Helper;assembly=Ryujinx.Common"
|
|
mc:Ignorable="d"
|
|
x:DataType="viewModels:SettingsViewModel">
|
|
<Design.DataContext>
|
|
<viewModels:SettingsViewModel />
|
|
</Design.DataContext>
|
|
<ScrollViewer
|
|
Name="UiPage"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalScrollBarVisibility="Disabled"
|
|
VerticalScrollBarVisibility="Auto">
|
|
<Border Classes="settings">
|
|
<StackPanel
|
|
Margin="10"
|
|
HorizontalAlignment="Stretch"
|
|
Orientation="Vertical"
|
|
Spacing="10">
|
|
<TextBlock Classes="h1" Text="{ext:Locale SettingsTabGeneralGeneral}" />
|
|
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
|
<CheckBox IsChecked="{Binding EnableDiscordIntegration}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock VerticalAlignment="Center"
|
|
ToolTip.Tip="{ext:Locale ToggleDiscordTooltip}"
|
|
Text="{ext:Locale SettingsTabGeneralEnableDiscordRichPresence}" />
|
|
</StackPanel>
|
|
</CheckBox>
|
|
<CheckBox
|
|
IsEnabled="{Binding !IsGameTitleNotNull}"
|
|
Opacity="{Binding PanelOpacity}"
|
|
IsChecked="{Binding ShowConfirmExit}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralShowConfirmExitDialog}" />
|
|
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}" />
|
|
</StackPanel>
|
|
</CheckBox>
|
|
<CheckBox
|
|
IsEnabled="{Binding !IsGameTitleNotNull}"
|
|
Opacity="{Binding PanelOpacity}"
|
|
IsChecked="{Binding RememberWindowState}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralRememberWindowState}" />
|
|
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}" />
|
|
</StackPanel>
|
|
</CheckBox>
|
|
<CheckBox
|
|
IsEnabled="{Binding !IsGameTitleNotNull}"
|
|
Opacity="{Binding PanelOpacity}"
|
|
IsChecked="{Binding ShowTitleBar}" IsVisible="{x:Static helper:RunningPlatform.IsWindows}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralShowTitleBar}" />
|
|
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}" />
|
|
</StackPanel>
|
|
</CheckBox>
|
|
<StackPanel
|
|
Margin="0, 15, 0, 0"
|
|
Orientation="Horizontal">
|
|
<TextBlock VerticalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralFocusLossType}"
|
|
Width="150" />
|
|
<ComboBox SelectedIndex="{Binding FocusLostActionType}"
|
|
HorizontalContentAlignment="Left"
|
|
MinWidth="100">
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralFocusLossTypeDoNothing}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralFocusLossTypeBlockInput}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralFocusLossTypeMuteAudio}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralFocusLossTypeBlockInputAndMuteAudio}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralFocusLossTypePauseEmulation}" />
|
|
</ComboBoxItem>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
<StackPanel
|
|
IsEnabled="{Binding !IsGameTitleNotNull}"
|
|
Opacity="{Binding PanelOpacity}"
|
|
Margin="0, 15, 0, 0"
|
|
Orientation="Horizontal">
|
|
<TextBlock VerticalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralCheckUpdatesOnLaunch}"
|
|
Width="150" />
|
|
<ComboBox SelectedIndex="{Binding UpdateCheckerType}"
|
|
HorizontalContentAlignment="Left"
|
|
MinWidth="100">
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralCheckUpdatesOnLaunchOff}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralCheckUpdatesOnLaunchPromptAtStartup}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralCheckUpdatesOnLaunchBackground}" />
|
|
</ComboBoxItem>
|
|
</ComboBox>
|
|
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}"/>
|
|
</StackPanel>
|
|
<StackPanel
|
|
Margin="0, 15, 0, 0"
|
|
Orientation="Horizontal">
|
|
<TextBlock VerticalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralHideCursor}"
|
|
Width="150" />
|
|
<ComboBox SelectedIndex="{Binding HideCursor}"
|
|
HorizontalContentAlignment="Left"
|
|
MinWidth="100">
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralHideCursorNever}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralHideCursorOnIdle}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralHideCursorAlways}" />
|
|
</ComboBoxItem>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
<StackPanel
|
|
IsEnabled="{Binding !IsGameTitleNotNull}"
|
|
Opacity="{Binding PanelOpacity}"
|
|
Margin="0, 15, 0, 10"
|
|
Orientation="Horizontal">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralTheme}"
|
|
Width="150" />
|
|
<ComboBox SelectedIndex="{Binding BaseStyleIndex}"
|
|
HorizontalContentAlignment="Left"
|
|
MinWidth="100">
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralThemeAuto}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralThemeLight}" />
|
|
</ComboBoxItem>
|
|
<ComboBoxItem>
|
|
<TextBlock Text="{ext:Locale SettingsTabGeneralThemeDark}" />
|
|
</ComboBoxItem>
|
|
</ComboBox>
|
|
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
<Separator Height="1" />
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Classes="h1" Text="{ext:Locale SettingsTabGeneralGameDirectories}" />
|
|
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}"/>
|
|
</StackPanel>
|
|
<StackPanel
|
|
IsEnabled="{Binding !IsGameTitleNotNull}"
|
|
Opacity="{Binding PanelOpacity}"
|
|
Margin="10,0,0,0"
|
|
HorizontalAlignment="Stretch"
|
|
Orientation="Vertical"
|
|
Spacing="10">
|
|
<ListBox
|
|
Name="GameDirsList"
|
|
MinHeight="120"
|
|
ItemsSource="{Binding GameDirectories}">
|
|
<ListBox.Styles>
|
|
<Style Selector="ListBoxItem">
|
|
<Setter Property="Padding" Value="10" />
|
|
<Setter Property="Background" Value="{DynamicResource ListBoxBackground}" />
|
|
</Style>
|
|
</ListBox.Styles>
|
|
</ListBox>
|
|
<Grid HorizontalAlignment="Stretch">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox
|
|
Name="GameDirPathBox"
|
|
Margin="0"
|
|
ToolTip.Tip="{ext:Locale AddGameDirBoxTooltip}"
|
|
VerticalAlignment="Stretch" />
|
|
<Button
|
|
Name="AddGameDirButton"
|
|
Grid.Column="1"
|
|
MinWidth="90"
|
|
Margin="10,0,0,0"
|
|
ToolTip.Tip="{ext:Locale AddGameDirTooltip}">
|
|
<TextBlock HorizontalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralAdd}" />
|
|
</Button>
|
|
<Button
|
|
Name="RemoveGameDirButton"
|
|
Grid.Column="2"
|
|
MinWidth="90"
|
|
Margin="10,0,0,0"
|
|
ToolTip.Tip="{ext:Locale RemoveGameDirTooltip}"
|
|
Click="RemoveGameDirButton_OnClick">
|
|
<TextBlock HorizontalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralRemove}" />
|
|
</Button>
|
|
</Grid>
|
|
</StackPanel>
|
|
<Separator Height="1" />
|
|
<StackPanel Orientation="Vertical" Spacing="5">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Classes="h1" Text="{ext:Locale SettingsTabGeneralAutoloadDirectories}" />
|
|
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}"/>
|
|
</StackPanel>
|
|
<TextBlock Foreground="{DynamicResource SecondaryTextColor}" Text="{ext:Locale SettingsTabGeneralAutoloadNote}" />
|
|
</StackPanel>
|
|
<StackPanel
|
|
IsEnabled="{Binding !IsGameTitleNotNull}"
|
|
Opacity="{Binding PanelOpacity}"
|
|
Margin="10,0,0,0"
|
|
HorizontalAlignment="Stretch"
|
|
Orientation="Vertical"
|
|
Spacing="10">
|
|
<ListBox
|
|
Name="AutoloadDirsList"
|
|
MinHeight="100"
|
|
ItemsSource="{Binding AutoloadDirectories}">
|
|
<ListBox.Styles>
|
|
<Style Selector="ListBoxItem">
|
|
<Setter Property="Padding" Value="10" />
|
|
<Setter Property="Background" Value="{DynamicResource ListBoxBackground}" />
|
|
</Style>
|
|
</ListBox.Styles>
|
|
</ListBox>
|
|
<Grid HorizontalAlignment="Stretch">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox
|
|
Name="AutoloadDirPathBox"
|
|
Margin="0"
|
|
ToolTip.Tip="{ext:Locale AddAutoloadDirBoxTooltip}"
|
|
VerticalAlignment="Stretch" />
|
|
<Button
|
|
Name="AddAutoloadDirButton"
|
|
Grid.Column="1"
|
|
MinWidth="90"
|
|
Margin="10,0,0,0"
|
|
ToolTip.Tip="{ext:Locale AddAutoloadDirTooltip}">
|
|
<TextBlock HorizontalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralAdd}" />
|
|
</Button>
|
|
<Button
|
|
Name="RemoveAutoloadDirButton"
|
|
Grid.Column="2"
|
|
MinWidth="90"
|
|
Margin="10,0,0,0"
|
|
ToolTip.Tip="{ext:Locale RemoveAutoloadDirTooltip}"
|
|
Click="RemoveAutoloadDirButton_OnClick">
|
|
<TextBlock HorizontalAlignment="Center"
|
|
Text="{ext:Locale SettingsTabGeneralRemove}" />
|
|
</Button>
|
|
</Grid>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Border>
|
|
</ScrollViewer>
|
|
</UserControl>
|