Avalonia - Misc changes to UX (#3643)
* Change navbar from compact to default and force text overflow globally * Fix settings window * Fix right stick control alignment * Initialize value and add logging for SDL IDs * Fix alignment of setting text and improve borders * Clean up padding and size of buttons on controller settings * Fix right side trigger alignment and correct styling * Revert axaml alignment * Fix alignment of volume widget * Fix timezone autocompletebox dropdown height * MainWindow: Line up volume status bar item * Remove margins and add padding to volume widget * Make volume text localizable. Co-authored-by: merry <git@mary.rs>
This commit is contained in:
parent
0cb1e926b5
commit
41790aa743
10 changed files with 133 additions and 86 deletions
|
@ -879,7 +879,7 @@ namespace Ryujinx.Ava
|
||||||
|
|
||||||
StatusUpdatedEvent?.Invoke(this, new StatusUpdatedEventArgs(
|
StatusUpdatedEvent?.Invoke(this, new StatusUpdatedEventArgs(
|
||||||
Device.EnableDeviceVsync,
|
Device.EnableDeviceVsync,
|
||||||
Device.GetVolume(),
|
LocaleManager.Instance["VolumeShort"] + $": {(int)(Device.GetVolume() * 100)}%",
|
||||||
Renderer.IsVulkan ? "Vulkan" : "OpenGL",
|
Renderer.IsVulkan ? "Vulkan" : "OpenGL",
|
||||||
dockedMode,
|
dockedMode,
|
||||||
ConfigurationState.Instance.Graphics.AspectRatio.Value.ToText(),
|
ConfigurationState.Instance.Graphics.AspectRatio.Value.ToText(),
|
||||||
|
|
|
@ -588,5 +588,6 @@
|
||||||
"SettingsTabGraphicsPreferredGpuTooltip": "Select the graphics card that will be used with the Vulkan graphics backend.\n\nDoes not affect the GPU that OpenGL will use.\n\nSet to the GPU flagged as \"dGPU\" if unsure. If there isn't one, leave untouched.",
|
"SettingsTabGraphicsPreferredGpuTooltip": "Select the graphics card that will be used with the Vulkan graphics backend.\n\nDoes not affect the GPU that OpenGL will use.\n\nSet to the GPU flagged as \"dGPU\" if unsure. If there isn't one, leave untouched.",
|
||||||
"SettingsAppRequiredRestartMessage": "Ryujinx Restart Required",
|
"SettingsAppRequiredRestartMessage": "Ryujinx Restart Required",
|
||||||
"SettingsGpuBackendRestartMessage": "Graphics Backend or Gpu settings have been modified. This will require a restart to be applied",
|
"SettingsGpuBackendRestartMessage": "Graphics Backend or Gpu settings have been modified. This will require a restart to be applied",
|
||||||
"SettingsGpuBackendRestartSubMessage": "Do you want to restart now?"
|
"SettingsGpuBackendRestartSubMessage": "Do you want to restart now?",
|
||||||
|
"VolumeShort": "Vol"
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,12 @@
|
||||||
<Style Selector="Border.huge">
|
<Style Selector="Border.huge">
|
||||||
<Setter Property="Width" Value="200" />
|
<Setter Property="Width" Value="200" />
|
||||||
</Style>
|
</Style>
|
||||||
|
<Style Selector="Border.settings">
|
||||||
|
<Setter Property="Background" Value="{DynamicResource ThemeDarkColor}" />
|
||||||
|
<Setter Property="BorderBrush" Value="{DynamicResource MenuFlyoutPresenterBorderColor}" />
|
||||||
|
<Setter Property="BorderThickness" Value="2" />
|
||||||
|
<Setter Property="CornerRadius" Value="3" />
|
||||||
|
</Style>
|
||||||
<Style Selector="Image.small">
|
<Style Selector="Image.small">
|
||||||
<Setter Property="Width" Value="50" />
|
<Setter Property="Width" Value="50" />
|
||||||
</Style>
|
</Style>
|
||||||
|
@ -193,6 +199,14 @@
|
||||||
<Setter Property="Margin" Value="{DynamicResource TextMargin}" />
|
<Setter Property="Margin" Value="{DynamicResource TextMargin}" />
|
||||||
<Setter Property="FontSize" Value="{DynamicResource FontSize}" />
|
<Setter Property="FontSize" Value="{DynamicResource FontSize}" />
|
||||||
<Setter Property="VerticalAlignment" Value="Center" />
|
<Setter Property="VerticalAlignment" Value="Center" />
|
||||||
|
<Setter Property="TextWrapping" Value="WrapWithOverflow" />
|
||||||
|
</Style>
|
||||||
|
<Style Selector="TextBlock.h1">
|
||||||
|
<Setter Property="Margin" Value="{DynamicResource TextMargin}" />
|
||||||
|
<Setter Property="VerticalAlignment" Value="Center" />
|
||||||
|
<Setter Property="FontWeight" Value="Bold" />
|
||||||
|
<Setter Property="FontSize" Value="16" />
|
||||||
|
<Setter Property="TextWrapping" Value="WrapWithOverflow" />
|
||||||
</Style>
|
</Style>
|
||||||
<Style Selector="Separator">
|
<Style Selector="Separator">
|
||||||
<Setter Property="Background" Value="{DynamicResource ThemeControlBorderColor}" />
|
<Setter Property="Background" Value="{DynamicResource ThemeControlBorderColor}" />
|
||||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Ava.Ui.Models
|
||||||
internal class StatusUpdatedEventArgs : EventArgs
|
internal class StatusUpdatedEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
public bool VSyncEnabled { get; }
|
public bool VSyncEnabled { get; }
|
||||||
public float Volume { get; }
|
public string VolumeStatus { get; }
|
||||||
public string GpuBackend { get; }
|
public string GpuBackend { get; }
|
||||||
public string AspectRatio { get; }
|
public string AspectRatio { get; }
|
||||||
public string DockedMode { get; }
|
public string DockedMode { get; }
|
||||||
|
@ -13,10 +13,10 @@ namespace Ryujinx.Ava.Ui.Models
|
||||||
public string GameStatus { get; }
|
public string GameStatus { get; }
|
||||||
public string GpuName { get; }
|
public string GpuName { get; }
|
||||||
|
|
||||||
public StatusUpdatedEventArgs(bool vSyncEnabled, float volume, string gpuBackend, string dockedMode, string aspectRatio, string gameStatus, string fifoStatus, string gpuName)
|
public StatusUpdatedEventArgs(bool vSyncEnabled, string volumeStatus, string gpuBackend, string dockedMode, string aspectRatio, string gameStatus, string fifoStatus, string gpuName)
|
||||||
{
|
{
|
||||||
VSyncEnabled = vSyncEnabled;
|
VSyncEnabled = vSyncEnabled;
|
||||||
Volume = volume;
|
VolumeStatus = volumeStatus;
|
||||||
GpuBackend = gpuBackend;
|
GpuBackend = gpuBackend;
|
||||||
DockedMode = dockedMode;
|
DockedMode = dockedMode;
|
||||||
AspectRatio = aspectRatio;
|
AspectRatio = aspectRatio;
|
||||||
|
|
|
@ -43,6 +43,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
||||||
|
|
||||||
private PlayerIndex _playerId;
|
private PlayerIndex _playerId;
|
||||||
private int _controller;
|
private int _controller;
|
||||||
|
private int _controllerNumber = 0;
|
||||||
private string _controllerImage;
|
private string _controllerImage;
|
||||||
private int _device;
|
private int _device;
|
||||||
private object _configuration;
|
private object _configuration;
|
||||||
|
@ -439,6 +440,14 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string GetShortGamepadId(string str)
|
||||||
|
{
|
||||||
|
const string Hyphen = "-";
|
||||||
|
const int Offset = 1;
|
||||||
|
|
||||||
|
return str.Substring(str.IndexOf(Hyphen) + Offset);
|
||||||
|
}
|
||||||
|
|
||||||
public void LoadDevices()
|
public void LoadDevices()
|
||||||
{
|
{
|
||||||
lock (Devices)
|
lock (Devices)
|
||||||
|
@ -451,9 +460,11 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
||||||
{
|
{
|
||||||
using IGamepad gamepad = _mainWindow.InputManager.KeyboardDriver.GetGamepad(id);
|
using IGamepad gamepad = _mainWindow.InputManager.KeyboardDriver.GetGamepad(id);
|
||||||
|
|
||||||
|
Logger.Info?.Print(LogClass.Configuration, $"{GetShortGamepadName(gamepad.Name)} has been connected with ID: {gamepad.Id}");
|
||||||
|
|
||||||
if (gamepad != null)
|
if (gamepad != null)
|
||||||
{
|
{
|
||||||
Devices.Add((DeviceType.Keyboard, id, $"{GetShortGamepadName(gamepad.Name)} ({id})"));
|
Devices.Add((DeviceType.Keyboard, id, $"{GetShortGamepadName(gamepad.Name)}"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,12 +472,21 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
||||||
{
|
{
|
||||||
using IGamepad gamepad = _mainWindow.InputManager.GamepadDriver.GetGamepad(id);
|
using IGamepad gamepad = _mainWindow.InputManager.GamepadDriver.GetGamepad(id);
|
||||||
|
|
||||||
|
Logger.Info?.Print(LogClass.Configuration, $"{GetShortGamepadName(gamepad.Name)} has been connected with ID: {gamepad.Id}");
|
||||||
|
|
||||||
if (gamepad != null)
|
if (gamepad != null)
|
||||||
{
|
{
|
||||||
Devices.Add((DeviceType.Controller, id, $"{GetShortGamepadName(gamepad.Name)} ({id})"));
|
if (Devices.Any(controller => GetShortGamepadId(controller.Id) == GetShortGamepadId(gamepad.Id)))
|
||||||
|
{
|
||||||
|
_controllerNumber++;
|
||||||
|
}
|
||||||
|
|
||||||
|
Devices.Add((DeviceType.Controller, id, $"{GetShortGamepadName(gamepad.Name)} ({_controllerNumber})"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_controllerNumber = 0;
|
||||||
|
|
||||||
DeviceList.AddRange(Devices.Select(x => x.Name));
|
DeviceList.AddRange(Devices.Select(x => x.Name));
|
||||||
Device = Math.Min(Device, DeviceList.Count);
|
Device = Math.Min(Device, DeviceList.Count);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
||||||
private string _dockedStatusText;
|
private string _dockedStatusText;
|
||||||
private string _fifoStatusText;
|
private string _fifoStatusText;
|
||||||
private string _gameStatusText;
|
private string _gameStatusText;
|
||||||
|
private string _volumeStatusText;
|
||||||
private string _gpuStatusText;
|
private string _gpuStatusText;
|
||||||
private bool _isAmiiboRequested;
|
private bool _isAmiiboRequested;
|
||||||
private bool _isGameRunning;
|
private bool _isGameRunning;
|
||||||
|
@ -385,11 +386,12 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
||||||
|
|
||||||
public string VolumeStatusText
|
public string VolumeStatusText
|
||||||
{
|
{
|
||||||
get
|
get => _volumeStatusText;
|
||||||
|
set
|
||||||
{
|
{
|
||||||
string icon = Volume == 0 ? "🔇" : "🔊";
|
_volumeStatusText = value;
|
||||||
|
|
||||||
return $"{icon} {(int)(Volume * 100)}%";
|
OnPropertyChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,8 @@
|
||||||
Grid.Column="0"
|
Grid.Column="0"
|
||||||
Margin="0,0,2,0"
|
Margin="0,0,2,0"
|
||||||
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
||||||
BorderThickness="1">
|
BorderThickness="1"
|
||||||
|
Padding="2,0">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="2"
|
Margin="2"
|
||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
|
@ -65,7 +66,8 @@
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Margin="0,0,2,0"
|
Margin="0,0,2,0"
|
||||||
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
||||||
BorderThickness="1">
|
BorderThickness="1"
|
||||||
|
Padding="2,0">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="2"
|
Margin="2"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
|
@ -103,7 +105,8 @@
|
||||||
Grid.Column="2"
|
Grid.Column="2"
|
||||||
Margin="0,0,2,0"
|
Margin="0,0,2,0"
|
||||||
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
||||||
BorderThickness="1">
|
BorderThickness="1"
|
||||||
|
Padding="2,0">
|
||||||
<Grid
|
<Grid
|
||||||
Margin="2"
|
Margin="2"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
|
@ -132,7 +135,8 @@
|
||||||
<Border
|
<Border
|
||||||
Grid.Column="3"
|
Grid.Column="3"
|
||||||
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
||||||
BorderThickness="1">
|
BorderThickness="1"
|
||||||
|
Padding="2,0" >
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="2"
|
Margin="2"
|
||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
|
@ -151,7 +155,7 @@
|
||||||
Items="{Binding ProfilesList}"
|
Items="{Binding ProfilesList}"
|
||||||
Text="{Binding ProfileName}" />
|
Text="{Binding ProfileName}" />
|
||||||
<Button
|
<Button
|
||||||
MinWidth="60"
|
MinWidth="0"
|
||||||
Margin="5,0,0,0"
|
Margin="5,0,0,0"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
ToolTip.Tip="{locale:Locale ControllerSettingsLoadProfileToolTip}"
|
ToolTip.Tip="{locale:Locale ControllerSettingsLoadProfileToolTip}"
|
||||||
|
@ -162,7 +166,7 @@
|
||||||
Height="20" />
|
Height="20" />
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
MinWidth="60"
|
MinWidth="0"
|
||||||
Margin="5,0,0,0"
|
Margin="5,0,0,0"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
ToolTip.Tip="{locale:Locale ControllerSettingsSaveProfileToolTip}"
|
ToolTip.Tip="{locale:Locale ControllerSettingsSaveProfileToolTip}"
|
||||||
|
@ -173,7 +177,7 @@
|
||||||
Height="20" />
|
Height="20" />
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
MinWidth="60"
|
MinWidth="0"
|
||||||
Margin="5,0,0,0"
|
Margin="5,0,0,0"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
ToolTip.Tip="{locale:Locale ControllerSettingsRemoveProfileToolTip}"
|
ToolTip.Tip="{locale:Locale ControllerSettingsRemoveProfileToolTip}"
|
||||||
|
@ -522,7 +526,7 @@
|
||||||
TextAlignment="Center" />
|
TextAlignment="Center" />
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!-- Left DPad Down -->
|
<!-- Left DPad Down -->
|
||||||
<StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
|
<StackPanel Margin="0,0,0,4" Background="{DynamicResource ThemeDarkColor}" Orientation="Horizontal">
|
||||||
<TextBlock
|
<TextBlock
|
||||||
|
@ -583,7 +587,7 @@
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<!-- Triggers And Side Buttons-->
|
<!-- Triggers And Side Buttons-->
|
||||||
<StackPanel Grid.Column="1" HorizontalAlignment="Stretch">
|
<StackPanel Grid.Column="1" HorizontalAlignment="Stretch">
|
||||||
<Border
|
<Border
|
||||||
|
@ -717,7 +721,7 @@
|
||||||
MinWidth="0"
|
MinWidth="0"
|
||||||
Grid.Column="0"
|
Grid.Column="0"
|
||||||
IsChecked="{Binding Configuration.EnableMotion, Mode=TwoWay}">
|
IsChecked="{Binding Configuration.EnableMotion, Mode=TwoWay}">
|
||||||
<TextBlock Text="{locale:Locale ControllerSettingsMotion}" TextWrapping="WrapWithOverflow" />
|
<TextBlock Text="{locale:Locale ControllerSettingsMotion}" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
<Button Margin="10" Grid.Column="1" Command="{Binding ShowMotionConfig}">
|
<Button Margin="10" Grid.Column="1" Command="{Binding ShowMotionConfig}">
|
||||||
<TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
|
<TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
|
||||||
|
@ -739,7 +743,7 @@
|
||||||
MinWidth="0"
|
MinWidth="0"
|
||||||
Grid.Column="0"
|
Grid.Column="0"
|
||||||
IsChecked="{Binding Configuration.EnableRumble, Mode=TwoWay}">
|
IsChecked="{Binding Configuration.EnableRumble, Mode=TwoWay}">
|
||||||
<TextBlock Text="{locale:Locale ControllerSettingsRumble}" TextWrapping="WrapWithOverflow" />
|
<TextBlock Text="{locale:Locale ControllerSettingsRumble}" />
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
<Button Margin="10" Grid.Column="1" Command="{Binding ShowRumbleConfig}">
|
<Button Margin="10" Grid.Column="1" Command="{Binding ShowRumbleConfig}">
|
||||||
<TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
|
<TextBlock Text="{locale:Locale ControllerSettingsConfigureGeneral}" />
|
||||||
|
@ -780,8 +784,6 @@
|
||||||
Margin="0,0,0,4"
|
Margin="0,0,0,4"
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Grid.Row="0"
|
Grid.Row="0"
|
||||||
HorizontalAlignment="Center"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
Background="{DynamicResource ThemeDarkColor}"
|
Background="{DynamicResource ThemeDarkColor}"
|
||||||
Orientation="Horizontal">
|
Orientation="Horizontal">
|
||||||
<TextBlock
|
<TextBlock
|
||||||
|
@ -822,7 +824,7 @@
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="0,0,0,4"
|
Margin="0,0,8,4"
|
||||||
Grid.Column="0"
|
Grid.Column="0"
|
||||||
Grid.Row="0"
|
Grid.Row="0"
|
||||||
HorizontalAlignment="Right"
|
HorizontalAlignment="Right"
|
||||||
|
@ -957,7 +959,6 @@
|
||||||
</Border>
|
</Border>
|
||||||
<Border
|
<Border
|
||||||
Grid.Row="2"
|
Grid.Row="2"
|
||||||
Margin="2,0,2,2"
|
|
||||||
Padding="10"
|
Padding="10"
|
||||||
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
BorderBrush="{DynamicResource ThemeControlBorderColor}"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
|
@ -1139,7 +1140,7 @@
|
||||||
Text="{Binding Configuration.DeadzoneRight, StringFormat=\{0:0.00\}}" />
|
Text="{Binding Configuration.DeadzoneRight, StringFormat=\{0:0.00\}}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<TextBlock Text="{locale:Locale ControllerSettingsStickRange}" />
|
<TextBlock Text="{locale:Locale ControllerSettingsStickRange}" />
|
||||||
<StackPanel
|
<StackPanel
|
||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
Orientation="Horizontal">
|
Orientation="Horizontal">
|
||||||
|
|
|
@ -177,7 +177,7 @@
|
||||||
Command="{ReflectionBinding ChangeLanguage}"
|
Command="{ReflectionBinding ChangeLanguage}"
|
||||||
CommandParameter="zh_TW"
|
CommandParameter="zh_TW"
|
||||||
Header="繁體中文" />
|
Header="繁體中文" />
|
||||||
<MenuItem
|
<MenuItem
|
||||||
Command="{ReflectionBinding ChangeLanguage}"
|
Command="{ReflectionBinding ChangeLanguage}"
|
||||||
CommandParameter="ja_JP"
|
CommandParameter="ja_JP"
|
||||||
Header="日本語" />
|
Header="日本語" />
|
||||||
|
@ -662,12 +662,12 @@
|
||||||
IsVisible="{Binding !ShowLoadProgress}" />
|
IsVisible="{Binding !ShowLoadProgress}" />
|
||||||
<ui:ToggleSplitButton
|
<ui:ToggleSplitButton
|
||||||
Name="VolumeStatus"
|
Name="VolumeStatus"
|
||||||
Margin="-2,0,-3,0"
|
Padding="5"
|
||||||
Padding="5,0,0,5"
|
|
||||||
HorizontalAlignment="Left"
|
HorizontalAlignment="Left"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
|
VerticalContentAlignment="Center"
|
||||||
Background="{DynamicResource ThemeContentBackgroundColor}"
|
Background="{DynamicResource ThemeContentBackgroundColor}"
|
||||||
BorderBrush="{DynamicResource ThemeContentBackgroundColor}"
|
BorderThickness="0"
|
||||||
Content="{Binding VolumeStatusText}"
|
Content="{Binding VolumeStatusText}"
|
||||||
IsChecked="{Binding VolumeMuted}"
|
IsChecked="{Binding VolumeMuted}"
|
||||||
IsVisible="{Binding !ShowLoadProgress}">
|
IsVisible="{Binding !ShowLoadProgress}">
|
||||||
|
|
|
@ -138,6 +138,7 @@ namespace Ryujinx.Ava.Ui.Windows
|
||||||
ViewModel.DockedStatusText = args.DockedMode;
|
ViewModel.DockedStatusText = args.DockedMode;
|
||||||
ViewModel.AspectRatioStatusText = args.AspectRatio;
|
ViewModel.AspectRatioStatusText = args.AspectRatio;
|
||||||
ViewModel.GameStatusText = args.GameStatus;
|
ViewModel.GameStatusText = args.GameStatus;
|
||||||
|
ViewModel.VolumeStatusText = args.VolumeStatus;
|
||||||
ViewModel.FifoStatusText = args.FifoStatus;
|
ViewModel.FifoStatusText = args.FifoStatus;
|
||||||
ViewModel.GpuNameText = args.GpuName;
|
ViewModel.GpuNameText = args.GpuName;
|
||||||
ViewModel.BackendText = args.GpuBackend;
|
ViewModel.BackendText = args.GpuBackend;
|
||||||
|
|
|
@ -38,18 +38,18 @@
|
||||||
KeyboardNavigation.IsTabStop="False"/>
|
KeyboardNavigation.IsTabStop="False"/>
|
||||||
<Grid Name="Pages" IsVisible="False" Grid.Row="2">
|
<Grid Name="Pages" IsVisible="False" Grid.Row="2">
|
||||||
<ScrollViewer Name="UiPage"
|
<ScrollViewer Name="UiPage"
|
||||||
Margin="0,0,10,0"
|
Margin="0,0,2,0"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,5"
|
Margin="10,5"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical"
|
Orientation="Vertical"
|
||||||
Spacing="10">
|
Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabGeneralGeneral}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralGeneral}" />
|
||||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
||||||
<CheckBox IsChecked="{Binding EnableDiscordIntegration}">
|
<CheckBox IsChecked="{Binding EnableDiscordIntegration}">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock VerticalAlignment="Center"
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
<Separator Height="1" />
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabGeneralGameDirectories}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralGameDirectories}" />
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,0,0,0"
|
Margin="10,0,0,0"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
<Separator Height="1" />
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabGeneralTheme}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralTheme}" />
|
||||||
<Grid Margin="10,0,0,0">
|
<Grid Margin="10,0,0,0">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
|
@ -169,7 +169,7 @@
|
||||||
Padding="0,0,2,0"
|
Padding="0,0,2,0"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel Margin="4" Orientation="Vertical">
|
<StackPanel Margin="4" Orientation="Vertical">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Margin="5,0"
|
<CheckBox Margin="5,0"
|
||||||
|
@ -198,9 +198,9 @@
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel Margin="10,5" Orientation="Vertical" Spacing="10">
|
<StackPanel Margin="10,5" Orientation="Vertical" Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabHotkeysHotkeys}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabHotkeysHotkeys}" />
|
||||||
<StackPanel Margin="10,0,0,0" Orientation="Horizontal">
|
<StackPanel Margin="10,0,0,0" Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysToggleVsyncHotkey}" Width="230" />
|
<TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabHotkeysToggleVsyncHotkey}" Width="230" />
|
||||||
<ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked">
|
<ToggleButton Width="90" Height="27" Checked="Button_Checked" Unchecked="Button_Unchecked">
|
||||||
|
@ -265,13 +265,13 @@
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,5"
|
Margin="10,5"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical"
|
Orientation="Vertical"
|
||||||
Spacing="10">
|
Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabSystemCore}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabSystemCore}" />
|
||||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
||||||
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
<StackPanel Margin="0,0,0,10" Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock VerticalAlignment="Center"
|
||||||
|
@ -384,6 +384,7 @@
|
||||||
<AutoCompleteBox
|
<AutoCompleteBox
|
||||||
Name="TimeZoneBox"
|
Name="TimeZoneBox"
|
||||||
Width="350"
|
Width="350"
|
||||||
|
MaxDropDownHeight="500"
|
||||||
FilterMode="Contains"
|
FilterMode="Contains"
|
||||||
Items="{Binding TimeZones}"
|
Items="{Binding TimeZones}"
|
||||||
SelectionChanged="TimeZoneBox_OnSelectionChanged"
|
SelectionChanged="TimeZoneBox_OnSelectionChanged"
|
||||||
|
@ -420,7 +421,7 @@
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
<Separator Height="1" />
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabSystemHacks}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabSystemHacks}" />
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemHacksNote}" />
|
<TextBlock Text="{locale:Locale SettingsTabSystemHacksNote}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel
|
<StackPanel
|
||||||
|
@ -445,13 +446,13 @@
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,5"
|
Margin="10,5"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical"
|
Orientation="Vertical"
|
||||||
Spacing="10">
|
Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabCpuCache}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabCpuCache}" />
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,0,0,0"
|
Margin="10,0,0,0"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
|
@ -462,7 +463,7 @@
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
<Separator Height="1" />
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabCpuMemory}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabCpuMemory}" />
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,0,0,0"
|
Margin="10,0,0,0"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
|
@ -502,44 +503,46 @@
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,5"
|
Margin="10,5"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical"
|
Orientation="Vertical"
|
||||||
Spacing="10">
|
Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabGraphicsAPI}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsAPI}" />
|
||||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10">
|
<StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock VerticalAlignment="Center"
|
||||||
ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}"
|
ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}"
|
||||||
Text="{locale:Locale SettingsTabGraphicsBackend}"
|
Text="{locale:Locale SettingsTabGraphicsBackend}"
|
||||||
Width="250" />
|
Width="250" />
|
||||||
<ComboBox Width="350"
|
<ComboBox Width="350"
|
||||||
HorizontalContentAlignment="Left"
|
HorizontalContentAlignment="Left"
|
||||||
ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}"
|
ToolTip.Tip="{locale:Locale SettingsTabGraphicsBackendTooltip}"
|
||||||
SelectedIndex="{Binding GraphicsBackendIndex}">
|
SelectedIndex="{Binding GraphicsBackendIndex}">
|
||||||
<ComboBoxItem IsVisible="{Binding IsVulkanAvailable}">
|
<ComboBoxItem IsVisible="{Binding IsVulkanAvailable}">
|
||||||
<TextBlock Text="Vulkan" />
|
<TextBlock Text="Vulkan" />
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
<ComboBoxItem>
|
<ComboBoxItem>
|
||||||
<TextBlock Text="OpenGL" />
|
<TextBlock Text="OpenGL" />
|
||||||
</ComboBoxItem>
|
</ComboBoxItem>
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal" IsVisible="{Binding IsVulkanSelected}">
|
<StackPanel Orientation="Horizontal" IsVisible="{Binding IsVulkanSelected}">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock VerticalAlignment="Center"
|
||||||
ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}"
|
ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}"
|
||||||
Text="{locale:Locale SettingsTabGraphicsPreferredGpu}"
|
Text="{locale:Locale SettingsTabGraphicsPreferredGpu}"
|
||||||
Width="250" />
|
Width="250" />
|
||||||
<ComboBox Width="350"
|
<ComboBox Width="350"
|
||||||
HorizontalContentAlignment="Left"
|
HorizontalContentAlignment="Left"
|
||||||
ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}"
|
ToolTip.Tip="{locale:Locale SettingsTabGraphicsPreferredGpuTooltip}"
|
||||||
SelectedIndex="{Binding PreferredGpuIndex}"
|
SelectedIndex="{Binding PreferredGpuIndex}"
|
||||||
Items="{Binding AvailableGpus}"/>
|
Items="{Binding AvailableGpus}"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
</StackPanel>
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabGraphicsFeatures}" />
|
<Separator Height="1" />
|
||||||
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsFeatures}" />
|
||||||
|
<StackPanel Margin="10,0,0,0" Orientation="Vertical" Spacing="10">
|
||||||
<StackPanel Orientation="Vertical">
|
<StackPanel Orientation="Vertical">
|
||||||
<CheckBox IsChecked="{Binding EnableShaderCache}"
|
<CheckBox IsChecked="{Binding EnableShaderCache}"
|
||||||
ToolTip.Tip="{locale:Locale ShaderCacheToggleTooltip}">
|
ToolTip.Tip="{locale:Locale ShaderCacheToggleTooltip}">
|
||||||
|
@ -673,7 +676,7 @@
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
<Separator Height="1" />
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabGraphicsDeveloperOptions}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabGraphicsDeveloperOptions}" />
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,0,0,0"
|
Margin="10,0,0,0"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
|
@ -698,13 +701,13 @@
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,5"
|
Margin="10,5"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical"
|
Orientation="Vertical"
|
||||||
Spacing="10">
|
Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabAudio}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabAudio}" />
|
||||||
<StackPanel Margin="10,0,0,0" Orientation="Horizontal">
|
<StackPanel Margin="10,0,0,0" Orientation="Horizontal">
|
||||||
<TextBlock VerticalAlignment="Center"
|
<TextBlock VerticalAlignment="Center"
|
||||||
Text="{locale:Locale SettingsTabSystemAudioBackend}"
|
Text="{locale:Locale SettingsTabSystemAudioBackend}"
|
||||||
|
@ -763,13 +766,13 @@
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,5"
|
Margin="10,5"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical"
|
Orientation="Vertical"
|
||||||
Spacing="10">
|
Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabNetworkConnection}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabNetworkConnection}" />
|
||||||
<CheckBox Margin="10,0,0,0" IsChecked="{Binding EnableInternetAccess}">
|
<CheckBox Margin="10,0,0,0" IsChecked="{Binding EnableInternetAccess}">
|
||||||
<TextBlock Text="{locale:Locale SettingsTabSystemEnableInternetAccess}"
|
<TextBlock Text="{locale:Locale SettingsTabSystemEnableInternetAccess}"
|
||||||
ToolTip.Tip="{locale:Locale EnableInternetAccessTooltip}" />
|
ToolTip.Tip="{locale:Locale EnableInternetAccessTooltip}" />
|
||||||
|
@ -783,13 +786,13 @@
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalScrollBarVisibility="Disabled"
|
HorizontalScrollBarVisibility="Disabled"
|
||||||
VerticalScrollBarVisibility="Auto">
|
VerticalScrollBarVisibility="Auto">
|
||||||
<Border>
|
<Border Classes="settings">
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,5"
|
Margin="10,5"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Orientation="Vertical"
|
Orientation="Vertical"
|
||||||
Spacing="10">
|
Spacing="10">
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabLoggingLogging}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabLoggingLogging}" />
|
||||||
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
<StackPanel Margin="10,0,0,0" Orientation="Vertical">
|
||||||
<CheckBox IsChecked="{Binding EnableFileLog}"
|
<CheckBox IsChecked="{Binding EnableFileLog}"
|
||||||
ToolTip.Tip="{locale:Locale FileLogTooltip}">
|
ToolTip.Tip="{locale:Locale FileLogTooltip}">
|
||||||
|
@ -821,7 +824,7 @@
|
||||||
</CheckBox>
|
</CheckBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Separator Height="1" />
|
<Separator Height="1" />
|
||||||
<TextBlock FontWeight="Bold" Text="{locale:Locale SettingsTabLoggingDeveloperOptions}" />
|
<TextBlock Classes="h1" Text="{locale:Locale SettingsTabLoggingDeveloperOptions}" />
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="10,0,0,0"
|
Margin="10,0,0,0"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
|
@ -880,10 +883,15 @@
|
||||||
</Border>
|
</Border>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</Grid>
|
</Grid>
|
||||||
<ui:NavigationView Grid.Row="1" IsSettingsVisible="False" Name="NavPanel" IsBackEnabled="False"
|
<ui:NavigationView Grid.Row="1"
|
||||||
PaneDisplayMode="LeftCompact"
|
IsSettingsVisible="False"
|
||||||
|
Name="NavPanel"
|
||||||
|
IsBackEnabled="False"
|
||||||
|
PaneDisplayMode="Left"
|
||||||
Margin="2,10,10,0"
|
Margin="2,10,10,0"
|
||||||
VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
|
VerticalAlignment="Stretch"
|
||||||
|
HorizontalAlignment="Stretch"
|
||||||
|
OpenPaneLength="200">
|
||||||
<ui:NavigationView.MenuItems>
|
<ui:NavigationView.MenuItems>
|
||||||
<ui:NavigationViewItem IsSelected="True"
|
<ui:NavigationViewItem IsSelected="True"
|
||||||
Content="{locale:Locale SettingsTabGeneral}"
|
Content="{locale:Locale SettingsTabGeneral}"
|
||||||
|
|
Reference in a new issue