diff --git a/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml b/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml --- a/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml +++ b/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml @@ -43,16 +43,22 @@ } } - onStatusChanged: { - //binding is not working in PlasmaCore.IconItem - iconItem.source = status === PlasmaCore.Types.NeedsAttentionStatus ? (AttentionIcon ? AttentionIcon : AttentionIconName) : (Icon ? Icon : IconName) - } - iconItem: iconItem PlasmaCore.IconItem { id: iconItem - source: Icon ? Icon : IconName + source: { + if (taskIcon.status === PlasmaCore.Types.NeedsAttentionStatus) { + if (AttentionIcon) { + return AttentionIcon + } + if (AttentionIconName) { + return AttentionIconName + } + } + return Icon ? Icon : IconName + } + width: Math.min(parent.width, parent.height) height: width active: taskIcon.containsMouse diff --git a/dataengines/statusnotifieritem/statusnotifieritemsource.cpp b/dataengines/statusnotifieritem/statusnotifieritemsource.cpp --- a/dataengines/statusnotifieritem/statusnotifieritemsource.cpp +++ b/dataengines/statusnotifieritem/statusnotifieritemsource.cpp @@ -303,7 +303,7 @@ overlayIcon(&icon, &overlay); } } - setData(QStringLiteral("Icon"), icon); + setData(QStringLiteral("Icon"), icon.isNull() ? QVariant() : icon); setData(QStringLiteral("IconName"), iconName); } @@ -329,7 +329,7 @@ overlayIcon(&attentionIcon, &overlay); } } - setData(QStringLiteral("AttentionIcon"), attentionIcon); + setData(QStringLiteral("AttentionIcon"), attentionIcon.isNull() ? QVariant() : attentionIcon); } //ToolTip