[okular] [Bug 341939] Reloading a PDF document with page-aligned view jumps up in the document

Tobias Deiminger bugzilla_noreply at kde.org
Thu Nov 29 20:42:13 GMT 2018


https://bugs.kde.org/show_bug.cgi?id=341939

--- Comment #4 from Tobias Deiminger <haxtibal at posteo.de> ---
Git commit a29e4eaff5889eee632ce93c2e6a313cd9c011a1 by Tobias Deiminger.
Committed on 29/11/2018 at 20:41.
Pushed by tobiasdeiminger into branch 'Applications/18.12'.

Fix inconsistent viewport positioning in PageView

Summary:
This diff unifies the calculation of the viewport position from a given
DocumentViewport. PageView::notifyViewportChanged and
PageView::slotRelayoutPages used to handle it differntly, which resulted in
viewport jumps for no reason.

It happened in various situations, e.g. when jumping to a page using the footer
page navigation, or when reloading the document after presentation mode left,
or when resizing the main window after presentation mode left.

The diff selects the notifyViewportChanged way (align viewport top border with
page top margin) as golden behavior in case of rePos.enabled == false.
Related: bug 357958, bug 400890

341939 and 400890 are fixed partially. These two still suffer from a minor
displacement that happens when finished signal arrives from pixmap generation
thread.

Test Plan:
- When using the footer page navigation to jump to different pages, new page
top is always algined with viewport top.
- After changing page with footer page navigation, press F5 to reload. Page top
stays aligned with viewport top.
- When exiting presentation mode, and touching the file, page top stays aligned
with viewport top.
- When exiting presentation mode, and changing main window size, page top stays
aligned with viewport top.

Reviewers: #okular, sander

Reviewed By: sander

Subscribers: ngraham, sander, aacid, okular-devel

Tags: #okular

Differential Revision: https://phabricator.kde.org/D16941

A  +-    --    autotests/data/simple-multipage.pdf
A  +82   -0    autotests/data/simple-multipage.tex
M  +30   -0    autotests/parttest.cpp
M  +37   -30   ui/pageview.cpp
M  +1    -0    ui/pageview.h

https://commits.kde.org/okular/a29e4eaff5889eee632ce93c2e6a313cd9c011a1

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Okular-devel mailing list