-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128858/
-----------------------------------------------------------

(Updated Oct. 5, 2016, 4:20 p.m.)


Review request for Okular.


Changes
-------

TabletLeaveProximity: if the cursor mode is 'always visible', switch back to 
arrow cursor instead of blank cursor.


Repository: okular


Description
-------

I am trying to fix the following papercut:  I regularly write on pdf files in 
presentation mode, using the pen that comes with my Lenovo ThinkPad Yoga.  When 
I approach the screen with the pen, the cursor appears, and it follows the pen 
tip during writing.  When I lift off the pen, the cursor stays on, and 
auto-hides only a few seconds later (because of 
Okular::Settings::EnumSlidesCursor::HiddenDelay).  As a consequence, the cursor 
frequently hides the last bits of what I have just written.  This is a 
nuisance, because I do this in front of an audience, and a lot of it is math 
(where every detail matters).

Ideally, the cursor would auto-hide when I lift the pen off the screen.  
Luckily, Qt has an event for this: QEvent::TabletLeaveProximity.  Unluckily, 
the documentation says (http://doc.qt.io/qt-5/qtabletevent.html):

"TabletEnterProximity and TabletLeaveProximity events [...] are only sent to 
QApplication"

Therefore, this patch introduces a new class TabletApplication, which inherits 
from QApplication, and is used in main.cpp instead of QApplication.  The 
proximity events are really caught, and each time a short note is printed on 
the console.

Unfortunately, at this point I am stuck and need some help.  Apparently, I 
cannot control the cursor from a QApplication.  How do I get the information 
that a TabletProximity has been caught to the presentation widget? Maybe the 
answer is trivial, but I have very little Qt programming experience.  Thanks 
for your help!


Diffs (updated)
-----

  ui/presentationwidget.h 69574d2 
  ui/presentationwidget.cpp c16d616 

Diff: https://git.reviewboard.kde.org/r/128858/diff/


Testing
-------


Thanks,

Oliver Sander

Reply via email to