Dear devs, after reading so much about Elisa in Nate’s blog, I tried it out the other day. I noticed very quickly that the views (playlist, central filter view) do not support shift scrolling, i.e. I press the shift key, scroll up or down and the view then should scroll by a whole page. With 40000 files in my collection, this would be a very helpful feature. Kind regards
> after reading so much about Elisa in Nate’s blog, I tried it out the other day. Yesssssss excellent, that was the idea. :) Anyway your idea seems sensible! I know Okular does this too.
The native QQC2 scrollview handles this automatically, but in Elisa we're overriding it with our ScrollHelper thing, which breaks it. So our options are to: 1. Re-implement the fast scrolling with shift key held down behavior in ScrollHelper 2. Remove ScrollHelper and go back to the native scrollviews personally I prefer #2. Whatever problems ScrollHelper was solving should IMO be solved upstream with Qt patches.
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/elisa/-/merge_requests/183
Git commit 3b80b0001239f8c6a35f95ff940e6ba596075310 by Matthieu Gallien, on behalf of Nate Graham. Committed on 12/11/2020 at 20:49. Pushed by mgallien into branch 'release/20.12'. Replace homemade ScrollHelper with standard ScrollViews to hold view items We created the ScrollHelper component to fix scrolling with touchpads, which is quite terrible out of the box with QML's default flickables. However this solution had some drawbacks: - It broke touch scrolling - It broke fast scrolling by holding down the shift key while scrolling - It essentially re-wrote scroll handling locally, which is fragile - It required a bunch of extra code to handle scrollbar visibility which introduced various minor visual bugs in a few places In addition, this solution was not necessary since we can get the same result by putting views inside ScrollView components, which is a 100% supported and standard paradigm. Doing so preserves the nice touchpad scrolling we already have but fixes all of the above items automatically. Related: bug 417859 FIXED-IN: 20.12 M +0 -1 src/CMakeLists.txt M +23 -31 src/qml/GridBrowserView.qml M +28 -36 src/qml/ListBrowserView.qml M +18 -26 src/qml/MediaTrackMetadataView.qml M +113 -120 src/qml/PlayListBasicView.qml M +0 -3 src/qml/PlayListEntry.qml D +0 -105 src/qml/ScrollHelper.qml M +80 -82 src/qml/SimplePlayListView.qml M +36 -52 src/qml/ViewSelector.qml M +0 -1 src/resources.qrc https://invent.kde.org/multimedia/elisa/commit/3b80b0001239f8c6a35f95ff940e6ba596075310
Git commit b1931eb86c224c7cdeb1c78fdc4112c2142212d6 by Nate Graham. Committed on 12/11/2020 at 22:43. Pushed by ngraham into branch 'master'. Replace homemade ScrollHelper with standard ScrollViews to hold view items We created the ScrollHelper component to fix scrolling with touchpads, which is quite terrible out of the box with QML's default flickables. However this solution had some drawbacks: - It broke touch scrolling - It broke fast scrolling by holding down the shift key while scrolling - It essentially re-wrote scroll handling locally, which is fragile - It required a bunch of extra code to handle scrollbar visibility which introduced various minor visual bugs in a few places In addition, this solution was not necessary since we can get the same result by putting views inside ScrollView components, which is a 100% supported and standard paradigm. Doing so preserves the nice touchpad scrolling we already have but fixes all of the above items automatically. Related: bug 417859 FIXED-IN: 20.12 M +0 -1 src/CMakeLists.txt M +23 -31 src/qml/GridBrowserView.qml M +28 -36 src/qml/ListBrowserView.qml M +18 -26 src/qml/MediaTrackMetadataView.qml M +113 -120 src/qml/PlayListBasicView.qml M +0 -3 src/qml/PlayListEntry.qml D +0 -105 src/qml/ScrollHelper.qml M +80 -82 src/qml/SimplePlayListView.qml M +36 -52 src/qml/ViewSelector.qml M +0 -1 src/resources.qrc https://invent.kde.org/multimedia/elisa/commit/b1931eb86c224c7cdeb1c78fdc4112c2142212d6