Don't use QIcon::Selected state for selected icon

This causes selected monochrome Breeze icons to turn white as this state is meant for when the icon is actually painted ontop of
e.g. a blue highlighted area in a menu
Since the advanced icon configuration (where you could choose a custom hint color and other effects) has been removed in Plasma 5.13
and more importantly the fact that Dolphin always tints the icon in the highlight color disregarding any custom icon effects settings
this is an acceptable change.

CHANGELOG: Fixed monochrome icons turning invisible when selected

BUG: 398014
FIXED-IN: 18.08.2

Differential Revision: https://phabricator.kde.org/D15255
This commit is contained in:
Kai Uwe Broulik 2018-09-04 08:59:54 +02:00
parent ec3b63c8dc
commit b734386cbc

View file

@ -966,7 +966,7 @@ void KStandardItemListWidget::updatePixmapCache()
iconName = QStringLiteral("unknown"); iconName = QStringLiteral("unknown");
} }
const QStringList overlays = values["iconOverlays"].toStringList(); const QStringList overlays = values["iconOverlays"].toStringList();
m_pixmap = pixmapForIcon(iconName, overlays, maxIconHeight, isSelected() && isActiveWindow() ? QIcon::Selected : QIcon::Normal); m_pixmap = pixmapForIcon(iconName, overlays, maxIconHeight, QIcon::Normal);
} else if (m_pixmap.width() / m_pixmap.devicePixelRatio() != maxIconWidth || m_pixmap.height() / m_pixmap.devicePixelRatio() != maxIconHeight) { } else if (m_pixmap.width() / m_pixmap.devicePixelRatio() != maxIconWidth || m_pixmap.height() / m_pixmap.devicePixelRatio() != maxIconHeight) {
// A custom pixmap has been applied. Assure that the pixmap // A custom pixmap has been applied. Assure that the pixmap