From 1ee66dd5ae18551d9e93ef2d6b32d7b434283fad Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 29 Jun 2023 14:12:02 +0200 Subject: qt6 mypy: Fix first batch of various issues 50 -> 40 errors --- qutebrowser/app.py | 6 ++---- qutebrowser/browser/browsertab.py | 5 +++-- qutebrowser/browser/webengine/interceptor.py | 6 +++++- qutebrowser/browser/webengine/webenginequtescheme.py | 12 +++++++----- qutebrowser/keyinput/eventfilter.py | 2 +- qutebrowser/mainwindow/statusbar/bar.py | 3 ++- qutebrowser/mainwindow/tabbedbrowser.py | 2 +- 7 files changed, 21 insertions(+), 15 deletions(-) diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 664fb4fa9..dae25e34c 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -563,11 +563,9 @@ class Application(QApplication): self.launch_time = datetime.datetime.now() self.focusObjectChanged.connect(self.on_focus_object_changed) - try: - self.setAttribute(Qt.ApplicationAttribute.AA_UseHighDpiPixmaps, True) - except AttributeError: + if machinery.IS_QT5: # default and removed in Qt 6 - pass + self.setAttribute(Qt.ApplicationAttribute.AA_UseHighDpiPixmaps, True) self.new_window.connect(self._on_new_window) diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index c962f4ec8..7ec259d20 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -1312,12 +1312,13 @@ class AbstractTab(QWidget): pic = self._widget.grab() else: qtutils.ensure_valid(rect) - pic = self._widget.grab(rect) + # FIXME:v4 ignore needed for QtWebKit + pic = self._widget.grab(rect) # type: ignore[arg-type] if pic.isNull(): return None - return pic + return cast(QPixmap, pic) # FIXME:v4 cast needed for QtWebKit def __repr__(self) -> str: try: diff --git a/qutebrowser/browser/webengine/interceptor.py b/qutebrowser/browser/webengine/interceptor.py index bd1feaad1..5781a281d 100644 --- a/qutebrowser/browser/webengine/interceptor.py +++ b/qutebrowser/browser/webengine/interceptor.py @@ -34,7 +34,11 @@ class WebEngineRequest(interceptors.Request): """QtWebEngine-specific request interceptor functionality.""" - _WHITELISTED_REQUEST_METHODS = {QByteArray(b'GET'), QByteArray(b'HEAD')} + _WHITELISTED_REQUEST_METHODS = { + # FIXME:mypy PyQt6-stubs issue? + QByteArray(b'GET'), # type: ignore[call-overload] + QByteArray(b'HEAD'), # type: ignore[call-overload] + } def __init__(self, *args, webengine_info, **kwargs): super().__init__(*args, **kwargs) diff --git a/qutebrowser/browser/webengine/webenginequtescheme.py b/qutebrowser/browser/webengine/webenginequtescheme.py index 6fb809f6d..fd21408b6 100644 --- a/qutebrowser/browser/webengine/webenginequtescheme.py +++ b/qutebrowser/browser/webengine/webenginequtescheme.py @@ -19,7 +19,7 @@ """QtWebEngine specific qute://* handlers and glue code.""" -from qutebrowser.qt.core import QBuffer, QIODevice, QUrl +from qutebrowser.qt.core import QBuffer, QIODevice, QUrl, QByteArray from qutebrowser.qt.webenginecore import (QWebEngineUrlSchemeHandler, QWebEngineUrlRequestJob, QWebEngineUrlScheme) @@ -27,6 +27,8 @@ from qutebrowser.qt.webenginecore import (QWebEngineUrlSchemeHandler, from qutebrowser.browser import qutescheme from qutebrowser.utils import log, qtutils +# FIXME:mypy PyQt6-stubs issue? +_QUTE = QByteArray(b'qute') # type: ignore[call-overload] class QuteSchemeHandler(QWebEngineUrlSchemeHandler): @@ -35,9 +37,9 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler): def install(self, profile): """Install the handler for qute:// URLs on the given profile.""" if QWebEngineUrlScheme is not None: - assert QWebEngineUrlScheme.schemeByName(b'qute') is not None + assert QWebEngineUrlScheme.schemeByName(_QUTE) is not None - profile.installUrlSchemeHandler(b'qute', self) + profile.installUrlSchemeHandler(_QUTE, self) def _check_initiator(self, job): """Check whether the initiator of the job should be allowed. @@ -135,8 +137,8 @@ def init(): classes. """ if QWebEngineUrlScheme is not None: - assert not QWebEngineUrlScheme.schemeByName(b'qute').name() - scheme = QWebEngineUrlScheme(b'qute') + assert not QWebEngineUrlScheme.schemeByName(_QUTE).name() + scheme = QWebEngineUrlScheme(_QUTE) scheme.setFlags( QWebEngineUrlScheme.Flag.LocalScheme | QWebEngineUrlScheme.Flag.LocalAccessAllowed) diff --git a/qutebrowser/keyinput/eventfilter.py b/qutebrowser/keyinput/eventfilter.py index 6688e62eb..42f104cfe 100644 --- a/qutebrowser/keyinput/eventfilter.py +++ b/qutebrowser/keyinput/eventfilter.py @@ -101,7 +101,7 @@ class EventFilter(QObject): # we're not interested in it anymore. return False - typ = event.type() + typ = cast(QEvent.Type, event.type()) if typ not in self._handlers: return False diff --git a/qutebrowser/mainwindow/statusbar/bar.py b/qutebrowser/mainwindow/statusbar/bar.py index eb65a0928..26ff4a340 100644 --- a/qutebrowser/mainwindow/statusbar/bar.py +++ b/qutebrowser/mainwindow/statusbar/bar.py @@ -22,7 +22,8 @@ import enum import dataclasses -from qutebrowser.qt.core import pyqtSignal, pyqtSlot, pyqtProperty, Qt, QSize, QTimer +from qutebrowser.qt.core import pyqtSignal, pyqtSlot, Qt, QSize, QTimer +from qutebrowser.qt.core import pyqtProperty # type: ignore[attr-defined] from qutebrowser.qt.widgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy from qutebrowser.browser import browsertab diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index 770e6a039..df79752ea 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -221,7 +221,7 @@ class TabbedBrowser(QWidget): self._tab_insert_idx_right = -1 self.is_shutting_down = False self.widget.tabCloseRequested.connect(self.on_tab_close_requested) - self.widget.new_tab_requested.connect(self.tabopen) + self.widget.new_tab_requested.connect(self.tabopen) # type: ignore[arg-type] self.widget.currentChanged.connect(self._on_current_changed) self.cur_fullscreen_requested.connect(self.widget.tab_bar().maybe_hide) -- cgit v1.2.3-54-g00ecf