From 334c76fd31f98d95dff94f059da90a118c4ea6be Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 15 Feb 2019 15:30:52 +0100 Subject: Help viewer: Add option for scroll wheel zooming Fixes: QTCREATORBUG-14154 Change-Id: Ia6c4aedb78954614477f0228ba82c4dc476a2525 Reviewed-by: Leena Miettinen Reviewed-by: David Schulz --- src/plugins/help/webenginehelpviewer.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/plugins/help/webenginehelpviewer.cpp') diff --git a/src/plugins/help/webenginehelpviewer.cpp b/src/plugins/help/webenginehelpviewer.cpp index 60773b91fe..197f356d79 100644 --- a/src/plugins/help/webenginehelpviewer.cpp +++ b/src/plugins/help/webenginehelpviewer.cpp @@ -292,6 +292,31 @@ WebView::WebView(WebEngineHelpViewer *viewer) { } +bool WebView::event(QEvent *ev) +{ + // work around QTBUG-43602 + if (ev->type() == QEvent::ChildAdded) { + auto ce = static_cast(ev); + ce->child()->installEventFilter(this); + } else if (ev->type() == QEvent::ChildRemoved) { + auto ce = static_cast(ev); + ce->child()->removeEventFilter(this); + } + return QWebEngineView::event(ev); +} + +bool WebView::eventFilter(QObject *src, QEvent *e) +{ + Q_UNUSED(src) + // work around QTBUG-43602 + if (m_viewer->isScrollWheelZoomingEnabled() && e->type() == QEvent::Wheel) { + auto we = static_cast(e); + if (we->modifiers() == Qt::ControlModifier) + return true; + } + return false; +} + void WebView::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = page()->createStandardContextMenu(); -- cgit v1.2.1