summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy <jimmy@spalge.com>2022-04-17 10:59:59 +1200
committertoofar <toofar@spalge.com>2022-07-03 16:51:04 +1200
commit78b3f9695c696e9f1413f77f10af91df6dcf2f88 (patch)
tree915560e673c403a7ac2815b3a05f9fbcbc50dfbf
parentb82769710c9fb63193654f3f5b0153c1da51c3cd (diff)
downloadqutebrowser-78b3f9695c696e9f1413f77f10af91df6dcf2f88.tar.gz
qutebrowser-78b3f9695c696e9f1413f77f10af91df6dcf2f88.zip
Some leftovers and special cases pyqt wrapper re-write
Imports in TYPE_CHECKING conditions are not consistently handled, possibly when they are only used in string types. Not sure what happened with the duplicates in the logging modules. Found by grepping 'Qt and "Qt
-rw-r--r--qutebrowser/browser/browsertab.py34
-rw-r--r--qutebrowser/utils/log.py1
-rw-r--r--tests/end2end/fixtures/testprocess.py3
-rw-r--r--tests/unit/misc/test_ipc.py3
-rw-r--r--tests/unit/utils/test_log.py2
5 files changed, 25 insertions, 18 deletions
diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py
index 0b5e79573..7f725aa84 100644
--- a/qutebrowser/browser/browsertab.py
+++ b/qutebrowser/browser/browsertab.py
@@ -17,7 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-"""Base class for a wrapper over QWebView/QWebEngineView."""
+"""Base class for a wrapper over webkitwidgets.QWebView/webenginecore.QWebEngineView."""
import enum
import itertools
@@ -28,10 +28,7 @@ from typing import (cast, TYPE_CHECKING, Any, Callable, Iterable, List, Optional
from qutebrowser.qt import widgets, printsupport, network
if TYPE_CHECKING:
- from qutebrowser.qt.webkit import QWebHistory, QWebHistoryItem
- from qutebrowser.qt.webkitwidgets import QWebPage, QWebView
- from qutebrowser.qt.webenginewidgets import (
- QWebEngineHistory, QWebEngineHistoryItem, QWebEnginePage, QWebEngineView)
+ from qutebrowser.qt import webkit, webkitwidgets, webenginecore
from qutebrowser.keyinput import modeman
from qutebrowser.config import config, websettings
@@ -47,7 +44,7 @@ if TYPE_CHECKING:
tab_id_gen = itertools.count(0)
-_WidgetType = Union["QWebView", "QWebEngineView"]
+_WidgetType = Union["webkitwidgets.QWebView", "webenginecore.QWebEngineView"]
def create(win_id: int,
@@ -147,7 +144,12 @@ class AbstractAction:
"""Attribute ``action`` of AbstractTab for Qt WebActions."""
- action_base: Type[Union['QWebPage.WebAction', 'QWebEnginePage.WebAction']]
+ action_base: Type[
+ Union[
+ 'webkitwidgets.QWebPage.WebAction',
+ 'webenginecore.QWebEnginePage.WebAction',
+ ]
+ ]
def __init__(self, tab: 'AbstractTab') -> None:
self._widget = cast(_WidgetType, None)
@@ -691,7 +693,7 @@ class AbstractHistoryPrivate:
"""Private API related to the history."""
- _history: Union["QWebHistory", "QWebEngineHistory"]
+ _history: Union["webkit.QWebHistory", "webenginecore.QWebEngineHistory"]
def serialize(self) -> bytes:
"""Serialize into an opaque format understood by self.deserialize."""
@@ -712,13 +714,19 @@ class AbstractHistory:
def __init__(self, tab: 'AbstractTab') -> None:
self._tab = tab
- self._history = cast(Union['QWebHistory', 'QWebEngineHistory'], None)
+ self._history = cast(
+ Union['webkit.QWebHistory', 'webenginecore.QWebEngineHistory'], None
+ )
self.private_api = AbstractHistoryPrivate()
def __len__(self) -> int:
raise NotImplementedError
- def __iter__(self) -> Iterable[Union['QWebHistoryItem', 'QWebEngineHistoryItem']]:
+ def __iter__(
+ self,
+ ) -> Iterable[
+ Union['webkit.QWebHistoryItem', 'webenginecore.QWebEngineHistoryItem']
+ ]:
raise NotImplementedError
def _check_count(self, count: int) -> None:
@@ -729,7 +737,7 @@ class AbstractHistory:
def current_idx(self) -> int:
raise NotImplementedError
- def current_item(self) -> Union['QWebHistoryItem', 'QWebEngineHistoryItem']:
+ def current_item(self) -> Union['webkit.QWebHistoryItem', 'webenginecore.QWebEngineHistoryItem']:
raise NotImplementedError
def back(self, count: int = 1) -> None:
@@ -964,7 +972,7 @@ class AbstractTabPrivate:
class AbstractTab(widgets.QWidget):
- """An adapter for QWebView/QWebEngineView representing a single tab."""
+ """An adapter for webkitwidgets.QWebView/webenginecore.QWebEngineView representing a single tab."""
#: Signal emitted when a website requests to close this tab.
window_close_requested = core.pyqtSignal()
@@ -1058,7 +1066,7 @@ class AbstractTab(widgets.QWidget):
self.before_load_started.connect(self._on_before_load_started)
- def _set_widget(self, widget: Union["QWebView", "QWebEngineView"]) -> None:
+ def _set_widget(self, widget: Union["webkitwidgets.QWebView", "webenginecore.QWebEngineView"]) -> None:
# pylint: disable=protected-access
self._widget = widget
self.data.splitter = miscwidgets.InspectorSplitter(
diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py
index c0da78b90..328ca45a4 100644
--- a/qutebrowser/utils/log.py
+++ b/qutebrowser/utils/log.py
@@ -36,6 +36,7 @@ from typing import (TYPE_CHECKING, Any, Iterator, Mapping, MutableSequence,
Optional, Set, Tuple, Union)
from qutebrowser.qt import core
+
# Optional imports
try:
import colorama
diff --git a/tests/end2end/fixtures/testprocess.py b/tests/end2end/fixtures/testprocess.py
index 822d57b7a..a85f9644d 100644
--- a/tests/end2end/fixtures/testprocess.py
+++ b/tests/end2end/fixtures/testprocess.py
@@ -26,12 +26,11 @@ import dataclasses
import pytest
import pytestqt.wait_signal
-from qutebrowser.qt import test
from helpers import testutils
from qutebrowser.utils import utils as quteutils
-from qutebrowser.qt import core
+from qutebrowser.qt import core, test
class InvalidLine(Exception):
diff --git a/tests/unit/misc/test_ipc.py b/tests/unit/misc/test_ipc.py
index a58920544..5a7489e38 100644
--- a/tests/unit/misc/test_ipc.py
+++ b/tests/unit/misc/test_ipc.py
@@ -30,13 +30,12 @@ from unittest import mock
from typing import Optional, List
import pytest
-from qutebrowser.qt import test
import qutebrowser
from qutebrowser.misc import ipc
from qutebrowser.utils import standarddir, utils, version
from helpers import stubs, testutils
-from qutebrowser.qt import network, core
+from qutebrowser.qt import network, core, test
pytestmark = pytest.mark.usefixtures('qapp')
diff --git a/tests/unit/utils/test_log.py b/tests/unit/utils/test_log.py
index 9d2f5cc5b..f00c5cee3 100644
--- a/tests/unit/utils/test_log.py
+++ b/tests/unit/utils/test_log.py
@@ -28,9 +28,9 @@ import dataclasses
import pytest
import _pytest.logging # pylint: disable=import-private-name
-from qutebrowser.qt import core
from qutebrowser import qutebrowser
+from qutebrowser.qt import core
from qutebrowser.utils import log
from qutebrowser.misc import utilcmds
from qutebrowser.api import cmdutils