From a4d284fa712dbf83ffe8e305d3ef6184d3d6cf6d Mon Sep 17 00:00:00 2001 From: David Rosca Date: Tue, 27 Dec 2016 21:52:54 +0100 Subject: [PATCH] WebView: Support QApplication::wheelScrollLines --- src/lib/webengine/webview.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/lib/webengine/webview.cpp b/src/lib/webengine/webview.cpp index 9408fef0a..789c219b0 100644 --- a/src/lib/webengine/webview.cpp +++ b/src/lib/webengine/webview.cpp @@ -988,6 +988,19 @@ void WebView::_wheelEvent(QWheelEvent *event) if (event->modifiers() & Qt::ControlModifier) { event->delta() > 0 ? zoomIn() : zoomOut(); event->accept(); + return; + } + + // QtWebEngine ignores QApplication::wheelScrollLines() and instead always scrolls 3 lines + if (event->spontaneous()) { + const qreal multiplier = QApplication::wheelScrollLines() / 3.0; + if (multiplier != 1.0) { + QWheelEvent e(event->pos(), event->globalPos(), event->pixelDelta(), + event->angleDelta() * multiplier, 0, Qt::Horizontal, event->buttons(), + event->modifiers(), event->phase(), event->source(), event->inverted()); + QApplication::sendEvent(m_rwhvqt, &e); + event->accept(); + } } }