From f3251bcb878d655e5f897335ec6bc6dbf69323e7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 13 Jan 2021 10:34:37 +0100 Subject: QTabBar/Windows: Fix close button icons being too small on high-res screens MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add 32x32 versions. Move the icon creation to a helper function. Fixes: QTBUG-88230 Pick-to: 6.0 Pick-to: 5.15 Change-Id: I6dda2084e0122234eacea17ac191a19f6855f466 Reviewed-by: Morten Johan Sørvig --- src/widgets/CMakeLists.txt | 3 ++ .../styles/images/standardbutton-closetab-32.png | Bin 0 -> 305 bytes .../images/standardbutton-closetab-down-32.png | Bin 0 -> 278 bytes .../images/standardbutton-closetab-hover-32.png | Bin 0 -> 305 bytes src/widgets/styles/qcommonstyle.cpp | 37 +++++++++++++++------ src/widgets/styles/qstyle.qrc | 3 ++ 6 files changed, 32 insertions(+), 11 deletions(-) create mode 100644 src/widgets/styles/images/standardbutton-closetab-32.png create mode 100644 src/widgets/styles/images/standardbutton-closetab-down-32.png create mode 100644 src/widgets/styles/images/standardbutton-closetab-hover-32.png (limited to 'src/widgets') diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt index 8181979ae8..34c8d2bc1e 100644 --- a/src/widgets/CMakeLists.txt +++ b/src/widgets/CMakeLists.txt @@ -172,8 +172,11 @@ set(qstyle_resource_files "images/standardbutton-close-128.png" "images/standardbutton-close-16.png" "images/standardbutton-close-32.png" + "images/standardbutton-closetab-32.png" "images/standardbutton-closetab-16.png" + "images/standardbutton-closetab-down-32.png" "images/standardbutton-closetab-down-16.png" + "images/standardbutton-closetab-hover-32.png" "images/standardbutton-closetab-hover-16.png" "images/standardbutton-delete-128.png" "images/standardbutton-delete-16.png" diff --git a/src/widgets/styles/images/standardbutton-closetab-32.png b/src/widgets/styles/images/standardbutton-closetab-32.png new file mode 100644 index 0000000000..93e1246b47 Binary files /dev/null and b/src/widgets/styles/images/standardbutton-closetab-32.png differ diff --git a/src/widgets/styles/images/standardbutton-closetab-down-32.png b/src/widgets/styles/images/standardbutton-closetab-down-32.png new file mode 100644 index 0000000000..343b72586e Binary files /dev/null and b/src/widgets/styles/images/standardbutton-closetab-down-32.png differ diff --git a/src/widgets/styles/images/standardbutton-closetab-hover-32.png b/src/widgets/styles/images/standardbutton-closetab-hover-32.png new file mode 100644 index 0000000000..41ce0265c7 Binary files /dev/null and b/src/widgets/styles/images/standardbutton-closetab-hover-32.png differ diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 54489c6379..5c5b25cc94 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -126,6 +126,30 @@ static qreal qt_getDevicePixelRatio(const QWidget *widget) return widget ? widget->devicePixelRatio() : qApp->devicePixelRatio(); } +static QIcon tabBarCloseButtonIcon() +{ + QIcon result; + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-16.png")), + QIcon::Normal, QIcon::Off); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-32.png")), + QIcon::Normal, QIcon::Off); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-down-16.png")), + QIcon::Normal, QIcon::On); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-down-32.png")), + QIcon::Normal, QIcon::On); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-hover-16.png")), + QIcon::Active, QIcon::Off); + result.addPixmap(QPixmap( + QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-hover-32.png")), + QIcon::Active, QIcon::Off); + return result; +} + /*! \class QCommonStyle \brief The QCommonStyle class encapsulates the common Look and Feel of a GUI. @@ -416,17 +440,8 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q } break; case PE_IndicatorTabClose: { - if (d->tabBarcloseButtonIcon.isNull()) { - d->tabBarcloseButtonIcon.addPixmap(QPixmap( - QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-16.png")), - QIcon::Normal, QIcon::Off); - d->tabBarcloseButtonIcon.addPixmap(QPixmap( - QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-down-16.png")), - QIcon::Normal, QIcon::On); - d->tabBarcloseButtonIcon.addPixmap(QPixmap( - QLatin1String(":/qt-project.org/styles/commonstyle/images/standardbutton-closetab-hover-16.png")), - QIcon::Active, QIcon::Off); - } + if (d->tabBarcloseButtonIcon.isNull()) + d->tabBarcloseButtonIcon = tabBarCloseButtonIcon(); const int size = proxy()->pixelMetric(QStyle::PM_SmallIconSize, opt); QIcon::Mode mode = opt->state & State_Enabled ? diff --git a/src/widgets/styles/qstyle.qrc b/src/widgets/styles/qstyle.qrc index d3511ee754..44090a54f0 100644 --- a/src/widgets/styles/qstyle.qrc +++ b/src/widgets/styles/qstyle.qrc @@ -104,8 +104,11 @@ images/standardbutton-yes-128.png images/standardbutton-yes-16.png images/standardbutton-yes-32.png + images/standardbutton-closetab-32.png images/standardbutton-closetab-16.png + images/standardbutton-closetab-down-32.png images/standardbutton-closetab-down-16.png + images/standardbutton-closetab-hover-32.png images/standardbutton-closetab-hover-16.png images/refresh-24.png images/refresh-32.png -- cgit v1.2.3