diff --git a/applets/systemtray/package/contents/ui/items/AbstractItem.qml b/applets/systemtray/package/contents/ui/items/AbstractItem.qml --- a/applets/systemtray/package/contents/ui/items/AbstractItem.qml +++ b/applets/systemtray/package/contents/ui/items/AbstractItem.qml @@ -28,11 +28,13 @@ height: inVisibleLayout ? visibleLayout.cellHeight : hiddenLayout.iconItemHeight width: inVisibleLayout ? visibleLayout.cellWidth : hiddenLayout.width + property var model: itemModel + property string itemId property alias text: label.text property Item iconItem - property int /*PlasmaCore.Types.ItemStatus*/ status - property int /*PlasmaCore.Types.ItemStatus*/ effectiveStatus + property int /*PlasmaCore.Types.ItemStatus*/ status: model.status || PlasmaCore.Types.UnknownStatus + property int /*PlasmaCore.Types.ItemStatus*/ effectiveStatus: model.effectiveStatus || PlasmaCore.Types.UnknownStatus readonly property bool inHiddenLayout: effectiveStatus === PlasmaCore.Types.PassiveStatus readonly property bool inVisibleLayout: effectiveStatus === PlasmaCore.Types.ActiveStatus diff --git a/applets/systemtray/package/contents/ui/items/ItemLoader.qml b/applets/systemtray/package/contents/ui/items/ItemLoader.qml --- a/applets/systemtray/package/contents/ui/items/ItemLoader.qml +++ b/applets/systemtray/package/contents/ui/items/ItemLoader.qml @@ -22,17 +22,13 @@ Loader { id: itemLoader - Component.onCompleted: { + property var itemModel: model + + source: { if (model.itemType === "Plasmoid" && model.hasApplet) { - itemLoader.setSource("PlasmoidItem.qml", { - "applet": model.applet, - "effectiveStatus": model.effectiveStatus - }) + return "PlasmoidItem.qml" } else if (model.itemType === "StatusNotifier") { - itemLoader.setSource("StatusNotifierItem.qml", { - "model": model, - "effectiveStatus": model.effectiveStatus - }) + return "StatusNotifierItem.qml" } } } diff --git a/applets/systemtray/package/contents/ui/items/PlasmoidItem.qml b/applets/systemtray/package/contents/ui/items/PlasmoidItem.qml --- a/applets/systemtray/package/contents/ui/items/PlasmoidItem.qml +++ b/applets/systemtray/package/contents/ui/items/PlasmoidItem.qml @@ -23,7 +23,7 @@ AbstractItem { id: plasmoidContainer - property Item applet + property Item applet: model.applet || null iconItem: applet text: applet ? applet.title : "" @@ -33,7 +33,6 @@ icon: applet ? applet.icon : "" mainItem: applet && applet.toolTipItem ? applet.toolTipItem : null textFormat: applet ? applet.toolTipTextFormat : "" - status: applet ? applet.status : PlasmaCore.Types.UnknownStatus active: root.activeApplet !== applet onClicked: { 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 @@ -23,17 +23,13 @@ AbstractItem { id: taskIcon - property var model - itemId: model.Id text: model.Title mainText: model.ToolTipTitle !== "" ? model.ToolTipTitle : model.Title subText: model.ToolTipSubTitle icon: model.ToolTipIcon !== "" ? model.ToolTipIcon : model.Icon ? model.Icon : model.IconName textFormat: Text.AutoText - status: model.status - iconItem: iconItem PlasmaCore.IconItem {