Bug 371904

Summary: horizontal mouse-drag wraparound
Product: [Applications] okular Reporter: azrdev
Component: generalAssignee: Laura David Hurka <laura.stern>
Severity: wishlist CC: nate, okular-devel
Priority: NOR    
Version: 0.26.1   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=343910
Latest Commit: Version Fixed In: 21.08
Sentry Crash Report:

Description azrdev 2016-10-31 18:30:47 UTC
When doing click-and-drag scrolling in okular, the mouse pointer wraps around upon reaching the top or bottom screen edges. This would also be useful for the left and right edges, i.e. horizontal scrolling.

Expected behaviour:
- open a file in okular, zoom in until the viewport is (much) smaller than the document
- in "navigation mode", left-click anywhere on the page, keeping the mouse button down
- drag the mouse: the visible part of the document scrolls accordingly
- drag the mouse to/over a screen edge: it reappears at the opposite edge, you continue scrolling

Maybe this is related to https://bugs.kde.org/show_bug.cgi?id=343910
Comment 1 Laura David Hurka 2020-06-06 13:33:53 UTC
This is not just relevant for horizontal scrolling mode, but also for landscape documents in Overview mode with the current limit of 8 facing pages. Horizontal scrolling is difficult with most mouse wheels, so horizontal drag wraparound makes not less sense than the existing vertical wraparound.
Comment 2 Bug Janitor Service 2020-06-17 22:58:36 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/okular/-/merge_requests/199
Comment 3 Bug Janitor Service 2021-04-04 12:37:36 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/okular/-/merge_requests/394
Comment 4 Laura David Hurka 2021-04-11 11:19:36 UTC
Git commit 2e1ddaa1095fc2b564512851f55eee880e964746 by David Hurka.
Committed on 11/04/2021 at 09:56.
Pushed by davidhurka into branch 'master'.

Enable horizontal mouse wrap for Browse tool drag scrolling

Also fixes calculation of wrap edges, where top and bottom edge were swapped.

M  +4    -2    part/pageview.cpp

Comment 5 Nate Graham 2021-04-12 16:35:37 UTC

David, do you think this might be worth cherry-picking into stable too, or is it too risky or dependent on master-only code?
Comment 6 Laura David Hurka 2021-04-13 11:26:35 UTC
It depends on 67325270e “Fix viewport jumps when drag-scrolling beyond screen edges” which introduces CursorWrapHelper and is only on master. So I think it’s too risky.