Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kguiaddons for openSUSE:Factory checked in at 2025-04-15 16:43:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kguiaddons (Old) and /work/SRC/openSUSE:Factory/.kf6-kguiaddons.new.1907 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kguiaddons" Tue Apr 15 16:43:27 2025 rev:14 rq:1268848 version:6.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kguiaddons/kf6-kguiaddons.changes 2025-03-17 22:16:26.491593215 +0100 +++ /work/SRC/openSUSE:Factory/.kf6-kguiaddons.new.1907/kf6-kguiaddons.changes 2025-04-15 16:46:01.315395302 +0200 @@ -1,0 +2,12 @@ +Sat Apr 5 12:33:12 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 6.13.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.13.0 +- Changes since 6.12.0: + * Add support for high-contrast mode on Windows + * It compiles fine without qt6.9 deprecated methods + * Update dependency version to 6.13.0 + +------------------------------------------------------------------- Old: ---- kguiaddons-6.12.0.tar.xz kguiaddons-6.12.0.tar.xz.sig New: ---- kguiaddons-6.13.0.tar.xz kguiaddons-6.13.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kguiaddons.spec ++++++ --- /var/tmp/diff_new_pack.3cKl5j/_old 2025-04-15 16:46:03.199474193 +0200 +++ /var/tmp/diff_new_pack.3cKl5j/_new 2025-04-15 16:46:03.207474528 +0200 @@ -1,7 +1,7 @@ # # spec file for package kf6-kguiaddons # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,13 +19,26 @@ %define qt6_version 6.7.0 %define rname kguiaddons -# Full KF6 version (e.g. 6.9.0) + +%bcond_without kde_python_bindings +%if %{with kde_python_bindings} +%if 0%{suse_version} > 1500 +%define pythons %{primary_python} +%else +%{?sle15_python_module_pythons} +%endif +%define mypython %pythons +%define __mypython %{expand:%%__%{mypython}} +%define mypython_sitearch %{expand:%%%{mypython}_sitearch} +%endif + +# Full KF6 version (e.g. 6.13.0) %{!?_kf6_version: %global _kf6_version %{version}} # Last major and minor KF6 version (e.g. 6.0) %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kf6-kguiaddons -Version: 6.12.0 +Version: 6.13.0 Release: 0 Summary: Utilities for graphical user interfaces License: LGPL-2.1-or-later @@ -48,6 +61,16 @@ BuildRequires: pkgconfig(wayland-client) >= 1.15 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb) +# SECTION bindings +%if %{with kde_python_bindings} +BuildRequires: %{mypython}-build +BuildRequires: %{mypython}-devel >= 3.9 +BuildRequires: %{mypython}-setuptools +BuildRequires: %{mypython}-wheel +BuildRequires: cmake(Shiboken6) +BuildRequires: cmake(PySide6) +%endif +# /SECTION Requires: libKF6GuiAddons6 = %{version} # https://community.kde.org/Plasma/Plasma_6#Coinstallability Provides: kguiaddons = %{version} @@ -82,11 +105,24 @@ The KDE GUI addons provide utilities for graphical user interfaces in the areas of colors, fonts, text, images, keyboard input. Development files. +%if %{with kde_python_bindings} +%package -n python3-kf6-kguiaddons +Summary: Python bindings for kf6-kguiaddons + +%description -n python3-kf6-kguiaddons +This package provides Python bindings for kf6-kguiaddons. +%endif + %prep %autosetup -p1 -n %{rname}-%{version} %build -%cmake_kf6 -DBUILD_QCH:BOOL=TRUE +%cmake_kf6 \ + -DBUILD_QCH:BOOL=TRUE \ +%if %{with kde_python_bindings} + -DPython_EXECUTABLE:STRING=%{__mypython} +%endif +%{nil} %kf6_build @@ -119,3 +155,8 @@ %{_kf6_libdir}/libKF6GuiAddons.so %{_kf6_pkgconfigdir}/KF6GuiAddons.pc +%if %{with kde_python_bindings} +%files -n python3-kf6-kguiaddons +%{mypython_sitearch}/*.so +%endif + ++++++ kguiaddons-6.12.0.tar.xz -> kguiaddons-6.13.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.12.0/CMakeLists.txt new/kguiaddons-6.13.0/CMakeLists.txt --- old/kguiaddons-6.12.0/CMakeLists.txt 2025-03-07 15:25:39.000000000 +0100 +++ new/kguiaddons-6.13.0/CMakeLists.txt 2025-04-04 16:00:40.000000000 +0200 @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.12.0") # handled by release scripts +set(KF_VERSION "6.13.0") # handled by release scripts project(KGuiAddons VERSION ${KF_VERSION}) include(FeatureSummary) -find_package(ECM 6.12.0 NO_MODULE) +find_package(ECM 6.13.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -96,7 +96,7 @@ SOVERSION 6) ecm_set_disabled_deprecation_versions( - QT 6.8 + QT 6.9 ) cmake_dependent_option(BUILD_PYTHON_BINDINGS "Generate Python Bindings" ON "TARGET Shiboken6::libshiboken AND TARGET PySide6::pyside6" OFF) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.12.0/src/colors/kcolorschemewatcher.h new/kguiaddons-6.13.0/src/colors/kcolorschemewatcher.h --- old/kguiaddons-6.12.0/src/colors/kcolorschemewatcher.h 2025-03-07 15:25:39.000000000 +0100 +++ new/kguiaddons-6.13.0/src/colors/kcolorschemewatcher.h 2025-04-04 16:00:40.000000000 +0200 @@ -23,10 +23,19 @@ { Q_OBJECT public: + /** + * Encodes the color preference of the user to be used by applications + * as configured in the system settings. On some systems not all values + * are returned, e.g. @c PreferHighContrast is currently only returned + * on Windows. + * @see systemPreference + */ enum ColorPreference { NoPreference = 0, /** No preference available */ PreferDark, /** The user prefers a dark color scheme */ PreferLight, /** The user prefers a light color scheme */ + PreferHighContrast, /** The user prefers a system-provided high-contrast color scheme + @since 6.13 */ }; Q_ENUM(ColorPreference) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.12.0/src/colors/kcolorschemewatcher_win.cpp new/kguiaddons-6.13.0/src/colors/kcolorschemewatcher_win.cpp --- old/kguiaddons-6.12.0/src/colors/kcolorschemewatcher_win.cpp 2025-03-07 15:25:39.000000000 +0100 +++ new/kguiaddons-6.13.0/src/colors/kcolorschemewatcher_win.cpp 2025-04-04 16:00:40.000000000 +0200 @@ -5,6 +5,7 @@ */ #include "kcolorschemewatcher_win.h" +#include "kcolorschemewatcher.h" #include <windows.h> @@ -12,11 +13,21 @@ #include <QDebug> +static bool isHighContrastModeActive() +{ + HIGHCONTRAST result; + result.cbSize = sizeof(HIGHCONTRAST); + if (SystemParametersInfo(SPI_GETHIGHCONTRAST, result.cbSize, &result, 0)) { + return (result.dwFlags & HCF_HIGHCONTRASTON); + } + return false; +} + KColorSchemeWatcherWin::KColorSchemeWatcherWin() { QAbstractEventDispatcher::instance()->installNativeEventFilter(this); - m_preferDarkMode = !(m_settings.value(QStringLiteral("AppsUseLightTheme"), true).value<bool>()); + m_preference = getCurrentSystemPreference(); } bool KColorSchemeWatcherWin::nativeEventFilter(const QByteArray &eventType, void *message, qintptr *) @@ -25,9 +36,9 @@ switch (msg->message) { case WM_SETTINGCHANGE: { m_settings.sync(); - const bool preferDarkModeNow = !(m_settings.value(QStringLiteral("AppsUseLightTheme"), true).value<bool>()); - if (m_preferDarkMode != preferDarkModeNow) { - m_preferDarkMode = preferDarkModeNow; + const auto currentPreference = getCurrentSystemPreference(); + if (m_preference != currentPreference) { + m_preference = currentPreference; Q_EMIT systemPreferenceChanged(); } @@ -41,7 +52,17 @@ KColorSchemeWatcher::ColorPreference KColorSchemeWatcherWin::systemPreference() const { - return m_preferDarkMode ? KColorSchemeWatcher::PreferDark : KColorSchemeWatcher::PreferLight; + return m_preference; +} + +KColorSchemeWatcher::ColorPreference KColorSchemeWatcherWin::getCurrentSystemPreference() const +{ + if (isHighContrastModeActive()) { + return KColorSchemeWatcher::PreferHighContrast; + } else if (m_settings.value(QStringLiteral("AppsUseLightTheme"), true).value<bool>()) { + return KColorSchemeWatcher::PreferLight; + } + return KColorSchemeWatcher::PreferDark; } #include "moc_kcolorschemewatcher_win.cpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kguiaddons-6.12.0/src/colors/kcolorschemewatcher_win.h new/kguiaddons-6.13.0/src/colors/kcolorschemewatcher_win.h --- old/kguiaddons-6.12.0/src/colors/kcolorschemewatcher_win.h 2025-03-07 15:25:39.000000000 +0100 +++ new/kguiaddons-6.13.0/src/colors/kcolorschemewatcher_win.h 2025-04-04 16:00:40.000000000 +0200 @@ -10,6 +10,7 @@ #include <QAbstractNativeEventFilter> #include <QSettings> +#include "kcolorschemewatcher.h" #include "kcolorschemewatcherbackend.h" class KColorSchemeWatcherWin : public KColorSchemeWatcherBackend, public QAbstractNativeEventFilter @@ -22,8 +23,10 @@ bool nativeEventFilter(const QByteArray &eventType, void *message, qintptr *) override; private: + KColorSchemeWatcher::ColorPreference getCurrentSystemPreference() const; + QSettings m_settings{QStringLiteral("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"), QSettings::NativeFormat}; - bool m_preferDarkMode = false; + KColorSchemeWatcher::ColorPreference m_preference = KColorSchemeWatcher::NoPreference; }; #endif