diff options
author | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2009-10-27 08:14:28 (GMT) |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2009-10-27 09:25:49 (GMT) |
commit | 0fd6390800969d174dba819c54c4183a99e8f83c (patch) | |
tree | 79e6d0a1d2beb61d0afa988607db018f92447503 /src/gui/kernel/qapplication.cpp | |
parent | 5a4909d9f87b9abf471908a085c0e9f31b7e0a50 (diff) | |
download | Qt-0fd6390800969d174dba819c54c4183a99e8f83c.zip Qt-0fd6390800969d174dba819c54c4183a99e8f83c.tar.gz Qt-0fd6390800969d174dba819c54c4183a99e8f83c.tar.bz2 |
Implement support for wheel delta with finer resolution than 15 deg.
At the moment, Qt, in many places, does not really understand that
a mouse wheel, or touch pad, might operate on a much higher
granularity than 15 degrees (that is, a delta of 120). This is clear
disadvantage on mac, since the mighty mouse, and track pad, got a
resolution that is close to 1 degree. This is called pixel scrolling.
This patch first and formost changes the implementation of
QAbstractSlider::wheelEvent to _really_ understand what to do when
delta is less than 120. Rather than accumulate delta until 120
is reached, then scroll with a value equal to:
offset * step * QApplication::wheelScrollLines (default = 3), we
multiply offset directly, before waiting for 120. This means that
event tough offset is below 120, multiplying it with wheelScrollLines
and step will very often give a value over 120, menaing we can scroll
much earlier and _much more_ fined grained. This also fixes some
auto tests that was ifdeffed out because of specialised mac code
written inside this function from before.
(NB: we still plan to introduce a new event for pixel scrolling,
perhaps for Qt-4.7)
Rev-By: Andreas
Rev-By: denis
Diffstat (limited to 'src/gui/kernel/qapplication.cpp')
-rw-r--r-- | src/gui/kernel/qapplication.cpp | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index 7c38d4b..85b055e 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -940,12 +940,8 @@ void QApplicationPrivate::initialize() graphics_system = QGraphicsSystemFactory::create(graphics_system_name); #endif #ifndef QT_NO_WHEELEVENT -#ifdef Q_OS_MAC - QApplicationPrivate::wheel_scroll_lines = 1; -#else QApplicationPrivate::wheel_scroll_lines = 3; #endif -#endif initializeMultitouch(); } |