summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2023-06-29 14:41:29 +0200
committerFlorian Bruhin <me@the-compiler.org>2023-06-29 21:10:01 +0200
commit09df332997689888d932fcccfd15d147b4fe7d44 (patch)
treed7c719c5964ec8d53a79cb8836e8a8027443f28b
parentc42ce858201bb67a464ee9cf12cde03643b45152 (diff)
downloadqutebrowser-09df332997689888d932fcccfd15d147b4fe7d44.tar.gz
qutebrowser-09df332997689888d932fcccfd15d147b4fe7d44.zip
qt6 mypy: Fix typing around qenum_key
36 -> 30 errors
-rw-r--r--qutebrowser/browser/webengine/notification.py6
-rw-r--r--qutebrowser/keyinput/eventfilter.py2
-rw-r--r--qutebrowser/misc/miscwidgets.py4
-rw-r--r--qutebrowser/utils/debug.py15
4 files changed, 15 insertions, 12 deletions
diff --git a/qutebrowser/browser/webengine/notification.py b/qutebrowser/browser/webengine/notification.py
index 9afce02f1..f5c9fb92e 100644
--- a/qutebrowser/browser/webengine/notification.py
+++ b/qutebrowser/browser/webengine/notification.py
@@ -635,7 +635,7 @@ class HerbeNotificationAdapter(AbstractNotificationAdapter):
def _on_error(self, error: QProcess.ProcessError) -> None:
if error == QProcess.ProcessError.Crashed:
return
- name = debug.qenum_key(QProcess.ProcessError, error)
+ name = debug.qenum_key(QProcess, error)
self.error.emit(f'herbe process error: {name}')
@pyqtSlot(int)
@@ -917,8 +917,8 @@ class DBusNotificationAdapter(AbstractNotificationAdapter):
typ = msg.type()
if typ != expected_type:
- type_str = debug.qenum_key(QDBusMessage.MessageType, typ)
- expected_type_str = debug.qenum_key(QDBusMessage.MessageType, expected_type)
+ type_str = debug.qenum_key(QDBusMessage, typ)
+ expected_type_str = debug.qenum_key(QDBusMessage, expected_type)
raise Error(
f"Got a message of type {type_str} but expected {expected_type_str}"
f"(args: {msg.arguments()})")
diff --git a/qutebrowser/keyinput/eventfilter.py b/qutebrowser/keyinput/eventfilter.py
index 42f104cfe..a808c4dd8 100644
--- a/qutebrowser/keyinput/eventfilter.py
+++ b/qutebrowser/keyinput/eventfilter.py
@@ -93,7 +93,7 @@ class EventFilter(QObject):
except AttributeError: # might not be fully initialized yet
source = type(obj).__name__
- evtype = debug.qenum_key(QEvent.Type, event.type())
+ evtype = debug.qenum_key(QEvent, cast(QEvent.Type, event.type()))
log.misc.debug(f"{source} got event: {evtype}")
if not isinstance(obj, QWindow):
diff --git a/qutebrowser/misc/miscwidgets.py b/qutebrowser/misc/miscwidgets.py
index a50be44ec..bbd0e68c2 100644
--- a/qutebrowser/misc/miscwidgets.py
+++ b/qutebrowser/misc/miscwidgets.py
@@ -464,8 +464,8 @@ class KeyTesterWidget(QWidget):
lines = [
str(keyutils.KeyInfo.from_event(e)),
'',
- f"key: {debug.qenum_key(Qt.Key, e.key(), klass=Qt.Key)}",
- f"modifiers: {debug.qflags_key(Qt.KeyboardModifier, e.modifiers())}",
+ f"key: {debug.qenum_key(Qt, e.key(), klass=Qt.Key)}",
+ f"modifiers: {debug.qflags_key(Qt, e.modifiers())}",
'text: {!r}'.format(e.text()),
]
self._label.setText('\n'.join(lines))
diff --git a/qutebrowser/utils/debug.py b/qutebrowser/utils/debug.py
index 47cbebb35..1373404ca 100644
--- a/qutebrowser/utils/debug.py
+++ b/qutebrowser/utils/debug.py
@@ -33,7 +33,7 @@ from qutebrowser.qt.core import Qt, QEvent, QMetaMethod, QObject, pyqtBoundSigna
from qutebrowser.utils import log, utils, qtutils, objreg
from qutebrowser.misc import objects
-from qutebrowser.qt import sip
+from qutebrowser.qt import sip, machinery
def log_events(klass: Type[QObject]) -> Type[QObject]:
@@ -99,7 +99,10 @@ def log_signals(obj: QObject) -> QObject:
return obj
-_EnumValueType = Union[sip.simplewrapper, int]
+if machinery.IS_QT6:
+ _EnumValueType = enum.Enum
+else:
+ _EnumValueType = Union[sip.simplewrapper, int]
def _qenum_key_python(
@@ -124,14 +127,14 @@ def _qenum_key_python(
def _qenum_key_qt(
- base: Type[_EnumValueType],
+ base: Type[sip.simplewrapper],
value: _EnumValueType,
klass: Type[_EnumValueType],
) -> Optional[str]:
# On PyQt5, or PyQt6 with int passed: Try to ask Qt's introspection.
# However, not every Qt enum value has a staticMetaObject
try:
- meta_obj = base.staticMetaObject # type: ignore[union-attr]
+ meta_obj = base.staticMetaObject # type: ignore[attr-defined]
idx = meta_obj.indexOfEnumerator(klass.__name__)
meta_enum = meta_obj.enumerator(idx)
key = meta_enum.valueToKey(int(value)) # type: ignore[arg-type]
@@ -149,7 +152,7 @@ def _qenum_key_qt(
def qenum_key(
- base: Type[_EnumValueType],
+ base: Type[sip.simplewrapper],
value: _EnumValueType,
klass: Type[_EnumValueType] = None,
) -> str:
@@ -183,7 +186,7 @@ def qenum_key(
return '0x{:04x}'.format(int(value)) # type: ignore[arg-type]
-def qflags_key(base: Type[_EnumValueType],
+def qflags_key(base: Type[sip.simplewrapper],
value: _EnumValueType,
klass: Type[_EnumValueType] = None) -> str:
"""Convert a Qt QFlags value to its keys as string.