fix(Core): disable StatusIcon ColorOverlay if no color is supplied

This is needed to have the underlying SVG's color bleed through and
make use of the image's opacity at the same time.

Using `ColorOverlay` together with (half) transparent colors doesn't
work very well as it makes the underlying SVG color come through,
result in wrong colors.

Applying `opacity` on the image itself cause the `ColorOverlay` to
reduce in opacity as well. So in order to work with transparent
colors, we need a way to turn of the ColorOverlay and work with the
Image's opacity, which is what this change enables.
This commit is contained in:
Pascal Precht 2021-05-25 12:40:52 +02:00 committed by Michał Cieślak
parent 770338a658
commit 359787835d
1 changed files with 2 additions and 2 deletions

View File

@ -3,7 +3,7 @@ import QtGraphicalEffects 1.13
Image { Image {
property string icon: "" property string icon: ""
property color color property color color: "transparent"
id: statusIcon id: statusIcon
width: 24 width: 24
@ -19,7 +19,7 @@ Image {
} }
ColorOverlay { ColorOverlay {
visible: statusIcon.color !== undefined visible: !Qt.colorEqual(statusIcon.color, "transparent")
anchors.fill: statusIcon anchors.fill: statusIcon
source: statusIcon source: statusIcon
color: statusIcon.color color: statusIcon.color