From f33fea32877a9069bfa23bba12ee8b6ea3f6a631 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com> Date: Thu, 25 Jan 2024 23:20:50 +0000 Subject: [PATCH] Remove Custom Theming (#6175) --- src/Ryujinx.Ava/App.axaml.cs | 21 ----- src/Ryujinx.Ava/Assets/Locales/en_US.json | 10 +-- .../UI/ViewModels/SettingsViewModel.cs | 20 ----- .../UI/Views/Settings/SettingsUIView.axaml | 76 +++++-------------- .../UI/Views/Settings/SettingsUIView.axaml.cs | 24 ------ 5 files changed, 20 insertions(+), 131 deletions(-) diff --git a/src/Ryujinx.Ava/App.axaml.cs b/src/Ryujinx.Ava/App.axaml.cs index c1a3ab3e2..54e61c67c 100644 --- a/src/Ryujinx.Ava/App.axaml.cs +++ b/src/Ryujinx.Ava/App.axaml.cs @@ -12,7 +12,6 @@ using Ryujinx.Ui.Common.Configuration; using Ryujinx.Ui.Common.Helper; using System; using System.Diagnostics; -using System.IO; namespace Ryujinx.Ava { @@ -90,8 +89,6 @@ namespace Ryujinx.Ava try { string baseStyle = ConfigurationState.Instance.Ui.BaseStyle; - string themePath = ConfigurationState.Instance.Ui.CustomThemePath; - bool enableCustomTheme = ConfigurationState.Instance.Ui.EnableCustomTheme; if (string.IsNullOrWhiteSpace(baseStyle)) { @@ -106,24 +103,6 @@ namespace Ryujinx.Ava "Dark" => ThemeVariant.Dark, _ => ThemeVariant.Default, }; - - if (enableCustomTheme) - { - if (!string.IsNullOrWhiteSpace(themePath)) - { - try - { - var themeContent = File.ReadAllText(themePath); - var customStyle = AvaloniaRuntimeXamlLoader.Parse<IStyle>(themeContent); - - Styles.Add(customStyle); - } - catch (Exception ex) - { - Logger.Error?.Print(LogClass.Application, $"Failed to Apply Custom Theme. Error: {ex.Message}"); - } - } - } } catch (Exception) { diff --git a/src/Ryujinx.Ava/Assets/Locales/en_US.json b/src/Ryujinx.Ava/Assets/Locales/en_US.json index 72b5e8e3c..dcb7421fc 100644 --- a/src/Ryujinx.Ava/Assets/Locales/en_US.json +++ b/src/Ryujinx.Ava/Assets/Locales/en_US.json @@ -294,13 +294,9 @@ "GameListContextMenuRunApplication": "Run Application", "GameListContextMenuToggleFavorite": "Toggle Favorite", "GameListContextMenuToggleFavoriteToolTip": "Toggle Favorite status of Game", - "SettingsTabGeneralTheme": "Theme", - "SettingsTabGeneralThemeCustomTheme": "Custom Theme Path", - "SettingsTabGeneralThemeBaseStyle": "Base Style", - "SettingsTabGeneralThemeBaseStyleDark": "Dark", - "SettingsTabGeneralThemeBaseStyleLight": "Light", - "SettingsTabGeneralThemeEnableCustomTheme": "Enable Custom Theme", - "ButtonBrowse": "Browse", + "SettingsTabGeneralTheme": "Theme:", + "SettingsTabGeneralThemeDark": "Dark", + "SettingsTabGeneralThemeLight": "Light", "ControllerSettingsConfigureGeneral": "Configure", "ControllerSettingsRumble": "Rumble", "ControllerSettingsRumbleStrongMultiplier": "Strong Rumble Multiplier", diff --git a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs index 604e34067..9e462a900 100644 --- a/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs +++ b/src/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs @@ -48,7 +48,6 @@ namespace Ryujinx.Ava.UI.ViewModels private readonly List<string> _gpuIds = new(); private KeyboardHotkeys _keyboardHotkeys; private int _graphicsBackendIndex; - private string _customThemePath; private int _scalingFilter; private int _scalingFilterLevel; @@ -160,7 +159,6 @@ namespace Ryujinx.Ava.UI.ViewModels public bool IsOpenAlEnabled { get; set; } public bool IsSoundIoEnabled { get; set; } public bool IsSDL2Enabled { get; set; } - public bool EnableCustomTheme { get; set; } public bool IsCustomResolutionScaleActive => _resolutionScale == 4; public bool IsScalingFilterActive => _scalingFilter == (int)Ryujinx.Common.Configuration.ScalingFilter.Fsr; @@ -170,20 +168,6 @@ namespace Ryujinx.Ava.UI.ViewModels public string TimeZone { get; set; } public string ShaderDumpPath { get; set; } - public string CustomThemePath - { - get - { - return _customThemePath; - } - set - { - _customThemePath = value; - - OnPropertyChanged(); - } - } - public int Language { get; set; } public int Region { get; set; } public int FsGlobalAccessLogMode { get; set; } @@ -426,8 +410,6 @@ namespace Ryujinx.Ava.UI.ViewModels GameDirectories.Clear(); GameDirectories.AddRange(config.Ui.GameDirs.Value); - EnableCustomTheme = config.Ui.EnableCustomTheme; - CustomThemePath = config.Ui.CustomThemePath; BaseStyleIndex = config.Ui.BaseStyle == "Light" ? 0 : 1; // Input @@ -515,8 +497,6 @@ namespace Ryujinx.Ava.UI.ViewModels config.Ui.GameDirs.Value = gameDirs; } - config.Ui.EnableCustomTheme.Value = EnableCustomTheme; - config.Ui.CustomThemePath.Value = CustomThemePath; config.Ui.BaseStyle.Value = BaseStyleIndex == 0 ? "Light" : "Dark"; // Input diff --git a/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml b/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml index b7471d385..6504637e6 100644 --- a/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml +++ b/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml @@ -36,7 +36,7 @@ <CheckBox IsChecked="{Binding ShowConfirmExit}"> <TextBlock Text="{locale:Locale SettingsTabGeneralShowConfirmExitDialog}" /> </CheckBox> - <StackPanel Margin="0, 15, 0, 10" Orientation="Horizontal"> + <StackPanel Margin="0, 15, 0, 0" Orientation="Horizontal"> <TextBlock VerticalAlignment="Center" Text="{locale:Locale SettingsTabGeneralHideCursor}" Width="150" /> @@ -54,6 +54,22 @@ </ComboBoxItem> </ComboBox> </StackPanel> + <StackPanel Margin="0, 15, 0, 10" Orientation="Horizontal"> + <TextBlock + VerticalAlignment="Center" + Text="{locale:Locale SettingsTabGeneralTheme}" + Width="150" /> + <ComboBox SelectedIndex="{Binding BaseStyleIndex}" + HorizontalContentAlignment="Left" + MinWidth="100"> + <ComboBoxItem> + <TextBlock Text="{locale:Locale SettingsTabGeneralThemeLight}" /> + </ComboBoxItem> + <ComboBoxItem> + <TextBlock Text="{locale:Locale SettingsTabGeneralThemeDark}" /> + </ComboBoxItem> + </ComboBox> + </StackPanel> </StackPanel> <Separator Height="1" /> <TextBlock Classes="h1" Text="{locale:Locale SettingsTabGeneralGameDirectories}" /> @@ -106,64 +122,6 @@ </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 - Grid.Column="0" - Grid.Row="1" - VerticalAlignment="Center" - Margin="0,10,0,0" - Text="{locale:Locale SettingsTabGeneralThemeCustomTheme}" - ToolTip.Tip="{locale:Locale CustomThemePathTooltip}" /> - <TextBox - Grid.Row="1" - Grid.Column="1" - Margin="0,10,0,0" - Text="{Binding CustomThemePath}" /> - <Button - Grid.Row="1" - Grid.Column="2" - Margin="10,10,0,0" - Click="BrowseTheme" - ToolTip.Tip="{locale:Locale CustomThemeBrowseTooltip}" - Content="{locale:Locale ButtonBrowse}" /> - <TextBlock - Grid.Column="0" - Grid.Row="2" - VerticalAlignment="Center" - Margin="0,10,0,0" - Text="{locale:Locale SettingsTabGeneralThemeBaseStyle}" /> - <ComboBox - Grid.Column="1" - Grid.Row="2" - VerticalAlignment="Center" - Margin="0,10,0,0" - MinWidth="100" - SelectedIndex="{Binding BaseStyleIndex}"> - <ComboBoxItem> - <TextBlock Text="{locale:Locale SettingsTabGeneralThemeBaseStyleLight}" /> - </ComboBoxItem> - <ComboBoxItem> - <TextBlock Text="{locale:Locale SettingsTabGeneralThemeBaseStyleDark}" /> - </ComboBoxItem> - </ComboBox> - </Grid> </StackPanel> </Border> </ScrollViewer> diff --git a/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml.cs b/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml.cs index 6d9299dda..996d15cdb 100644 --- a/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml.cs +++ b/src/Ryujinx.Ava/UI/Views/Settings/SettingsUIView.axaml.cs @@ -61,29 +61,5 @@ namespace Ryujinx.Ava.UI.Views.Settings GameList.SelectedIndex = oldIndex < GameList.ItemCount ? oldIndex : 0; } } - - public async void BrowseTheme(object sender, RoutedEventArgs e) - { - var window = this.GetVisualRoot() as Window; - var result = await window.StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions - { - Title = LocaleManager.Instance[LocaleKeys.SettingsSelectThemeFileDialogTitle], - AllowMultiple = false, - FileTypeFilter = new List<FilePickerFileType> - { - new("xml") - { - Patterns = new[] { "*.xaml" }, - AppleUniformTypeIdentifiers = new[] { "com.ryujinx.xaml" }, - MimeTypes = new[] { "application/xaml+xml" }, - }, - }, - }); - - if (result.Count > 0) - { - ViewModel.CustomThemePath = result[0].Path.LocalPath; - } - } } }