[Okular-devel] Review Request: Introduce currentPageChanged callbacks to DocumentObserver interface
Tobias Koenig
tokoe at kde.org
Sun Aug 19 10:25:16 UTC 2012
> On Aug. 18, 2012, 6:20 p.m., Albert Astals Cid wrote:
> > But notifyCurrentPageAboutToBeChanged can be wrong in pageview sometimes (e.g. when chaging the viewport using the scrollbar), right?
Hej Albert,
why should it be wrong?
- Tobias
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106058/#review17671
-----------------------------------------------------------
On Aug. 17, 2012, 9 a.m., Tobias Koenig wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106058/
> -----------------------------------------------------------
>
> (Updated Aug. 17, 2012, 9 a.m.)
>
>
> Review request for Okular.
>
>
> Description
> -------
>
> The DocumentObserver API currently does not provide a way to notify about page changes, only about viewport changes. That means each implementation of DocumentObserver (e.g. TOC, MiniBar, SideReview etc.) kept a private variable to keep track of the current page to detect page changes.
>
> This patch moves the page change detection into the Okular::Document class and extends the Okular::DocumentObserver API with the two callbacks notifyCurrentPageAboutToBeChanged(int page) and notifyCurrentPageChanged(int page).
>
> That allows the implementations of Okular::DocumentObserver to just reimplement the notifyCurrentPageChanged() callback instead of reimplementing the page-changed-detection logic.
>
> Since the two callbacks are always invoked on _all_ listeners, the PageView has now a chance to get informed about page changes even though it's notifyViewport() method is not invoked if it changes the viewport itself.
>
>
> Diffs
> -----
>
> core/document.cpp f6bf699
> core/document_p.h 54e922d
> core/observer.h 76c096c
> core/observer.cpp 0201a1d
> ui/minibar.h acb1163
> ui/minibar.cpp 051df72
> ui/pagesizelabel.h ea508b8
> ui/pagesizelabel.cpp 4a80779
> ui/pageview.h 43ca2ab
> ui/pageview.cpp 5e04412
> ui/presentationwidget.h 20dbcbb
> ui/presentationwidget.cpp f4da539
> ui/side_reviews.h d063b7b
> ui/side_reviews.cpp a036c48
> ui/thumbnaillist.h 0d7136b
> ui/thumbnaillist.cpp 8b23025
> ui/toc.h 4e63ef6
> ui/toc.cpp 3203c79
>
> Diff: http://git.reviewboard.kde.org/r/106058/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Tobias Koenig
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20120819/86f3a1fc/attachment.html>
More information about the Okular-devel
mailing list