SUMMARY I have selected the setting "Clicking in scrollbar track:" → "Scrolls one page up or down" STEPS TO REPRODUCE 1. Set the setting to only scroll by one page as mentioned above 2. Click below the scrollbar handle OBSERVED RESULT Discover moves the view directly to the clicked location (as if "Scrolls to the clicked location" setting was set). EXPECTED RESULT Dicover should scroll only one page as the settings says. SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20240531 KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.1 Kernel Version: 6.9.3-1-default (64-bit) Graphics Platform: Wayland
I can confirm this bug. It's reproducible on Discover. For example Dolphin and Okular work as expected. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.1 Kernel Version: 6.9.2-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 4 × Intel® Core™ i5-6600K CPU @ 3.50GHz Memory: 7.7 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 970/PCIe/SSE2
Can reproduce. Seems to affect all QtQuick scrollviews, which means it's a regression in our scrollbar handling code.
This isn't particularly surprising, apparently we knew it long before Plasma 6.0 release: https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/214#note_608786 By the way, according to the BUG 384889 this feature never ever worked in PlasmaComponents. It seems like we need a better upstream API, not a super-duper custom bikeshedded behavior override downstream.
Another brief investigation shows that the event handling never reaches our MouseArea background only because its default z-index is assigned to -1 by the QQuickControl::setBackground method which is stacked below the parent ScrollBar itself. If you set z-index for the background to some positive value, it will work as before.
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/421
Meanwhile, I also filed an upstream feature request for more QQC2.ScrollBar API: https://bugreports.qt.io/browse/QTBUG-127172
Git commit 40b55f9a0fef21a02671efe7f87b95b3702dec13 by ivan tkachenko. Committed on 23/07/2024 at 10:47. Pushed by ngraham into branch 'master'. ScrollBar: Fix custom scrolling behavior In order to add our custom mouse event handling behavior to the QQuickScrollBar, the only way in Qt 6 is to put the MouseArea in front of it, i.e. with a higher stacking z index, and only handle a subset of events which we are going to fully process ourselves, while rejecting the rest to let them propagate further down to the scroll bar itself. M +16 -4 org.kde.desktop/ScrollBar.qml https://invent.kde.org/frameworks/qqc2-desktop-style/-/commit/40b55f9a0fef21a02671efe7f87b95b3702dec13
*** Bug 491250 has been marked as a duplicate of this bug. ***