1. 11 Nov, 2020 2 commits
  2. 09 Nov, 2020 1 commit
    • Albert Astals Cid's avatar
      Remove kdocumentviewer · f9841b0f
      Albert Astals Cid authored
      It was causing problems (Windows build fails) now that we enabled  -Wweak-vtables (and
      probably before didn't work that much before, guessing that's why we had that if (doc)
      in openFile)
      
      This is the simplest solution, invokeMethod is not great but we already
      use it, so it's not too terrible
      
      The openDocument function was unused so remove it.
      
      The other two solutions are:
       * Make KDocumentViewer be part of okularcore and then link the
         okularcore to the okular binary, not nice
       * Make another dynamic library that just contains the KDocumentViewer
         class, but i'd rather not add yet another library we have to install
         and take care of
      f9841b0f
  3. 08 Nov, 2020 3 commits
  4. 03 Nov, 2020 1 commit
  5. 01 Nov, 2020 2 commits
    • Nicolás Alvarez's avatar
      gitlab-ci: use eatmydata in apt-get · d23422d0
      Nicolás Alvarez authored
      apt-get uses several fsync() calls on each package it installs, and that's
      very slow, especially on non-SSD. eatmydata turns fsync into no-op, which
      makes package installation much faster (it can cause corruption if there's
      power loss or similar, but that doesn't matter in CI where we throw away
      the whole container anyway).
      
      Currently the build_ubuntu_20_04 job in GitLab CI takes 8-9 minutes to
      install dependencies. Using eatmydata it went down to 2 minutes.
      d23422d0
    • David Hurka's avatar
      Do not disable flick if cursor has been wrapped · 08c4d4f7
      David Hurka authored
      BUG: 420556
      FIXED-IN: 1.11.3
      08c4d4f7
  6. 31 Oct, 2020 2 commits
  7. 29 Oct, 2020 1 commit
  8. 28 Oct, 2020 4 commits
  9. 27 Oct, 2020 2 commits
    • Albert Astals Cid's avatar
      Set focus to the next current tab when closing the current tab · 91dbaa1f
      Albert Astals Cid authored
      And by that it means giving the focus to the pageview which is most of
      the fimes what we want. One could argue that if i had the focus on the
      searchbar we should restore the focus there, but that makes not much
      sense to me, since each tab is it's own world, at most one could say,
      let's remember where the focus was in that tab the last time it was
      focused and restore it there, but it seems a bit convoluted.
      
      To be able of setting the focus to the pageview from the shell we need
      to set up some focus proxies, so that part->widget (which is the sidebar)
      ends up giving the focus to the pageview, which is what makes sense if
      someone says "you part, set yourself the focus"
      
      BUGS: 428257
      91dbaa1f
    • Albert Astals Cid's avatar
      a66a18b8
  10. 26 Oct, 2020 1 commit
  11. 25 Oct, 2020 1 commit
  12. 24 Oct, 2020 1 commit
  13. 23 Oct, 2020 2 commits
  14. 21 Oct, 2020 4 commits
    • Nate Graham's avatar
      Merge branch 'release/20.08' into master · 12cb9d4e
      Nate Graham authored
      12cb9d4e
    • Nate Graham's avatar
      Fix fast scrolling with Shift+Scroll · 777ac37e
      Nate Graham authored
      When holding down the shift key, multiply wheel and touchpad scroll
      distances by 10 to re-implement the fast scrolling feature that
      broke when we added animated/smooth scrolling.
      
      BUG: 420889
      FIXED-IN: 1.11.3
      777ac37e
    • David Hurka's avatar
      Fix cursor not updated after clicking internal link · 843c43cc
      David Hurka authored
      updateCursor() was called by wheelEvent(), which made sense,
      because after the wheel event the page will have moved under the cursor.
      
      With smooth scrolling, it makes less sense in wheelEvent(),
      because at that point scrolling is still in the future.
      
      scrollContentsBy() appears to be called on every scroll step.
      (It is documented to be called at scrollbar value changes, so makes sense.)
      
      This patch removes updateCursor() from wheelEvent(), but adds it to scrollContentsBy().
      
      I did not check anything out with d->visibleItems, as was indicated it !176.
      
      BUG: 421437
      843c43cc
    • David Hurka's avatar
      Fix cursor not updated after clicking internal link · 8b008b02
      David Hurka authored
      updateCursor() was called by wheelEvent(), which made sense,
      because after the wheel event the page will have moved under the cursor.
      
      With smooth scrolling, it makes less sense in wheelEvent(),
      because at that point scrolling is still in the future.
      
      scrollContentsBy() appears to be called on every scroll step.
      (It is documented to be called at scrollbar value changes, so makes sense.)
      
      This patch removes updateCursor() from wheelEvent(), but adds it to scrollContentsBy().
      
      I did not check anything out with d->visibleItems, as was indicated it !176.
      
      BUG: 421437
      8b008b02
  15. 17 Oct, 2020 2 commits
  16. 16 Oct, 2020 1 commit
  17. 13 Oct, 2020 2 commits
  18. 12 Oct, 2020 1 commit
    • David Hurka's avatar
      Fix scrolling with scrollbar when the slider is not clicked · 17c26699
      David Hurka authored
      This fixes scrolling with the scrollbar,
      so it is not reset when scrolling on the viewport afterwards.
      
      PageView’s QSroller was not correctly updated by update_scroller,
      because it was connected to QAbstractSlider::sliderMoved and sliderReleased,
      which are only emitted while the “slider is down”,
      i. e. not when the user scrolls the scrollbar other than dragging the slider.
      Now update_scroller is connected to actionTriggered(),
      which is emitted for all user interactions.
      
      Note that scrolling using the scrollbar calls QAbstractScrollArea::scrollContentsBy(),
      and so bypasses smooth scrolling of the QScroller. This could be considered a feature,
      otherwise it is more a bug in Qt than in Okular, because we can not ignore scrollContentsBy().
      
      Steps to reproduce:
      1. Open a long document
      2. Click on the vertical scrollbar below the slider
      3. Okular scrolls one page down
      4. Scroll in the viewport
      5. Okular starts scrolling from the position from step 1.
      
      Test plan:
      * Scroll using scrollbar
        + Click on the vertical scrollbar below the slider
        + Middle-click on the vertical scrollbar below the slider
        + Click on the little arrow of the vertical scrollbar
        + Scroll using a scrolling device (e. g. `xdotool click 4`) on the vertical scrollbar
        + Drag the slider of the scrollbar
      * “cross-product” verify QScroller state
        + Scroll using a scrolling device on the viewport
        + Scroll using Browse tool dragging
        + Scroll the viewport by clicking a point in the thumbnails view
        + Scroll the viewport using arrow keys and Page Up/Down keys
      
      BUG: 421159
      17c26699
  19. 11 Oct, 2020 2 commits
    • Tobias Deiminger's avatar
    • Tobias Deiminger's avatar
      Complete TextSelectorEngine if nothing selected · c8cf6513
      Tobias Deiminger authored
      Selecting highlight tool, pressing left mouse button while over text, and
      immediately releasing without dragging a selection caused inconsistent state.
      
      It left TextSelectorEnigne in the state m_creationCompleted == false and
      m_lockedItem == something. Then in continuous mode all events kept on being
      propagated to TextSelectorEngine::event, even if the user started unrelated
      interactions in the meantime. This caused various side effects.
      
      It notably happened when you double clicked a finished highlight annotation,
      as described in bug 426658.
      
      We can go to m_creationComplete after release even without a selection,
      because TextSelectorEngine::end and PageViewAnnotator::performRouteMouseOrTabletEvent
      handle the case just fine, i.e. don't create an annotation but reset the state machine.
      
      Fixes bug 426658 at least partially. I couldn't reproduce the described crash,
      so no idea if that's also fixed.
      
      BUG: 446658
      c8cf6513
  20. 07 Oct, 2020 1 commit
    • Albert Astals Cid's avatar
      Remove the ooo plugin · 62d7a693
      Albert Astals Cid authored
      As mentioned on the Akademy meeting, just use the calligra okular plugins if you want to open an odt/odp in Okular
      62d7a693
  21. 05 Oct, 2020 2 commits
  22. 03 Oct, 2020 2 commits