Skip to content
  • Tobias Deiminger's avatar
    Fix inconsistent viewport positioning in PageView · a29e4eaf
    Tobias Deiminger authored
    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.
    
    BUGS: 357958
    CCBUG: 341939
    CCBUG: 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 ...
    a29e4eaf