Do not assume that oldPage == m_document->viewport().pageNumber, because
it's false if we are processing a viewport change notification.
It caused presentation drawings to turn into persistent annotations,
when switching page from the main okular window.
In general, this patch also tidies up PresentationWidget::changePage a bit:
- Removed redundant checks: they are always true
- Removed duplicated code that performed the page opening actions:
Previously the first slide and the other ones followed different code
paths, both doing the same things. I unified them.
I also changed slotNextPage so that it never sets m_frameIndex = -1, because
it confuses changePage and makes it skip page closing actions.
Modification and removal of *external* annotations are disabled by this
patch. Note that this change doesn't remove any functionality, because they
have never been implemented (AnnotationProxy is defined by the previous
patch).
The #if0'd blocks will be enabled by a future patch that provides fallback
behavior for generators that don't support saving changes.
Use the auto play property of movies that are not started via
the 'page open' action. That's the case for Rendition-based videos
from PDF documents for example.
Hide the video player initially until the user has clicked on
the annotation area. This ensures that an available 'first-frame' image
is always visible. Also change the appearance of the mouse cursor when
the annotation area is entered.
REVIEW:104159
The default mouse mode on Okular startup is panning. I almost always
want text selection. Somebody else might prefer rectangular selection or
zooming. This patch stores the last active mouse mode in the config and
switches to it on startup.
REVIEW:104147
Ok, this is not really the review Jonathan did, i did rewrite the code partially because i did not really
want to have a new observer, but the code is heavily inspired in his patch.
Also the page number selector is not in the toolbar as the review had, it'd be silly to have it in both places
by default, so if you want to have it you have to go, edit the toolbar and add the "Page Number" action to it.
REVIEW: 103427
BUGS: 279128
FIXED-IN: 4.9.0
* We do not keep them around any more time than needed (they are cheap to create)
* AnnotWindow::slotsaveWindowText calls m_document->modifyPageAnnotation so
edition of inline notes happens immediately
Should never happen, but as it is the "main" widget of the part it might end up there if someone just says part->mainwidget->setfocus or something like that
At least this way the focus does not go down the drain and ends up in the sidebar list, which is not optimal but is better than getting the keyboard focus lost
I did not have time to finish the poppler work and even if this will probably be good for using the poppler work, this adds new API and I don't want to commit to this since having a proper look at making it work
Sorry i failed to fulfill my promise