diff --git a/kf5-kiconthemes.spec b/kf5-kiconthemes.spec index d5f3968..3b3993e 100644 --- a/kf5-kiconthemes.spec +++ b/kf5-kiconthemes.spec @@ -2,7 +2,7 @@ Name: kf5-%{framework} Version: 5.105.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: KDE Frameworks 5 Tier 3 integration module with icon themes License: LGPLv2+ and GPLv2+ @@ -13,6 +13,7 @@ URL: https://api.kde.org/frameworks/kiconthemes/ Source0: http://download.kde.org/%{stable}/frameworks/%{majmin}/%{framework}-%{version}.tar.xz ## upstream patches +Patch0: kicontheme-allow-to-also-fallback-to-breeze-dark-when-set-through-qpa.patch ## upstreamable patches @@ -81,6 +82,9 @@ developing applications that use %{name}. %changelog +* Mon May 15 2023 Jan Grulich - 5.105.0-2 +- KIconTheme: allow to also fallback to breeze-dark when set through QPA + * Sun Apr 02 2023 Marc Deop i Argemí - 5.105.0-1 - 5.105.0 diff --git a/kicontheme-allow-to-also-fallback-to-breeze-dark-when-set-through-qpa.patch b/kicontheme-allow-to-also-fallback-to-breeze-dark-when-set-through-qpa.patch new file mode 100644 index 0000000..df0516f --- /dev/null +++ b/kicontheme-allow-to-also-fallback-to-breeze-dark-when-set-through-qpa.patch @@ -0,0 +1,60 @@ +From c2efa3e48e8de13e4fd5d35bd1a3ae961b8ec9c7 Mon Sep 17 00:00:00 2001 +From: Jan Grulich +Date: Mon, 15 May 2023 13:11:58 +0200 +Subject: [PATCH] KIconTheme: allow to also fallback to Breeze-dark when set + through QPA + +KIconTheme always fallbacks to Breeze icon theme in order to make sure +KDE apps are not missing icons on other desktops, like GNOME. Problem is +that we always fallback to the light variant of Breeze, which will have +icons that are barely visible when applications are using dark theme. +This change checks fallback icon theme set through QPlatformTheme, like +QGnomePlatform which can fallback to correct Breeze variant depending on +the used system theme. +--- + src/kicontheme.cpp | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/src/kicontheme.cpp b/src/kicontheme.cpp +index bf3e2b64..c05094b8 100644 +--- a/src/kicontheme.cpp ++++ b/src/kicontheme.cpp +@@ -26,6 +26,9 @@ + #include + #include + ++#include ++#include ++ + #include + + #include +@@ -60,13 +63,25 @@ void initRCCIconTheme() + } + Q_COREAPP_STARTUP_FUNCTION(initRCCIconTheme) + +-// Set the icon theme fallback to breeze ++// Set the icon theme fallback to breeze and/or to breeze-dark ++// in case it has been set as system fallback icon theme. + // Most of our apps use "lots" of icons that most of the times + // are only available with breeze, we still honour the user icon + // theme but if the icon is not found there, we go to breeze + // since it's almost sure it'll be there + static void setBreezeFallback() + { ++ if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) { ++ const QVariant themeHint = theme->themeHint(QPlatformTheme::SystemIconFallbackThemeName); ++ if (themeHint.isValid()) { ++ const QString theme = themeHint.toString(); ++ if (theme.toLower().contains("breeze")) { ++ QIcon::setFallbackThemeName(theme); ++ return; ++ } ++ } ++ } ++ + QIcon::setFallbackThemeName(QStringLiteral("breeze")); + } + +-- +GitLab