From 57c22a1f32abc8fb8c62d2b0855e11806f0e2ee5 Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Tue, 4 Mar 2025 02:56:59 -0600 Subject: [PATCH] misc: chore: [ci skip] Reduce duplicated close button & command space styling for dialogs --- src/Ryujinx/UI/Helpers/ContentDialogHelper.cs | 18 ++++++++++++++++++ .../UI/Views/Misc/ApplicationDataView.axaml.cs | 13 ++----------- .../UI/Views/Misc/DlcSelectView.axaml.cs | 12 +----------- src/Ryujinx/UI/Windows/AboutWindow.axaml.cs | 16 ++++------------ .../Compat/CompatibilityList.axaml.cs | 11 +---------- 5 files changed, 26 insertions(+), 44 deletions(-) diff --git a/src/Ryujinx/UI/Helpers/ContentDialogHelper.cs b/src/Ryujinx/UI/Helpers/ContentDialogHelper.cs index 0fd290b13..a93b2894e 100644 --- a/src/Ryujinx/UI/Helpers/ContentDialogHelper.cs +++ b/src/Ryujinx/UI/Helpers/ContentDialogHelper.cs @@ -4,6 +4,7 @@ using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Input; using Avalonia.Layout; using Avalonia.Media; +using Avalonia.Styling; using Avalonia.Threading; using FluentAvalonia.Core; using FluentAvalonia.UI.Controls; @@ -21,6 +22,23 @@ namespace Ryujinx.Ava.UI.Helpers private static bool _isChoiceDialogOpen; private static ContentDialogOverlayWindow _contentDialogOverlayWindow; + public static ContentDialog ApplyStyles( + this ContentDialog contentDialog, + double closeButtonWidth = 80, + HorizontalAlignment buttonSpaceAlignment = HorizontalAlignment.Right) + { + Style closeButton = new(x => x.Name("CloseButton")); + closeButton.Setters.Add(new Setter(Layoutable.WidthProperty, closeButtonWidth)); + + Style closeButtonParent = new(x => x.Name("CommandSpace")); + closeButtonParent.Setters.Add(new Setter(Layoutable.HorizontalAlignmentProperty, buttonSpaceAlignment)); + + contentDialog.Styles.Add(closeButton); + contentDialog.Styles.Add(closeButtonParent); + + return contentDialog; + } + private async static Task ShowContentDialog( string title, object content, diff --git a/src/Ryujinx/UI/Views/Misc/ApplicationDataView.axaml.cs b/src/Ryujinx/UI/Views/Misc/ApplicationDataView.axaml.cs index 7bd05ba4f..02020c78c 100644 --- a/src/Ryujinx/UI/Views/Misc/ApplicationDataView.axaml.cs +++ b/src/Ryujinx/UI/Views/Misc/ApplicationDataView.axaml.cs @@ -1,6 +1,7 @@ using Avalonia.Controls; using Avalonia.Input.Platform; using Avalonia.Interactivity; +using Avalonia.Layout; using Avalonia.Styling; using FluentAvalonia.UI.Controls; using Ryujinx.Ava.Common.Locale; @@ -29,17 +30,7 @@ namespace Ryujinx.Ava.UI.Views.Misc Content = new ApplicationDataView { ViewModel = new ApplicationDataViewModel(appData) } }; - Style closeButton = new(x => x.Name("CloseButton")); - closeButton.Setters.Add(new Setter(WidthProperty, 160d)); - - Style closeButtonParent = new(x => x.Name("CommandSpace")); - closeButtonParent.Setters.Add(new Setter(HorizontalAlignmentProperty, - Avalonia.Layout.HorizontalAlignment.Center)); - - contentDialog.Styles.Add(closeButton); - contentDialog.Styles.Add(closeButtonParent); - - await ContentDialogHelper.ShowAsync(contentDialog); + await ContentDialogHelper.ShowAsync(contentDialog.ApplyStyles(160, HorizontalAlignment.Center)); } public ApplicationDataView() diff --git a/src/Ryujinx/UI/Views/Misc/DlcSelectView.axaml.cs b/src/Ryujinx/UI/Views/Misc/DlcSelectView.axaml.cs index 3db247dee..017ab9719 100644 --- a/src/Ryujinx/UI/Views/Misc/DlcSelectView.axaml.cs +++ b/src/Ryujinx/UI/Views/Misc/DlcSelectView.axaml.cs @@ -32,17 +32,7 @@ namespace Ryujinx.Ava.UI.Views.Misc Content = new DlcSelectView { ViewModel = viewModel } }; - Style closeButton = new(x => x.Name("CloseButton")); - closeButton.Setters.Add(new Setter(WidthProperty, 80d)); - - Style closeButtonParent = new(x => x.Name("CommandSpace")); - closeButtonParent.Setters.Add(new Setter(HorizontalAlignmentProperty, - Avalonia.Layout.HorizontalAlignment.Right)); - - contentDialog.Styles.Add(closeButton); - contentDialog.Styles.Add(closeButtonParent); - - await ContentDialogHelper.ShowAsync(contentDialog); + await ContentDialogHelper.ShowAsync(contentDialog.ApplyStyles()); return viewModel.SelectedDlc; } diff --git a/src/Ryujinx/UI/Windows/AboutWindow.axaml.cs b/src/Ryujinx/UI/Windows/AboutWindow.axaml.cs index 801748a8c..0af472503 100644 --- a/src/Ryujinx/UI/Windows/AboutWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/AboutWindow.axaml.cs @@ -5,6 +5,7 @@ using Avalonia.Layout; using Avalonia.Styling; using FluentAvalonia.UI.Controls; using Ryujinx.Ava.Common.Locale; +using Ryujinx.Ava.UI.Controls; using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.ViewModels; using Ryujinx.Common; @@ -14,7 +15,7 @@ using Button = Avalonia.Controls.Button; namespace Ryujinx.Ava.UI.Windows { - public partial class AboutWindow : UserControl + public partial class AboutWindow : RyujinxControl { public AboutWindow() { @@ -33,19 +34,10 @@ namespace Ryujinx.Ava.UI.Windows PrimaryButtonText = string.Empty, SecondaryButtonText = string.Empty, CloseButtonText = LocaleManager.Instance[LocaleKeys.UserProfilesClose], - Content = new AboutWindow { DataContext = viewModel } + Content = new AboutWindow { ViewModel = viewModel } }; - Style closeButton = new(x => x.Name("CloseButton")); - closeButton.Setters.Add(new Setter(WidthProperty, 80d)); - - Style closeButtonParent = new(x => x.Name("CommandSpace")); - closeButtonParent.Setters.Add(new Setter(HorizontalAlignmentProperty, HorizontalAlignment.Right)); - - contentDialog.Styles.Add(closeButton); - contentDialog.Styles.Add(closeButtonParent); - - await ContentDialogHelper.ShowAsync(contentDialog); + await ContentDialogHelper.ShowAsync(contentDialog.ApplyStyles()); } private void Button_OnClick(object sender, RoutedEventArgs e) diff --git a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs index 30d2649bc..db9feb36f 100644 --- a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs +++ b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs @@ -25,16 +25,7 @@ namespace Ryujinx.Ava.Utilities.Compat } }; - Style closeButton = new(x => x.Name("CloseButton")); - closeButton.Setters.Add(new Setter(WidthProperty, 80d)); - - Style closeButtonParent = new(x => x.Name("CommandSpace")); - closeButtonParent.Setters.Add(new Setter(HorizontalAlignmentProperty, Avalonia.Layout.HorizontalAlignment.Right)); - - contentDialog.Styles.Add(closeButton); - contentDialog.Styles.Add(closeButtonParent); - - await ContentDialogHelper.ShowAsync(contentDialog); + await ContentDialogHelper.ShowAsync(contentDialog.ApplyStyles()); } public CompatibilityList()