From d1fb89f7467a9506910e3015d0df65bc6f9515c7 Mon Sep 17 00:00:00 2001 From: KeatonTheBot Date: Mon, 10 Aug 2026 00:00:49 -0500 Subject: [PATCH] UI: Fix sort timing - Now sorts instantly when an option is selected Co-authored-by: _Neo_ --- src/Ryujinx/UI/Views/Main/MainViewControls.axaml | 4 ++-- src/Ryujinx/UI/Views/Main/MainViewControls.axaml.cs | 12 ++++-------- src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml | 4 ++-- src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml.cs | 4 ++-- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/Ryujinx/UI/Views/Main/MainViewControls.axaml b/src/Ryujinx/UI/Views/Main/MainViewControls.axaml index 3c3e2852b..5de597d89 100644 --- a/src/Ryujinx/UI/Views/Main/MainViewControls.axaml +++ b/src/Ryujinx/UI/Views/Main/MainViewControls.axaml @@ -161,13 +161,13 @@ IsCheckedChanged="Order_Checked" Content="{locale:Locale OrderAscending}" GroupName="Order" - IsChecked="{Binding IsAscending, Mode=OneTime}" + IsChecked="{Binding IsAscending, Mode=TwoWay}" Tag="Ascending" /> diff --git a/src/Ryujinx/UI/Views/Main/MainViewControls.axaml.cs b/src/Ryujinx/UI/Views/Main/MainViewControls.axaml.cs index 8a844345b..da5431e90 100644 --- a/src/Ryujinx/UI/Views/Main/MainViewControls.axaml.cs +++ b/src/Ryujinx/UI/Views/Main/MainViewControls.axaml.cs @@ -32,18 +32,14 @@ namespace Ryujinx.Ava.UI.Views.Main public void Sort_Checked(object sender, RoutedEventArgs args) { - if (sender is RadioButton button) - { - ViewModel.Sort(Enum.Parse(button.Tag?.ToString() ?? string.Empty)); - } + if (sender is RadioButton { IsChecked: true, Tag: string sortStrategy }) + ViewModel.Sort(Enum.Parse(sortStrategy)); } public void Order_Checked(object sender, RoutedEventArgs args) { - if (sender is RadioButton button) - { - ViewModel.Sort(button.Tag?.ToString() != "Descending"); - } + if (sender is RadioButton { IsChecked: true, Tag: string sortOrder }) + ViewModel.Sort(sortOrder is not "Descending"); } private void SearchBox_OnKeyUp(object sender, KeyEventArgs e) diff --git a/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml b/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml index 614b8aacc..8cef94632 100644 --- a/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml +++ b/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml @@ -77,13 +77,13 @@ IsCheckedChanged="Order_Checked" Content="{locale:Locale OrderAscending}" GroupName="Order" - IsChecked="{Binding SortingAscending, Mode=OneTime}" + IsChecked="{Binding SortingAscending, Mode=TwoWay}" Tag="Ascending" /> diff --git a/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml.cs b/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml.cs index 9c4b2e914..251b8cbaa 100644 --- a/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/XCITrimmerWindow.axaml.cs @@ -69,13 +69,13 @@ namespace Ryujinx.Ava.UI.Windows public void Sort_Checked(object sender, RoutedEventArgs args) { - if (sender is RadioButton { Tag: string sortField }) + if (sender is RadioButton { IsChecked: true, Tag: string sortField }) ViewModel.SortingField = Enum.Parse(sortField); } public void Order_Checked(object sender, RoutedEventArgs args) { - if (sender is RadioButton { Tag: string sortOrder }) + if (sender is RadioButton { IsChecked: true, Tag: string sortOrder }) ViewModel.SortingAscending = sortOrder is "Ascending"; }