From c9ebfed11eeef10c43e5a0c40c2efcbab7b04b4d Mon Sep 17 00:00:00 2001 From: Meteoni-San <141850520+Meteoni@users.noreply.github.com> Date: Tue, 22 Sep 2026 18:22:45 +0800 Subject: [PATCH 1/4] Operation Card Presentation Improvements, Settings Text Wrapping Fixes, and Other Misc Accessibility Improvements --- .../Assets/Styles/Styles.Common.axaml | 80 ++++- .../Assets/Styles/Styles.WindowsMica.axaml | 29 +- .../AvaloniaOperationRegistry.cs | 9 +- .../Infrastructure/MicaWindowHelper.cs | 73 ++-- .../DialogPages/OperationViewModel.cs | 34 +- .../Pages/SettingsPages/InternetViewModel.cs | 2 + .../Controls/Settings/CheckboxButtonCard.cs | 1 + .../Views/Controls/Settings/CheckboxCard.cs | 11 +- .../Controls/Settings/SecureCheckboxCard.cs | 10 +- .../Views/Controls/Settings/SettingsCard.cs | 147 +++++--- .../Views/Controls/Settings/TextboxCard.cs | 1 + .../ImmersiveConfirmationDialog.axaml | 2 - .../DialogPages/InstallOptionsControl.axaml | 21 +- .../InstallOptionsControl.axaml.cs | 25 +- .../DialogPages/OperationFailedDialog.axaml | 23 +- .../DialogPages/PackageDetailsWindow.axaml | 51 ++- src/UniGetUI.Avalonia/Views/MainWindow.axaml | 336 +++++++++++------- .../Views/MainWindow.axaml.cs | 2 +- .../Views/Pages/HelpPage.axaml | 1 - .../SettingsPages/SourceManagerCard.axaml | 2 + .../SoftwarePages/AbstractPackagesPage.axaml | 128 +++++-- 21 files changed, 623 insertions(+), 365 deletions(-) diff --git a/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml b/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml index cfa2ea3998..4eddce5ef0 100644 --- a/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml +++ b/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml @@ -69,6 +69,10 @@ + + + + @@ -77,10 +81,18 @@ + + + + + + + @@ -98,7 +110,7 @@ - + @@ -121,6 +133,7 @@ + @@ -155,6 +168,11 @@ + + + + + @@ -260,6 +278,10 @@ + + + + @@ -268,10 +290,16 @@ + + + + + + @@ -289,7 +317,7 @@ - + 1 @@ -298,16 +326,17 @@ - - - - - 0 + + + + + 1 + @@ -342,6 +371,11 @@ + + + + + @@ -387,6 +421,26 @@ + + + + @@ -737,6 +791,8 @@ + @@ -792,11 +851,6 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + @@ -247,7 +279,6 @@ IsExpanded="False" CornerRadius="8" Padding="0" - BorderThickness="0" Background="Transparent"> + + + + + + + + + + + + @@ -169,8 +214,7 @@ Width="250" ClipToBounds="True" IsVisible="{Binding Sidebar.NavDockVisible}" - BorderBrush="{DynamicResource AppBorderBrush}" - BorderThickness="0,0,1,0" + BorderThickness="0" Content="{Binding Sidebar}" automation:AutomationProperties.AccessibilityView="Control" automation:AutomationProperties.Name="{t:Translate Navigation panel}" @@ -301,144 +345,172 @@ Margin="8,4,8,4"> - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -671,7 +743,7 @@ CornerRadius="8" Padding="4" Background="{DynamicResource AppWindowBackground}" - BorderBrush="{DynamicResource AppBorderBrush}" + BorderBrush="{DynamicResource MenuSurfaceBorderBrush}" BorderThickness="1" BoxShadow="0 8 24 0 #40000000"> - + @@ -461,17 +535,24 @@ - - - - - + + + + - - - - - + + + + - - - - + - - - + - - - + - - - + - - + Content="{t:Translate Show similar packages}" + automation:AutomationProperties.Name="{t:Translate Show similar packages}"/> - + + @@ -555,6 +634,8 @@ @@ -571,6 +652,7 @@ Grid.Column="0" Grid.ColumnSpan="3" ZIndex="9" + CornerRadius="8" Background="#60000000" IsVisible="False" IsHitTestVisible="True"/> @@ -592,6 +674,8 @@ diff --git a/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs b/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs index 24e08d8d0f..fe81215513 100644 --- a/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs +++ b/src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs @@ -100,11 +100,16 @@ or nameof(PackagesPageViewModel.SortAscending)) GenerateToolBar(ViewModel); InitializeToolbarOverflow(); - // Double-click a list row → show details + // Double-click a package row → show details. DataGrid-level gestures also receive + // header double-clicks, so require an actual row ancestor rather than blacklisting headers. PackageList.DoubleTapped += (_, e) => { - if (e.Source is Visual source - && (source is CheckBox || source.GetVisualAncestors().Any(control => control is CheckBox))) + if (e.Source is not Visual source) + return; + + var ancestors = source.GetVisualAncestors().ToList(); + if ((source is CheckBox || ancestors.Any(control => control is CheckBox)) + || (source is not DataGridRow && !ancestors.Any(control => control is DataGridRow))) { return; } From 4295a20b67cab5ed2de3f175ee53a2d03823f529 Mon Sep 17 00:00:00 2001 From: Meteoni-San <141850520+Meteoni@users.noreply.github.com> Date: Wed, 23 Sep 2026 00:02:40 +0800 Subject: [PATCH 3/4] Align SettingsCard and shared Fluent theming --- .../Assets/Styles/Styles.Common.axaml | 26 ++++++++++++++++--- .../Assets/Styles/Styles.WindowsMica.axaml | 4 +-- .../Views/Controls/Settings/SettingsCard.cs | 17 ++++++++---- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml b/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml index 4eddce5ef0..b01f0a9910 100644 --- a/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml +++ b/src/UniGetUI.Avalonia/Assets/Styles/Styles.Common.axaml @@ -1,6 +1,7 @@ @@ -146,7 +147,7 @@ - + @@ -317,7 +318,7 @@ - + 1 @@ -349,7 +350,7 @@ - + @@ -417,6 +418,22 @@ + + @@ -849,7 +866,8 @@