diff options
author | Eike Ziller <[email protected]> | 2019-02-15 15:30:52 +0100 |
---|---|---|
committer | Eike Ziller <[email protected]> | 2019-02-21 13:26:06 +0000 |
commit | 334c76fd31f98d95dff94f059da90a118c4ea6be (patch) | |
tree | 0d1fd04a7e5630644dc9d4903d61ea22769c3e51 /src/plugins/help/webenginehelpviewer.cpp | |
parent | 9e965409d1cbe6270c6a994bfe41d61a154d1d77 (diff) |
Help viewer: Add option for scroll wheel zooming
Fixes: QTCREATORBUG-14154
Change-Id: Ia6c4aedb78954614477f0228ba82c4dc476a2525
Reviewed-by: Leena Miettinen <[email protected]>
Reviewed-by: David Schulz <[email protected]>
Diffstat (limited to 'src/plugins/help/webenginehelpviewer.cpp')
-rw-r--r-- | src/plugins/help/webenginehelpviewer.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/plugins/help/webenginehelpviewer.cpp b/src/plugins/help/webenginehelpviewer.cpp index 60773b91fef..197f356d79e 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<QChildEvent *>(ev); + ce->child()->installEventFilter(this); + } else if (ev->type() == QEvent::ChildRemoved) { + auto ce = static_cast<QChildEvent *>(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<QWheelEvent *>(e); + if (we->modifiers() == Qt::ControlModifier) + return true; + } + return false; +} + void WebView::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = page()->createStandardContextMenu(); |