The previous code used two consecutive calls to the method
slotChangeDrawingToolEngine to reset the m_drawingEngine
member (i.e., to delete it and to create a new one from scratch).
That worked; however, as a side effect the calls to
slotChangeDrawingToolEngine also set the cursor to an arrow,
which happens every time one continuous stroke is finished.
This went unnoticed because when drawing in presentation mode
the cursor is an arrow anyway. However, in anticipation
of future patches that change the cursor to a cross-hair
when drawing, this explicit setting of the arrow shape
needs to go. Therefore this patch replaces the two calls
to slotChangeDrawingToolEngine by the code they contain,
minus the code to set the cursor shape. The new code is
only one line longer, and more readable too.
Previously, when using a screen scaling factor larger than 1, the
drawings by mouse or stylus in presentation mode were slightly blocky.
The underlying cause was
a) a few integer types used for non-integer coordinates
b) the intermediate use of a QPixmap without the correct
devicePixelRatio
Additionally, this patch uses a QPainterPath to draw the path,
rather than a sequence of individual lines. This improves
the line quality a tiny bit, because the lines are properly
joined.
BUG: 384143
Differential Revision: https://phabricator.kde.org/D21836
Summary: As the title says. In my humble opinion this makes the code *much* easier to read.
Test Plan: No functional changes.
Reviewers: #okular
Subscribers: aacid, davidhurka, okular-devel
Tags: #okular
Differential Revision: https://phabricator.kde.org/D19539
Summary: Previously this was inconsistent: left button clicks triggered page changes at release, but right button and forward/backward button clicks triggered directly at the mousePressEvent.
Reviewers: #okular, ngraham, aacid
Reviewed By: ngraham
Subscribers: aacid, okular-devel
Tags: #okular
Differential Revision: https://phabricator.kde.org/D19702
This patch makes switching presentation slides using touch screen taps
more flexible. It introduces a new configuration option
'Touch navigation' with three possible values:
* 'Tap left/right side to go back/forward':
Tapping on the left(right) half of the screen
makes the presentation go to the previous(next) slide.
* 'Tap anywhere to go forward':
Tapping on the screen makes the presentation go to the
next slide, no matter where the screen is being tapped
* 'Disabled':
Screen tapping doesn't do anything.
Previously, only 'Tap anywhere...' was implemented.
This patch does not change the behavior of mouse clicks.
Differential Revision: https://phabricator.kde.org/D18118
they are unused(except the PageViewItem one), but if anyone would use
them things would go wrong, so protect us from it
Actually fixes a bug in PageView::slotFitWindowToPage in which we were
copying constructing PageViewItem and that's bad
It is more logical to have the drawing tools first, then the eraser,
and then the action to delete everything. Also the two actions to erase
things are close to each other now.
The icon of "erase drawing" has been changed to draw-eraser-delete-objects
to distinguish it from the "Eraser" tool.
BUG: 399734
Differential Revision: https://phabricator.kde.org/D16171
Summary:
We request a inhibit lock of DBus type UNIX_FD from systemd logind. It's wrapped into (and owned by) a QDBusUnixFileDescriptor object of automatic storage. The file descriptor will be closed in QDBusUnixFileDescriptor Dtor, and may be reused by some other facility (e.g. pulseaudio).
If we want to store the lock longer than QDBusUnixFileDescriptor lifetime, we have to dup the file descriptor. If we don't dup, and close the original fd later in PresentationWidget::allowPowerManagement, bad things may happen.
Besides that, what we get from systemd is really a file descriptor, not a "cookie". So I renamed the m_sleepInhibitCookie to m_sleepInhibitFd and changed initial state to -1 accordingly.
BUG 393478
BUG 398720
Test Plan:
- bugs don't occur any longer
- inhibiting sleep during presentation mode still works
Reviewers: aacid
Reviewed By: aacid
Subscribers: ngraham, anthonyfieroni, okular-devel
Tags: #okular
Differential Revision: https://phabricator.kde.org/D15574
Summary:
This patch enables HiDPI throughout the application
Every pixmap is multiplied by the devicePixelRatioF
QPainter code is ajusted to take the DPR value into account
All pixmaps get cached with the highest DPR of all screens. When moving the application to another screen, the cache doesn't have to be invalidated.
BUGS: 362856 383589
REVIEW: D6268
Right now, fade transition is always done in 100 frames. If the intended duration is, say, 1 second, the actual duration can easily be a few seconds instead, due to the limited CPU power (on my laptop with core i5, those 100 frames take 2 seconds).
I propose a patch that changes the number of frames to 20 * (duration in seconds). 20 FPS still looks completely smooth to me.
REVIEW: 125310
BUGS: 352876
Extend the drawing tool section in top bar with an eraser tool,
which removes parts of the lines that have been drawn before.
FEATURE: 343774
REVIEW: 124689
3 benefits:
* We can set the shortcut in the edit shortcuts dialog as before
* Shortcuts can be activated without showing the topbar as before
* Drawing in the toppbar is exactly as the other actions
That patch extracts the video file, which is defined in a
rich media annotation as parameter for the flash player,
and uses the normal multimedia player, to playback the video
file.
This feature requires poppler-qt5 in version 0.36.
FEATURE: 326230
REVIEW: 124612
Fixes the case in which the page has duration, and Okular::SettingsCore::slidesAdvanceTime is smaller than the page duration but autoAdvance is disabled
BUGS: 340035