Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kwidgetsaddons for openSUSE:Factory checked in at 2026-01-12 10:12:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kwidgetsaddons (Old) and /work/SRC/openSUSE:Factory/.kf6-kwidgetsaddons.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kwidgetsaddons" Mon Jan 12 10:12:19 2026 rev:26 rq:1326456 version:6.22.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kwidgetsaddons/kf6-kwidgetsaddons.changes 2025-12-16 15:58:10.819698853 +0100 +++ /work/SRC/openSUSE:Factory/.kf6-kwidgetsaddons.new.1928/kf6-kwidgetsaddons.changes 2026-01-12 10:17:12.071328334 +0100 @@ -1,0 +2,16 @@ +Sun Jan 4 14:47:21 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.22.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.22.0 +- Changes since 6.21.0: + * Update dependency version to 6.22.0 + * KPageView: Fix top aligned widget stretch + * Remove duplicate headers in same file + * KDateTable: Don't paint days in dark red if high-contrast is active + * KPageView: Use correct icon mode if high-contrast color scheme is in use + * Add helper for checking if high-contrast color scheme is in use + * Update version to 6.22.0 + +------------------------------------------------------------------- Old: ---- kwidgetsaddons-6.21.0.tar.xz kwidgetsaddons-6.21.0.tar.xz.sig New: ---- kwidgetsaddons-6.22.0.tar.xz kwidgetsaddons-6.22.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kwidgetsaddons.spec ++++++ --- /var/tmp/diff_new_pack.XaLZLd/_old 2026-01-12 10:17:14.095411636 +0100 +++ /var/tmp/diff_new_pack.XaLZLd/_new 2026-01-12 10:17:14.119412624 +0100 @@ -32,11 +32,11 @@ %define mypython_sitearch %{expand:%%%{mypython}_sitearch} %endif -# Full KF6 version (e.g. 6.21.0) +# Full KF6 version (e.g. 6.22.0) %{!?_kf6_version: %global _kf6_version %{version}} %bcond_without released Name: kf6-kwidgetsaddons -Version: 6.21.0 +Version: 6.22.0 Release: 0 Summary: Large set of desktop widgets License: LGPL-2.1-or-later ++++++ kwidgetsaddons-6.21.0.tar.xz -> kwidgetsaddons-6.22.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/CMakeLists.txt new/kwidgetsaddons-6.22.0/CMakeLists.txt --- old/kwidgetsaddons-6.21.0/CMakeLists.txt 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/CMakeLists.txt 2026-01-02 18:44:45.000000000 +0100 @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.21.0") # handled by release scripts +set(KF_VERSION "6.22.0") # handled by release scripts project(KWidgetsAddons VERSION ${KF_VERSION}) include(FeatureSummary) -find_package(ECM 6.21.0 NO_MODULE) +find_package(ECM 6.22.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) @@ -61,7 +61,7 @@ configure_file(test-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/test-config.h) ecm_set_disabled_deprecation_versions( - QT 6.10 + QT 6.11 ) add_subdirectory(src) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/poqm/ga/kwidgetsaddons6_qt.po new/kwidgetsaddons-6.22.0/poqm/ga/kwidgetsaddons6_qt.po --- old/kwidgetsaddons-6.21.0/poqm/ga/kwidgetsaddons6_qt.po 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/poqm/ga/kwidgetsaddons6_qt.po 2026-01-02 18:44:45.000000000 +0100 @@ -16,7 +16,6 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9.1\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " "3 : 4\n" "X-Qt-Contexts: true\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/src/CMakeLists.txt new/kwidgetsaddons-6.22.0/src/CMakeLists.txt --- old/kwidgetsaddons-6.21.0/src/CMakeLists.txt 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/src/CMakeLists.txt 2026-01-02 18:44:45.000000000 +0100 @@ -15,6 +15,8 @@ common_helpers.cpp common_helpers_p.h fonthelpers_p.h + highcontrasthelper.cpp + highcontrasthelper_p.h kacceleratormanager.cpp kacceleratormanager.h kacceleratormanager_p.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/src/highcontrasthelper.cpp new/kwidgetsaddons-6.22.0/src/highcontrasthelper.cpp --- old/kwidgetsaddons-6.21.0/src/highcontrasthelper.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/src/highcontrasthelper.cpp 2026-01-02 18:44:45.000000000 +0100 @@ -0,0 +1,46 @@ +/* + This file is part of the KDE libraries + SPDX-FileCopyrightText: 2025 g10 Code GmbH + SPDX-FileContributor: Ingo Klöcker <[email protected]> + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#include "highcontrasthelper_p.h" + +#include <QGuiApplication> +#include <QStyleHints> +#if QT_VERSION >= QT_VERSION_CHECK(6, 10, 0) +#include <QAccessibilityHints> +#else +#ifdef Q_OS_WIN +#include <windows.h> +#endif +#endif + +static bool isHighContrastModeActive() +{ +#if QT_VERSION >= QT_VERSION_CHECK(6, 10, 0) + return QGuiApplication::styleHints()->accessibility()->contrastPreference() == Qt::ContrastPreference::HighContrast; +#else +#ifdef Q_OS_WIN + HIGHCONTRAST result; + result.cbSize = sizeof(HIGHCONTRAST); + if (SystemParametersInfo(SPI_GETHIGHCONTRAST, result.cbSize, &result, 0)) { + return (result.dwFlags & HCF_HIGHCONTRASTON); + } +#endif + return false; +#endif +} + +static bool isDefaultColorSchemeInUse() +{ + const QVariant colorSchemePathProperty = qApp->property("KDE_COLOR_SCHEME_PATH"); + return !colorSchemePathProperty.isValid() || colorSchemePathProperty.toString().isEmpty(); +} + +bool isHighContrastColorSchemeInUse() +{ + return isHighContrastModeActive() && isDefaultColorSchemeInUse(); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/src/highcontrasthelper_p.h new/kwidgetsaddons-6.22.0/src/highcontrasthelper_p.h --- old/kwidgetsaddons-6.21.0/src/highcontrasthelper_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/src/highcontrasthelper_p.h 2026-01-02 18:44:45.000000000 +0100 @@ -0,0 +1,29 @@ +/* + This file is part of the KDE libraries + SPDX-FileCopyrightText: 2025 g10 Code GmbH + SPDX-FileContributor: Ingo Klöcker <[email protected]> + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#ifndef HIGHCONTRASTHELPER_P_H +#define HIGHCONTRASTHELPER_P_H + +// Standalone (pure Qt) functionality needed internally in more than +// one source file. + +/*! + * \internal + * + * Returns whether a high-contrast color scheme is currently in use. + * + * This can be used to avoid painting UI elements with colors that would + * cause bad contrast. This function returns true if high-contrast is + * active in the platform and if the default color scheme is in use. + * + * \note For Qt 6.9 and earlier high-contrast is only detected on Windows. + */ + +bool isHighContrastColorSchemeInUse(); + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/src/kdatetable.cpp new/kwidgetsaddons-6.22.0/src/kdatetable.cpp --- old/kwidgetsaddons-6.21.0/src/kdatetable.cpp 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/src/kdatetable.cpp 2026-01-02 18:44:45.000000000 +0100 @@ -9,6 +9,8 @@ #include "kdatetable_p.h" +#include "highcontrasthelper_p.h" + #include <QAction> #include <QActionEvent> #include <QApplication> @@ -278,10 +280,10 @@ // We are drawing a header cell // If not a normal working day, then use "do not work today" color - if (workingDay) { - cellTextColor = palette().color(QPalette::WindowText); - } else { + if (!workingDay && !isHighContrastColorSchemeInUse()) { cellTextColor = Qt::darkRed; + } else { + cellTextColor = palette().color(QPalette::WindowText); } cellBackgroundColor = palette().color(QPalette::Window); @@ -366,7 +368,7 @@ } // If the cell day is the day of religious observance, then always color text red unless Custom overrides - if (!customDay && dayOfPray) { + if (!customDay && dayOfPray && !isHighContrastColorSchemeInUse()) { cellTextColor = Qt::darkRed; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/src/kpageview.cpp new/kwidgetsaddons-6.22.0/src/kpageview.cpp --- old/kwidgetsaddons-6.21.0/src/kpageview.cpp 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/src/kpageview.cpp 2026-01-02 18:44:45.000000000 +0100 @@ -219,7 +219,7 @@ Qt::Alignment alignment = q->viewPosition(); if (alignment & Qt::AlignTop) { - layout->addWidget(view, 2, 1); + layout->addWidget(view, 3, 1); } else if (alignment & Qt::AlignRight) { // search line layout->addWidget(searchLineEditContainer, 1, 2, Qt::AlignVCenter); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/src/kpageview_p.cpp new/kwidgetsaddons-6.22.0/src/kpageview_p.cpp --- old/kwidgetsaddons-6.21.0/src/kpageview_p.cpp 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/src/kpageview_p.cpp 2026-01-02 18:44:45.000000000 +0100 @@ -15,6 +15,7 @@ #include <QTextLayout> #include <QVBoxLayout> +#include "highcontrasthelper_p.h" #include "kpagemodel.h" #include "loggingcategory.h" @@ -392,7 +393,9 @@ opt.showDecorationSelected = true; QStyle *style = opt.widget ? opt.widget->style() : QApplication::style(); - const QIcon::Mode iconMode = (option.state & QStyle::State_Selected) && (option.state & QStyle::State_Active) ? QIcon::Selected : QIcon::Normal; + const QIcon::Mode iconMode = (option.state & QStyle::State_Selected) && ((option.state & QStyle::State_Active) || isHighContrastColorSchemeInUse()) + ? QIcon::Selected + : QIcon::Normal; int iconSize = style->pixelMetric(QStyle::PM_IconViewIconSize); const QString text = index.model()->data(index, Qt::DisplayRole).toString(); const QIcon icon = index.model()->data(index, Qt::DecorationRole).value<QIcon>(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/tests/CMakeLists.txt new/kwidgetsaddons-6.22.0/tests/CMakeLists.txt --- old/kwidgetsaddons-6.21.0/tests/CMakeLists.txt 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/tests/CMakeLists.txt 2026-01-02 18:44:45.000000000 +0100 @@ -53,7 +53,7 @@ ktwofingerswipe_test ) -add_executable(kdatetabletest kdatetabletest.cpp ../src/kdatetable.cpp ../src/kdaterangecontrol.cpp) +add_executable(kdatetabletest kdatetabletest.cpp ../src/kdatetable.cpp ../src/kdaterangecontrol.cpp ../src/highcontrasthelper.cpp) target_include_directories(kdatetabletest PRIVATE ../src) target_link_libraries(kdatetabletest Qt6::Widgets) ecm_mark_as_test(kdatetabletest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwidgetsaddons-6.21.0/tests/ksplittercollapserbuttongui_test.cpp new/kwidgetsaddons-6.22.0/tests/ksplittercollapserbuttongui_test.cpp --- old/kwidgetsaddons-6.21.0/tests/ksplittercollapserbuttongui_test.cpp 2025-12-05 14:26:49.000000000 +0100 +++ new/kwidgetsaddons-6.22.0/tests/ksplittercollapserbuttongui_test.cpp 2026-01-02 18:44:45.000000000 +0100 @@ -6,7 +6,6 @@ #include "ksplittercollapserbuttongui_test.h" #include "ksplittercollapserbutton.h" -#include <QApplication> #include <QSplitter> #include <QApplication>
