konsole: Fix handling of high precision scroll events

Review Request #124590 - Created Aug. 2, 2015 and submitted

Lindsay Roberts

While Konsole's main scrollbar is handled by QtScrollBar and therefore works as expected under Qt5, the other custom scroll wheel actions available do not accumulate and handle the small scroll deltas provided. This results in stuttery, uneven and unexpected responses to scrolling.

Accumulate and trigger events on thresholds. If pixel scroll values are provided, utilise them when emulating mouseup/mousedown events (by dividing by pixel font height).

Based on a previous and outstanding review (https://git.reviewboard.kde.org/r/123389/) by Xuetian Weng.

Tested font size zoom, emulated cursor movement, regular scroll with and without QT_DEVICE_PIXEL_RATIO=2 set on linux with a high precision trackpad. Also tested with pixel scroll data hardcoded off to ensure we still support that style (if/where Qt5 still provides it).

Lindsay Roberts
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted with commit 5962fb25b35db2293cd195977f3e42837df6148c by Kurt Hindenburg to branch master.