diff --git a/applets/kicker/package/contents/ui/ItemGridDelegate.qml b/applets/kicker/package/contents/ui/ItemGridDelegate.qml --- a/applets/kicker/package/contents/ui/ItemGridDelegate.qml +++ b/applets/kicker/package/contents/ui/ItemGridDelegate.qml @@ -110,6 +110,8 @@ anchors.fill: parent active: root.visible && label.truncated mainItem: toolTipDelegate + + onContainsMouseChanged: item.GridView.view.itemContainsMouseChanged(containsMouse) } Keys.onPressed: { diff --git a/applets/kicker/package/contents/ui/ItemGridView.qml b/applets/kicker/package/contents/ui/ItemGridView.qml --- a/applets/kicker/package/contents/ui/ItemGridView.qml +++ b/applets/kicker/package/contents/ui/ItemGridView.qml @@ -194,6 +194,8 @@ GridView { id: gridView + signal itemContainsMouseChanged(bool containsMouse) + property bool usesPlasmaTheme: false property int iconSize: units.iconSizes.huge @@ -285,6 +287,7 @@ onCurrentIndexChanged: { if (currentIndex != -1) { + hoverArea.hoverEnabled = false focus = true; } } @@ -341,6 +344,21 @@ itemGrid.keyNavDown(); } } + + onItemContainsMouseChanged: { + if (!containsMouse) { + if (!actionMenu.opened) { + gridView.currentIndex = -1; + } + + hoverArea.pressX = -1; + hoverArea.pressY = -1; + hoverArea.lastX = -1; + hoverArea.lastY = -1; + hoverArea.pressedItem = null; + hoverArea.hoverEnabled = true; + } + } } } @@ -449,20 +467,6 @@ } } } - - onContainsMouseChanged: { - if (!containsMouse) { - if (!actionMenu.opened) { - gridView.currentIndex = -1; - } - - pressX = -1; - pressY = -1; - lastX = -1; - lastY = -1; - pressedItem = null; - } - } } } }