Fixes#194 which is caused by some hardware sending multiple touch
events. This ensures that a stored tool is not over-written by a
repeated touch event.
An alternative implementation idea is to maintain a stack of stored
tools, but that seems unnecessary.
I remove any "padding" between or around pages, except for the padding
between dual-page layouts (I don't know how people want to use dual-page
and presentation at the same time, is padding desirable?). Then just
force the zoom to be the appropriate value when in presentation mode,
and skip to next/previous pages as buttons are pressed.
Things that aren't done:
- Toolbars aren't hiding. I don't actually want this, since I want to
be able to draw on presentations. Maybe as an option it could be done.
- Scrollbar is visible. Honestly, I couldn't yet work out how to hide
it. It should be easy, I feel, so maybe in another commit.
- The current slide has a red border. I don't mind this, I feel it
helps highlight the slide against the background. Easy to remove
though.
ScrollHandler::goTo[Next|Previous]Page()
- Don't add "top" to add padding when seeing next/previous page
Layout::layoutPages()
- If in presentation mode, set padding = 0. Also allow zero-width
margins.
Layout::ensureRectIsVisible()
- If in presentation mode, don't add extra space around the page.
XournalView::getZoom()
- If in presentation mode, force zoom to be the appropriate level.
XournalView::onKeyPressEvent()
- If in presentation mode, left/right also go forwards/backwards in
presentation. This is useful for things like laser pointers when
presenting.
XournalView class
- Add getDisplayWidth/Height functions.
This means a subsequent call to make will fail, such as calling make
install. This is important if I want to build debian packages that's
possibly suitable for upstream inclusion.
This also pins the poppler version to a constant version so the build is
more "repeatable".