diff options
Diffstat (limited to 'qutebrowser/utils/debug.py')
-rw-r--r-- | qutebrowser/utils/debug.py | 15 |
1 files changed, 9 insertions, 6 deletions
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. |