summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/eventfilter.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/browser/eventfilter.py')
-rw-r--r--qutebrowser/browser/eventfilter.py51
1 files changed, 19 insertions, 32 deletions
diff --git a/qutebrowser/browser/eventfilter.py b/qutebrowser/browser/eventfilter.py
index 0b5fab096..616798f9b 100644
--- a/qutebrowser/browser/eventfilter.py
+++ b/qutebrowser/browser/eventfilter.py
@@ -19,11 +19,11 @@
"""Event handling for a browser tab."""
-from PyQt5.QtCore import QObject, QEvent, Qt, QTimer
+from qutebrowser.qt import machinery
+from qutebrowser.qt.core import QObject, QEvent, Qt, QTimer
from qutebrowser.config import config
-from qutebrowser.utils import message, log, usertypes, qtutils
-from qutebrowser.misc import objects
+from qutebrowser.utils import log, message, usertypes
from qutebrowser.keyinput import modeman
@@ -48,7 +48,7 @@ class ChildEventFilter(QObject):
def eventFilter(self, obj, event):
"""Act on ChildAdded events."""
- if event.type() == QEvent.ChildAdded:
+ if event.type() == QEvent.Type.ChildAdded:
child = event.child()
log.misc.debug("{} got new child {}, installing filter"
.format(obj, child))
@@ -58,7 +58,7 @@ class ChildEventFilter(QObject):
assert obj is self._widget
child.installEventFilter(self._filter)
- elif event.type() == QEvent.ChildRemoved:
+ elif event.type() == QEvent.Type.ChildRemoved:
child = event.child()
log.misc.debug("{}: removed child {}".format(obj, child))
@@ -81,10 +81,9 @@ class TabEventFilter(QObject):
super().__init__(parent)
self._tab = tab
self._handlers = {
- QEvent.MouseButtonPress: self._handle_mouse_press,
- QEvent.MouseButtonRelease: self._handle_mouse_release,
- QEvent.Wheel: self._handle_wheel,
- QEvent.KeyRelease: self._handle_key_release,
+ QEvent.Type.MouseButtonPress: self._handle_mouse_press,
+ QEvent.Type.MouseButtonRelease: self._handle_mouse_release,
+ QEvent.Type.Wheel: self._handle_wheel,
}
self._ignore_wheel_event = False
self._check_insertmode_on_release = False
@@ -99,10 +98,13 @@ class TabEventFilter(QObject):
True if the event should be filtered, False otherwise.
"""
is_rocker_gesture = (config.val.input.mouse.rocker_gestures and
- e.buttons() == Qt.LeftButton | Qt.RightButton)
+ e.buttons() == Qt.MouseButton.LeftButton | Qt.MouseButton.RightButton)
- if e.button() in [Qt.XButton1, Qt.XButton2] or is_rocker_gesture:
- self._mousepress_backforward(e)
+ if e.button() in [Qt.MouseButton.XButton1, Qt.MouseButton.XButton2] or is_rocker_gesture:
+ if not machinery.IS_QT6:
+ self._mousepress_backforward(e)
+ # FIXME:qt6 For some reason, this doesn't filter the action on
+ # Qt 6...
return True
self._ignore_wheel_event = True
@@ -112,7 +114,7 @@ class TabEventFilter(QObject):
log.mouse.warning("Ignoring invalid click at {}".format(pos))
return False
- if e.button() != Qt.NoButton:
+ if e.button() != Qt.MouseButton.NoButton:
self._tab.elements.find_at_pos(pos, self._mousepress_insertmode_cb)
return False
@@ -150,7 +152,7 @@ class TabEventFilter(QObject):
if mode == usertypes.KeyMode.hint:
return True
- elif e.modifiers() & Qt.ControlModifier:
+ elif e.modifiers() & Qt.KeyboardModifier.ControlModifier:
if mode == usertypes.KeyMode.passthrough:
return False
@@ -170,21 +172,6 @@ class TabEventFilter(QObject):
return False
- def _handle_key_release(self, e):
- """Ignore repeated key release events going to the website.
-
- WORKAROUND for https://bugreports.qt.io/browse/QTBUG-77208
-
- Args:
- e: The QKeyEvent.
-
- Return:
- True if the event should be filtered, False otherwise.
- """
- return (e.isAutoRepeat() and
- not qtutils.version_check('5.14', compiled=False) and
- objects.backend == usertypes.Backend.QtWebEngine)
-
def _mousepress_insertmode_cb(self, elem):
"""Check if the clicked element is editable."""
if elem is None:
@@ -240,17 +227,17 @@ class TabEventFilter(QObject):
True if the event should be filtered, False otherwise.
"""
if (not config.val.input.mouse.back_forward_buttons and
- e.button() in [Qt.XButton1, Qt.XButton2]):
+ e.button() in [Qt.MouseButton.XButton1, Qt.MouseButton.XButton2]):
# Back and forward on mice are disabled
return
- if e.button() in [Qt.XButton1, Qt.LeftButton]:
+ if e.button() in [Qt.MouseButton.XButton1, Qt.MouseButton.LeftButton]:
# Back button on mice which have it, or rocker gesture
if self._tab.history.can_go_back():
self._tab.history.back()
else:
message.error("At beginning of history.")
- elif e.button() in [Qt.XButton2, Qt.RightButton]:
+ elif e.button() in [Qt.MouseButton.XButton2, Qt.MouseButton.RightButton]:
# Forward button on mice which have it, or rocker gesture
if self._tab.history.can_go_forward():
self._tab.history.forward()