summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortoofar <toofar@spalge.com>2022-09-11 11:50:25 +1200
committertoofar <toofar@spalge.com>2022-09-11 17:22:50 +1200
commita70954a65f6ed86a5fa0146078ed4dfff1cffc00 (patch)
tree42e10546f2f96c9c4fd341afd95d5f2b8c3bbaca
parent5293009413b3eb2ba648876455bcea2755dd5a1b (diff)
downloadqutebrowser-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.py8
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,