Bug 456993

Summary: Item not immediately select-able if cursor hovered over the item before opening Kickoff
Product: [Plasma] plasmashell Reporter: postix <postix>
Component: Application Launcher (Kickoff)Assignee: Plasma Bugs List <plasma-bugs>
Severity: minor CC: agrinev98, mikel5764, nate, noahadvs, postix
Priority: NOR Keywords: regression
Version: 5.25.3   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.25.5

Description postix 2022-07-21 18:51:24 UTC
1.  Move your cursor over some item in Kickoff, eg "Graphics" or over one of your favorites, but not the first one in the list
2.  Hit Meta to close Kickoff
3.  Hit Meta again to open Kickoff
4. Move your cursor within the item

The first item is always selected, no matter that the cursor hovers over a different item.
The item, where cursor has been hovering since step 1. becomes first selected, if you move it outside of the item's area to a different item / control like the scrollbar and back to the item.

If you hovered the mouse over one of your favorites, it may still show the tooltip at step 3 though the item is not selected.

The item below the cursor is always selected and the tooltip vanishes.

Operating System: openSUSE Tumbleweed 20220719
KDE Plasma Version: 5.25.3
KDE Frameworks Version: 5.96.0
Qt Version: 5.15.5
Kernel Version: 5.18.11-1-default (64-bit)
Graphics Platform: Wayland
Comment 1 postix 2022-07-21 18:52:44 UTC

The item, where cursor has been hovering since step 1. becomes first selected, if you move [the cursor] outside of the item's area to a different item / control (eg the scrollbar) and back to the item.
Comment 2 Nate Graham 2022-07-22 18:24:12 UTC
This is because we use the `onEntered` signal handler here rather than `onPositionChanged`. Your cursor isn't technically entering the area, because it's already inside it, so `onEntered` doesn't run until you move your cursor over another item.

We used to use `onPositionChanged`, but I forget why we stopped doing that. Do you remember Artem? Maybe we should go back to using `onPositionChanged.`
Comment 4 Nate Graham 2022-08-03 03:15:07 UTC
Git commit 3c87dc68746100960263ca35b400442170513474 by Nate Graham.
Committed on 03/08/2022 at 03:14.
Pushed by ngraham into branch 'Plasma/5.25'.

Revert "Use onEntered in KickoffItemDelegate"

This reverts commit 8042ae81d97cf27be1da652272d2dc86bfbbf042.

This change slightly improved performance, but subtle implementation
differences between the onEntered: and onPositionChanged: handlers in
MouseArea triggered two subtle and annoying bugs that users have
reported a bunch of duplicates of.

A way to fix the bugs using onEntered has not been found, so let's revert
the change for now; slightly worse performance is a less severe issue then
these bugs are.
Related: bug 454349, bug 455674
FIXED-IN: 5.25.5
(cherry picked from commit cfb520e3b39714edb6e9d406bc0e1c19667f0281)

M  +6    -9    applets/kickoff/package/contents/ui/KickoffItemDelegate.qml
M  +0    -11   applets/kickoff/package/contents/ui/KickoffListView.qml