From 05ba5476b9dc1f5a1a4f20e43daf2b2ee408fe16 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 30 Jun 2020 21:32:11 +0200 Subject: Suppress context menu properly with rocker gestures For some reason, the event filter stopped inhibiting the context menu with Qt 5.9 (or possibly 5.8). (cherry picked from commit 0ed215d81f9a6db8da1aab08c89e6031fb157984) Remove unnecessary return (cherry picked from commit 815920657687a0f8f237a85711573afdb91d072c) --- qutebrowser/browser/eventfilter.py | 12 ------------ qutebrowser/browser/webengine/webview.py | 7 +++++++ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/qutebrowser/browser/eventfilter.py b/qutebrowser/browser/eventfilter.py index d91502092..002949a2b 100644 --- a/qutebrowser/browser/eventfilter.py +++ b/qutebrowser/browser/eventfilter.py @@ -116,7 +116,6 @@ class TabEventFilter(QObject): QEvent.MouseButtonPress: self._handle_mouse_press, QEvent.MouseButtonRelease: self._handle_mouse_release, QEvent.Wheel: self._handle_wheel, - QEvent.ContextMenu: self._handle_context_menu, QEvent.KeyRelease: self._handle_key_release, } self._ignore_wheel_event = False @@ -210,17 +209,6 @@ class TabEventFilter(QObject): return False - def _handle_context_menu(self, _e): - """Suppress context menus if rocker gestures are turned on. - - Args: - e: The QContextMenuEvent. - - Return: - True if the event should be filtered, False otherwise. - """ - return config.val.input.mouse.rocker_gestures - def _handle_key_release(self, e): """Ignore repeated key release events going to the website. diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py index 7d194fe8a..40ac12f11 100644 --- a/qutebrowser/browser/webengine/webview.py +++ b/qutebrowser/browser/webengine/webview.py @@ -151,6 +151,13 @@ class WebEngineView(QWebEngineView): tab = shared.get_tab(self._win_id, target) return tab._widget # pylint: disable=protected-access + def contextMenuEvent(self, ev): + """Prevent context menus when rocker gestures are enabled.""" + if config.val.input.mouse.rocker_gestures: + ev.ignore() + return + super().contextMenuEvent(ev) + class WebEnginePage(QWebEnginePage): -- cgit v1.2.3-54-g00ecf