aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/icon.cpp
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2017-12-03 21:53:15 +0100
committerAlessandro Portale <alessandro.portale@qt.io>2017-12-05 17:58:05 +0000
commit95564edf8d3c17525484e25f78b8d234a245e364 (patch)
tree91d46b429b4f25fa14d816cac340e2fa22fc9789 /src/libs/utils/icon.cpp
parent76807c134a6d32eba4fe3379b12a8320a5a15274 (diff)
Utils: Allow Icon::pixmap to return pixmaps for different QIcon::Modes
We need disabled state of the Icon as pixmap, e.g. in the CrumblePath. Change-Id: I3dfea5145c2c12f436e2dca73f1ac96839139236 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/libs/utils/icon.cpp')
-rw-r--r--src/libs/utils/icon.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libs/utils/icon.cpp b/src/libs/utils/icon.cpp
index f451d9697e2..97c618be91c 100644
--- a/src/libs/utils/icon.cpp
+++ b/src/libs/utils/icon.cpp
@@ -203,7 +203,7 @@ QIcon Icon::icon() const
}
}
-QPixmap Icon::pixmap() const
+QPixmap Icon::pixmap(QIcon::Mode iconMode) const
{
if (isEmpty()) {
return QPixmap();
@@ -213,7 +213,9 @@ QPixmap Icon::pixmap() const
const MasksAndColors masks =
masksAndColors(*this, qRound(qApp->devicePixelRatio()));
const QPixmap combinedMask = Utils::combinedMask(masks, m_style);
- return masksToIcon(masks, combinedMask, m_style);
+ return iconMode == QIcon::Disabled
+ ? maskToColorAndAlpha(combinedMask, creatorTheme()->color(Theme::IconsDisabledColor))
+ : masksToIcon(masks, combinedMask, m_style);
}
}