diff --git a/applets/systemtray/package/contents/ui/ExpanderArrow.qml b/applets/systemtray/package/contents/ui/ExpanderArrow.qml --- a/applets/systemtray/package/contents/ui/ExpanderArrow.qml +++ b/applets/systemtray/package/contents/ui/ExpanderArrow.qml @@ -28,7 +28,7 @@ property bool vertical: plasmoid.formFactor === PlasmaCore.Types.Vertical implicitWidth: units.iconSizes.smallMedium implicitHeight: implicitWidth - visible: root.hiddenLayout.contentItem.children.length > 0 + visible: root.hiddenLayout.count > 0 subText: root.expanded ? i18n("Close popup") : i18n("Show hidden icons") diff --git a/applets/systemtray/package/contents/ui/HiddenItemsView.qml b/applets/systemtray/package/contents/ui/HiddenItemsView.qml --- a/applets/systemtray/package/contents/ui/HiddenItemsView.qml +++ b/applets/systemtray/package/contents/ui/HiddenItemsView.qml @@ -74,8 +74,9 @@ } CurrentItemHighLight { - parent: hiddenTasksColumn.contentItem - target: root.activeApplet && root.activeApplet.parent && root.activeApplet.parent.inHiddenLayout ? root.activeApplet.parent.parent : null - location: PlasmaCore.Types.LeftEdge + readonly property bool hiddenAppletActivated: root.activeApplet && root.activeApplet.parent && root.activeApplet.parent.inHiddenLayout + parent: hiddenAppletActivated ? root.activeApplet.parent : hiddenTasksColumn.contentItem + target: hiddenAppletActivated ? root.activeApplet.parent : null + location: LayoutMirroring.enabled ? PlasmaCore.Types.RightEdge : PlasmaCore.Types.LeftEdge } } 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 @@ -32,7 +32,7 @@ property string itemId property alias text: label.text - property Item iconItem + property alias iconContainer: iconContainer 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 @@ -72,7 +72,7 @@ //END CONNECTIONS PulseAnimation { - targetItem: iconItem + targetItem: iconContainer running: (abstractItem.status === PlasmaCore.Types.NeedsAttentionStatus || abstractItem.status === PlasmaCore.Types.RequiresAttentionStatus ) && units.longDuration > 0 @@ -87,15 +87,15 @@ loops: 1 ScaleAnimator { - target: iconItem + target: iconContainer from: 1 to: 0.5 duration: units.shortDuration easing.type: Easing.InQuad } ScaleAnimator { - target: iconItem + target: iconContainer from: 0.5 to: 1 duration: units.shortDuration @@ -124,19 +124,27 @@ } } - PlasmaComponents.Label { - id: label - anchors { - left: parent.left - leftMargin: iconItem ? iconItem.width + units.smallSpacing : 0 - verticalCenter: parent.verticalCenter + Row { + spacing: units.smallSpacing + anchors.horizontalCenter: inVisibleLayout ? parent.horizontalCenter : undefined + Item { + id: iconContainer + anchors.verticalCenter: parent.verticalCenter + width: Math.min(abstractItem.width, abstractItem.height) + height: width + property alias inHiddenLayout: abstractItem.inHiddenLayout + property alias inVisibleLayout: abstractItem.inVisibleLayout } - opacity: visible ? 1 : 0 - visible: abstractItem.inHiddenLayout && !root.activeApplet - Behavior on opacity { - NumberAnimation { - duration: units.longDuration - easing.type: Easing.InOutQuad + PlasmaComponents.Label { + id: label + anchors.verticalCenter: parent.verticalCenter + visible: abstractItem.inHiddenLayout && !root.activeApplet + opacity: visible ? 1 : 0 + Behavior on opacity { + NumberAnimation { + duration: units.longDuration + easing.type: Easing.InOutQuad + } } } } 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 @@ -24,7 +24,6 @@ id: plasmoidContainer property Item applet: model.applet || null - iconItem: applet text: applet ? applet.title : "" itemId: applet ? applet.pluginName : "" @@ -51,19 +50,6 @@ } } - onHeightChanged: { - if (applet) { - applet.width = Math.min(plasmoidContainer.width, plasmoidContainer.height) - applet.height = applet.width - } - } - onWidthChanged: { - if (applet) { - applet.width = Math.min(plasmoidContainer.width, plasmoidContainer.height) - applet.height = applet.width - } - } - //This is to make preloading effective, minimizes the scene changes function preloadFullRepresentationItem(fullRepresentationItem) { if (fullRepresentationItem && fullRepresentationItem.parent === null) { @@ -75,11 +61,8 @@ onAppletChanged: { if (applet) { - applet.parent = plasmoidContainer - applet.anchors.left = plasmoidContainer.left - applet.anchors.verticalCenter = plasmoidContainer.verticalCenter - applet.width = Math.min(plasmoidContainer.width, plasmoidContainer.height) - applet.height = applet.width + applet.parent = plasmoidContainer.iconContainer + applet.anchors.fill = applet.parent applet.visible = true preloadFullRepresentationItem(applet.fullRepresentationItem) 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 @@ -30,10 +30,11 @@ icon: model.ToolTipIcon !== "" ? model.ToolTipIcon : model.Icon ? model.Icon : model.IconName textFormat: Text.AutoText - iconItem: iconItem - PlasmaCore.IconItem { id: iconItem + parent: taskIcon.iconContainer + anchors.fill: iconItem.parent + source: { if (model.status === PlasmaCore.Types.NeedsAttentionStatus) { if (model.AttentionIcon) { @@ -45,15 +46,7 @@ } return model.Icon ? model.Icon : model.IconName } - - width: Math.min(parent.width, parent.height) - height: width active: taskIcon.containsMouse - - anchors { - left: parent.left - verticalCenter: parent.verticalCenter - } } onContextMenu: { diff --git a/applets/systemtray/package/contents/ui/main.qml b/applets/systemtray/package/contents/ui/main.qml --- a/applets/systemtray/package/contents/ui/main.qml +++ b/applets/systemtray/package/contents/ui/main.qml @@ -92,8 +92,9 @@ } CurrentItemHighLight { - visualParent: tasksGrid - target: root.activeApplet && root.activeApplet.parent && root.activeApplet.parent.inVisibleLayout ? root.activeApplet.parent.parent : root + readonly property bool visibleAppletActivated: root.activeApplet && root.activeApplet.parent && root.activeApplet.parent.inVisibleLayout + parent: visibleAppletActivated ? root.activeApplet.parent : root + target: visibleAppletActivated ? root.activeApplet.parent : root location: plasmoid.location }