<window:StyleableWindow x:Class="Ryujinx.Ava.Ui.Windows.SettingsWindow" xmlns="https://github.com/avaloniaui" xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale" xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels" xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows" Width="1100" Height="768" d:DesignWidth="800" d:DesignHeight="950" MinWidth="800" MinHeight="480" WindowStartupLocation="CenterOwner" x:CompileBindings="True" x:DataType="viewModels:SettingsViewModel" mc:Ignorable="d"> <Design.DataContext> <viewModels:SettingsViewModel /> </Design.DataContext> <Window.Resources> <controls:KeyValueConverter x:Key="Key" /> </Window.Resources> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="600"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <ContentPresenter x:Name="ContentPresenter" Grid.Row="1" IsVisible="False" KeyboardNavigation.IsTabStop="False"/> <Grid Name="Pages" IsVisible="False" Grid.Row="2"> <ScrollViewer Name="UiPage" Margin="0,0,2,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralGeneral}" /> <StackPanel Margin="10,0,0,0" Orientation="Vertical"> <CheckBox IsChecked="{Binding EnableDiscordIntegration}"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale ToggleDiscordTooltip}" Text="{locale:Locale SettingsTabGeneralEnableDiscordRichPresence}" /> </CheckBox> <CheckBox IsChecked="{Binding CheckUpdatesOnStart}"> <TextBlock Text="{locale:Locale SettingsTabGeneralCheckUpdatesOnLaunch}" /> </CheckBox> <CheckBox IsChecked="{Binding ShowConfirmExit}"> <TextBlock Text="{locale:Locale SettingsTabGeneralShowConfirmExitDialog}" /> </CheckBox> <CheckBox IsChecked="{Binding HideCursorOnIdle}"> <TextBlock Text="{locale:Locale SettingsTabGeneralHideCursorOnIdle}" /> </CheckBox> </StackPanel> <Separator Height="1" /> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralGameDirectories}" /> <StackPanel Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <ListBox Name="GameList" MinHeight="150" Items="{Binding GameDirectories}" /> <Grid HorizontalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <TextBox Name="PathBox" Margin="0" ToolTip.Tip="{locale:Locale AddGameDirBoxTooltip}" VerticalAlignment="Stretch" /> <Button Name="AddButton" Grid.Column="1" MinWidth="90" Margin="10,0,0,0" ToolTip.Tip="{locale:Locale AddGameDirTooltip}" Click="AddButton_OnClick"> <TextBlock HorizontalAlignment="Center" Text="{locale:Locale SettingsTabGeneralAdd}" /> </Button> <Button Name="RemoveButton" Grid.Column="2" MinWidth="90" Margin="10,0,0,0" ToolTip.Tip="{locale:Locale RemoveGameDirTooltip}" Click="RemoveButton_OnClick"> <TextBlock HorizontalAlignment="Center" Text="{locale:Locale SettingsTabGeneralRemove}" /> </Button> </Grid> </StackPanel> <Separator Height="1" /> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralTheme}" /> <Grid Margin="10,0,0,0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <CheckBox IsChecked="{Binding EnableCustomTheme}" ToolTip.Tip="{locale:Locale CustomThemeCheckTooltip}"> <TextBlock Text="{locale:Locale SettingsTabGeneralThemeEnableCustomTheme}" /> </CheckBox> <TextBlock VerticalAlignment="Center" Margin="0,10,0,0" Grid.Row="1" Text="{locale:Locale SettingsTabGeneralThemeCustomTheme}" ToolTip.Tip="{locale:Locale CustomThemePathTooltip}" /> <TextBox Margin="0,10,0,0" Grid.Row="1" Grid.Column="1" Text="{Binding CustomThemePath}" /> <Button Grid.Row="1" Grid.Column="2" Margin="10,10,0,0" Command="{ReflectionBinding BrowseTheme}" ToolTip.Tip="{locale:Locale CustomThemeBrowseTooltip}" Content="{locale:Locale ButtonBrowse}" /> <TextBlock VerticalAlignment="Center" Margin="0,10,0,0" Grid.Row="2" Text="{locale:Locale SettingsTabGeneralThemeBaseStyle}" /> <ComboBox VerticalAlignment="Center" Margin="0,10,0,0" Grid.Column="1" Grid.Row="2" MinWidth="100" SelectedIndex="{Binding BaseStyleIndex}"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGeneralThemeBaseStyleLight}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGeneralThemeBaseStyleDark}" /> </ComboBoxItem> </ComboBox> </Grid> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="InputPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Padding="0,0,2,0" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="4" Orientation="Vertical"> <StackPanel Orientation="Horizontal"> <CheckBox Margin="5,0" ToolTip.Tip="{locale:Locale DockModeToggleTooltip}" IsChecked="{Binding EnableDockedMode}"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabInputEnableDockedMode}" /> </CheckBox> <CheckBox Margin="5,0" ToolTip.Tip="{locale:Locale DirectKeyboardTooltip}" IsChecked="{Binding EnableKeyboard}"> <TextBlock Text="{locale:Locale SettingsTabInputDirectKeyboardAccess}" /> </CheckBox> <CheckBox Margin="5,0" ToolTip.Tip="{locale:Locale DirectMouseTooltip}" IsChecked="{Binding EnableMouse}"> <TextBlock Text="{locale:Locale SettingsTabInputDirectMouseAccess}" /> </CheckBox> </StackPanel> <window:ControllerSettingsWindow Name="ControllerSettings" Margin="0,0,0,0" MinHeight="600" /> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="HotkeysPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabHotkeysHotkeys}" /> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysToggleVsyncHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.ToggleVsync, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysScreenshotHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.Screenshot, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysShowUiHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.ShowUi, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysPauseHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.Pause, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysToggleMuteHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.ToggleMute, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysResScaleUpHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.ResScaleUp, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysResScaleDownHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.ResScaleDown, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysVolumeUpHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.VolumeUp, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysVolumeDownHotkey}" Width="230" /> <ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked"> <TextBlock Text="{Binding KeyboardHotkeys.VolumeDown, Mode=TwoWay, Converter={StaticResource Key}}" TextAlignment="Center" /> </ToggleButton> </StackPanel> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="SystemPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabSystemCore}" /> <StackPanel Margin="10,0,0,0" Orientation="Vertical"> <StackPanel Margin="0,0,0,10" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabSystemSystemRegion}" Width="250" /> <ComboBox SelectedIndex="{Binding Region}" ToolTip.Tip="{locale:Locale RegionTooltip}" HorizontalContentAlignment="Left" Width="350"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionJapan}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionUSA}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionEurope}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionAustralia}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionChina}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionKorea}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemRegionTaiwan}" /> </ComboBoxItem> </ComboBox> </StackPanel> <StackPanel Margin="0,0,0,10" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabSystemSystemLanguage}" ToolTip.Tip="{locale:Locale LanguageTooltip}" Width="250" /> <ComboBox SelectedIndex="{Binding Language}" ToolTip.Tip="{locale:Locale LanguageTooltip}" HorizontalContentAlignment="Left" Width="350"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageJapanese}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageAmericanEnglish}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageFrench}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageGerman}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageItalian}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageSpanish}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageChinese}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageKorean}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageDutch}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguagePortuguese}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageRussian}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageTaiwanese}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageBritishEnglish}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageCanadianFrench}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageLatinAmericanSpanish}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageSimplifiedChinese}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageTraditionalChinese}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemSystemLanguageBrazilianPortuguese}" /> </ComboBoxItem> </ComboBox> </StackPanel> <StackPanel Margin="0,0,0,10" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabSystemSystemTimeZone}" ToolTip.Tip="{locale:Locale TimezoneTooltip}" Width="250" /> <AutoCompleteBox Name="TimeZoneBox" Width="350" MaxDropDownHeight="500" FilterMode="Contains" Items="{Binding TimeZones}" SelectionChanged="TimeZoneBox_OnSelectionChanged" Text="{Binding Path=TimeZone, Mode=OneWay}" TextChanged="TimeZoneBox_OnTextChanged" ValueMemberBinding="{ReflectionBinding TzMultiBinding}" ToolTip.Tip="{locale:Locale TimezoneTooltip}" /> </StackPanel> <StackPanel Margin="0,0,0,10" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabSystemSystemTime}" ToolTip.Tip="{locale:Locale TimeTooltip}" Width="250"/> <DatePicker VerticalAlignment="Center" SelectedDate="{Binding DateOffset}" ToolTip.Tip="{locale:Locale TimeTooltip}" Width="350" /> </StackPanel> <StackPanel Margin="250,0,0,10" Orientation="Horizontal"> <TimePicker VerticalAlignment="Center" ClockIdentifier="24HourClock" SelectedTime="{Binding TimeOffset}" Width="350" ToolTip.Tip="{locale:Locale TimeTooltip}" /> </StackPanel> <CheckBox IsChecked="{Binding EnableVsync}"> <TextBlock Text="{locale:Locale SettingsTabSystemEnableVsync}" ToolTip.Tip="{locale:Locale VSyncToggleTooltip}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableFsIntegrityChecks}"> <TextBlock Text="{locale:Locale SettingsTabSystemEnableFsIntegrityChecks}" ToolTip.Tip="{locale:Locale FsIntegrityToggleTooltip}" /> </CheckBox> </StackPanel> <Separator Height="1" /> <StackPanel Orientation="Horizontal"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabSystemHacks}" /> <TextBlock Text="{locale:Locale SettingsTabSystemHacksNote}" /> </StackPanel> <StackPanel Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical"> <CheckBox IsChecked="{Binding ExpandDramSize}" ToolTip.Tip="{locale:Locale DRamTooltip}"> <TextBlock Text="{locale:Locale SettingsTabSystemExpandDramSize}" /> </CheckBox> <CheckBox IsChecked="{Binding IgnoreMissingServices}" ToolTip.Tip="{locale:Locale IgnoreMissingServicesTooltip}"> <TextBlock Text="{locale:Locale SettingsTabSystemIgnoreMissingServices}" /> </CheckBox> </StackPanel> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="CpuPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabCpuCache}" /> <StackPanel Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical"> <CheckBox IsChecked="{Binding EnablePptc}"> <TextBlock Text="{locale:Locale SettingsTabSystemEnablePptc}" ToolTip.Tip="{locale:Locale PptcToggleTooltip}" /> </CheckBox> </StackPanel> <Separator Height="1" /> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabCpuMemory}" /> <StackPanel Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical"> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabSystemMemoryManagerMode}" ToolTip.Tip="{locale:Locale MemoryManagerTooltip}" Width="250" /> <ComboBox SelectedIndex="{Binding MemoryMode}" ToolTip.Tip="{locale:Locale MemoryManagerTooltip}" HorizontalContentAlignment="Left" Width="350"> <ComboBoxItem ToolTip.Tip="{locale:Locale MemoryManagerSoftwareTooltip}"> <TextBlock Text="{locale:Locale SettingsTabSystemMemoryManagerModeSoftware}" /> </ComboBoxItem> <ComboBoxItem ToolTip.Tip="{locale:Locale MemoryManagerHostTooltip}"> <TextBlock Text="{locale:Locale SettingsTabSystemMemoryManagerModeHost}" /> </ComboBoxItem> <ComboBoxItem ToolTip.Tip="{locale:Locale MemoryManagerUnsafeTooltip}"> <TextBlock Text="{locale:Locale SettingsTabSystemMemoryManagerModeHostUnchecked}" /> </ComboBoxItem> </ComboBox> </StackPanel> </StackPanel> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="GraphicsPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsAPI}" /> <StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10"> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}" Text="{locale:Locale SettingsTabGraphicsBackend}" Width="250" /> <ComboBox Width="350" HorizontalContentAlignment="Left" ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}" SelectedIndex="{Binding GraphicsBackendIndex}"> <ComboBoxItem IsVisible="{Binding IsVulkanAvailable}"> <TextBlock Text="Vulkan" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="OpenGL" /> </ComboBoxItem> </ComboBox> </StackPanel> <StackPanel Orientation="Horizontal" IsVisible="{Binding IsVulkanSelected}"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}" Text="{locale:Locale SettingsTabGraphicsPreferredGpu}" Width="250" /> <ComboBox Width="350" HorizontalContentAlignment="Left" ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}" SelectedIndex="{Binding PreferredGpuIndex}" Items="{Binding AvailableGpus}"/> </StackPanel> </StackPanel> <Separator Height="1" /> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsFeatures}" /> <StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10"> <StackPanel Orientation="Vertical"> <CheckBox IsChecked="{Binding EnableShaderCache}" ToolTip.Tip="{locale:Locale ShaderCacheToggleTooltip}"> <TextBlock Text="{locale:Locale SettingsTabGraphicsEnableShaderCache}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableTextureRecompression}" ToolTip.Tip="{locale:Locale SettingsEnableTextureRecompressionTooltip}"> <TextBlock Text="{locale:Locale SettingsEnableTextureRecompression}" /> </CheckBox> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale ResolutionScaleTooltip}" Text="{locale:Locale SettingsTabGraphicsResolutionScale}" Width="250" /> <ComboBox SelectedIndex="{Binding ResolutionScale}" Width="350" HorizontalContentAlignment="Left" ToolTip.Tip="{locale:Locale ResolutionScaleTooltip}"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScaleCustom}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScaleNative}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale2x}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale3x}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsResolutionScale4x}" /> </ComboBoxItem> </ComboBox> <ui:NumberBox Margin="10,0,0,0" ToolTip.Tip="{locale:Locale ResolutionScaleEntryTooltip}" MinWidth="150" SmallChange="0.1" LargeChange="1" SimpleNumberFormat="F2" SpinButtonPlacementMode="Inline" IsVisible="{Binding IsCustomResolutionScaleActive}" Maximum="100" Minimum="0.1" Value="{Binding CustomResolutionScale}" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale AnisotropyTooltip}" Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering}" Width="250" /> <ComboBox SelectedIndex="{Binding MaxAnisotropy}" Width="350" HorizontalContentAlignment="Left" ToolTip.Tip="{locale:Locale AnisotropyTooltip}"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFilteringAuto}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering2x}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering4x}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering8x}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAnisotropicFiltering16x}" /> </ComboBoxItem> </ComboBox> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale AspectRatioTooltip}" Text="{locale:Locale SettingsTabGraphicsAspectRatio}" Width="250" /> <ComboBox SelectedIndex="{Binding AspectRatio}" Width="350" HorizontalContentAlignment="Left" ToolTip.Tip="{locale:Locale AspectRatioTooltip}"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio4x3}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio16x9}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio16x10}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio21x9}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatio32x9}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabGraphicsAspectRatioStretch}" /> </ComboBoxItem> </ComboBox> </StackPanel> </StackPanel> <StackPanel Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale GraphicsBackendThreadingTooltip}" Text="{locale:Locale SettingsTabGraphicsBackendMultithreading}" Width="250" /> <ComboBox Width="350" HorizontalContentAlignment="Left" ToolTip.Tip="{locale:Locale GalThreadingTooltip}" SelectedIndex="{Binding GraphicsBackendMultithreadingIndex}"> <ComboBoxItem> <TextBlock Text="{locale:Locale CommonAuto}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale CommonOff}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale CommonOn}" /> </ComboBoxItem> </ComboBox> </StackPanel> </StackPanel> <Separator Height="1" /> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsDeveloperOptions}" /> <StackPanel Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <StackPanel Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale ShaderDumpPathTooltip}" Text="{locale:Locale SettingsTabGraphicsShaderDumpPath}" Width="250" /> <TextBox Text="{Binding ShaderDumpPath}" Width="350" ToolTip.Tip="{locale:Locale ShaderDumpPathTooltip}" /> </StackPanel> </StackPanel> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="AudioPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabAudio}" /> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabSystemAudioBackend}" ToolTip.Tip="{locale:Locale AudioBackendTooltip}" Width="250" /> <ComboBox SelectedIndex="{Binding AudioBackend}" Width="350" HorizontalContentAlignment="Left"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabSystemAudioBackendDummy}" /> </ComboBoxItem> <ComboBoxItem IsEnabled="{Binding IsOpenAlEnabled}"> <TextBlock Text="{locale:Locale SettingsTabSystemAudioBackendOpenAL}" /> </ComboBoxItem> <ComboBoxItem IsEnabled="{Binding IsSoundIoEnabled}"> <TextBlock Text="{locale:Locale SettingsTabSystemAudioBackendSoundIO}" /> </ComboBoxItem> <ComboBoxItem IsEnabled="{Binding IsSDL2Enabled}"> <TextBlock Text="{locale:Locale SettingsTabSystemAudioBackendSDL2}" /> </ComboBoxItem> </ComboBox> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabSystemAudioVolume}" ToolTip.Tip="{locale:Locale AudioVolumeTooltip}" Width="250" /> <ui:NumberBox Value="{Binding Volume}" ToolTip.Tip="{locale:Locale AudioVolumeTooltip}" Width="350" SmallChange="1" LargeChange="10" SimpleNumberFormat="F0" SpinButtonPlacementMode="Inline" Minimum="0" Maximum="100" /> </StackPanel> <StackPanel Margin="10,0,0,0" Orientation="Horizontal"> <Slider Value="{Binding Volume}" Margin="250,0,0,0" ToolTip.Tip="{locale:Locale AudioVolumeTooltip}" Minimum="0" Maximum="100" SmallChange="5" TickFrequency="5" IsSnapToTickEnabled="True" LargeChange="10" Width="350" /> </StackPanel> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="NetworkPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabNetworkConnection}" /> <CheckBox Margin="10,0,0,0" IsChecked="{Binding EnableInternetAccess}"> <TextBlock Text="{locale:Locale SettingsTabSystemEnableInternetAccess}" ToolTip.Tip="{locale:Locale EnableInternetAccessTooltip}" /> </CheckBox> </StackPanel> </Border> </ScrollViewer> <ScrollViewer Name="LoggingPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Border Classes="settings"> <StackPanel Margin="10,5" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabLoggingLogging}" /> <StackPanel Margin="10,0,0,0" Orientation="Vertical"> <CheckBox IsChecked="{Binding EnableFileLog}" ToolTip.Tip="{locale:Locale FileLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableLoggingToFile}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableStub}" ToolTip.Tip="{locale:Locale StubLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableStubLogs}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableInfo}" ToolTip.Tip="{locale:Locale InfoLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableInfoLogs}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableWarn}" ToolTip.Tip="{locale:Locale WarnLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableWarningLogs}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableError}" ToolTip.Tip="{locale:Locale ErrorLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableErrorLogs}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableTrace}" ToolTip.Tip="{locale:Locale TraceLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableTraceLogs}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableGuest}" ToolTip.Tip="{locale:Locale GuestLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableGuestLogs}" /> </CheckBox> </StackPanel> <Separator Height="1" /> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabLoggingDeveloperOptions}" /> <StackPanel Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical" Spacing="10"> <StackPanel Orientation="Vertical"> <CheckBox IsChecked="{Binding EnableDebug}" ToolTip.Tip="{locale:Locale DebugLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableDebugLogs}" /> </CheckBox> <CheckBox IsChecked="{Binding EnableFsAccessLog}" ToolTip.Tip="{locale:Locale FileAccessLogTooltip}"> <TextBlock Text="{locale:Locale SettingsTabLoggingEnableFsAccessLogs}" /> </CheckBox> <StackPanel Margin="0,10,0,0" Orientation="Horizontal" VerticalAlignment="Stretch"> <TextBlock VerticalAlignment="Center" ToolTip.Tip="{locale:Locale FSAccessLogModeTooltip}" Text="{locale:Locale SettingsTabLoggingFsGlobalAccessLogMode}" Width="285" /> <ui:NumberBox Maximum="3" Minimum="0" Width="150" SpinButtonPlacementMode="Inline" SmallChange="1" LargeChange="1" Value="{Binding FsGlobalAccessLogMode}" /> </StackPanel> <StackPanel Margin="0,10,0,0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabLoggingOpenglLogLevel}" ToolTip.Tip="{locale:Locale OpenGlLogLevel}" Width="285" /> <ComboBox SelectedIndex="{Binding OpenglDebugLevel}" Width="150" HorizontalContentAlignment="Left" ToolTip.Tip="{locale:Locale OpenGlLogLevel}"> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabLoggingOpenglLogLevelNone}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabLoggingOpenglLogLevelError}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabLoggingOpenglLogLevelPerformance}" /> </ComboBoxItem> <ComboBoxItem> <TextBlock Text="{locale:Locale SettingsTabLoggingOpenglLogLevelAll}" /> </ComboBoxItem> </ComboBox> </StackPanel> </StackPanel> </StackPanel> </StackPanel> </Border> </ScrollViewer> </Grid> <ui:NavigationView Grid.Row="1" IsSettingsVisible="False" Name="NavPanel" IsBackEnabled="False" PaneDisplayMode="Left" Margin="2,10,10,0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" OpenPaneLength="200"> <ui:NavigationView.MenuItems> <ui:NavigationViewItem IsSelected="True" Content="{locale:Locale SettingsTabGeneral}" Tag="UiPage" Icon="New" /> <ui:NavigationViewItem Content="{locale:Locale SettingsTabInput}" Tag="InputPage" Icon="Games" /> <ui:NavigationViewItem Content="{locale:Locale SettingsTabHotkeys}" Tag="HotkeysPage" Icon="Keyboard" /> <ui:NavigationViewItem Content="{locale:Locale SettingsTabSystem}" Tag="SystemPage" Icon="Settings" /> <ui:NavigationViewItem Content="{locale:Locale SettingsTabCpu}" Tag="CpuPage"> <ui:NavigationViewItem.Icon> <ui:FontIcon FontFamily="avares://Ryujinx.Ava/Assets/Fonts#Segoe Fluent Icons" Glyph="{controls:GlyphValueConverter Chip}" /> </ui:NavigationViewItem.Icon> </ui:NavigationViewItem> <ui:NavigationViewItem Content="{locale:Locale SettingsTabGraphics}" Tag="GraphicsPage" Icon="Image" /> <ui:NavigationViewItem Content="{locale:Locale SettingsTabAudio}" Icon="Audio" Tag="AudioPage" /> <ui:NavigationViewItem Content="{locale:Locale SettingsTabNetwork}" Tag="NetworkPage" Icon="Globe" /> <ui:NavigationViewItem Content="{locale:Locale SettingsTabLogging}" Tag="LoggingPage" Icon="Document" /> </ui:NavigationView.MenuItems> </ui:NavigationView> <StackPanel Grid.Row="2" Margin="10" Spacing="10" Orientation="Horizontal" HorizontalAlignment="Right"> <Button Content="{locale:Locale SettingsButtonSave}" Click="SaveButton_Clicked" /> <Button Content="{locale:Locale SettingsButtonClose}" Click="CloseButton_Clicked" /> <Button Content="{locale:Locale SettingsButtonApply}" Click="ApplyButton_Clicked" /> </StackPanel> </Grid> </window:StyleableWindow>