From 474a557e0109a11f1bed01bb0161823535ca84ed Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Fri, 9 Feb 2024 12:40:29 -0500 Subject: [PATCH 1/8] Fix Preview Plugins --- src/Ryujinx.Ava/App.axaml.cs | 4 ++++ src/Ryujinx.Ava/Common/Locale/LocaleManager.cs | 16 ++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Ryujinx.Ava/App.axaml.cs b/src/Ryujinx.Ava/App.axaml.cs index 387a6dc145..f27038aed6 100644 --- a/src/Ryujinx.Ava/App.axaml.cs +++ b/src/Ryujinx.Ava/App.axaml.cs @@ -46,6 +46,10 @@ namespace Ryujinx.Ava ConfigurationState.Instance.UI.CustomThemePath.Event += ThemeChanged_Event; ConfigurationState.Instance.UI.EnableCustomTheme.Event += CustomThemeChanged_Event; } + else + { + ConfigurationState.Initialize(); + } } private void CustomThemeChanged_Event(object sender, ReactiveEventArgs e) diff --git a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs index b2f3e7ab95..4f48aaa595 100644 --- a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs +++ b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs @@ -35,17 +35,13 @@ namespace Ryujinx.Ava.Common.Locale // Load the system Language Code. string localeLanguageCode = CultureInfo.CurrentCulture.Name.Replace('-', '_'); - // If the view is loaded with the UI Previewer detached, then override it with the saved one or default. - if (Program.PreviewerDetached) + if (!string.IsNullOrEmpty(ConfigurationState.Instance.Ui.LanguageCode.Value)) { - if (!string.IsNullOrEmpty(ConfigurationState.Instance.UI.LanguageCode.Value)) - { - localeLanguageCode = ConfigurationState.Instance.UI.LanguageCode.Value; - } - else - { - localeLanguageCode = DefaultLanguageCode; - } + localeLanguageCode = ConfigurationState.Instance.Ui.LanguageCode.Value; + } + else + { + localeLanguageCode = DefaultLanguageCode; } // Load en_US as default, if the target language translation is incomplete. From 5ec8af597ee558e771420ee84d117070d0b44e4d Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Fri, 9 Feb 2024 12:45:34 -0500 Subject: [PATCH 2/8] Fix themeing --- src/Ryujinx.Ava/App.axaml.cs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/Ryujinx.Ava/App.axaml.cs b/src/Ryujinx.Ava/App.axaml.cs index f27038aed6..11325dcb61 100644 --- a/src/Ryujinx.Ava/App.axaml.cs +++ b/src/Ryujinx.Ava/App.axaml.cs @@ -38,18 +38,17 @@ namespace Ryujinx.Ava base.OnFrameworkInitializationCompleted(); - if (Program.PreviewerDetached) - { - ApplyConfiguredTheme(); - ConfigurationState.Instance.UI.BaseStyle.Event += ThemeChanged_Event; - ConfigurationState.Instance.UI.CustomThemePath.Event += ThemeChanged_Event; - ConfigurationState.Instance.UI.EnableCustomTheme.Event += CustomThemeChanged_Event; - } - else + if (!Program.PreviewerDetached) { ConfigurationState.Initialize(); } + + ApplyConfiguredTheme(); + + ConfigurationState.Instance.Ui.BaseStyle.Event += ThemeChanged_Event; + ConfigurationState.Instance.Ui.CustomThemePath.Event += ThemeChanged_Event; + ConfigurationState.Instance.Ui.EnableCustomTheme.Event += CustomThemeChanged_Event; } private void CustomThemeChanged_Event(object sender, ReactiveEventArgs e) @@ -92,13 +91,13 @@ namespace Ryujinx.Ava { try { - string baseStyle = ConfigurationState.Instance.UI.BaseStyle; + string baseStyle = ConfigurationState.Instance.Ui.BaseStyle; if (string.IsNullOrWhiteSpace(baseStyle)) { - ConfigurationState.Instance.UI.BaseStyle.Value = "Dark"; + ConfigurationState.Instance.Ui.BaseStyle.Value = "Dark"; - baseStyle = ConfigurationState.Instance.UI.BaseStyle; + baseStyle = ConfigurationState.Instance.Ui.BaseStyle; } RequestedThemeVariant = baseStyle switch From 388dba1216913c8b9c3a3108649a5389ed90ecad Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Fri, 9 Feb 2024 12:48:57 -0500 Subject: [PATCH 3/8] Adjust Design proportions --- src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml b/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml index cc21b5c60f..2b7eb2911c 100644 --- a/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml +++ b/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml @@ -8,7 +8,7 @@ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers" xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale" xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels" - mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" + mc:Ignorable="d" d:DesignWidth="1000" x:Class="Ryujinx.Ava.UI.Views.Main.MainViewControls" x:DataType="viewModels:MainWindowViewModel"> From 23979bda2686a9d231a5939ba0f2e319f35bbd84 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Fri, 9 Feb 2024 13:10:29 -0500 Subject: [PATCH 4/8] Get rid of excessive Preview protections --- src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs | 12 +++--------- src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs | 5 +---- src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs | 9 +++------ src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml | 2 ++ 4 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs index bcaa086000..00464d6af5 100644 --- a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs +++ b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs @@ -277,10 +277,7 @@ namespace Ryujinx.Ava.UI.ViewModels { _virtualFileSystem = virtualFileSystem; _contentManager = contentManager; - if (Program.PreviewerDetached) - { - Task.Run(LoadTimeZones); - } + Task.Run(LoadTimeZones); } public SettingsViewModel() @@ -294,11 +291,8 @@ namespace Ryujinx.Ava.UI.ViewModels Task.Run(CheckSoundBackends); Task.Run(PopulateNetworkInterfaces); - if (Program.PreviewerDetached) - { - Task.Run(LoadAvailableGpus); - LoadCurrentConfiguration(); - } + Task.Run(LoadAvailableGpus); + LoadCurrentConfiguration(); } public async Task CheckSoundBackends() diff --git a/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs index 8829cb10b0..6076a68d2c 100644 --- a/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs +++ b/src/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs @@ -29,10 +29,7 @@ namespace Ryujinx.Ava.UI.Windows InitializeComponent(); - if (Program.PreviewerDetached) - { - Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance[LocaleKeys.Amiibo]; - } + Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance[LocaleKeys.Amiibo]; } public bool IsScanned { get; set; } diff --git a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs index 33a9af5b61..6bb3c5dd5b 100644 --- a/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs @@ -78,13 +78,10 @@ namespace Ryujinx.Ava.UI.Windows Height = ((Height - barHeight) / Program.WindowScaleFactor) + barHeight; Width /= Program.WindowScaleFactor; - if (Program.PreviewerDetached) - { - InputManager = new InputManager(new AvaloniaKeyboardDriver(this), new SDL2GamepadDriver()); + InputManager = new InputManager(new AvaloniaKeyboardDriver(this), new SDL2GamepadDriver()); - this.GetObservable(IsActiveProperty).Subscribe(IsActiveChanged); - this.ScalingChanged += OnScalingChanged; - } + this.GetObservable(IsActiveProperty).Subscribe(IsActiveChanged); + this.ScalingChanged += OnScalingChanged; } protected override void OnApplyTemplate(TemplateAppliedEventArgs e) diff --git a/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml b/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml index 40cac90ddc..c1db0b3d98 100644 --- a/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml +++ b/src/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml @@ -17,6 +17,8 @@ WindowStartupLocation="CenterOwner" x:DataType="viewModels:SettingsViewModel" mc:Ignorable="d" + d:DesignHeight="800" + d:DesignWidth="1000" Focusable="True"> From 8582a5eb7c23a2de3a2d61b9c711c39e3c901aa0 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Fri, 9 Feb 2024 13:16:22 -0500 Subject: [PATCH 5/8] Fix Settings Window --- src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs index 00464d6af5..ded94280df 100644 --- a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs +++ b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs @@ -401,10 +401,13 @@ namespace Ryujinx.Ava.UI.ViewModels ShowConfirmExit = config.ShowConfirmExit; HideCursor = (int)config.HideCursor.Value; - GameDirectories.Clear(); - GameDirectories.AddRange(config.UI.GameDirs.Value); + if (Program.PreviewerDetached) + { + GameDirectories.Clear(); + GameDirectories.AddRange(config.Ui.GameDirs.Value); + } - BaseStyleIndex = config.UI.BaseStyle == "Light" ? 0 : 1; + BaseStyleIndex = config.Ui.BaseStyle == "Light" ? 0 : 1; // Input EnableDockedMode = config.System.EnableDockedMode; @@ -488,10 +491,10 @@ namespace Ryujinx.Ava.UI.ViewModels if (_directoryChanged) { List gameDirs = new(GameDirectories); - config.UI.GameDirs.Value = gameDirs; + config.Ui.GameDirs.Value = gameDirs; } - config.UI.BaseStyle.Value = BaseStyleIndex == 0 ? "Light" : "Dark"; + config.Ui.BaseStyle.Value = BaseStyleIndex == 0 ? "Light" : "Dark"; // Input config.System.EnableDockedMode.Value = EnableDockedMode; From 230509be28f502ce0b3b53cf03cb32a717abc91f Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Sat, 10 Feb 2024 12:19:49 -0500 Subject: [PATCH 6/8] Style --- src/Ryujinx.Ava/Common/Locale/LocaleManager.cs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs index 4f48aaa595..c02b87cfe5 100644 --- a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs +++ b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs @@ -32,17 +32,8 @@ namespace Ryujinx.Ava.Common.Locale public void Load() { - // Load the system Language Code. - string localeLanguageCode = CultureInfo.CurrentCulture.Name.Replace('-', '_'); - - if (!string.IsNullOrEmpty(ConfigurationState.Instance.Ui.LanguageCode.Value)) - { - localeLanguageCode = ConfigurationState.Instance.Ui.LanguageCode.Value; - } - else - { - localeLanguageCode = DefaultLanguageCode; - } + string localeLanguageCode = string.IsNullOrEmpty(ConfigurationState.Instance.Ui.LanguageCode.Value) ? + DefaultLanguageCode : ConfigurationState.Instance.Ui.LanguageCode.Value; // Load en_US as default, if the target language translation is incomplete. LoadDefaultLanguage(); From 222345207abb0acced0f068f2bfef68e3ef77ab5 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Sat, 10 Feb 2024 12:21:19 -0500 Subject: [PATCH 7/8] Remove import --- src/Ryujinx.Ava/Common/Locale/LocaleManager.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs index c02b87cfe5..b525f77cae 100644 --- a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs +++ b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs @@ -5,7 +5,6 @@ using Ryujinx.UI.Common.Configuration; using System; using System.Collections.Concurrent; using System.Collections.Generic; -using System.Globalization; namespace Ryujinx.Ava.Common.Locale { From 59f7a7278c8efd30368aad8111d4df408fbad224 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Sat, 10 Feb 2024 21:17:42 -0500 Subject: [PATCH 8/8] Conflicts --- src/Ryujinx.Ava/App.axaml.cs | 12 ++++++------ src/Ryujinx.Ava/Common/Locale/LocaleManager.cs | 4 ++-- src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Ryujinx.Ava/App.axaml.cs b/src/Ryujinx.Ava/App.axaml.cs index 11325dcb61..30bcfe7901 100644 --- a/src/Ryujinx.Ava/App.axaml.cs +++ b/src/Ryujinx.Ava/App.axaml.cs @@ -46,9 +46,9 @@ namespace Ryujinx.Ava ApplyConfiguredTheme(); - ConfigurationState.Instance.Ui.BaseStyle.Event += ThemeChanged_Event; - ConfigurationState.Instance.Ui.CustomThemePath.Event += ThemeChanged_Event; - ConfigurationState.Instance.Ui.EnableCustomTheme.Event += CustomThemeChanged_Event; + ConfigurationState.Instance.UI.BaseStyle.Event += ThemeChanged_Event; + ConfigurationState.Instance.UI.CustomThemePath.Event += ThemeChanged_Event; + ConfigurationState.Instance.UI.EnableCustomTheme.Event += CustomThemeChanged_Event; } private void CustomThemeChanged_Event(object sender, ReactiveEventArgs e) @@ -91,13 +91,13 @@ namespace Ryujinx.Ava { try { - string baseStyle = ConfigurationState.Instance.Ui.BaseStyle; + string baseStyle = ConfigurationState.Instance.UI.BaseStyle; if (string.IsNullOrWhiteSpace(baseStyle)) { - ConfigurationState.Instance.Ui.BaseStyle.Value = "Dark"; + ConfigurationState.Instance.UI.BaseStyle.Value = "Dark"; - baseStyle = ConfigurationState.Instance.Ui.BaseStyle; + baseStyle = ConfigurationState.Instance.UI.BaseStyle; } RequestedThemeVariant = baseStyle switch diff --git a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs index b525f77cae..4f69b3ce25 100644 --- a/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs +++ b/src/Ryujinx.Ava/Common/Locale/LocaleManager.cs @@ -31,8 +31,8 @@ namespace Ryujinx.Ava.Common.Locale public void Load() { - string localeLanguageCode = string.IsNullOrEmpty(ConfigurationState.Instance.Ui.LanguageCode.Value) ? - DefaultLanguageCode : ConfigurationState.Instance.Ui.LanguageCode.Value; + string localeLanguageCode = string.IsNullOrEmpty(ConfigurationState.Instance.UI.LanguageCode.Value) ? + DefaultLanguageCode : ConfigurationState.Instance.UI.LanguageCode.Value; // Load en_US as default, if the target language translation is incomplete. LoadDefaultLanguage(); diff --git a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs index ded94280df..22482e7378 100644 --- a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs +++ b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs @@ -404,10 +404,10 @@ namespace Ryujinx.Ava.UI.ViewModels if (Program.PreviewerDetached) { GameDirectories.Clear(); - GameDirectories.AddRange(config.Ui.GameDirs.Value); + GameDirectories.AddRange(config.UI.GameDirs.Value); } - BaseStyleIndex = config.Ui.BaseStyle == "Light" ? 0 : 1; + BaseStyleIndex = config.UI.BaseStyle == "Light" ? 0 : 1; // Input EnableDockedMode = config.System.EnableDockedMode; @@ -491,10 +491,10 @@ namespace Ryujinx.Ava.UI.ViewModels if (_directoryChanged) { List gameDirs = new(GameDirectories); - config.Ui.GameDirs.Value = gameDirs; + config.UI.GameDirs.Value = gameDirs; } - config.Ui.BaseStyle.Value = BaseStyleIndex == 0 ? "Light" : "Dark"; + config.UI.BaseStyle.Value = BaseStyleIndex == 0 ? "Light" : "Dark"; // Input config.System.EnableDockedMode.Value = EnableDockedMode;