1. 23 Mar, 2013 3 commits
    • Benoît Knecht's avatar
      Don't scroll the document when focusing the inputbar · 1702fb62
      Benoît Knecht authored
      Add a new adjust mode that is set when focusing the inputbar and
      disables adjusting the vertical scrollbar. As a result, focusing the
      inputbar doesn't scroll the document, leading to better results when
      changing pages from the inputbar (e.g. using bookmarks).
      Reported-by: default avatarMarwan Tanager <marwan.tngr@gmail.com>
      Signed-off-by: Sebastian Ramacher's avatarSebastian Ramacher <sebastian+dev@ramacher.at>
      1702fb62
    • Benoît Knecht's avatar
      Use signals to readjust_view_after_zooming() · c9eef954
      Benoît Knecht authored
      Instead of guesstimating the values of the scrollbars adjustments after
      a change in zoom level, connect callbacks to the "changed" GtkAdjustment
      event (which is emitted when the bounds or page_size of the adjustment
      change, e.g. when the zoom level changes), and compute the new values
      from there.
      
      The previous adjustment values are tracked in zathura->ui.hadjustment
      and zathura->ui.vadjustment (and updated by signal handlers as well), so
      that the view's position can be maintained while zooming.
      
      cb_view_hadjustment_changed() centers the page horizontally if a
      "best-fit" or "width" zoom is being performed, or if "zoom-center" is
      true; otherwise, it keeps the view horizontally centered around the same
      area of the page.
      
      cb_view_vadjustment_changed() always keeps the view vertically centered
      around the same area of the page.
      
      Many thanks to Marwan Tanager for thoroughly reviewing the various
      stages of this patch, and actually coming up with a working solution.
      Signed-off-by: Sebastian Ramacher's avatarSebastian Ramacher <sebastian+dev@ramacher.at>
      c9eef954
    • Benoît Knecht's avatar
      Revert commit ce6e7351 · f5b02a97
      Benoît Knecht authored
      This wasn't correct. Padding is already accounted for:
      
        scale = (width - (pages_per_row - 1) * padding) /
                (pages_per_row * cell_width)
      
      If you add padding on the denominator, you end up with black margins on
      the sides of the window, which isn't what padding is for (i.e. insert a
      gap between rendered pages), and defeats the purpose of a "best-fit".
      Signed-off-by: Sebastian Ramacher's avatarSebastian Ramacher <sebastian+dev@ramacher.at>
      f5b02a97
  2. 17 Mar, 2013 7 commits
  3. 14 Mar, 2013 3 commits
  4. 11 Mar, 2013 1 commit
  5. 09 Mar, 2013 2 commits
  6. 03 Mar, 2013 2 commits
  7. 28 Feb, 2013 2 commits
  8. 24 Feb, 2013 2 commits
  9. 23 Feb, 2013 6 commits
  10. 22 Feb, 2013 1 commit
  11. 19 Feb, 2013 2 commits
  12. 13 Feb, 2013 4 commits
  13. 09 Feb, 2013 3 commits
  14. 08 Feb, 2013 2 commits