Whenever the scrollbar value changes we request a new pixmap so we
always have an up to date viewport.
Unfortunately that can lead to unnecessary calls when zooming. That's
because the zoom event changes the value of each scrollbar but not all
at once. Instead one scrollbar value is changed after the other (leading
to two requests).
The problem here is that when the first request is made just one of the
scrollbars have its updated value while the other still carries the old
one. Previously that wasn't a big deal but now we depend on the correct
scrollbar values to get the visible viewport and thus request only the
visible tiles (and its whereabouts).
Without that change we're making requests to tiles that are not actually
visible and this only gets worse as the zoom level gets higher.
The visible region was set in the PixmapRequest only a tiles manager was
available. Because of that the generator could check if it was supposed
to used tiles by simply checking if its normalized rect was null.
However is good to know the visible region even when a tiles manager is
not present. This way if the request is big enough to start a tiles
manager we already know the visible region and can change the
PixmapRequest accordingly.
With this commit Okular will show a so called poster image for PDF documents
containing movie annotations. The image will be a screenshot of the first frame
of the video.
BUGS: 301603
REVIEW: 105890
FIXED-IN: 4.10.0
The splitting was only executed after the pixmap arrived the tiles
manager. That was bad and likely to lead to an unnecessary rendering in
the case of a big tile that would be split after all.
This also fixes a bug where some tiles weren't updated.
Most of the positioning calculations were taking into account the 'crop'
argument (which is a NormalizedRect) to execute some translations.
If not using tiles the value of crop were always the normalized bounding
box of the page, relative to the page itself. So translating by it is
essentially a noop.
When using tiles this argument represents the normalized viewport,
relative to the page. Although useful for the tiles manager, translating
by 'crop' is not necessary for any of those operations.
Since the review pane has different requirements than the page view, this
change introduces a mode parameter to the AnnotationPopup ctor.
REVIEW: 106045
Provide the actions for all annotations in the RMB menu, if multiple
annotations are located on top of each other.
BUGS: 300942
REVIEW: 106035
FIXED-IN: 4.10.0
If the panning action results in a request for new tiles, paint it as
well. The previous code wasn't taking the amount of scroll into
consideration to fetch the tile to be painted.
This is especially useful if resetSearch is called because of a
document switch, because a search without results in the previous
document has no relation with the new one, and therefore keeping the red
background doesn't make sense.
Instead of directly killing the search in the core, emit a signal
caught by FindBar to tell its SearchLineEdit to reset the search
operation.
In this way, SearchLineEdit can set m_changed, and next time a new
search operation will be started, instead of attempting to use the
old one.
This is especially useful if resetSearch is called because of a
document switch, because a search without results in the previous
document has no relation with the new one, and therefore keeping the red
background doesn't make sense.
Instead of directly killing the search in the core, emit a signal
caught by FindBar to tell its SearchLineEdit to reset the search
operation.
In this way, SearchLineEdit can set m_changed, and next time a new
search operation will be started, instead of attempting to use the
old one.
FindNext was early quitting because the previous search was a back search and thus never got to startSearch, now we call startSearch if m_changed
BUGS: 301248
FIXED-IN: 4.9.0
FindNext was early quitting because the previous search was a back search and thus never got to startSearch, now we call startSearch if m_changed
BUGS: 301248
FIXED-IN: 4.9.0
as of Eugene Trounev sent them to me more than three years ago, just gz-compressing them now;
followup of b811186781
(apparently I forgot to commit them at that time)
It was "Note" before d2fa4c9, but it was changed to "Comment" for
compatibility reasons. Setting it to "Note", this time in UI code,
doesn't break d2fa4c9 and restores the default icon users are used to.