• Shawn Rutledge's avatar
    PdfMultiPageView: use TableView; horz. scroll; control page position · f467edc9
    Shawn Rutledge authored
    
    TableView is missing some features compared to ListView; so finding out
    where we currently are (which row) and programmatic positioning on a
    specific y coordinate of a specific row require some workarounds for now,
    including helpers in PdfDocument.
    
    TableView also assumes (and sporadically enforces) that all cells in a
    column have the same width.  So we need a placeholder Item for each page.
    This also helps with rotation: the placeholder is now as wide as the
    window or the image, whichever is wider, and the "paper" is centered
    within; thus there's always room to rotate it.
    
    There's still some problem with setting contentY in goToPage() after
    the page has been zoomed to a size larger than the window: the values
    look correct, but it scrolls too far.
    
    But on the plus side, horizontal scrolling works.  So now we attempt to
    control the horizontal position too: NavigationStack tracks it, and can
    go back to a previous position; and links can in theory jump to specific
    positions and zoom levels, scrolling horizontally such that a specific x
    coordinate is visible.
    
    Includes minor UI tweaks to make it look better on iOS.
    
    Change-Id: I643d8ef48ef815aeb49cae77dcb84c3682563d56
    Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
    f467edc9