From 27a5d50125162d2cd676692370c60ffbb0f7799c Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Tue, 10 Dec 2019 14:01:15 +0100 Subject: [PATCH] ManhattanStyle: Fix themed drawing of toolbar extension The extension image gets queried via QStyle::standardIcon() instead of QStyle::standardPixmap(). That's why so far our extension was never drawn with our own icon. The icon .png needed to be resized in order not to be resampled in @2x mode. Change-Id: I27ae4e5872c18421e5d40271b01cb9daf8adc8bc Reviewed-by: Orgad Shaneh --- src/libs/utils/images/extension.png | Bin 146 -> 147 bytes src/libs/utils/images/extension@2x.png | Bin 163 -> 164 bytes src/plugins/coreplugin/manhattanstyle.cpp | 18 ++++++++++++------ src/tools/icons/qtcreatoricons.svg | 18 +++--------------- 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/src/libs/utils/images/extension.png b/src/libs/utils/images/extension.png index 57d482548699f9aeae5804a16e3b089a31b333d0..176c5bd4aea560b5a641b1b790e311e1987fe78a 100644 GIT binary patch delta 87 zcmbQlIGJ&RIF|qmGXn#IS(-<|L`4H9T~8Os5RT~N2v!zuiGoS7+6_;NrZMR&SUdJ| sdgwh7nQ>r))`2OKdVFEchglfr-qJ1q+>p!4z`(%Z>FVdQ&MBb@01+h`H2?qr delta 86 zcmbQtIEitBI2R`iGXn#I(0*y$IOv|fq}u()z4*}Q$iB}*+&^L diff --git a/src/libs/utils/images/extension@2x.png b/src/libs/utils/images/extension@2x.png index e90faa2ac01dc4f3880391f2e077b532e211c0ca..1436aae56a23115a760128ceb0bd34d750a66065 100644 GIT binary patch delta 110 zcmZ3?xP)qyiK`ft1Xka5 z5a~Fu>1dCj151)4t7BF746O!^)~k66Y%T(_k`63ptU4`8Mu*IzesVBOc+gq7YsQ%k Q3=9kmp00i_>zopr04G PFfe$!`njxgN@xNAFa06^ diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp index f64275d3321..b905d2a079f 100644 --- a/src/plugins/coreplugin/manhattanstyle.cpp +++ b/src/plugins/coreplugin/manhattanstyle.cpp @@ -122,13 +122,13 @@ public: void init(); public: - const QPixmap extButtonPixmap; + const QIcon extButtonIcon; const QPixmap closeButtonPixmap; StyleAnimator animator; }; ManhattanStylePrivate::ManhattanStylePrivate() : - extButtonPixmap(Utils::Icons::TOOLBAR_EXTENSION.pixmap()), + extButtonIcon(Utils::Icons::TOOLBAR_EXTENSION.icon()), closeButtonPixmap(Utils::Icons::CLOSE_FOREGROUND.pixmap()) { } @@ -321,9 +321,6 @@ QPixmap ManhattanStyle::standardPixmap(StandardPixmap standardPixmap, const QSty QPixmap pixmap; switch (standardPixmap) { - case QStyle::SP_ToolBarHorizontalExtensionButton: - pixmap = d->extButtonPixmap; - break; case QStyle::SP_TitleBarCloseButton: pixmap = d->closeButtonPixmap; break; @@ -336,7 +333,16 @@ QPixmap ManhattanStyle::standardPixmap(StandardPixmap standardPixmap, const QSty QIcon ManhattanStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *option, const QWidget *widget) const { - QIcon icon = QProxyStyle::standardIcon(standardIcon, option, widget); + QIcon icon; + switch (standardIcon) { + case QStyle::SP_ToolBarHorizontalExtensionButton: + icon = d->extButtonIcon; + break; + default: + icon = QProxyStyle::standardIcon(standardIcon, option, widget); + break; + } + if (standardIcon == QStyle::SP_ComputerIcon) { // Ubuntu has in some versions a 16x16 icon, see QTCREATORBUG-12832 const QList &sizes = icon.availableSizes(); diff --git a/src/tools/icons/qtcreatoricons.svg b/src/tools/icons/qtcreatoricons.svg index 95e4ce93efb..78844f751b6 100644 --- a/src/tools/icons/qtcreatoricons.svg +++ b/src/tools/icons/qtcreatoricons.svg @@ -156,17 +156,6 @@ x2="160.5" y2="588" gradientUnits="userSpaceOnUse" /> - - - @@ -4191,15 +4180,14 @@