https://bugs.kde.org/show_bug.cgi?id=407549
Bug ID: 407549 Summary: On continuous view, if >2 pages fit on-screen, left/right arrows inconsistent (next/previous page) Product: okular Version: unspecified Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: okular-de...@kde.org Reporter: jimbo1...@protonmail.com Target Milestone: --- SUMMARY If I enable continuous mode and zoom out until over 2 pages fit on screen at once (eg. widescreen PDF slides), then scrolling computes page number using center of screen, but left/right arrows aligns selected page to top of screen. STEPS TO REPRODUCE 1. Open a PDF document and zoom out until over 2 pages fit on screen. - The bottom of the screen says page 1 (top of screen). 2. Press right arrow to enter page 2. - The bottom of the screen says page 2 (top of screen). 3. Scroll down and up. - The position of the document is identical to "after step 2", however... - The bottom of the screen says page 3 (center of screen). If you press left/right arrow after step 2, you will end up on page 1/3. If you press left/right arrow after step 2, you will end up on page 2/4. EXPECTED RESULT I'm not sure how to fix this behavioral inconsistency. I personally want a choice in the Settings menu between multiple different behaviors, but you can hard-code one of the behaviors, or find another internally-consistent and user-friendly solution. ## Top of screen `top_float` = "page number at top of screen" (similar to left/right arrow today). Defaults to 1.0 when opening a document. Scrolling half of page 1 off-screen = 1.5. I want pressing (left, right) for the following `top_float` to set `top_float` to: 2 -> (1, 3) 2.01 to 2.99 -> (2, 3) - Left arrow moves to page `ceil(top_float) - 1` - Right arrow moves to page `floor(top_float) + 1` - The page number is displayed as `floor(top_float)` ## "Centered Page" in scare-quotes `top_float` = "page number at top of screen" (as above). `center_float` = "page number at center of screen" (similar to Okular scrolling today). I want pressing (left, right) for the following `top_float` to set `top_float` to: 1.5 to 2.49... -> (1, 3) 2.5 to 3.49... -> (2, 4) - Left arrow moves to page `round(top_float) - 1`??? - Right arrow moves to page `round(top_float) + 1`??? - The page number is displayed as `round(top_float)` (matches left/right arrows). Currently, Okular uses this approach, but with `floor(center_float)` instead, which suffers from the above-mentioned consistency issues. ------ A previous version of Windows Foxit used "top of screen" behavior for left/right arrows (which I disliked at the time), but an update changed it to "center of screen" behavior (and now I want the older behavior back XD). SOFTWARE/OS VERSIONS Linux/KDE Plasma: Kubuntu 18.04 (available in About System) KDE Plasma Version: 5.12.7 KDE Frameworks Version: 5.44.0 Qt Version: 5.9.5 ADDITIONAL INFORMATION Okular versions with bug: Ubuntu: 1.5.70 Flatpak flathub: 1.7.0 Flatpak kdeapps: 1.7.70 master, commit f741df1186ad -- You are receiving this mail because: You are watching all bug changes.