Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6gtk2 for openSUSE:Factory checked in at 2026-01-20 21:02:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6gtk2 (Old) and /work/SRC/openSUSE:Factory/.qt6gtk2.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6gtk2" Tue Jan 20 21:02:24 2026 rev:6 rq:1328140 version:0.7 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6gtk2/qt6gtk2.changes 2025-09-15 19:56:52.765111552 +0200 +++ /work/SRC/openSUSE:Factory/.qt6gtk2.new.1928/qt6gtk2.changes 2026-01-20 21:02:36.059229395 +0100 @@ -1,0 +2,8 @@ +Mon Jan 19 18:32:18 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 0.7 + * Fixed crash of KVIrc and other applications + * Fixed combobox drawing issues + * Resolved deprecation warnings + +------------------------------------------------------------------- Old: ---- qt6gtk2-0.6.tar.bz2 New: ---- qt6gtk2-0.7.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6gtk2.spec ++++++ --- /var/tmp/diff_new_pack.kSCRcN/_old 2026-01-20 21:02:36.659254226 +0100 +++ /var/tmp/diff_new_pack.kSCRcN/_new 2026-01-20 21:02:36.659254226 +0100 @@ -1,7 +1,7 @@ # # spec file for package qt6gtk2 # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,18 +15,19 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # + %define qt_version 6.0.0 Name: qt6gtk2 -Version: 0.6 +Version: 0.7 Release: 0 Summary: Qt6 Gtk2 Style Plugin License: GPL-2.0-or-later URL: https://www.opencode.net/trialuser/qt6gtk2 Source: https://www.opencode.net/trialuser/qt6gtk2/-/archive/%{version}/qt6gtk2-%{version}.tar.bz2 +BuildRequires: pkgconfig BuildRequires: qt6-core-private-devel >= %{qt_version} BuildRequires: qt6-gui-private-devel >= %{qt_version} BuildRequires: qt6-widgets-private-devel >= %{qt_version} -BuildRequires: pkgconfig BuildRequires: pkgconfig(libudev) %requires_eq libQt6Core6 BuildRequires: pkgconfig(gtk+-2.0) @@ -53,4 +54,3 @@ %dir %{_qt6_pluginsdir}/styles/ %{_qt6_pluginsdir}/styles/*.so - ++++++ qt6gtk2-0.6.tar.bz2 -> qt6gtk2-0.7.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/ChangeLog new/qt6gtk2-0.7/ChangeLog --- old/qt6gtk2-0.6/ChangeLog 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/ChangeLog 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,11 @@ Changelog of Qt6Gtk2 ---------- +Version 0.7 +* Fixed crash of KVIrc and other applications +* Fixed combobox drawing issues +* Resolved deprecation warnings (Thomas Lange) + Version 0.6 * Added Qt 6.10 support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/qt6gtk2.pri new/qt6gtk2-0.7/qt6gtk2.pri --- old/qt6gtk2-0.6/qt6gtk2.pri 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/qt6gtk2.pri 2026-01-19 16:08:46.000000000 +0100 @@ -5,6 +5,7 @@ RCC_DIR=./.build/rcc CONFIG += hide_symbols c++17 +DEFINES += GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32 DEFINES += QT_NO_CAST_FROM_BYTEARRAY QT_STRICT_ITERATORS QT_NO_FOREACH QT_MESSAGELOGCONTEXT DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060200 QT_DEPRECATED_WARNINGS QT_NO_CAST_FROM_ASCII QMAKE_DISTCLEAN += -r .build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/main.cpp new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/main.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/main.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/main.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.cpp new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.h new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.h --- old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2dialoghelpers.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2theme.cpp new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2theme.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2theme.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2theme.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2theme.h new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2theme.h --- old/qt6gtk2-0.6/src/qt6gtk2-qtplugin/qt6gtk2theme.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-qtplugin/qt6gtk2theme.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/plugin.cpp new/qt6gtk2-0.7/src/qt6gtk2-style/plugin.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-style/plugin.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/plugin.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtk2painter.cpp new/qt6gtk2-0.7/src/qt6gtk2-style/qgtk2painter.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtk2painter.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtk2painter.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -55,8 +55,18 @@ QImage::Format_ARGB32_Premultiplied : QImage::Format_RGB32); if (m_hflipped || m_vflipped) { +#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) + Qt::Orientations orient; + if (m_hflipped) + orient |= Qt::Horizontal; + if (m_vflipped) + orient |= Qt::Vertical; + return QPixmap::fromImage(converted.flipped(orient)); +#else return QPixmap::fromImage(converted.mirrored(m_hflipped, m_vflipped)); +#endif } + // on raster graphicssystem we need to do a copy here, because // we intend to deallocate the qimage bits shortly after... return QPixmap::fromImage(converted.copy()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtk2painter_p.h new/qt6gtk2-0.7/src/qt6gtk2-style/qgtk2painter_p.h --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtk2painter_p.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtk2painter_p.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkglobal_p.h new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkglobal_p.h --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkglobal_p.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkglobal_p.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkpainter.cpp new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkpainter.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkpainter.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkpainter.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkpainter_p.h new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkpainter_p.h --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkpainter_p.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkpainter_p.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle.cpp new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -1811,7 +1811,11 @@ #if (QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)) QCachedPainter p(painter, QStringLiteral("cb-%0-%1").arg(sunken).arg(comboBox->editable), option); - gtkPainter->reset(painter); + if (!p.needsPainting()) { + p.finish(); + break; + } + gtkPainter->reset(p.painter()); #else BEGIN_STYLE_PIXMAPCACHE(QString::fromLatin1("cb-%0-%1").arg(sunken).arg(comboBox->editable)); gtkPainter->reset(p); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle_p.cpp new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle_p.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle_p.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle_p.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle_p.h new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle_p.h --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle_p.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle_p.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle_p_p.h new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle_p_p.h --- old/qt6gtk2-0.6/src/qt6gtk2-style/qgtkstyle_p_p.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qgtkstyle_p_p.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qstylehelper.cpp new/qt6gtk2-0.7/src/qt6gtk2-style/qstylehelper.cpp --- old/qt6gtk2-0.6/src/qt6gtk2-style/qstylehelper.cpp 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qstylehelper.cpp 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -222,69 +222,71 @@ #if (QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)) QCachedPainter p(painter, QLatin1StringView("qdial"), option); + if (p.needsPainting()) { #else BEGIN_STYLE_PIXMAPCACHE(QString::fromLatin1("qdial")); #endif - p->setRenderHint(QPainter::Antialiasing); + p->setRenderHint(QPainter::Antialiasing); - const qreal d_ = r / 6; - const qreal dx = option->rect.x() + d_ + (width - 2 * r) / 2 + 1; - const qreal dy = option->rect.y() + d_ + (height - 2 * r) / 2 + 1; - - QRectF br = QRectF(dx + 0.5, dy + 0.5, - int(r * 2 - 2 * d_ - 2), - int(r * 2 - 2 * d_ - 2)); - buttonColor.setHsv(buttonColor .hue(), - qMin(140, buttonColor .saturation()), - qMax(180, buttonColor.value())); - - if (enabled) { - // Drop shadow - qreal shadowSize = qMax(1.0, penSize/2.0); - QRectF shadowRect= br.adjusted(-2*shadowSize, -2*shadowSize, - 2*shadowSize, 2*shadowSize); - QRadialGradient shadowGradient(shadowRect.center().x(), - shadowRect.center().y(), shadowRect.width()/2.0, - shadowRect.center().x(), shadowRect.center().y()); - shadowGradient.setColorAt(qreal(0.91), QColor(0, 0, 0, 40)); - shadowGradient.setColorAt(qreal(1.0), Qt::transparent); - p->setBrush(shadowGradient); - p->setPen(Qt::NoPen); - p->translate(shadowSize, shadowSize); - p->drawEllipse(shadowRect); - p->translate(-shadowSize, -shadowSize); - - // Main gradient - QRadialGradient gradient(br.center().x() - br.width()/3, dy, - br.width()*1.3, br.center().x(), - br.center().y() - br.height()/2); - gradient.setColorAt(0, buttonColor.lighter(110)); - gradient.setColorAt(qreal(0.5), buttonColor); - gradient.setColorAt(qreal(0.501), buttonColor.darker(102)); - gradient.setColorAt(1, buttonColor.darker(115)); - p->setBrush(gradient); - } else { - p->setBrush(Qt::NoBrush); - } + const qreal d_ = r / 6; + const qreal dx = option->rect.x() + d_ + (width - 2 * r) / 2 + 1; + const qreal dy = option->rect.y() + d_ + (height - 2 * r) / 2 + 1; + + QRectF br = QRectF(dx + 0.5, dy + 0.5, + int(r * 2 - 2 * d_ - 2), + int(r * 2 - 2 * d_ - 2)); + buttonColor.setHsv(buttonColor .hue(), + qMin(140, buttonColor .saturation()), + qMax(180, buttonColor.value())); + + if (enabled) { + // Drop shadow + qreal shadowSize = qMax(1.0, penSize/2.0); + QRectF shadowRect= br.adjusted(-2*shadowSize, -2*shadowSize, + 2*shadowSize, 2*shadowSize); + QRadialGradient shadowGradient(shadowRect.center().x(), + shadowRect.center().y(), shadowRect.width()/2.0, + shadowRect.center().x(), shadowRect.center().y()); + shadowGradient.setColorAt(qreal(0.91), QColor(0, 0, 0, 40)); + shadowGradient.setColorAt(qreal(1.0), Qt::transparent); + p->setBrush(shadowGradient); + p->setPen(Qt::NoPen); + p->translate(shadowSize, shadowSize); + p->drawEllipse(shadowRect); + p->translate(-shadowSize, -shadowSize); + + // Main gradient + QRadialGradient gradient(br.center().x() - br.width()/3, dy, + br.width()*1.3, br.center().x(), + br.center().y() - br.height()/2); + gradient.setColorAt(0, buttonColor.lighter(110)); + gradient.setColorAt(qreal(0.5), buttonColor); + gradient.setColorAt(qreal(0.501), buttonColor.darker(102)); + gradient.setColorAt(1, buttonColor.darker(115)); + p->setBrush(gradient); + } else { + p->setBrush(Qt::NoBrush); + } - p->setPen(QPen(buttonColor.darker(280))); - p->drawEllipse(br); - p->setBrush(Qt::NoBrush); - p->setPen(buttonColor.lighter(110)); - p->drawEllipse(br.adjusted(1, 1, -1, -1)); - - if (option->state & QStyle::State_HasFocus) { - QColor highlight = pal.highlight().color(); - highlight.setHsv(highlight.hue(), - qMin(160, highlight.saturation()), - qMax(230, highlight.value())); - highlight.setAlpha(127); - p->setPen(QPen(highlight, 2.0)); + p->setPen(QPen(buttonColor.darker(280))); + p->drawEllipse(br); p->setBrush(Qt::NoBrush); - p->drawEllipse(br.adjusted(-1, -1, 1, 1)); - } + p->setPen(buttonColor.lighter(110)); + p->drawEllipse(br.adjusted(1, 1, -1, -1)); + + if (option->state & QStyle::State_HasFocus) { + QColor highlight = pal.highlight().color(); + highlight.setHsv(highlight.hue(), + qMin(160, highlight.saturation()), + qMax(230, highlight.value())); + highlight.setAlpha(127); + p->setPen(QPen(highlight, 2.0)); + p->setBrush(Qt::NoBrush); + p->drawEllipse(br.adjusted(-1, -1, 1, 1)); + } #if (QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)) + } p.finish(); #else END_STYLE_PIXMAPCACHE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt6gtk2-0.6/src/qt6gtk2-style/qstylehelper_p.h new/qt6gtk2-0.7/src/qt6gtk2-style/qstylehelper_p.h --- old/qt6gtk2-0.6/src/qt6gtk2-style/qstylehelper_p.h 2025-09-14 19:16:55.000000000 +0200 +++ new/qt6gtk2-0.7/src/qt6gtk2-style/qstylehelper_p.h 2026-01-19 16:08:46.000000000 +0100 @@ -1,6 +1,6 @@ /*************************************************************************** * Copyright (C) 2015 The Qt Company Ltd. * - * Copyright (C) 2016-2025 Ilya Kotov, [email protected] * + * Copyright (C) 2016-2026 Ilya Kotov, [email protected] * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by *
