Bug 456993 - Item not immediately select-able if cursor hovered over the item before opening Kickoff
Summary: Item not immediately select-able if cursor hovered over the item before openi...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Launcher (Kickoff) (show other bugs)
Version: 5.25.3
Platform: openSUSE Linux
: NOR minor
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2022-07-21 18:51 UTC by postix
Modified: 2022-08-03 03:15 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.25.5


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description postix 2022-07-21 18:51:24 UTC
STEPS TO REPRODUCE
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

OBSERVED RESULT
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.


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


SOFTWARE/OS VERSIONS
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
Correction:

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

https://invent.kde.org/plasma/plasma-desktop/commit/3c87dc68746100960263ca35b400442170513474