Bug 443016

Summary: Some items do not highlight on hover
Product: [Applications] systemsettings Reporter: ratijas <me>
Component: sidebarviewAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: normal CC: nate, p.r.worrall, plasma-bugs
Priority: NOR    
Version: 5.22.4   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.23
Attachments: KDE SystemSettings side bar hover

Description ratijas 2021-09-27 14:12:01 UTC
Created attachment 141952 [details]
KDE SystemSettings side bar hover

SUMMARY
In system settings / side bar view, Regional Settings and Power Management are the only two rows which do not react to mouse hover.

STEPS TO REPRODUCE
1. Open System Settings, switch to side bar view mode.
2. Scroll through the list of settings categories.
3. Or move your mouse around.

OBSERVED RESULT
All items should react in the same way, like highlighting with bright blue background.

EXPECTED RESULT
Two aforementioned items do not highlight on hover.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.23.80
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2
Kernel Version: 5.14.6-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz
Memory: 15.6 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 970M/PCIe/SSE2

ADDITIONAL INFORMATION
Comment 1 Paul Worrall 2021-09-27 17:30:49 UTC
Hi.  For me it's the category near the center of the list that does not highlight on hover  e.g.:

with the list scrolled fully up, "Regional Settings" is near the center and doesn't highlight

Scroll the list down a bit so that "Accessibility" is at the position where "Regional Settings" was and that doesn't highlight but "Regional Settings" highlights OK.

Please could you confirm if this is the behaviour you're seeing
Comment 2 ratijas 2021-09-27 17:33:37 UTC
Good observation, Paul!  Looks like two invisible items are floating at the half height of the window both on top and on the bottom of it. It has nothing to do with particular items, as I noticed the region may cover a row only partially.
Comment 3 Nate Graham 2021-09-27 20:50:21 UTC
Can reproduce. Indeed, there must be some invisible item somewhere.
Comment 4 Nate Graham 2021-09-27 21:46:47 UTC
Found it: a placeholder message that was turned to 0 opacity, but not actually made non-visible.
Comment 5 Nate Graham 2021-09-27 21:53:04 UTC
Git commit 036e51f80cb0fabe634c6466548ed35d37f8c42c by Nate Graham.
Committed on 27/09/2021 at 21:46.
Pushed by ngraham into branch 'master'.

sidebar: make placeholder message non-visible when at 0 opacity

It might seem like these do the same things, but they do not. By not
being invisible, the message was intercepting hover events and making
certain list items not highlight when hovered.
FIXED-IN: 5.23

M  +2    -1    sidebar/package/contents/ui/CategoriesPage.qml

https://invent.kde.org/plasma/systemsettings/commit/036e51f80cb0fabe634c6466548ed35d37f8c42c
Comment 6 Nate Graham 2021-09-27 21:53:38 UTC
Git commit 06033717b97e6c95ad4ad37a05673308fc1a07e3 by Nate Graham.
Committed on 27/09/2021 at 21:53.
Pushed by ngraham into branch 'Plasma/5.23'.

sidebar: make placeholder message non-visible when at 0 opacity

It might seem like these do the same things, but they do not. By not
being invisible, the message was intercepting hover events and making
certain list items not highlight when hovered.
FIXED-IN: 5.23
(cherry picked from commit 036e51f80cb0fabe634c6466548ed35d37f8c42c)

M  +2    -1    sidebar/package/contents/ui/CategoriesPage.qml

https://invent.kde.org/plasma/systemsettings/commit/06033717b97e6c95ad4ad37a05673308fc1a07e3
Comment 7 ratijas 2021-09-27 22:06:42 UTC
Awesome!

Interestingly, all examples of PlaceholderMessage.qml do suggest using visibility property, not opacity. Rare case when can't blame documentation :)
Comment 8 Nate Graham 2021-09-27 23:34:48 UTC
In this case opacity is used to provide a nice animated transition as it appears and disappears. However when you do that, you always need to remember to add "visible: opacity > 0", which is what got forgotten here.