From b635647a75adfde6fe8a58024910ac15176754e9 Mon Sep 17 00:00:00 2001 From: hak0 Date: Wed, 15 Jul 2026 09:17:13 +0800 Subject: [PATCH] Add option to hide package illustrations (#5012) --- src/Languages/lang_en.json | 1 + .../ViewModels/SoftwarePages/PackagesPageViewModel.cs | 6 ++++-- .../Views/Pages/SettingsPages/Interface_P.axaml | 7 +++++++ src/UniGetUI.Core.Settings/SettingsEngine_Names.cs | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Languages/lang_en.json b/src/Languages/lang_en.json index d59006d72b..7599eb6899 100644 --- a/src/Languages/lang_en.json +++ b/src/Languages/lang_en.json @@ -487,6 +487,7 @@ "Close UniGetUI to the system tray": "Close UniGetUI to the system tray", "Manage UniGetUI autostart behaviour": "Manage UniGetUI autostart behaviour", "Show package icons on package lists": "Show package icons on package lists", + "Show illustrations on package lists": "Show illustrations on package lists", "Clear cache": "Clear cache", "Select upgradable packages by default": "Select upgradable packages by default", "Light": "Light", diff --git a/src/UniGetUI.Avalonia/ViewModels/SoftwarePages/PackagesPageViewModel.cs b/src/UniGetUI.Avalonia/ViewModels/SoftwarePages/PackagesPageViewModel.cs index 363cfd28ef..d5e7cff803 100644 --- a/src/UniGetUI.Avalonia/ViewModels/SoftwarePages/PackagesPageViewModel.cs +++ b/src/UniGetUI.Avalonia/ViewModels/SoftwarePages/PackagesPageViewModel.cs @@ -138,6 +138,7 @@ partial void OnIsFilterPaneOpenChanged(bool value) private readonly string _noPackagesSubtitleBase; private readonly string _stillLoadingSubtitle; private readonly bool _showLastCheckedTime; + private readonly bool _showPackageIllustrations; private DateTime _lastLoadTime = DateTime.Now; protected AbstractPackageLoader Loader; @@ -219,9 +220,10 @@ public PackagesPageViewModel(PackagesPageData data) DisableReload = data.DisableReload; LoadsOnStart = !data.DisableAutomaticPackageLoadOnStart; _showLastCheckedTime = data.ShowLastLoadTime; + _showPackageIllustrations = !Settings.Get(Settings.K.DisablePackageIllustrations); NoPackagesText = data.NoPackages_BackgroundText; NoMatchesText = data.NoMatches_BackgroundText; - if (!string.IsNullOrEmpty(data.NoPackages_ImagePath)) + if (_showPackageIllustrations && !string.IsNullOrEmpty(data.NoPackages_ImagePath)) { using var stream = AssetLoader.Open(new Uri(data.NoPackages_ImagePath)); NoPackagesImage = new Bitmap(stream); @@ -561,7 +563,7 @@ public void FilterPackages(bool fromQuery = false) { BackgroundText = _stillLoadingSubtitle; BackgroundTextVisible = true; - LoadingImageVisible = true; + LoadingImageVisible = _showPackageIllustrations; NoPackagesImageVisible = false; } else if (FilteredPackages.Count == 0) diff --git a/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml b/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml index f7a2463edf..0d6fcd6572 100644 --- a/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml +++ b/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml @@ -80,6 +80,13 @@ StateChangedCommand="{Binding ShowRestartRequiredCommand}" CornerRadius="8,8,0,0"/> + + "DisableWinGetMalfunctionDetector", K.EnableBackupTimestamping => "EnableBackupTimestamping", K.DisableIconsOnPackageLists => "DisableIconsOnPackageLists", + K.DisablePackageIllustrations => "DisablePackageIllustrations", K.ProxyURL => "ProxyURL", K.ProxyUsername => "ProxyUsername", K.PreferredLanguage => "PreferredLanguage",