From a24816ade4d18a3d04d5b0cca0f67b4c1eadbb2e Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 13 Jan 2021 10:34:37 +0100 Subject: [PATCH] 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 Change-Id: I6dda2084e0122234eacea17ac191a19f6855f466 Reviewed-by: Morten Johan Sørvig (cherry picked from commit f3251bcb878d655e5f897335ec6bc6dbf69323e7) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/CMakeLists.txt | 3 ++ .../images/standardbutton-closetab-32.png | Bin 0 -> 305 bytes .../standardbutton-closetab-down-32.png | Bin 0 -> 278 bytes .../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 diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt index 8181979ae86..34c8d2bc1e3 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 0000000000000000000000000000000000000000..93e1246b4777aef35f0de854852c927f8f7e2017 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyHUT~%u0Z;_xjHhsVXghFEbUc) z!mA0%uP3LynVk1#R>7Ouh3{r{zn|Op<>kFNds@bdrv|4VMAECK3gEeY}qX3*XF z<>x!zTW5d*^F3W0Lo80Oo&1)sS%Jq@bf=O10-yW;V_jXQEuDMz&O7}>mYiFrEc@vm zm8^JV*0v9P@|R@W9N#l-WVwDg<=~--66~{C6)u=;@DXWH65!>RTa@4W!vD!)l_RB^ zZSmJMI5K}5oMW|K)S&grJ1t~q$WcCR@zXwTPq(wY<#;Ti2kN=n!y}Ga}d3~MC*Vlh%@a{;Jz4`L^6;Ys589ZJ6T-G@yGywq9dWdiU literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..343b72586e941da58a121b3397a7a4bba970da8b GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ipS0KIG(;gYE4R_m^7qqc3 zcuRTI&ia&HjcHdlEqs0Z@|QQy|NsAg^!WSzKs~G_L4Lsux;wx8e8+q13{YT#r;B5V zMsRY10*^$f)58Ov3>peDT`W9}Osh^XIXW<2-_XUUk>StF$kozTe!wwP!$W~d@j_Sd z1Cx&J?1~pY=exVRfB!99(D?5AdTXn1jIIx(8e}#o#4wy-)^ymEdf$EmlL}Byf%ON= zg{=t^U3t1!616YP`B%m^>v`Ct&vvUAssxf)jND8TTtwVLgqRq#*B#_}WzD!5=r#sV LS3j3^P6Z$llm8ys zIxP{G#qK?H-gVgEMXbWK2URn4A}oX+Cv0Y5nZ-VBCQ|^*qK5~azpNGb+gUTEWryC; z52vMA6?5f}?M!eN32?1D*`qam)s4ibNi$Eb_%m&R?84X}?ayliCtrH?yy9=f<%;(^ t^;=Ae=InR#lZ`5UbG3hQ-Cp_4jAf~^JMXM+RRcPe!PC{xWt~$(69Bd?i825H literal 0 HcmV?d00001 diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index fad02d5ae99..3e4e7ea6fe5 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 d3511ee754f..44090a54f0f 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