Bug 417859 - Add touch scrolling to main pane
Summary: Add touch scrolling to main pane
Status: RESOLVED FIXED
Alias: None
Product: Elisa
Classification: Applications
Component: general (show other bugs)
Version: 19.12.2
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Matthieu Gallien
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-02-19 03:22 UTC by Paul McAuley
Modified: 2020-11-12 22:44 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 20.12


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul McAuley 2020-02-19 03:22:27 UTC
Currently touch-scrolling only works on the left-hand pane.

It would be good if this also worked in the main pane to browse through the albums/artists/tracks etc.

Using X11 on Plasma (Dell XPS 9560), Plasma version 5.18.0, Frameworks version 5.67.0.
Comment 1 Nate Graham 2020-02-20 23:36:37 UTC
Yeah, this broke recently.
Comment 2 Nate Graham 2020-11-11 18:26:33 UTC
This works natively with the scrollview we're using, so I suspect we broke it with our ScrollHelper component with has the goal of improving touchpad scrolling. To be honest, I'm not sure if it was worth it since it caused other regressions and any issues should really be fixed in Qt itself (if they still exist).
Comment 3 Bug Janitor Service 2020-11-11 20:52:54 UTC
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/elisa/-/merge_requests/183
Comment 4 Matthieu Gallien 2020-11-12 22:02:21 UTC
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 427967
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
Comment 5 Nate Graham 2020-11-12 22:44:02 UTC
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 427967
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