diff options
author | toofar <toofar@spalge.com> | 2022-09-11 11:50:25 +1200 |
---|---|---|
committer | toofar <toofar@spalge.com> | 2022-09-11 17:22:50 +1200 |
commit | a70954a65f6ed86a5fa0146078ed4dfff1cffc00 (patch) | |
tree | 42e10546f2f96c9c4fd341afd95d5f2b8c3bbaca | |
parent | 5293009413b3eb2ba648876455bcea2755dd5a1b (diff) | |
download | qutebrowser-a70954a65f6ed86a5fa0146078ed4dfff1cffc00.tar.gz qutebrowser-a70954a65f6ed86a5fa0146078ed4dfff1cffc00.zip |
mypy: fix KeyboardModifier type in webelem?
Conditionally define a type so it can work with PyQt5s mismatch of enums
and flags and PyQt6s enums.
-rw-r--r-- | qutebrowser/browser/webelem.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/qutebrowser/browser/webelem.py b/qutebrowser/browser/webelem.py index a734f15b8..91e82ae0c 100644 --- a/qutebrowser/browser/webelem.py +++ b/qutebrowser/browser/webelem.py @@ -22,6 +22,7 @@ from typing import Iterator, Optional, Set, TYPE_CHECKING, Union, Dict import collections.abc +from qutebrowser.qt import machinery from qutebrowser.qt.core import QUrl, Qt, QEvent, QTimer, QRect, QPointF from qutebrowser.qt.gui import QMouseEvent @@ -35,6 +36,11 @@ if TYPE_CHECKING: JsValueType = Union[int, float, str, None] +if machinery.IS_QT6: + KeybordModifierType = Qt.KeyboardModifier +else: + KeybordModifierType = Union[Qt.KeyboardModifiers, Qt.KeyboardModifier] + class Error(Exception): @@ -345,7 +351,7 @@ class AbstractWebElement(collections.abc.MutableMapping): # type: ignore[type-a log.webelem.debug("Sending fake click to {!r} at position {} with " "target {}".format(self, pos, click_target)) - target_modifiers: Dict[usertypes.ClickTarget, Qt.KeyboardModifier] = { + target_modifiers: Dict[usertypes.ClickTarget, KeybordModifierType] = { usertypes.ClickTarget.normal: Qt.KeyboardModifier.NoModifier, usertypes.ClickTarget.window: Qt.KeyboardModifier.AltModifier | Qt.KeyboardModifier.ShiftModifier, usertypes.ClickTarget.tab: Qt.KeyboardModifier.ControlModifier, |