diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-08-26 16:44:25 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-08-26 16:44:25 +0200 |
commit | b13f2eb4485b03cf237ab699da88620ba88e7b4c (patch) | |
tree | 8a395857a32dcb6781a0c986610da0a889e559d2 | |
parent | 2d9e9241265c526ebc97613af8a5063160daaee8 (diff) | |
download | qutebrowser-b13f2eb4485b03cf237ab699da88620ba88e7b4c.tar.gz qutebrowser-b13f2eb4485b03cf237ab699da88620ba88e7b4c.zip |
Blanket PyQt5 -> PyQt6
281 files changed, 573 insertions, 573 deletions
@@ -2,7 +2,7 @@ [MASTER] ignore=resources.py -extension-pkg-whitelist=PyQt5,sip +extension-pkg-whitelist=PyQt6,sip load-plugins=qute_pylint.config, qute_pylint.modeline, qute_pylint.openencoding, @@ -74,7 +74,7 @@ max-args=10 valid-metaclass-classmethod-first-arg=cls [TYPECHECK] -ignored-modules=PyQt5,PyQt5.QtWebKit +ignored-modules=PyQt6,PyQt6.QtWebKit ignored-classes=DummyBox,__cause__ [IMPORTS] diff --git a/README.asciidoc b/README.asciidoc index 5c87df857..dc245df8b 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -7,7 +7,7 @@ qutebrowser =========== // QUTE_WEB_HIDE -image:icons/qutebrowser-64x64.png[qutebrowser logo] *A keyboard-driven, vim-like browser based on PyQt5 and Qt.* +image:icons/qutebrowser-64x64.png[qutebrowser logo] *A keyboard-driven, vim-like browser based on PyQt6 and Qt.* image:https://github.com/qutebrowser/qutebrowser/workflows/CI/badge.svg["Build Status", link="https://github.com/qutebrowser/qutebrowser/actions?query=workflow%3ACI"] image:https://codecov.io/github/qutebrowser/qutebrowser/coverage.svg?branch=master["coverage badge",link="https://codecov.io/github/qutebrowser/qutebrowser?branch=master"] @@ -16,7 +16,7 @@ link:https://www.qutebrowser.org[website] | link:https://blog.qutebrowser.org[bl // QUTE_WEB_HIDE_END qutebrowser is a keyboard-focused browser with a minimal GUI. It's based -on Python and PyQt5 and free software, licensed under the GPL. +on Python and PyQt6 and free software, licensed under the GPL. It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl. diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index 57fc9d4e8..e43a40b04 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -504,7 +504,7 @@ Fixed missing changelog file) caused in a crash due to an inconsistent behavior in those versions of Python. This is now handled properly by qutebrowser. - In v2.0.0, support for importing the `sip` dependency as `sip` rather than - `PyQt5.sip` was dropped, since upstream claims it should be used as `PyQt5.sip` + `PyQt6.sip` was dropped, since upstream claims it should be used as `PyQt6.sip` ever since PyQt 5.11. However, some distributions still package sip as a global `sip` package. Thus, support for a global `sip` package is now reintroduced. - The changelog for v2.0.0 claimed that `hints.leave_on_load` was set to `true` @@ -1496,7 +1496,7 @@ Fixed - When quitting qutebrowser, components are now cleaned up differently. This should fix certain (rare) segmentation faults and exceptions when quitting, - especially with the new exit scheme introduced in in PyQt5 5.13.1. + especially with the new exit scheme introduced in in PyQt6 5.13.1. - Added a workaround for per-domain settings (e.g. a JavaScript whitelist) not being applied in some scenarios with Qt 5.13 and above. - Added additional site-specific quirk for WhatsApp Web. @@ -1784,7 +1784,7 @@ Changed ~~~~~~~ - Updated dependencies for Windows/macOS releases: - - PyQt5 5.12.3 / PyQtWebEngine 5.12.1 + - PyQt6 5.12.3 / PyQtWebEngine 5.12.1 - Qt 5.12.4, which includes security fixes up to Chromium 74.0.3729.157 - Python 3.7.4 - OpenSSL 1.1.1 @@ -2341,7 +2341,7 @@ Fixed - Crash in a workaround for a Qt 5.11 bug in rare circumstances. - Workaround for a Qt bug which preserves searches between page loads. -- In v1.3.2 a dependency on the `PyQt5.QtQuickWidgets` module was accidentally +- In v1.3.2 a dependency on the `PyQt6.QtQuickWidgets` module was accidentally introduced. Since that module isn't packaged everywhere, it's been removed again. @@ -2465,7 +2465,7 @@ v1.2.1 (2018-03-14) Fixed ~~~~~ -- qutebrowser now starts properly when the PyQt5 QOpenGLFunctions package wasn't +- qutebrowser now starts properly when the PyQt6 QOpenGLFunctions package wasn't found. - The keybinding cheatsheet on the quickstart page is now loaded from a local `qute://` URL again. @@ -2869,8 +2869,8 @@ Major changes * New dependency on the https://www.attrs.org/[attrs] project (packaged as `python-attr` in some distributions). * The depedency on PyOpenGL (when using QtWebEngine) got removed. Note - that PyQt5.QtOpenGL is still a dependency. - * PyQt5.QtOpenGL is now always required, even with QtWebKit. + that PyQt6.QtOpenGL is still a dependency. + * PyQt6.QtOpenGL is now always required, even with QtWebKit. - The QtWebEngine backend is now used by default. Note this means that QtWebEngine now should be a required dependency, and QtWebKit (if new enough) should be changed to an optional dependency. @@ -2965,8 +2965,8 @@ v0.11.0 (2017-07-04) New dependencies ~~~~~~~~~~~~~~~~ -- New dependency on `PyQt5.QtOpenGL` if QtWebEngine is used. QtWebEngine depends - on QtOpenGL already, but on distributions packaging split PyQt5 wrappers, the +- New dependency on `PyQt6.QtOpenGL` if QtWebEngine is used. QtWebEngine depends + on QtOpenGL already, but on distributions packaging split PyQt6 wrappers, the wrappers for QtOpenGL are now required. - New dependency on `PyOpenGL` if QtWebEngine is used. diff --git a/doc/contributing.asciidoc b/doc/contributing.asciidoc index 1f87e9163..ac9e448a3 100644 --- a/doc/contributing.asciidoc +++ b/doc/contributing.asciidoc @@ -545,7 +545,7 @@ Setting up a Windows Development Environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Install https://www.python.org/downloads/release/python-362/[Python 3.6]. -* Install PyQt via `pip install PyQt5`. +* Install PyQt via `pip install PyQt6`. * Create a file at `C:\Windows\system32\python3.bat` with the following content (adjust the path as necessary): `@C:\Python36\python %*`. This will make the Python 3.6 interpreter available as `python3`, which is used by various development scripts. diff --git a/doc/qutebrowser.1.asciidoc b/doc/qutebrowser.1.asciidoc index 8db231add..931be929b 100644 --- a/doc/qutebrowser.1.asciidoc +++ b/doc/qutebrowser.1.asciidoc @@ -10,7 +10,7 @@ :homepage: https://www.qutebrowser.org/ == NAME -qutebrowser - a keyboard-driven, vim-like browser based on PyQt5. +qutebrowser - a keyboard-driven, vim-like browser based on PyQt6. == SYNOPSIS *qutebrowser* ['-OPTION' ['...']] [':COMMAND' ['...']] ['URL' ['...']] diff --git a/misc/nsis/qutebrowser.nsi b/misc/nsis/qutebrowser.nsi index 51f3b623d..f1e7e7bd9 100755 --- a/misc/nsis/qutebrowser.nsi +++ b/misc/nsis/qutebrowser.nsi @@ -57,7 +57,7 @@ ShowUninstDetails hide !define URL_UPDATE "https://qutebrowser.org/doc/install.html"
!define HELP_LINK "https://qutebrowser.org/doc/help/"
!define CONTACT "mail@qutebrowser.org"
-!define COMMENTS "A keyboard-driven, vim-like browser based on PyQt5."
+!define COMMENTS "A keyboard-driven, vim-like browser based on PyQt6."
!define LANGID "1033" ; U.S. English
!define MIN_WIN_VER "8"
!define SETUP_MUTEX "${PRODUCT_NAME} Setup Mutex" ; do not change this between program versions!
diff --git a/misc/org.qutebrowser.qutebrowser.appdata.xml b/misc/org.qutebrowser.qutebrowser.appdata.xml index 7c382cbb3..9995599a5 100644 --- a/misc/org.qutebrowser.qutebrowser.appdata.xml +++ b/misc/org.qutebrowser.qutebrowser.appdata.xml @@ -10,7 +10,7 @@ <p> qutebrowser is a keyboard-focused browser with a minimal GUI. It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl, - and is based on Python and PyQt5. + and is based on Python and PyQt6. </p> </description> <categories> diff --git a/misc/org.qutebrowser.qutebrowser.desktop b/misc/org.qutebrowser.qutebrowser.desktop index 52144b3c5..8d32b3def 100644 --- a/misc/org.qutebrowser.qutebrowser.desktop +++ b/misc/org.qutebrowser.qutebrowser.desktop @@ -39,9 +39,9 @@ GenericName[ta]=இணைய உலாவி GenericName[th]=เว็บเบราว์เซอร์ GenericName[tr]=Web Tarayıcı GenericName[uk]=Навігатор Тенет瀏覽器 -Comment=A keyboard-driven, vim-like browser based on PyQt5 -Comment[de]=Ein Tastatur-gesteuerter, vim-ähnlicher Browser basierend auf PyQt5 -Comment[it]= Un browser web vim-like utilizzabile da tastiera basato su PyQt5 +Comment=A keyboard-driven, vim-like browser based on PyQt6 +Comment[de]=Ein Tastatur-gesteuerter, vim-ähnlicher Browser basierend auf PyQt6 +Comment[it]= Un browser web vim-like utilizzabile da tastiera basato su PyQt6 Icon=qutebrowser Type=Application Categories=Network;WebBrowser; diff --git a/misc/qutebrowser.spec b/misc/qutebrowser.spec index ffb17d371..89eed788b 100644 --- a/misc/qutebrowser.spec +++ b/misc/qutebrowser.spec @@ -30,7 +30,7 @@ def get_data_files(): def get_hidden_imports(): - imports = ['PyQt5.QtOpenGL', 'PyQt5._QOpenGLFunctions_2_0'] + imports = ['PyQt6.QtOpenGL', 'PyQt6._QOpenGLFunctions_2_0'] for info in loader.walk_components(): imports.append(info.name) return imports @@ -84,5 +84,5 @@ coll = COLLECT(exe, app = BUNDLE(coll, name='qutebrowser.app', icon=icon, - # https://github.com/pyinstaller/pyinstaller/blob/b78bfe530cdc2904f65ce098bdf2de08c9037abb/PyInstaller/hooks/hook-PyQt5.QtWebEngineWidgets.py#L24 + # https://github.com/pyinstaller/pyinstaller/blob/b78bfe530cdc2904f65ce098bdf2de08c9037abb/PyInstaller/hooks/hook-PyQt6.QtWebEngineWidgets.py#L24 bundle_identifier='org.qt-project.Qt.QtWebEngineCore') diff --git a/misc/requirements/requirements-mypy.txt b/misc/requirements/requirements-mypy.txt index 1ef2a054d..a7e47b6ec 100644 --- a/misc/requirements/requirements-mypy.txt +++ b/misc/requirements/requirements-mypy.txt @@ -13,7 +13,7 @@ mypy==0.910 mypy-extensions==0.4.3 pluggy==0.13.1 Pygments==2.10.0 -PyQt5-stubs==5.15.2.0 +PyQt6-stubs==5.15.2.0 toml==0.10.2 types-dataclasses==0.1.7 types-PyYAML==5.4.6 diff --git a/misc/requirements/requirements-mypy.txt-raw b/misc/requirements/requirements-mypy.txt-raw index 4baeec11f..0a70ce7df 100644 --- a/misc/requirements/requirements-mypy.txt-raw +++ b/misc/requirements/requirements-mypy.txt-raw @@ -2,7 +2,7 @@ mypy lxml # For HTML reports diff-cover -PyQt5-stubs +PyQt6-stubs types-dataclasses types-PyYAML diff --git a/misc/requirements/requirements-pyqt-5.12.txt b/misc/requirements/requirements-pyqt-5.12.txt index 890306127..638f2aae5 100644 --- a/misc/requirements/requirements-pyqt-5.12.txt +++ b/misc/requirements/requirements-pyqt-5.12.txt @@ -1,5 +1,5 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -PyQt5==5.12.3 # rq.filter: < 5.13 -PyQt5-sip==12.9.0 +PyQt6==5.12.3 # rq.filter: < 5.13 +PyQt6-sip==12.9.0 PyQtWebEngine==5.12.1 # rq.filter: < 5.13 diff --git a/misc/requirements/requirements-pyqt-5.12.txt-raw b/misc/requirements/requirements-pyqt-5.12.txt-raw index f127ba42f..39d400c4c 100644 --- a/misc/requirements/requirements-pyqt-5.12.txt-raw +++ b/misc/requirements/requirements-pyqt-5.12.txt-raw @@ -1,4 +1,4 @@ -#@ filter: PyQt5 < 5.13 +#@ filter: PyQt6 < 5.13 #@ filter: PyQtWebEngine < 5.13 -PyQt5 >= 5.12, < 5.13 +PyQt6 >= 5.12, < 5.13 PyQtWebEngine >= 5.12, < 5.13 diff --git a/misc/requirements/requirements-pyqt-5.13.txt b/misc/requirements/requirements-pyqt-5.13.txt index 5f4da4758..f60eb9d48 100644 --- a/misc/requirements/requirements-pyqt-5.13.txt +++ b/misc/requirements/requirements-pyqt-5.13.txt @@ -1,5 +1,5 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -PyQt5==5.13.2 # rq.filter: < 5.14 -PyQt5-sip==12.9.0 +PyQt6==5.13.2 # rq.filter: < 5.14 +PyQt6-sip==12.9.0 PyQtWebEngine==5.13.2 # rq.filter: < 5.14 diff --git a/misc/requirements/requirements-pyqt-5.13.txt-raw b/misc/requirements/requirements-pyqt-5.13.txt-raw index e60db7edb..350f2a332 100644 --- a/misc/requirements/requirements-pyqt-5.13.txt-raw +++ b/misc/requirements/requirements-pyqt-5.13.txt-raw @@ -1,4 +1,4 @@ -#@ filter: PyQt5 < 5.14 +#@ filter: PyQt6 < 5.14 #@ filter: PyQtWebEngine < 5.14 -PyQt5 >= 5.13, < 5.14 +PyQt6 >= 5.13, < 5.14 PyQtWebEngine >= 5.13, < 5.14 diff --git a/misc/requirements/requirements-pyqt-5.14.txt b/misc/requirements/requirements-pyqt-5.14.txt index 9ce643666..b963c8e76 100644 --- a/misc/requirements/requirements-pyqt-5.14.txt +++ b/misc/requirements/requirements-pyqt-5.14.txt @@ -1,5 +1,5 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -PyQt5==5.14.2 # rq.filter: < 5.15 -PyQt5-sip==12.9.0 +PyQt6==5.14.2 # rq.filter: < 5.15 +PyQt6-sip==12.9.0 PyQtWebEngine==5.14.0 # rq.filter: < 5.15 diff --git a/misc/requirements/requirements-pyqt-5.14.txt-raw b/misc/requirements/requirements-pyqt-5.14.txt-raw index 9dadfc846..79a389f01 100644 --- a/misc/requirements/requirements-pyqt-5.14.txt-raw +++ b/misc/requirements/requirements-pyqt-5.14.txt-raw @@ -1,4 +1,4 @@ -#@ filter: PyQt5 < 5.15 +#@ filter: PyQt6 < 5.15 #@ filter: PyQtWebEngine < 5.15 -PyQt5 >= 5.14, < 5.15 +PyQt6 >= 5.14, < 5.15 PyQtWebEngine >= 5.14, < 5.15 diff --git a/misc/requirements/requirements-pyqt-5.15.0.txt b/misc/requirements/requirements-pyqt-5.15.0.txt index b111a93f3..9f9e3953f 100644 --- a/misc/requirements/requirements-pyqt-5.15.0.txt +++ b/misc/requirements/requirements-pyqt-5.15.0.txt @@ -1,5 +1,5 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -PyQt5==5.15.0 # rq.filter: == 5.15.0 -PyQt5-sip==12.9.0 +PyQt6==5.15.0 # rq.filter: == 5.15.0 +PyQt6-sip==12.9.0 PyQtWebEngine==5.15.0 # rq.filter: == 5.15.0 diff --git a/misc/requirements/requirements-pyqt-5.15.0.txt-raw b/misc/requirements/requirements-pyqt-5.15.0.txt-raw index 12d6adb7d..e498f5462 100644 --- a/misc/requirements/requirements-pyqt-5.15.0.txt-raw +++ b/misc/requirements/requirements-pyqt-5.15.0.txt-raw @@ -1,4 +1,4 @@ -#@ filter: PyQt5 == 5.15.0 +#@ filter: PyQt6 == 5.15.0 #@ filter: PyQtWebEngine == 5.15.0 -PyQt5 == 5.15.0 +PyQt6 == 5.15.0 PyQtWebEngine == 5.15.0 diff --git a/misc/requirements/requirements-pyqt-5.15.txt b/misc/requirements/requirements-pyqt-5.15.txt index 8b7a53c44..6f05d2d0e 100644 --- a/misc/requirements/requirements-pyqt-5.15.txt +++ b/misc/requirements/requirements-pyqt-5.15.txt @@ -1,7 +1,7 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -PyQt5==5.15.4 # rq.filter: < 5.16 -PyQt5-Qt5==5.15.2 -PyQt5-sip==12.9.0 +PyQt6==5.15.4 # rq.filter: < 5.16 +PyQt6-Qt5==5.15.2 +PyQt6-sip==12.9.0 PyQtWebEngine==5.15.4 # rq.filter: < 5.16 PyQtWebEngine-Qt5==5.15.2 diff --git a/misc/requirements/requirements-pyqt-5.15.txt-raw b/misc/requirements/requirements-pyqt-5.15.txt-raw index be3a85350..a727dcc8a 100644 --- a/misc/requirements/requirements-pyqt-5.15.txt-raw +++ b/misc/requirements/requirements-pyqt-5.15.txt-raw @@ -1,4 +1,4 @@ -#@ filter: PyQt5 < 5.16 +#@ filter: PyQt6 < 5.16 #@ filter: PyQtWebEngine < 5.16 -PyQt5 >= 5.15, < 5.16 +PyQt6 >= 5.15, < 5.16 PyQtWebEngine >= 5.15, < 5.16 diff --git a/misc/requirements/requirements-pyqt-pyinstaller.txt b/misc/requirements/requirements-pyqt-pyinstaller.txt index 678a1d7ea..fae0aa33a 100644 --- a/misc/requirements/requirements-pyqt-pyinstaller.txt +++ b/misc/requirements/requirements-pyqt-pyinstaller.txt @@ -1,7 +1,7 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -PyQt5==5.15.3 -PyQt5-Qt==5.15.2 -PyQt5-sip==12.9.0 +PyQt6==5.15.3 +PyQt6-Qt==5.15.2 +PyQt6-sip==12.9.0 PyQtWebEngine==5.15.3 PyQtWebEngine-Qt==5.15.2 diff --git a/misc/requirements/requirements-pyqt-pyinstaller.txt-raw b/misc/requirements/requirements-pyqt-pyinstaller.txt-raw index 89b5644da..700d33553 100644 --- a/misc/requirements/requirements-pyqt-pyinstaller.txt-raw +++ b/misc/requirements/requirements-pyqt-pyinstaller.txt-raw @@ -1,2 +1,2 @@ -PyQt5==5.15.3 +PyQt6==5.15.3 PyQtWebEngine==5.15.3 diff --git a/misc/requirements/requirements-pyqt.txt b/misc/requirements/requirements-pyqt.txt index 75ef27bf4..18bd23f11 100644 --- a/misc/requirements/requirements-pyqt.txt +++ b/misc/requirements/requirements-pyqt.txt @@ -1,7 +1,7 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -PyQt5==5.15.4 -PyQt5-Qt5==5.15.2 -PyQt5-sip==12.9.0 +PyQt6==5.15.4 +PyQt6-Qt5==5.15.2 +PyQt6-sip==12.9.0 PyQtWebEngine==5.15.4 PyQtWebEngine-Qt5==5.15.2 diff --git a/misc/requirements/requirements-pyqt.txt-raw b/misc/requirements/requirements-pyqt.txt-raw index 9c6afbf16..67aa103ad 100644 --- a/misc/requirements/requirements-pyqt.txt-raw +++ b/misc/requirements/requirements-pyqt.txt-raw @@ -1,2 +1,2 @@ -PyQt5 +PyQt6 PyQtWebEngine diff --git a/misc/requirements/requirements-qutebrowser.txt-raw b/misc/requirements/requirements-qutebrowser.txt-raw index e07ea992a..4957ec6e1 100644 --- a/misc/requirements/requirements-qutebrowser.txt-raw +++ b/misc/requirements/requirements-qutebrowser.txt-raw @@ -10,7 +10,7 @@ Pygments # For :view-source --pygments or on QtWebKit colorama # Colored log output on Windows adblock # Improved adblocking -# Optional, only relevant when installing PyQt5/PyQtWebEngine via pip. +# Optional, only relevant when installing PyQt6/PyQtWebEngine via pip. importlib-metadata # Determining PyQt version typing_extensions # from importlib-metadata diff --git a/misc/userscripts/add-nextcloud-bookmarks b/misc/userscripts/add-nextcloud-bookmarks index 86f4f5bc7..08113bd59 100755 --- a/misc/userscripts/add-nextcloud-bookmarks +++ b/misc/userscripts/add-nextcloud-bookmarks @@ -41,7 +41,7 @@ from json import dumps from os import environ, path from sys import argv, exit -from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit +from PyQt6.QtWidgets import QApplication, QInputDialog, QLineEdit from requests import get, post from requests.auth import HTTPBasicAuth diff --git a/misc/userscripts/add-nextcloud-cookbook b/misc/userscripts/add-nextcloud-cookbook index 3952bb16f..5226c02c5 100755 --- a/misc/userscripts/add-nextcloud-cookbook +++ b/misc/userscripts/add-nextcloud-cookbook @@ -37,7 +37,7 @@ import configparser from os import environ, path from sys import argv, exit -from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit +from PyQt6.QtWidgets import QApplication, QInputDialog, QLineEdit from requests import post from requests.auth import HTTPBasicAuth diff --git a/misc/userscripts/qute-keepass b/misc/userscripts/qute-keepass index 285377ffc..7c5eb5bbd 100755 --- a/misc/userscripts/qute-keepass +++ b/misc/userscripts/qute-keepass @@ -42,7 +42,7 @@ you do not do this, you will get 'element not editable' errors. If keepass takes a while to open the DB, you might want to consider reducing the number of transform rounds in your database settings. -Dependencies: pykeepass (in python3), PyQt5. Without pykeepass, you will get an +Dependencies: pykeepass (in python3), PyQt6. Without pykeepass, you will get an exit code of 100. ********************!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!****************** @@ -64,8 +64,8 @@ import shlex import subprocess import sys -from PyQt5.QtCore import QUrl -from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit +from PyQt6.QtCore import QUrl +from PyQt6.QtWidgets import QApplication, QInputDialog, QLineEdit try: import pykeepass diff --git a/qutebrowser/__init__.py b/qutebrowser/__init__.py index 29a8e4836..73ab78c58 100644 --- a/qutebrowser/__init__.py +++ b/qutebrowser/__init__.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/>. -"""A keyboard-driven, vim-like browser based on PyQt5.""" +"""A keyboard-driven, vim-like browser based on PyQt6.""" import os.path @@ -28,6 +28,6 @@ __maintainer__ = __author__ __email__ = "mail@qutebrowser.org" __version__ = "2.3.1" __version_info__ = tuple(int(part) for part in __version__.split('.')) -__description__ = "A keyboard-driven, vim-like browser based on PyQt5." +__description__ = "A keyboard-driven, vim-like browser based on PyQt6." basedir = os.path.dirname(os.path.realpath(__file__)) diff --git a/qutebrowser/api/config.py b/qutebrowser/api/config.py index 19e2b3c3e..3e4cd7e59 100644 --- a/qutebrowser/api/config.py +++ b/qutebrowser/api/config.py @@ -21,7 +21,7 @@ from typing import cast, Any -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.config import config diff --git a/qutebrowser/api/downloads.py b/qutebrowser/api/downloads.py index cd33f5709..4e2511c54 100644 --- a/qutebrowser/api/downloads.py +++ b/qutebrowser/api/downloads.py @@ -23,7 +23,7 @@ import io -from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl +from PyQt6.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl from qutebrowser.browser import downloads, qtnetworkdownloads from qutebrowser.utils import objreg diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 1ab28e8d0..b37db9164 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -46,9 +46,9 @@ import datetime import argparse from typing import Iterable, Optional -from PyQt5.QtWidgets import QApplication, QWidget -from PyQt5.QtGui import QDesktopServices, QPixmap, QIcon -from PyQt5.QtCore import pyqtSlot, QUrl, QObject, QEvent, pyqtSignal, Qt +from PyQt6.QtWidgets import QApplication, QWidget +from PyQt6.QtGui import QDesktopServices, QPixmap, QIcon +from PyQt6.QtCore import pyqtSlot, QUrl, QObject, QEvent, pyqtSignal, Qt import qutebrowser import qutebrowser.resources diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index b1827dbf4..04ebf321f 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -26,17 +26,17 @@ import dataclasses from typing import (cast, TYPE_CHECKING, Any, Callable, Iterable, List, Optional, Sequence, Set, Type, Union) -from PyQt5.QtCore import (pyqtSignal, pyqtSlot, QUrl, QObject, QSizeF, Qt, +from PyQt6.QtCore import (pyqtSignal, pyqtSlot, QUrl, QObject, QSizeF, Qt, QEvent, QPoint, QRect) -from PyQt5.QtGui import QKeyEvent, QIcon, QPixmap -from PyQt5.QtWidgets import QWidget, QApplication, QDialog -from PyQt5.QtPrintSupport import QPrintDialog, QPrinter -from PyQt5.QtNetwork import QNetworkAccessManager +from PyQt6.QtGui import QKeyEvent, QIcon, QPixmap +from PyQt6.QtWidgets import QWidget, QApplication, QDialog +from PyQt6.QtPrintSupport import QPrintDialog, QPrinter +from PyQt6.QtNetwork import QNetworkAccessManager if TYPE_CHECKING: - from PyQt5.QtWebKit import QWebHistory, QWebHistoryItem - from PyQt5.QtWebKitWidgets import QWebPage - from PyQt5.QtWebEngineWidgets import ( + from PyQt6.QtWebKit import QWebHistory, QWebHistoryItem + from PyQt6.QtWebKitWidgets import QWebPage + from PyQt6.QtWebEngineWidgets import ( QWebEngineHistory, QWebEngineHistoryItem, QWebEnginePage) from qutebrowser.keyinput import modeman diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index 8cd73ae4f..291e51822 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -24,8 +24,8 @@ import shlex import functools from typing import cast, Callable, Dict, Union -from PyQt5.QtWidgets import QApplication, QTabBar -from PyQt5.QtCore import Qt, QUrl, QEvent, QUrlQuery +from PyQt6.QtWidgets import QApplication, QTabBar +from PyQt6.QtCore import Qt, QUrl, QEvent, QUrlQuery from qutebrowser.commands import userscripts, runners from qutebrowser.api import cmdutils diff --git a/qutebrowser/browser/downloads.py b/qutebrowser/browser/downloads.py index 4f7897c9d..ff12a7b53 100644 --- a/qutebrowser/browser/downloads.py +++ b/qutebrowser/browser/downloads.py @@ -30,7 +30,7 @@ import tempfile import enum from typing import Any, Dict, IO, List, MutableSequence, Optional, Union -from PyQt5.QtCore import (pyqtSlot, pyqtSignal, Qt, QObject, QModelIndex, +from PyQt6.QtCore import (pyqtSlot, pyqtSignal, Qt, QObject, QModelIndex, QTimer, QAbstractListModel, QUrl) from qutebrowser.browser import pdfjs diff --git a/qutebrowser/browser/downloadview.py b/qutebrowser/browser/downloadview.py index 69c58741a..0c76161f7 100644 --- a/qutebrowser/browser/downloadview.py +++ b/qutebrowser/browser/downloadview.py @@ -22,8 +22,8 @@ import functools from typing import Callable, MutableSequence, Tuple, Union -from PyQt5.QtCore import pyqtSlot, QSize, Qt -from PyQt5.QtWidgets import QListView, QSizePolicy, QMenu, QStyleFactory +from PyQt6.QtCore import pyqtSlot, QSize, Qt +from PyQt6.QtWidgets import QListView, QSizePolicy, QMenu, QStyleFactory from qutebrowser.browser import downloads from qutebrowser.config import stylesheet diff --git a/qutebrowser/browser/eventfilter.py b/qutebrowser/browser/eventfilter.py index 0b5fab096..860287dbc 100644 --- a/qutebrowser/browser/eventfilter.py +++ b/qutebrowser/browser/eventfilter.py @@ -19,7 +19,7 @@ """Event handling for a browser tab.""" -from PyQt5.QtCore import QObject, QEvent, Qt, QTimer +from PyQt6.QtCore import QObject, QEvent, Qt, QTimer from qutebrowser.config import config from qutebrowser.utils import message, log, usertypes, qtutils diff --git a/qutebrowser/browser/greasemonkey.py b/qutebrowser/browser/greasemonkey.py index d0245937f..7f5763812 100644 --- a/qutebrowser/browser/greasemonkey.py +++ b/qutebrowser/browser/greasemonkey.py @@ -29,7 +29,7 @@ import textwrap import dataclasses from typing import cast, List, Sequence -from PyQt5.QtCore import pyqtSignal, QObject, QUrl +from PyQt6.QtCore import pyqtSignal, QObject, QUrl from qutebrowser.utils import (log, standarddir, jinja, objreg, utils, javascript, urlmatch, version, usertypes, message) diff --git a/qutebrowser/browser/hints.py b/qutebrowser/browser/hints.py index 6ac44adbc..33aa95eb5 100644 --- a/qutebrowser/browser/hints.py +++ b/qutebrowser/browser/hints.py @@ -30,8 +30,8 @@ from string import ascii_lowercase from typing import (TYPE_CHECKING, Callable, Dict, Iterable, Iterator, List, Mapping, MutableSequence, Optional, Sequence, Set) -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, Qt, QUrl -from PyQt5.QtWidgets import QLabel +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, Qt, QUrl +from PyQt6.QtWidgets import QLabel from qutebrowser.config import config, configexc from qutebrowser.keyinput import modeman, modeparsers, basekeyparser diff --git a/qutebrowser/browser/history.py b/qutebrowser/browser/history.py index 559992327..64ac896b7 100644 --- a/qutebrowser/browser/history.py +++ b/qutebrowser/browser/history.py @@ -25,8 +25,8 @@ import contextlib import pathlib from typing import cast, Mapping, MutableSequence, Optional -from PyQt5.QtCore import pyqtSlot, QUrl, QObject, pyqtSignal -from PyQt5.QtWidgets import QProgressDialog, QApplication +from PyQt6.QtCore import pyqtSlot, QUrl, QObject, pyqtSignal +from PyQt6.QtWidgets import QProgressDialog, QApplication from qutebrowser.config import config from qutebrowser.api import cmdutils diff --git a/qutebrowser/browser/inspector.py b/qutebrowser/browser/inspector.py index 2b40e97e4..33a30d2ac 100644 --- a/qutebrowser/browser/inspector.py +++ b/qutebrowser/browser/inspector.py @@ -24,9 +24,9 @@ import binascii import enum from typing import cast, Optional -from PyQt5.QtWidgets import QWidget -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QEvent -from PyQt5.QtGui import QCloseEvent +from PyQt6.QtWidgets import QWidget +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, QEvent +from PyQt6.QtGui import QCloseEvent from qutebrowser.browser import eventfilter from qutebrowser.config import configfiles diff --git a/qutebrowser/browser/navigate.py b/qutebrowser/browser/navigate.py index 82bf57136..8368a7782 100644 --- a/qutebrowser/browser/navigate.py +++ b/qutebrowser/browser/navigate.py @@ -23,7 +23,7 @@ import re import posixpath from typing import Optional, Set -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser import webelem from qutebrowser.config import config diff --git a/qutebrowser/browser/network/pac.py b/qutebrowser/browser/network/pac.py index 3a544c78f..7973cff2d 100644 --- a/qutebrowser/browser/network/pac.py +++ b/qutebrowser/browser/network/pac.py @@ -23,11 +23,11 @@ import sys import functools from typing import Optional -from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl -from PyQt5.QtNetwork import (QNetworkProxy, QNetworkRequest, QHostInfo, +from PyQt6.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl +from PyQt6.QtNetwork import (QNetworkProxy, QNetworkRequest, QHostInfo, QNetworkReply, QNetworkAccessManager, QHostAddress) -from PyQt5.QtQml import QJSEngine, QJSValue +from PyQt6.QtQml import QJSEngine, QJSValue from qutebrowser.utils import log, utils, qtutils, resources diff --git a/qutebrowser/browser/network/proxy.py b/qutebrowser/browser/network/proxy.py index 2c0187837..9f938a35e 100644 --- a/qutebrowser/browser/network/proxy.py +++ b/qutebrowser/browser/network/proxy.py @@ -19,8 +19,8 @@ """Handling of proxies.""" -from PyQt5.QtCore import QUrl, pyqtSlot -from PyQt5.QtNetwork import QNetworkProxy, QNetworkProxyFactory +from PyQt6.QtCore import QUrl, pyqtSlot +from PyQt6.QtNetwork import QNetworkProxy, QNetworkProxyFactory from qutebrowser.config import config, configtypes from qutebrowser.utils import message, usertypes, urlutils, utils diff --git a/qutebrowser/browser/pdfjs.py b/qutebrowser/browser/pdfjs.py index c180c55f8..d531f71d2 100644 --- a/qutebrowser/browser/pdfjs.py +++ b/qutebrowser/browser/pdfjs.py @@ -22,7 +22,7 @@ import os -from PyQt5.QtCore import QUrl, QUrlQuery +from PyQt6.QtCore import QUrl, QUrlQuery from qutebrowser.utils import resources, javascript, jinja, standarddir, log from qutebrowser.config import config diff --git a/qutebrowser/browser/qtnetworkdownloads.py b/qutebrowser/browser/qtnetworkdownloads.py index f048d293d..2a2a67a69 100644 --- a/qutebrowser/browser/qtnetworkdownloads.py +++ b/qutebrowser/browser/qtnetworkdownloads.py @@ -26,9 +26,9 @@ import functools import dataclasses from typing import Dict, IO, Optional -from PyQt5.QtCore import pyqtSlot, pyqtSignal, QTimer, QUrl -from PyQt5.QtWidgets import QApplication -from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkAccessManager +from PyQt6.QtCore import pyqtSlot, pyqtSignal, QTimer, QUrl +from PyQt6.QtWidgets import QApplication +from PyQt6.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkAccessManager from qutebrowser.config import config, websettings from qutebrowser.utils import message, usertypes, log, urlutils, utils, debug, objreg diff --git a/qutebrowser/browser/qutescheme.py b/qutebrowser/browser/qutescheme.py index 68e36d249..fdcd6cf39 100644 --- a/qutebrowser/browser/qutescheme.py +++ b/qutebrowser/browser/qutescheme.py @@ -34,7 +34,7 @@ import collections import secrets from typing import TypeVar, Callable, Dict, List, Optional, Union, Sequence, Tuple -from PyQt5.QtCore import QUrlQuery, QUrl +from PyQt6.QtCore import QUrlQuery, QUrl import qutebrowser from qutebrowser.browser import pdfjs, downloads, history diff --git a/qutebrowser/browser/shared.py b/qutebrowser/browser/shared.py index 8d3ebe730..b5e0c90cb 100644 --- a/qutebrowser/browser/shared.py +++ b/qutebrowser/browser/shared.py @@ -27,7 +27,7 @@ import netrc import tempfile from typing import Callable, Mapping, List, Optional, Iterable, Iterator -from PyQt5.QtCore import QUrl, pyqtBoundSignal +from PyQt6.QtCore import QUrl, pyqtBoundSignal from qutebrowser.config import config from qutebrowser.utils import (usertypes, message, log, objreg, jinja, utils, diff --git a/qutebrowser/browser/signalfilter.py b/qutebrowser/browser/signalfilter.py index 0b002e345..030185652 100644 --- a/qutebrowser/browser/signalfilter.py +++ b/qutebrowser/browser/signalfilter.py @@ -21,7 +21,7 @@ import functools -from PyQt5.QtCore import QObject +from PyQt6.QtCore import QObject from qutebrowser.utils import debug, log, objreg diff --git a/qutebrowser/browser/urlmarks.py b/qutebrowser/browser/urlmarks.py index 944ec23d4..dc0d37284 100644 --- a/qutebrowser/browser/urlmarks.py +++ b/qutebrowser/browser/urlmarks.py @@ -32,7 +32,7 @@ import functools import collections from typing import MutableMapping -from PyQt5.QtCore import pyqtSignal, QUrl, QObject +from PyQt6.QtCore import pyqtSignal, QUrl, QObject from qutebrowser.utils import (message, usertypes, qtutils, urlutils, standarddir, objreg, log) diff --git a/qutebrowser/browser/webelem.py b/qutebrowser/browser/webelem.py index 9ec29ce07..df534f99c 100644 --- a/qutebrowser/browser/webelem.py +++ b/qutebrowser/browser/webelem.py @@ -22,8 +22,8 @@ from typing import cast, TYPE_CHECKING, Iterator, Optional, Set, Union import collections.abc -from PyQt5.QtCore import QUrl, Qt, QEvent, QTimer, QRect, QPoint -from PyQt5.QtGui import QMouseEvent +from PyQt6.QtCore import QUrl, Qt, QEvent, QTimer, QRect, QPoint +from PyQt6.QtGui import QMouseEvent from qutebrowser.config import config from qutebrowser.keyinput import modeman diff --git a/qutebrowser/browser/webengine/certificateerror.py b/qutebrowser/browser/webengine/certificateerror.py index 4df7ce8ab..e0d54f6e9 100644 --- a/qutebrowser/browser/webengine/certificateerror.py +++ b/qutebrowser/browser/webengine/certificateerror.py @@ -19,8 +19,8 @@ """Wrapper over a QWebEngineCertificateError.""" -from PyQt5.QtCore import QUrl -from PyQt5.QtWebEngineWidgets import QWebEngineCertificateError +from PyQt6.QtCore import QUrl +from PyQt6.QtWebEngineWidgets import QWebEngineCertificateError from qutebrowser.utils import usertypes, utils, debug diff --git a/qutebrowser/browser/webengine/interceptor.py b/qutebrowser/browser/webengine/interceptor.py index 0b1040c4d..de7e1ae1f 100644 --- a/qutebrowser/browser/webengine/interceptor.py +++ b/qutebrowser/browser/webengine/interceptor.py @@ -19,8 +19,8 @@ """A request interceptor taking care of adblocking and custom headers.""" -from PyQt5.QtCore import QUrl, QByteArray -from PyQt5.QtWebEngineCore import (QWebEngineUrlRequestInterceptor, +from PyQt6.QtCore import QUrl, QByteArray +from PyQt6.QtWebEngineCore import (QWebEngineUrlRequestInterceptor, QWebEngineUrlRequestInfo) from qutebrowser.config import websettings, config diff --git a/qutebrowser/browser/webengine/notification.py b/qutebrowser/browser/webengine/notification.py index e40b3e736..f7264ecd6 100644 --- a/qutebrowser/browser/webengine/notification.py +++ b/qutebrowser/browser/webengine/notification.py @@ -50,18 +50,18 @@ import functools import subprocess from typing import Any, List, Dict, Optional, Iterator, TYPE_CHECKING -from PyQt5.QtCore import (Qt, QObject, QVariant, QMetaType, QByteArray, pyqtSlot, +from PyQt6.QtCore import (Qt, QObject, QVariant, QMetaType, QByteArray, pyqtSlot, pyqtSignal, QTimer, QProcess, QUrl) -from PyQt5.QtGui import QImage, QIcon, QPixmap -from PyQt5.QtDBus import (QDBusConnection, QDBusInterface, QDBus, QDBusServiceWatcher, +from PyQt6.QtGui import QImage, QIcon, QPixmap +from PyQt6.QtDBus import (QDBusConnection, QDBusInterface, QDBus, QDBusServiceWatcher, QDBusArgument, QDBusMessage, QDBusError) -from PyQt5.QtWidgets import QSystemTrayIcon +from PyQt6.QtWidgets import QSystemTrayIcon if TYPE_CHECKING: # putting these behind TYPE_CHECKING also means this module is importable # on installs that don't have these - from PyQt5.QtWebEngineCore import QWebEngineNotification - from PyQt5.QtWebEngineWidgets import QWebEngineProfile + from PyQt6.QtWebEngineCore import QWebEngineNotification + from PyQt6.QtWebEngineWidgets import QWebEngineProfile from qutebrowser.config import config from qutebrowser.misc import objects @@ -238,7 +238,7 @@ class NotificationBridgePresenter(QObject): # Fixed in PyQtWebEngine 5.15.0 # PYQT_WEBENGINE_VERSION was added with PyQtWebEngine 5.13, but if we're here, # we already did a version check above. - from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION + from PyQt6.QtWebEngine import PYQT_WEBENGINE_VERSION if PYQT_WEBENGINE_VERSION < 0x050F00: # PyQtWebEngine unrefs the callback after it's called, for some # reason. So we call setNotificationPresenter again to *increase* diff --git a/qutebrowser/browser/webengine/tabhistory.py b/qutebrowser/browser/webengine/tabhistory.py index ab4b05fe9..db166647f 100644 --- a/qutebrowser/browser/webengine/tabhistory.py +++ b/qutebrowser/browser/webengine/tabhistory.py @@ -19,7 +19,7 @@ """QWebHistory serializer for QtWebEngine.""" -from PyQt5.QtCore import QByteArray, QDataStream, QIODevice, QUrl +from PyQt6.QtCore import QByteArray, QDataStream, QIODevice, QUrl from qutebrowser.utils import qtutils diff --git a/qutebrowser/browser/webengine/webenginedownloads.py b/qutebrowser/browser/webengine/webenginedownloads.py index a6a2a1b93..85d7a4ce5 100644 --- a/qutebrowser/browser/webengine/webenginedownloads.py +++ b/qutebrowser/browser/webengine/webenginedownloads.py @@ -23,8 +23,8 @@ import re import os.path import functools -from PyQt5.QtCore import pyqtSlot, Qt, QUrl, QObject -from PyQt5.QtWebEngineWidgets import QWebEngineDownloadItem +from PyQt6.QtCore import pyqtSlot, Qt, QUrl, QObject +from PyQt6.QtWebEngineWidgets import QWebEngineDownloadItem from qutebrowser.browser import downloads, pdfjs from qutebrowser.utils import (debug, usertypes, message, log, objreg, urlutils, diff --git a/qutebrowser/browser/webengine/webengineelem.py b/qutebrowser/browser/webengine/webengineelem.py index 5d4c6ad9a..a992d9d99 100644 --- a/qutebrowser/browser/webengine/webengineelem.py +++ b/qutebrowser/browser/webengine/webengineelem.py @@ -22,9 +22,9 @@ from typing import ( TYPE_CHECKING, Any, Callable, Dict, Iterator, Optional, Set, Tuple, Union) -from PyQt5.QtCore import QRect, QEventLoop -from PyQt5.QtWidgets import QApplication -from PyQt5.QtWebEngineWidgets import QWebEngineSettings +from PyQt6.QtCore import QRect, QEventLoop +from PyQt6.QtWidgets import QApplication +from PyQt6.QtWebEngineWidgets import QWebEngineSettings from qutebrowser.utils import log, javascript, urlutils, usertypes, utils from qutebrowser.browser import webelem diff --git a/qutebrowser/browser/webengine/webengineinspector.py b/qutebrowser/browser/webengine/webengineinspector.py index ae31c0bee..7d6a5308c 100644 --- a/qutebrowser/browser/webengine/webengineinspector.py +++ b/qutebrowser/browser/webengine/webengineinspector.py @@ -21,9 +21,9 @@ import pathlib -from PyQt5.QtCore import QLibraryInfo -from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage -from PyQt5.QtWidgets import QWidget +from PyQt6.QtCore import QLibraryInfo +from PyQt6.QtWebEngineWidgets import QWebEngineView, QWebEnginePage +from PyQt6.QtWidgets import QWidget from qutebrowser.browser import inspector from qutebrowser.browser.webengine import webenginesettings diff --git a/qutebrowser/browser/webengine/webenginequtescheme.py b/qutebrowser/browser/webengine/webenginequtescheme.py index 64361f7c4..100817977 100644 --- a/qutebrowser/browser/webengine/webenginequtescheme.py +++ b/qutebrowser/browser/webengine/webenginequtescheme.py @@ -19,8 +19,8 @@ """QtWebEngine specific qute://* handlers and glue code.""" -from PyQt5.QtCore import QBuffer, QIODevice, QUrl -from PyQt5.QtWebEngineCore import (QWebEngineUrlSchemeHandler, +from PyQt6.QtCore import QBuffer, QIODevice, QUrl +from PyQt6.QtWebEngineCore import (QWebEngineUrlSchemeHandler, QWebEngineUrlRequestJob, QWebEngineUrlScheme) diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py index 5430cec77..0d0c3b502 100644 --- a/qutebrowser/browser/webengine/webenginesettings.py +++ b/qutebrowser/browser/webengine/webenginesettings.py @@ -28,9 +28,9 @@ import os import operator from typing import cast, Any, List, Optional, Tuple, Union, TYPE_CHECKING -from PyQt5.QtGui import QFont -from PyQt5.QtWidgets import QApplication -from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEngineProfile +from PyQt6.QtGui import QFont +from PyQt6.QtWidgets import QApplication +from PyQt6.QtWebEngineWidgets import QWebEngineSettings, QWebEngineProfile from qutebrowser.browser import history from qutebrowser.browser.webengine import (spell, webenginequtescheme, cookies, diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index ace23d14a..6cad141f5 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -26,10 +26,10 @@ import re import html as html_utils from typing import cast, Union, Optional -from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QPoint, QPointF, QUrl, QObject -from PyQt5.QtNetwork import QAuthenticator -from PyQt5.QtWidgets import QWidget -from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript, QWebEngineHistory +from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QPoint, QPointF, QUrl, QObject +from PyQt6.QtNetwork import QAuthenticator +from PyQt6.QtWidgets import QWidget +from PyQt6.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript, QWebEngineHistory from qutebrowser.config import config from qutebrowser.browser import browsertab, eventfilter, shared, webelem, greasemonkey @@ -125,7 +125,7 @@ class _WebEngineSearchWrapHandler: try: # pylint: disable=unused-import - from PyQt5.QtWebEngineCore import QWebEngineFindTextResult + from PyQt6.QtWebEngineCore import QWebEngineFindTextResult except ImportError: # WORKAROUND for some odd PyQt/packaging bug where the # findTextResult signal is available, but QWebEngineFindTextResult @@ -1671,7 +1671,7 @@ class WebEngineTab(browsertab.AbstractTab): try: # pylint: disable=unused-import - from PyQt5.QtWebEngineWidgets import ( + from PyQt6.QtWebEngineWidgets import ( QWebEngineClientCertificateSelection) except ImportError: pass diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py index 76ce1a42e..6ca96716b 100644 --- a/qutebrowser/browser/webengine/webview.py +++ b/qutebrowser/browser/webengine/webview.py @@ -21,9 +21,9 @@ from typing import List, Iterable -from PyQt5.QtCore import pyqtSignal, QUrl -from PyQt5.QtGui import QPalette -from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage +from PyQt6.QtCore import pyqtSignal, QUrl +from PyQt6.QtGui import QPalette +from PyQt6.QtWebEngineWidgets import QWebEngineView, QWebEnginePage from qutebrowser.browser import shared from qutebrowser.browser.webengine import webenginesettings, certificateerror diff --git a/qutebrowser/browser/webkit/cache.py b/qutebrowser/browser/webkit/cache.py index 8494a8477..bad38e2e0 100644 --- a/qutebrowser/browser/webkit/cache.py +++ b/qutebrowser/browser/webkit/cache.py @@ -22,7 +22,7 @@ from typing import cast import os.path -from PyQt5.QtNetwork import QNetworkDiskCache +from PyQt6.QtNetwork import QNetworkDiskCache from qutebrowser.config import config from qutebrowser.utils import utils, standarddir diff --git a/qutebrowser/browser/webkit/certificateerror.py b/qutebrowser/browser/webkit/certificateerror.py index 09237dae9..5abd56d18 100644 --- a/qutebrowser/browser/webkit/certificateerror.py +++ b/qutebrowser/browser/webkit/certificateerror.py @@ -21,7 +21,7 @@ from typing import Sequence -from PyQt5.QtNetwork import QSslError +from PyQt6.QtNetwork import QSslError from qutebrowser.utils import usertypes, utils, debug, jinja diff --git a/qutebrowser/browser/webkit/cookies.py b/qutebrowser/browser/webkit/cookies.py index 055ef64d8..496f8240f 100644 --- a/qutebrowser/browser/webkit/cookies.py +++ b/qutebrowser/browser/webkit/cookies.py @@ -21,8 +21,8 @@ from typing import Sequence -from PyQt5.QtNetwork import QNetworkCookie, QNetworkCookieJar -from PyQt5.QtCore import pyqtSignal, QDateTime +from PyQt6.QtNetwork import QNetworkCookie, QNetworkCookieJar +from PyQt6.QtCore import pyqtSignal, QDateTime from qutebrowser.config import config from qutebrowser.utils import utils, standarddir, objreg, log diff --git a/qutebrowser/browser/webkit/http.py b/qutebrowser/browser/webkit/http.py index eacb95679..6a6165767 100644 --- a/qutebrowser/browser/webkit/http.py +++ b/qutebrowser/browser/webkit/http.py @@ -25,7 +25,7 @@ import dataclasses import os.path from typing import Type -from PyQt5.QtNetwork import QNetworkRequest +from PyQt6.QtNetwork import QNetworkRequest from qutebrowser.utils import log, utils diff --git a/qutebrowser/browser/webkit/mhtml.py b/qutebrowser/browser/webkit/mhtml.py index d9f2d484e..551aaf168 100644 --- a/qutebrowser/browser/webkit/mhtml.py +++ b/qutebrowser/browser/webkit/mhtml.py @@ -36,7 +36,7 @@ import quopri import dataclasses from typing import MutableMapping, Set, Tuple, Callable -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser import downloads from qutebrowser.browser.webkit import webkitelem diff --git a/qutebrowser/browser/webkit/network/networkmanager.py b/qutebrowser/browser/webkit/network/networkmanager.py index c97c91d66..cf18822c8 100644 --- a/qutebrowser/browser/webkit/network/networkmanager.py +++ b/qutebrowser/browser/webkit/network/networkmanager.py @@ -24,8 +24,8 @@ import html import dataclasses from typing import TYPE_CHECKING, Dict, MutableMapping, Optional, Set -from PyQt5.QtCore import pyqtSlot, pyqtSignal, QUrl, QByteArray -from PyQt5.QtNetwork import (QNetworkAccessManager, QNetworkReply, QSslSocket, +from PyQt6.QtCore import pyqtSlot, pyqtSignal, QUrl, QByteArray +from PyQt6.QtNetwork import (QNetworkAccessManager, QNetworkReply, QSslSocket, QNetworkProxy) from qutebrowser.config import config diff --git a/qutebrowser/browser/webkit/network/networkreply.py b/qutebrowser/browser/webkit/network/networkreply.py index c1ead3209..5f762d806 100644 --- a/qutebrowser/browser/webkit/network/networkreply.py +++ b/qutebrowser/browser/webkit/network/networkreply.py @@ -26,8 +26,8 @@ """Special network replies..""" -from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest -from PyQt5.QtCore import pyqtSlot, QIODevice, QByteArray, QTimer +from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest +from PyQt6.QtCore import pyqtSlot, QIODevice, QByteArray, QTimer class FixedDataNetworkReply(QNetworkReply): diff --git a/qutebrowser/browser/webkit/network/webkitqutescheme.py b/qutebrowser/browser/webkit/network/webkitqutescheme.py index bccdd1acd..2e6462425 100644 --- a/qutebrowser/browser/webkit/network/webkitqutescheme.py +++ b/qutebrowser/browser/webkit/network/webkitqutescheme.py @@ -19,8 +19,8 @@ """QtWebKit specific qute://* handlers and glue code.""" -from PyQt5.QtCore import QUrl -from PyQt5.QtNetwork import QNetworkReply, QNetworkAccessManager +from PyQt6.QtCore import QUrl +from PyQt6.QtNetwork import QNetworkReply, QNetworkAccessManager from qutebrowser.browser import qutescheme from qutebrowser.browser.webkit.network import networkreply diff --git a/qutebrowser/browser/webkit/tabhistory.py b/qutebrowser/browser/webkit/tabhistory.py index a707030d1..186ad8a7f 100644 --- a/qutebrowser/browser/webkit/tabhistory.py +++ b/qutebrowser/browser/webkit/tabhistory.py @@ -21,7 +21,7 @@ from typing import Any, List, Mapping -from PyQt5.QtCore import QByteArray, QDataStream, QIODevice, QUrl +from PyQt6.QtCore import QByteArray, QDataStream, QIODevice, QUrl from qutebrowser.utils import qtutils diff --git a/qutebrowser/browser/webkit/webkitelem.py b/qutebrowser/browser/webkit/webkitelem.py index 5bf96a610..f70ce0559 100644 --- a/qutebrowser/browser/webkit/webkitelem.py +++ b/qutebrowser/browser/webkit/webkitelem.py @@ -21,9 +21,9 @@ from typing import cast, TYPE_CHECKING, Iterator, List, Optional, Set -from PyQt5.QtCore import QRect, Qt -from PyQt5.QtWebKit import QWebElement, QWebSettings -from PyQt5.QtWebKitWidgets import QWebFrame +from PyQt6.QtCore import QRect, Qt +from PyQt6.QtWebKit import QWebElement, QWebSettings +from PyQt6.QtWebKitWidgets import QWebFrame from qutebrowser.config import config from qutebrowser.utils import log, utils, javascript, usertypes diff --git a/qutebrowser/browser/webkit/webkithistory.py b/qutebrowser/browser/webkit/webkithistory.py index 4149bda88..7e6073eaf 100644 --- a/qutebrowser/browser/webkit/webkithistory.py +++ b/qutebrowser/browser/webkit/webkithistory.py @@ -21,7 +21,7 @@ import functools -from PyQt5.QtWebKit import QWebHistoryInterface +from PyQt6.QtWebKit import QWebHistoryInterface from qutebrowser.utils import debug from qutebrowser.misc import debugcachestats diff --git a/qutebrowser/browser/webkit/webkitinspector.py b/qutebrowser/browser/webkit/webkitinspector.py index 57bcd40ea..be26860cc 100644 --- a/qutebrowser/browser/webkit/webkitinspector.py +++ b/qutebrowser/browser/webkit/webkitinspector.py @@ -19,9 +19,9 @@ """Customized QWebInspector for QtWebKit.""" -from PyQt5.QtWebKit import QWebSettings -from PyQt5.QtWebKitWidgets import QWebInspector, QWebPage -from PyQt5.QtWidgets import QWidget +from PyQt6.QtWebKit import QWebSettings +from PyQt6.QtWebKitWidgets import QWebInspector, QWebPage +from PyQt6.QtWidgets import QWidget from qutebrowser.browser import inspector from qutebrowser.misc import miscwidgets diff --git a/qutebrowser/browser/webkit/webkitsettings.py b/qutebrowser/browser/webkit/webkitsettings.py index cac6236ce..cc67c8494 100644 --- a/qutebrowser/browser/webkit/webkitsettings.py +++ b/qutebrowser/browser/webkit/webkitsettings.py @@ -27,10 +27,10 @@ Module attributes: from typing import cast import os.path -from PyQt5.QtCore import QUrl -from PyQt5.QtGui import QFont -from PyQt5.QtWebKit import QWebSettings -from PyQt5.QtWebKitWidgets import QWebPage +from PyQt6.QtCore import QUrl +from PyQt6.QtGui import QFont +from PyQt6.QtWebKit import QWebSettings +from PyQt6.QtWebKitWidgets import QWebPage from qutebrowser.config import config, websettings from qutebrowser.config.websettings import AttributeInfo as Attr diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py index df3491ec2..6c2710fb4 100644 --- a/qutebrowser/browser/webkit/webkittab.py +++ b/qutebrowser/browser/webkit/webkittab.py @@ -24,12 +24,12 @@ import functools import xml.etree.ElementTree from typing import cast, Iterable, Optional -from PyQt5.QtCore import pyqtSlot, Qt, QUrl, QPoint, QTimer, QSizeF, QSize -from PyQt5.QtGui import QIcon -from PyQt5.QtWidgets import QWidget -from PyQt5.QtWebKitWidgets import QWebPage, QWebFrame -from PyQt5.QtWebKit import QWebSettings, QWebHistory, QWebElement -from PyQt5.QtPrintSupport import QPrinter +from PyQt6.QtCore import pyqtSlot, Qt, QUrl, QPoint, QTimer, QSizeF, QSize +from PyQt6.QtGui import QIcon +from PyQt6.QtWidgets import QWidget +from PyQt6.QtWebKitWidgets import QWebPage, QWebFrame +from PyQt6.QtWebKit import QWebSettings, QWebHistory, QWebElement +from PyQt6.QtPrintSupport import QPrinter from qutebrowser.browser import browsertab, shared from qutebrowser.browser.webkit import (webview, tabhistory, webkitelem, diff --git a/qutebrowser/browser/webkit/webpage.py b/qutebrowser/browser/webkit/webpage.py index ddbd78de2..747b2d382 100644 --- a/qutebrowser/browser/webkit/webpage.py +++ b/qutebrowser/browser/webkit/webpage.py @@ -23,12 +23,12 @@ import html import functools from typing import cast -from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QPoint -from PyQt5.QtGui import QDesktopServices -from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest -from PyQt5.QtWidgets import QFileDialog -from PyQt5.QtPrintSupport import QPrintDialog -from PyQt5.QtWebKitWidgets import QWebPage, QWebFrame +from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QPoint +from PyQt6.QtGui import QDesktopServices +from PyQt6.QtNetwork import QNetworkReply, QNetworkRequest +from PyQt6.QtWidgets import QFileDialog +from PyQt6.QtPrintSupport import QPrintDialog +from PyQt6.QtWebKitWidgets import QWebPage, QWebFrame from qutebrowser.config import websettings, config from qutebrowser.browser import pdfjs, shared, downloads, greasemonkey diff --git a/qutebrowser/browser/webkit/webview.py b/qutebrowser/browser/webkit/webview.py index 0242bed0c..2fbbafe0a 100644 --- a/qutebrowser/browser/webkit/webview.py +++ b/qutebrowser/browser/webkit/webview.py @@ -19,9 +19,9 @@ """The main browser widgets.""" -from PyQt5.QtCore import pyqtSignal, Qt, QUrl -from PyQt5.QtWebKit import QWebSettings -from PyQt5.QtWebKitWidgets import QWebView, QWebPage +from PyQt6.QtCore import pyqtSignal, Qt, QUrl +from PyQt6.QtWebKit import QWebSettings +from PyQt6.QtWebKitWidgets import QWebView, QWebPage from qutebrowser.config import config, stylesheet from qutebrowser.keyinput import modeman diff --git a/qutebrowser/commands/argparser.py b/qutebrowser/commands/argparser.py index f8f083b72..1d57a7031 100644 --- a/qutebrowser/commands/argparser.py +++ b/qutebrowser/commands/argparser.py @@ -21,7 +21,7 @@ import argparse -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.commands import cmdexc from qutebrowser.utils import utils, objreg, log diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py index 5fb054455..b6b0ddd33 100644 --- a/qutebrowser/commands/runners.py +++ b/qutebrowser/commands/runners.py @@ -24,7 +24,7 @@ import re import contextlib from typing import TYPE_CHECKING, Callable, Dict, Iterator, Mapping, MutableMapping -from PyQt5.QtCore import pyqtSlot, QUrl, QObject +from PyQt6.QtCore import pyqtSlot, QUrl, QObject from qutebrowser.api import cmdutils from qutebrowser.commands import cmdexc, parser diff --git a/qutebrowser/commands/userscripts.py b/qutebrowser/commands/userscripts.py index 70c639207..c7ed7e419 100644 --- a/qutebrowser/commands/userscripts.py +++ b/qutebrowser/commands/userscripts.py @@ -24,7 +24,7 @@ import os.path import tempfile from typing import cast, Any, MutableMapping, Tuple -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QSocketNotifier +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, QSocketNotifier import qutebrowser from qutebrowser.utils import message, log, objreg, standarddir, utils diff --git a/qutebrowser/completion/completer.py b/qutebrowser/completion/completer.py index 778333854..9d23f3a90 100644 --- a/qutebrowser/completion/completer.py +++ b/qutebrowser/completion/completer.py @@ -22,7 +22,7 @@ import dataclasses from typing import TYPE_CHECKING -from PyQt5.QtCore import pyqtSlot, QObject, QTimer +from PyQt6.QtCore import pyqtSlot, QObject, QTimer from qutebrowser.config import config from qutebrowser.commands import parser, cmdexc diff --git a/qutebrowser/completion/completiondelegate.py b/qutebrowser/completion/completiondelegate.py index 9ea82e876..1ab389e0d 100644 --- a/qutebrowser/completion/completiondelegate.py +++ b/qutebrowser/completion/completiondelegate.py @@ -25,9 +25,9 @@ We use this to be able to highlight parts of the text. import re import html -from PyQt5.QtWidgets import QStyle, QStyleOptionViewItem, QStyledItemDelegate -from PyQt5.QtCore import QRectF, QRegularExpression, QSize, Qt -from PyQt5.QtGui import (QIcon, QPalette, QTextDocument, QTextOption, +from PyQt6.QtWidgets import QStyle, QStyleOptionViewItem, QStyledItemDelegate +from PyQt6.QtCore import QRectF, QRegularExpression, QSize, Qt +from PyQt6.QtGui import (QIcon, QPalette, QTextDocument, QTextOption, QAbstractTextDocumentLayout, QSyntaxHighlighter, QTextCharFormat) diff --git a/qutebrowser/completion/completionwidget.py b/qutebrowser/completion/completionwidget.py index dd8e267fe..a559531ec 100644 --- a/qutebrowser/completion/completionwidget.py +++ b/qutebrowser/completion/completionwidget.py @@ -25,8 +25,8 @@ subclasses to provide completions. from typing import TYPE_CHECKING, Optional -from PyQt5.QtWidgets import QTreeView, QSizePolicy, QStyleFactory, QWidget -from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QItemSelectionModel, QSize +from PyQt6.QtWidgets import QTreeView, QSizePolicy, QStyleFactory, QWidget +from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QItemSelectionModel, QSize from qutebrowser.config import config, stylesheet from qutebrowser.completion import completiondelegate diff --git a/qutebrowser/completion/models/completionmodel.py b/qutebrowser/completion/models/completionmodel.py index 81f4bba8e..1499cd352 100644 --- a/qutebrowser/completion/models/completionmodel.py +++ b/qutebrowser/completion/models/completionmodel.py @@ -21,7 +21,7 @@ from typing import MutableSequence -from PyQt5.QtCore import Qt, QModelIndex, QAbstractItemModel +from PyQt6.QtCore import Qt, QModelIndex, QAbstractItemModel from qutebrowser.utils import log, qtutils, utils from qutebrowser.api import cmdutils diff --git a/qutebrowser/completion/models/filepathcategory.py b/qutebrowser/completion/models/filepathcategory.py index b7d74f57a..bcbf881d7 100644 --- a/qutebrowser/completion/models/filepathcategory.py +++ b/qutebrowser/completion/models/filepathcategory.py @@ -31,7 +31,7 @@ import os import os.path from typing import List, Optional, Iterable -from PyQt5.QtCore import QAbstractListModel, QModelIndex, QObject, Qt, QUrl +from PyQt6.QtCore import QAbstractListModel, QModelIndex, QObject, Qt, QUrl from qutebrowser.config import config from qutebrowser.utils import log diff --git a/qutebrowser/completion/models/histcategory.py b/qutebrowser/completion/models/histcategory.py index 8dd1be838..1e5d4e05d 100644 --- a/qutebrowser/completion/models/histcategory.py +++ b/qutebrowser/completion/models/histcategory.py @@ -21,8 +21,8 @@ from typing import Optional -from PyQt5.QtSql import QSqlQueryModel -from PyQt5.QtWidgets import QWidget +from PyQt6.QtSql import QSqlQueryModel +from PyQt6.QtWidgets import QWidget from qutebrowser.misc import sql from qutebrowser.utils import debug, message, log diff --git a/qutebrowser/completion/models/listcategory.py b/qutebrowser/completion/models/listcategory.py index 352151ebb..1098928eb 100644 --- a/qutebrowser/completion/models/listcategory.py +++ b/qutebrowser/completion/models/listcategory.py @@ -22,9 +22,9 @@ import re from typing import Iterable, Tuple -from PyQt5.QtCore import QSortFilterProxyModel, QRegularExpression -from PyQt5.QtGui import QStandardItem, QStandardItemModel -from PyQt5.QtWidgets import QWidget +from PyQt6.QtCore import QSortFilterProxyModel, QRegularExpression +from PyQt6.QtGui import QStandardItem, QStandardItemModel +from PyQt6.QtWidgets import QWidget from qutebrowser.completion.models import util from qutebrowser.utils import qtutils, log diff --git a/qutebrowser/completion/models/urlmodel.py b/qutebrowser/completion/models/urlmodel.py index 56af1f7c7..35cac9542 100644 --- a/qutebrowser/completion/models/urlmodel.py +++ b/qutebrowser/completion/models/urlmodel.py @@ -21,7 +21,7 @@ from typing import Dict, Sequence -from PyQt5.QtCore import QAbstractItemModel +from PyQt6.QtCore import QAbstractItemModel from qutebrowser.completion.models import (completionmodel, filepathcategory, listcategory, histcategory) diff --git a/qutebrowser/components/braveadblock.py b/qutebrowser/components/braveadblock.py index 21319cb1b..ecd64e7ec 100644 --- a/qutebrowser/components/braveadblock.py +++ b/qutebrowser/components/braveadblock.py @@ -27,7 +27,7 @@ import contextlib import subprocess from typing import Optional, IO, Iterator -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.api import ( hook, diff --git a/qutebrowser/components/hostblock.py b/qutebrowser/components/hostblock.py index 1860b734c..10781bcc6 100644 --- a/qutebrowser/components/hostblock.py +++ b/qutebrowser/components/hostblock.py @@ -26,7 +26,7 @@ import logging import pathlib from typing import cast, IO, Set -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.api import ( hook, diff --git a/qutebrowser/components/misccommands.py b/qutebrowser/components/misccommands.py index 120806bfe..1df8f258e 100644 --- a/qutebrowser/components/misccommands.py +++ b/qutebrowser/components/misccommands.py @@ -31,8 +31,8 @@ try: except ImportError: hunter = None -from PyQt5.QtCore import Qt -from PyQt5.QtPrintSupport import QPrintPreviewDialog +from PyQt6.QtCore import Qt +from PyQt6.QtPrintSupport import QPrintPreviewDialog from qutebrowser.api import cmdutils, apitypes, message, config diff --git a/qutebrowser/components/readlinecommands.py b/qutebrowser/components/readlinecommands.py index da9c515dd..41e6f4d29 100644 --- a/qutebrowser/components/readlinecommands.py +++ b/qutebrowser/components/readlinecommands.py @@ -21,7 +21,7 @@ from typing import Iterable, Optional, MutableMapping -from PyQt5.QtWidgets import QApplication, QLineEdit +from PyQt6.QtWidgets import QApplication, QLineEdit from qutebrowser.api import cmdutils diff --git a/qutebrowser/components/utils/blockutils.py b/qutebrowser/components/utils/blockutils.py index bd27baece..d177e6634 100644 --- a/qutebrowser/components/utils/blockutils.py +++ b/qutebrowser/components/utils/blockutils.py @@ -24,7 +24,7 @@ import os import functools from typing import IO, List, Optional -from PyQt5.QtCore import QUrl, QObject, pyqtSignal +from PyQt6.QtCore import QUrl, QObject, pyqtSignal from qutebrowser.api import downloads, message, config diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index 437a54a33..efdb17ff6 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -25,7 +25,7 @@ import functools from typing import (TYPE_CHECKING, Any, Callable, Dict, Iterator, List, Mapping, MutableMapping, MutableSequence, Optional, Tuple, cast) -from PyQt5.QtCore import pyqtSignal, QObject, QUrl +from PyQt6.QtCore import pyqtSignal, QObject, QUrl from qutebrowser.commands import cmdexc, parser from qutebrowser.config import configdata, configexc, configutils diff --git a/qutebrowser/config/configcommands.py b/qutebrowser/config/configcommands.py index 143b02fca..42abdcb1a 100644 --- a/qutebrowser/config/configcommands.py +++ b/qutebrowser/config/configcommands.py @@ -23,7 +23,7 @@ import os.path import contextlib from typing import TYPE_CHECKING, Iterator, List, Optional, Any, Tuple -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.api import cmdutils from qutebrowser.completion.models import configmodel diff --git a/qutebrowser/config/configfiles.py b/qutebrowser/config/configfiles.py index 6f0d0b13c..bfbd05da9 100644 --- a/qutebrowser/config/configfiles.py +++ b/qutebrowser/config/configfiles.py @@ -33,7 +33,7 @@ from typing import (TYPE_CHECKING, Any, Dict, Iterable, Iterator, List, Mapping, MutableMapping, Optional, Tuple, cast) import yaml -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QSettings, qVersion +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, QSettings, qVersion import qutebrowser from qutebrowser.config import (configexc, config, configdata, configutils, @@ -118,7 +118,7 @@ class StateConfig(configparser.ConfigParser): Note that it's too early to use objects.backend here... """ try: - import PyQt5.QtWebEngineWidgets # pylint: disable=unused-import + import PyQt6.QtWebEngineWidgets # pylint: disable=unused-import except ImportError: return 'no' return str(version.qtwebengine_versions(avoid_init=True).webengine) diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py index 15e587ea2..54f4ee21b 100644 --- a/qutebrowser/config/configinit.py +++ b/qutebrowser/config/configinit.py @@ -23,7 +23,7 @@ import argparse import os.path import sys -from PyQt5.QtWidgets import QMessageBox +from PyQt6.QtWidgets import QMessageBox from qutebrowser.api import config as configapi from qutebrowser.config import (config, configdata, configfiles, configtypes, diff --git a/qutebrowser/config/configtypes.py b/qutebrowser/config/configtypes.py index d3d5e3fb8..1af4a71d8 100644 --- a/qutebrowser/config/configtypes.py +++ b/qutebrowser/config/configtypes.py @@ -55,10 +55,10 @@ from typing import (Any, Callable, Dict as DictType, Iterable, Iterator, List as ListType, Optional, Pattern, Sequence, Tuple, Union) import yaml -from PyQt5.QtCore import QUrl, Qt -from PyQt5.QtGui import QColor -from PyQt5.QtWidgets import QTabWidget, QTabBar -from PyQt5.QtNetwork import QNetworkProxy +from PyQt6.QtCore import QUrl, Qt +from PyQt6.QtGui import QColor +from PyQt6.QtWidgets import QTabWidget, QTabBar +from PyQt6.QtNetwork import QNetworkProxy from qutebrowser.misc import objects, debugcachestats from qutebrowser.config import configexc, configutils diff --git a/qutebrowser/config/configutils.py b/qutebrowser/config/configutils.py index 480bbd85f..73a1e87e5 100644 --- a/qutebrowser/config/configutils.py +++ b/qutebrowser/config/configutils.py @@ -28,9 +28,9 @@ from typing import ( TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Sequence, Set, Union, MutableMapping) -from PyQt5.QtCore import QUrl -from PyQt5.QtGui import QFontDatabase -from PyQt5.QtWidgets import QApplication +from PyQt6.QtCore import QUrl +from PyQt6.QtGui import QFontDatabase +from PyQt6.QtWidgets import QApplication from qutebrowser.utils import utils, urlmatch, urlutils, usertypes, qtutils from qutebrowser.config import configexc diff --git a/qutebrowser/config/qtargs.py b/qutebrowser/config/qtargs.py index c38ef5b01..d39c2f7ed 100644 --- a/qutebrowser/config/qtargs.py +++ b/qutebrowser/config/qtargs.py @@ -25,7 +25,7 @@ import argparse import pathlib from typing import Any, Dict, Iterator, List, Optional, Sequence, Tuple -from PyQt5.QtCore import QLibraryInfo, QLocale +from PyQt6.QtCore import QLibraryInfo, QLocale from qutebrowser.config import config from qutebrowser.misc import objects diff --git a/qutebrowser/config/stylesheet.py b/qutebrowser/config/stylesheet.py index 2927aec08..42fb39c15 100644 --- a/qutebrowser/config/stylesheet.py +++ b/qutebrowser/config/stylesheet.py @@ -22,7 +22,7 @@ import functools from typing import Optional, FrozenSet -from PyQt5.QtCore import pyqtSlot, QObject +from PyQt6.QtCore import pyqtSlot, QObject from qutebrowser.config import config from qutebrowser.misc import debugcachestats diff --git a/qutebrowser/config/websettings.py b/qutebrowser/config/websettings.py index 7556d2b6d..b879d290e 100644 --- a/qutebrowser/config/websettings.py +++ b/qutebrowser/config/websettings.py @@ -25,8 +25,8 @@ import functools import dataclasses from typing import Any, Callable, Dict, Optional, Union -from PyQt5.QtCore import QUrl, pyqtSlot, qVersion -from PyQt5.QtGui import QFont +from PyQt6.QtCore import QUrl, pyqtSlot, qVersion +from PyQt6.QtGui import QFont import qutebrowser from qutebrowser.config import config diff --git a/qutebrowser/extensions/interceptors.py b/qutebrowser/extensions/interceptors.py index dfafeb7e3..155b5f4bc 100644 --- a/qutebrowser/extensions/interceptors.py +++ b/qutebrowser/extensions/interceptors.py @@ -23,7 +23,7 @@ import enum import dataclasses from typing import Callable, List, Optional -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl class ResourceType(enum.Enum): diff --git a/qutebrowser/extensions/loader.py b/qutebrowser/extensions/loader.py index 7ae45023b..878dc1fb5 100644 --- a/qutebrowser/extensions/loader.py +++ b/qutebrowser/extensions/loader.py @@ -28,7 +28,7 @@ import argparse import dataclasses from typing import Callable, Iterator, List, Optional, Set, Tuple -from PyQt5.QtCore import pyqtSlot +from PyQt6.QtCore import pyqtSlot from qutebrowser import components from qutebrowser.config import config diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py index 7e688dab1..ade336249 100644 --- a/qutebrowser/keyinput/basekeyparser.py +++ b/qutebrowser/keyinput/basekeyparser.py @@ -24,8 +24,8 @@ import types import dataclasses from typing import Mapping, MutableMapping, Optional, Sequence -from PyQt5.QtCore import pyqtSignal, QObject, Qt -from PyQt5.QtGui import QKeySequence, QKeyEvent +from PyQt6.QtCore import pyqtSignal, QObject, Qt +from PyQt6.QtGui import QKeySequence, QKeyEvent from qutebrowser.config import config from qutebrowser.utils import usertypes, log, utils diff --git a/qutebrowser/keyinput/eventfilter.py b/qutebrowser/keyinput/eventfilter.py index 4d016bea6..df4ea5847 100644 --- a/qutebrowser/keyinput/eventfilter.py +++ b/qutebrowser/keyinput/eventfilter.py @@ -21,8 +21,8 @@ from typing import cast -from PyQt5.QtCore import pyqtSlot, QObject, QEvent -from PyQt5.QtGui import QKeyEvent, QWindow +from PyQt6.QtCore import pyqtSlot, QObject, QEvent +from PyQt6.QtGui import QKeyEvent, QWindow from qutebrowser.keyinput import modeman from qutebrowser.misc import quitter, objects diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py index 6bd8c99b8..f70a9c36c 100644 --- a/qutebrowser/keyinput/keyutils.py +++ b/qutebrowser/keyinput/keyutils.py @@ -35,8 +35,8 @@ import itertools import dataclasses from typing import cast, overload, Iterable, Iterator, List, Mapping, Optional, Union -from PyQt5.QtCore import Qt, QEvent -from PyQt5.QtGui import QKeySequence, QKeyEvent +from PyQt6.QtCore import Qt, QEvent +from PyQt6.QtGui import QKeySequence, QKeyEvent from qutebrowser.utils import utils diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index 3c47fafe3..e80a33ec3 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -23,8 +23,8 @@ import functools import dataclasses from typing import Mapping, Callable, MutableMapping, Union, Set, cast -from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QEvent -from PyQt5.QtGui import QKeyEvent +from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QEvent +from PyQt6.QtGui import QKeyEvent from qutebrowser.commands import runners from qutebrowser.keyinput import modeparsers, basekeyparser diff --git a/qutebrowser/keyinput/modeparsers.py b/qutebrowser/keyinput/modeparsers.py index bd5d4e801..65f0f54bf 100644 --- a/qutebrowser/keyinput/modeparsers.py +++ b/qutebrowser/keyinput/modeparsers.py @@ -27,8 +27,8 @@ import traceback import enum from typing import TYPE_CHECKING, Sequence -from PyQt5.QtCore import pyqtSlot, Qt, QObject -from PyQt5.QtGui import QKeySequence, QKeyEvent +from PyQt6.QtCore import pyqtSlot, Qt, QObject +from PyQt6.QtGui import QKeySequence, QKeyEvent from qutebrowser.browser import hints from qutebrowser.commands import cmdexc diff --git a/qutebrowser/mainwindow/mainwindow.py b/qutebrowser/mainwindow/mainwindow.py index d0723742a..067c5b8c0 100644 --- a/qutebrowser/mainwindow/mainwindow.py +++ b/qutebrowser/mainwindow/mainwindow.py @@ -25,10 +25,10 @@ import itertools import functools from typing import List, MutableSequence, Optional, Tuple, cast -from PyQt5.QtCore import (pyqtBoundSignal, pyqtSlot, QRect, QPoint, QTimer, Qt, +from PyQt6.QtCore import (pyqtBoundSignal, pyqtSlot, QRect, QPoint, QTimer, Qt, QCoreApplication, QEventLoop, QByteArray) -from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy -from PyQt5.QtGui import QPalette +from PyQt6.QtWidgets import QWidget, QVBoxLayout, QSizePolicy +from PyQt6.QtGui import QPalette from qutebrowser.commands import runners from qutebrowser.api import cmdutils diff --git a/qutebrowser/mainwindow/messageview.py b/qutebrowser/mainwindow/messageview.py index 58fcb3683..e4906badd 100644 --- a/qutebrowser/mainwindow/messageview.py +++ b/qutebrowser/mainwindow/messageview.py @@ -21,8 +21,8 @@ from typing import MutableSequence, Optional -from PyQt5.QtCore import pyqtSlot, pyqtSignal, QTimer, Qt -from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QSizePolicy +from PyQt6.QtCore import pyqtSlot, pyqtSignal, QTimer, Qt +from PyQt6.QtWidgets import QWidget, QVBoxLayout, QLabel, QSizePolicy from qutebrowser.config import config, stylesheet from qutebrowser.utils import usertypes diff --git a/qutebrowser/mainwindow/prompt.py b/qutebrowser/mainwindow/prompt.py index c8cbe572b..9ba02b93e 100644 --- a/qutebrowser/mainwindow/prompt.py +++ b/qutebrowser/mainwindow/prompt.py @@ -26,9 +26,9 @@ import functools import dataclasses from typing import Deque, MutableSequence, Optional, cast -from PyQt5.QtCore import (pyqtSlot, pyqtSignal, Qt, QTimer, QDir, QModelIndex, +from PyQt6.QtCore import (pyqtSlot, pyqtSignal, Qt, QTimer, QDir, QModelIndex, QItemSelectionModel, QObject, QEventLoop) -from PyQt5.QtWidgets import (QWidget, QGridLayout, QVBoxLayout, QLineEdit, +from PyQt6.QtWidgets import (QWidget, QGridLayout, QVBoxLayout, QLineEdit, QLabel, QFileSystemModel, QTreeView, QSizePolicy, QSpacerItem) diff --git a/qutebrowser/mainwindow/statusbar/bar.py b/qutebrowser/mainwindow/statusbar/bar.py index 8bad290be..3f881a3d2 100644 --- a/qutebrowser/mainwindow/statusbar/bar.py +++ b/qutebrowser/mainwindow/statusbar/bar.py @@ -22,9 +22,9 @@ import enum import dataclasses -from PyQt5.QtCore import (pyqtSignal, pyqtSlot, # type: ignore[attr-defined] +from PyQt6.QtCore import (pyqtSignal, pyqtSlot, # type: ignore[attr-defined] pyqtProperty, Qt, QSize, QTimer) -from PyQt5.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy +from PyQt6.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy from qutebrowser.browser import browsertab from qutebrowser.config import config, stylesheet diff --git a/qutebrowser/mainwindow/statusbar/command.py b/qutebrowser/mainwindow/statusbar/command.py index 92408d34f..fe90c216d 100644 --- a/qutebrowser/mainwindow/statusbar/command.py +++ b/qutebrowser/mainwindow/statusbar/command.py @@ -20,9 +20,9 @@ """The commandline in the statusbar.""" -from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QSize -from PyQt5.QtGui import QKeyEvent -from PyQt5.QtWidgets import QSizePolicy, QWidget +from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QSize +from PyQt6.QtGui import QKeyEvent +from PyQt6.QtWidgets import QSizePolicy, QWidget from qutebrowser.keyinput import modeman, modeparsers from qutebrowser.api import cmdutils diff --git a/qutebrowser/mainwindow/statusbar/keystring.py b/qutebrowser/mainwindow/statusbar/keystring.py index 590dbda93..70bc2f1a9 100644 --- a/qutebrowser/mainwindow/statusbar/keystring.py +++ b/qutebrowser/mainwindow/statusbar/keystring.py @@ -19,7 +19,7 @@ """Keychain string displayed in the statusbar.""" -from PyQt5.QtCore import pyqtSlot +from PyQt6.QtCore import pyqtSlot from qutebrowser.mainwindow.statusbar import textbase from qutebrowser.utils import usertypes diff --git a/qutebrowser/mainwindow/statusbar/percentage.py b/qutebrowser/mainwindow/statusbar/percentage.py index 122a4d4b4..b16112e7e 100644 --- a/qutebrowser/mainwindow/statusbar/percentage.py +++ b/qutebrowser/mainwindow/statusbar/percentage.py @@ -19,7 +19,7 @@ """Scroll percentage displayed in the statusbar.""" -from PyQt5.QtCore import pyqtSlot, Qt +from PyQt6.QtCore import pyqtSlot, Qt from qutebrowser.mainwindow.statusbar import textbase from qutebrowser.misc import throttle diff --git a/qutebrowser/mainwindow/statusbar/progress.py b/qutebrowser/mainwindow/statusbar/progress.py index 9d56cd03f..0fad084a0 100644 --- a/qutebrowser/mainwindow/statusbar/progress.py +++ b/qutebrowser/mainwindow/statusbar/progress.py @@ -19,8 +19,8 @@ """The progress bar in the statusbar.""" -from PyQt5.QtCore import pyqtSlot, QSize -from PyQt5.QtWidgets import QProgressBar, QSizePolicy +from PyQt6.QtCore import pyqtSlot, QSize +from PyQt6.QtWidgets import QProgressBar, QSizePolicy from qutebrowser.config import stylesheet from qutebrowser.utils import utils, usertypes diff --git a/qutebrowser/mainwindow/statusbar/tabindex.py b/qutebrowser/mainwindow/statusbar/tabindex.py index 635d3817b..ee1b3e6cd 100644 --- a/qutebrowser/mainwindow/statusbar/tabindex.py +++ b/qutebrowser/mainwindow/statusbar/tabindex.py @@ -19,7 +19,7 @@ """TabIndex displayed in the statusbar.""" -from PyQt5.QtCore import pyqtSlot +from PyQt6.QtCore import pyqtSlot from qutebrowser.mainwindow.statusbar import textbase diff --git a/qutebrowser/mainwindow/statusbar/textbase.py b/qutebrowser/mainwindow/statusbar/textbase.py index cb454b902..3bce38782 100644 --- a/qutebrowser/mainwindow/statusbar/textbase.py +++ b/qutebrowser/mainwindow/statusbar/textbase.py @@ -19,9 +19,9 @@ """Base text widgets for statusbar.""" -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import QLabel, QSizePolicy -from PyQt5.QtGui import QPainter +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import QLabel, QSizePolicy +from PyQt6.QtGui import QPainter from qutebrowser.utils import qtutils, utils diff --git a/qutebrowser/mainwindow/statusbar/url.py b/qutebrowser/mainwindow/statusbar/url.py index 99818e284..f05e45d09 100644 --- a/qutebrowser/mainwindow/statusbar/url.py +++ b/qutebrowser/mainwindow/statusbar/url.py @@ -21,7 +21,7 @@ import enum -from PyQt5.QtCore import (pyqtSlot, pyqtProperty, # type: ignore[attr-defined] +from PyQt6.QtCore import (pyqtSlot, pyqtProperty, # type: ignore[attr-defined] QUrl) from qutebrowser.mainwindow.statusbar import textbase diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py index e081284ee..c9017f548 100644 --- a/qutebrowser/mainwindow/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -27,8 +27,8 @@ import dataclasses from typing import ( Any, Deque, List, Mapping, MutableMapping, MutableSequence, Optional, Tuple) -from PyQt5.QtWidgets import QSizePolicy, QWidget, QApplication -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl +from PyQt6.QtWidgets import QSizePolicy, QWidget, QApplication +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl from qutebrowser.config import config from qutebrowser.keyinput import modeman diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py index 7983127d5..30cd39570 100644 --- a/qutebrowser/mainwindow/tabwidget.py +++ b/qutebrowser/mainwindow/tabwidget.py @@ -24,12 +24,12 @@ import contextlib import dataclasses from typing import Optional, cast -from PyQt5.QtCore import (pyqtSignal, pyqtSlot, Qt, QSize, QRect, QPoint, +from PyQt6.QtCore import (pyqtSignal, pyqtSlot, Qt, QSize, QRect, QPoint, QTimer, QUrl) -from PyQt5.QtWidgets import (QTabWidget, QTabBar, QSizePolicy, QCommonStyle, +from PyQt6.QtWidgets import (QTabWidget, QTabBar, QSizePolicy, QCommonStyle, QStyle, QStylePainter, QStyleOptionTab, QStyleFactory, QWidget) -from PyQt5.QtGui import QIcon, QPalette, QColor +from PyQt6.QtGui import QIcon, QPalette, QColor from qutebrowser.utils import qtutils, objreg, utils, usertypes, log from qutebrowser.config import config, stylesheet diff --git a/qutebrowser/mainwindow/windowundo.py b/qutebrowser/mainwindow/windowundo.py index ea7e1a987..ba960ac65 100644 --- a/qutebrowser/mainwindow/windowundo.py +++ b/qutebrowser/mainwindow/windowundo.py @@ -23,7 +23,7 @@ import collections import dataclasses from typing import MutableSequence, cast, TYPE_CHECKING -from PyQt5.QtCore import QObject, QByteArray +from PyQt6.QtCore import QObject, QByteArray from qutebrowser.config import config from qutebrowser.mainwindow import mainwindow diff --git a/qutebrowser/misc/autoupdate.py b/qutebrowser/misc/autoupdate.py index 73afdde54..68a1c6956 100644 --- a/qutebrowser/misc/autoupdate.py +++ b/qutebrowser/misc/autoupdate.py @@ -21,7 +21,7 @@ import json -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl from qutebrowser.misc import httpclient diff --git a/qutebrowser/misc/backendproblem.py b/qutebrowser/misc/backendproblem.py index 3e14719e0..9a490aac9 100644 --- a/qutebrowser/misc/backendproblem.py +++ b/qutebrowser/misc/backendproblem.py @@ -29,10 +29,10 @@ import argparse import dataclasses from typing import Any, List, Sequence, Tuple, Optional -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import (QDialog, QPushButton, QHBoxLayout, QVBoxLayout, QLabel, +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import (QDialog, QPushButton, QHBoxLayout, QVBoxLayout, QLabel, QMessageBox, QWidget) -from PyQt5.QtNetwork import QSslSocket +from PyQt6.QtNetwork import QSslSocket from qutebrowser.config import config, configfiles from qutebrowser.utils import (usertypes, version, qtutils, log, utils, @@ -270,9 +270,9 @@ class _BackendProblemChecker: results = _BackendImports() try: - from PyQt5 import QtWebKit - from PyQt5.QtWebKit import qWebKitVersion - from PyQt5 import QtWebKitWidgets + from PyQt6 import QtWebKit + from PyQt6.QtWebKit import qWebKitVersion + from PyQt6 import QtWebKitWidgets except (ImportError, ValueError) as e: results.webkit_error = str(e) else: @@ -280,7 +280,7 @@ class _BackendProblemChecker: results.webkit_error = "Unsupported legacy QtWebKit found" try: - from PyQt5 import QtWebEngineWidgets + from PyQt6 import QtWebEngineWidgets except (ImportError, ValueError) as e: results.webengine_error = str(e) diff --git a/qutebrowser/misc/cmdhistory.py b/qutebrowser/misc/cmdhistory.py index e4218832c..0ba328317 100644 --- a/qutebrowser/misc/cmdhistory.py +++ b/qutebrowser/misc/cmdhistory.py @@ -21,7 +21,7 @@ from typing import MutableSequence -from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject +from PyQt6.QtCore import pyqtSlot, pyqtSignal, QObject from qutebrowser.utils import usertypes, log, standarddir, objreg from qutebrowser.misc import lineparser diff --git a/qutebrowser/misc/consolewidget.py b/qutebrowser/misc/consolewidget.py index a826a4ed8..ad78037b1 100644 --- a/qutebrowser/misc/consolewidget.py +++ b/qutebrowser/misc/consolewidget.py @@ -23,9 +23,9 @@ import sys import code from typing import MutableSequence -from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt -from PyQt5.QtWidgets import QTextEdit, QWidget, QVBoxLayout, QApplication -from PyQt5.QtGui import QTextCursor +from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt +from PyQt6.QtWidgets import QTextEdit, QWidget, QVBoxLayout, QApplication +from PyQt6.QtGui import QTextCursor from qutebrowser.config import stylesheet from qutebrowser.misc import cmdhistory, miscwidgets diff --git a/qutebrowser/misc/crashdialog.py b/qutebrowser/misc/crashdialog.py index 430553433..c04220747 100644 --- a/qutebrowser/misc/crashdialog.py +++ b/qutebrowser/misc/crashdialog.py @@ -30,8 +30,8 @@ import datetime import enum from typing import List, Tuple -from PyQt5.QtCore import pyqtSlot, Qt, QSize -from PyQt5.QtWidgets import (QDialog, QLabel, QTextEdit, QPushButton, +from PyQt6.QtCore import pyqtSlot, Qt, QSize +from PyQt6.QtWidgets import (QDialog, QLabel, QTextEdit, QPushButton, QVBoxLayout, QHBoxLayout, QCheckBox, QDialogButtonBox, QMessageBox) diff --git a/qutebrowser/misc/crashsignal.py b/qutebrowser/misc/crashsignal.py index 45c52f54c..6b7cdf984 100644 --- a/qutebrowser/misc/crashsignal.py +++ b/qutebrowser/misc/crashsignal.py @@ -32,9 +32,9 @@ import faulthandler import dataclasses from typing import TYPE_CHECKING, Optional, MutableMapping, cast, List -from PyQt5.QtCore import (pyqtSlot, qInstallMessageHandler, QObject, +from PyQt6.QtCore import (pyqtSlot, qInstallMessageHandler, QObject, QSocketNotifier, QTimer, QUrl) -from PyQt5.QtWidgets import QApplication +from PyQt6.QtWidgets import QApplication from qutebrowser.api import cmdutils from qutebrowser.misc import earlyinit, crashdialog, ipc, objects diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py index c4ff0bb85..357f8fd3e 100644 --- a/qutebrowser/misc/earlyinit.py +++ b/qutebrowser/misc/earlyinit.py @@ -78,8 +78,8 @@ def _die(message, exception=None): message: The message to display. exception: The exception object if we're handling an exception. """ - from PyQt5.QtWidgets import QApplication, QMessageBox - from PyQt5.QtCore import Qt + from PyQt6.QtWidgets import QApplication, QMessageBox + from PyQt6.QtCore import Qt if (('--debug' in sys.argv or '--no-err-windows' in sys.argv) and exception is not None): print(file=sys.stderr) @@ -132,7 +132,7 @@ def init_faulthandler(fileobj=sys.__stderr__): def check_pyqt(): """Check if PyQt core modules (QtCore/QtWidgets) are installed.""" - for name in ['PyQt5.QtCore', 'PyQt5.QtWidgets']: + for name in ['PyQt6.QtCore', 'PyQt6.QtWidgets']: try: importlib.import_module(name) except ImportError as e: @@ -156,10 +156,10 @@ def check_pyqt(): def qt_version(qversion=None, qt_version_str=None): """Get a Qt version string based on the runtime/compiled versions.""" if qversion is None: - from PyQt5.QtCore import qVersion + from PyQt6.QtCore import qVersion qversion = qVersion() if qt_version_str is None: - from PyQt5.QtCore import QT_VERSION_STR + from PyQt6.QtCore import QT_VERSION_STR qt_version_str = QT_VERSION_STR if qversion != qt_version_str: @@ -170,9 +170,9 @@ def qt_version(qversion=None, qt_version_str=None): def check_qt_version(): """Check if the Qt version is recent enough.""" - from PyQt5.QtCore import QT_VERSION, PYQT_VERSION, PYQT_VERSION_STR + from PyQt6.QtCore import QT_VERSION, PYQT_VERSION, PYQT_VERSION_STR try: - from PyQt5.QtCore import QVersionNumber, QLibraryInfo + from PyQt6.QtCore import QVersionNumber, QLibraryInfo qt_ver = QLibraryInfo.version().normalized() recent_qt_runtime = qt_ver >= QVersionNumber(5, 12) # type: ignore[operator] except (ImportError, AttributeError): @@ -194,7 +194,7 @@ def check_qt_version(): def check_ssl_support(): """Check if SSL support is available.""" try: - from PyQt5.QtNetwork import QSslSocket # pylint: disable=unused-import + from PyQt6.QtNetwork import QSslSocket # pylint: disable=unused-import except ImportError: _die("Fatal error: Your Qt is built without SSL support.") @@ -232,10 +232,10 @@ def check_libraries(): 'jinja2': _missing_str("jinja2"), 'yaml': _missing_str("PyYAML"), 'dataclasses': _missing_str("dataclasses"), - 'PyQt5.QtQml': _missing_str("PyQt5.QtQml"), - 'PyQt5.QtSql': _missing_str("PyQt5.QtSql"), - 'PyQt5.QtOpenGL': _missing_str("PyQt5.QtOpenGL"), - 'PyQt5.QtDBus': _missing_str("PyQt5.QtDBus"), + 'PyQt6.QtQml': _missing_str("PyQt6.QtQml"), + 'PyQt6.QtSql': _missing_str("PyQt6.QtSql"), + 'PyQt6.QtOpenGL': _missing_str("PyQt6.QtOpenGL"), + 'PyQt6.QtDBus': _missing_str("PyQt6.QtDBus"), } if sys.version_info < (3, 9): # Backport required @@ -249,7 +249,7 @@ def configure_pyqt(): Doing this means we can't use the interactive shell anymore (which we don't anyways), but we can use pdb instead. """ - from PyQt5 import QtCore + from PyQt6 import QtCore QtCore.pyqtRemoveInputHook() try: QtCore.pyqt5_enable_new_onexit_scheme(True) # type: ignore[attr-defined] @@ -290,7 +290,7 @@ def webengine_early_import(): error messages in backendproblem.py are accurate. """ try: - from PyQt5 import QtWebEngineWidgets # pylint: disable=unused-import + from PyQt6 import QtWebEngineWidgets # pylint: disable=unused-import except ImportError: pass diff --git a/qutebrowser/misc/editor.py b/qutebrowser/misc/editor.py index d561a7b96..5d61afd57 100644 --- a/qutebrowser/misc/editor.py +++ b/qutebrowser/misc/editor.py @@ -22,7 +22,7 @@ import os import tempfile -from PyQt5.QtCore import (pyqtSignal, pyqtSlot, QObject, QProcess, +from PyQt6.QtCore import (pyqtSignal, pyqtSlot, QObject, QProcess, QFileSystemWatcher) from qutebrowser.config import config diff --git a/qutebrowser/misc/elf.py b/qutebrowser/misc/elf.py index bf824880a..ddda87972 100644 --- a/qutebrowser/misc/elf.py +++ b/qutebrowser/misc/elf.py @@ -32,7 +32,7 @@ to the QtWebEngine version (as that can be older/newer). Since there will be a QtWebEngine 5.15.3 release, but not Qt itself (due to LTS licensing restrictions), this isn't a reliable source of information. -b) Look at the PyQtWebEngine version (PyQt5.QtWebEngine.PYQT_WEBENGINE_VERSION_STR). +b) Look at the PyQtWebEngine version (PyQt6.QtWebEngine.PYQT_WEBENGINE_VERSION_STR). This is a good first guess (especially for our Windows/macOS releases), but still isn't certain. Linux distributions often push a newer QtWebEngine before the corresponding PyQtWebEngine release, and some (*cough* Gentoo *cough*) even publish QtWebEngine @@ -67,7 +67,7 @@ import mmap import pathlib from typing import Any, IO, ClassVar, Dict, Optional, Tuple, cast -from PyQt5.QtCore import QLibraryInfo +from PyQt6.QtCore import QLibraryInfo from qutebrowser.utils import log, version diff --git a/qutebrowser/misc/guiprocess.py b/qutebrowser/misc/guiprocess.py index e5ccd1b8b..640d7f1e6 100644 --- a/qutebrowser/misc/guiprocess.py +++ b/qutebrowser/misc/guiprocess.py @@ -24,7 +24,7 @@ import locale import shlex from typing import Mapping, Sequence, Dict, Optional -from PyQt5.QtCore import (pyqtSlot, pyqtSignal, QObject, QProcess, +from PyQt6.QtCore import (pyqtSlot, pyqtSignal, QObject, QProcess, QProcessEnvironment, QByteArray, QUrl, Qt) from qutebrowser.utils import message, log, utils, usertypes diff --git a/qutebrowser/misc/httpclient.py b/qutebrowser/misc/httpclient.py index d4a8e7673..4cd825814 100644 --- a/qutebrowser/misc/httpclient.py +++ b/qutebrowser/misc/httpclient.py @@ -23,8 +23,8 @@ import functools import urllib.parse from typing import MutableMapping -from PyQt5.QtCore import pyqtSignal, QObject, QTimer -from PyQt5.QtNetwork import (QNetworkAccessManager, QNetworkRequest, +from PyQt6.QtCore import pyqtSignal, QObject, QTimer +from PyQt6.QtNetwork import (QNetworkAccessManager, QNetworkRequest, QNetworkReply) from qutebrowser.utils import log diff --git a/qutebrowser/misc/ipc.py b/qutebrowser/misc/ipc.py index 77b9e8f6c..06daf2d7f 100644 --- a/qutebrowser/misc/ipc.py +++ b/qutebrowser/misc/ipc.py @@ -26,8 +26,8 @@ import getpass import binascii import hashlib -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, Qt -from PyQt5.QtNetwork import QLocalSocket, QLocalServer, QAbstractSocket +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, Qt +from PyQt6.QtNetwork import QLocalSocket, QLocalServer, QAbstractSocket import qutebrowser from qutebrowser.utils import log, usertypes, error, standarddir, utils diff --git a/qutebrowser/misc/keyhintwidget.py b/qutebrowser/misc/keyhintwidget.py index 4fcef72e4..392b03ae4 100644 --- a/qutebrowser/misc/keyhintwidget.py +++ b/qutebrowser/misc/keyhintwidget.py @@ -28,8 +28,8 @@ import html import fnmatch import re -from PyQt5.QtWidgets import QLabel, QSizePolicy -from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt +from PyQt6.QtWidgets import QLabel, QSizePolicy +from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt from qutebrowser.config import config, stylesheet from qutebrowser.utils import utils, usertypes diff --git a/qutebrowser/misc/lineparser.py b/qutebrowser/misc/lineparser.py index 9d35692e9..a0ed70608 100644 --- a/qutebrowser/misc/lineparser.py +++ b/qutebrowser/misc/lineparser.py @@ -24,7 +24,7 @@ import os.path import contextlib from typing import Sequence -from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject +from PyQt6.QtCore import pyqtSlot, pyqtSignal, QObject from qutebrowser.utils import log, utils, qtutils from qutebrowser.config import config diff --git a/qutebrowser/misc/miscwidgets.py b/qutebrowser/misc/miscwidgets.py index b89288fc7..1dfbdff6a 100644 --- a/qutebrowser/misc/miscwidgets.py +++ b/qutebrowser/misc/miscwidgets.py @@ -21,11 +21,11 @@ from typing import Optional -from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QSize, QTimer -from PyQt5.QtWidgets import (QLineEdit, QWidget, QHBoxLayout, QLabel, +from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QSize, QTimer +from PyQt6.QtWidgets import (QLineEdit, QWidget, QHBoxLayout, QLabel, QStyleOption, QStyle, QLayout, QApplication, QSplitter) -from PyQt5.QtGui import QValidator, QPainter, QResizeEvent +from PyQt6.QtGui import QValidator, QPainter, QResizeEvent from qutebrowser.config import config, configfiles from qutebrowser.utils import utils, log, usertypes diff --git a/qutebrowser/misc/msgbox.py b/qutebrowser/misc/msgbox.py index 9d5fbf601..e75f0af87 100644 --- a/qutebrowser/misc/msgbox.py +++ b/qutebrowser/misc/msgbox.py @@ -19,8 +19,8 @@ """Convenience functions to show message boxes.""" -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import QMessageBox +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import QMessageBox from qutebrowser.misc import objects from qutebrowser.utils import log diff --git a/qutebrowser/misc/objects.py b/qutebrowser/misc/objects.py index 00a1ef35d..28e4d7b4f 100644 --- a/qutebrowser/misc/objects.py +++ b/qutebrowser/misc/objects.py @@ -26,7 +26,7 @@ import argparse from typing import TYPE_CHECKING, Any, Dict, Set, Union, cast if TYPE_CHECKING: - from PyQt5.QtWidgets import QApplication + from PyQt6.QtWidgets import QApplication from qutebrowser.utils import usertypes from qutebrowser.commands import command diff --git a/qutebrowser/misc/pastebin.py b/qutebrowser/misc/pastebin.py index a4e0a196f..8f58906a8 100644 --- a/qutebrowser/misc/pastebin.py +++ b/qutebrowser/misc/pastebin.py @@ -21,7 +21,7 @@ import urllib.parse -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl class PastebinClient(QObject): diff --git a/qutebrowser/misc/quitter.py b/qutebrowser/misc/quitter.py index a51891685..f8e20934f 100644 --- a/qutebrowser/misc/quitter.py +++ b/qutebrowser/misc/quitter.py @@ -31,7 +31,7 @@ import functools import subprocess from typing import Iterable, Mapping, MutableSequence, Sequence, cast -from PyQt5.QtCore import QObject, pyqtSignal, QTimer +from PyQt6.QtCore import QObject, pyqtSignal, QTimer try: import hunter except ImportError: diff --git a/qutebrowser/misc/savemanager.py b/qutebrowser/misc/savemanager.py index ee22ba14d..f2eb8307f 100644 --- a/qutebrowser/misc/savemanager.py +++ b/qutebrowser/misc/savemanager.py @@ -23,7 +23,7 @@ import os.path import collections from typing import MutableMapping -from PyQt5.QtCore import pyqtSlot, QObject, QTimer +from PyQt6.QtCore import pyqtSlot, QObject, QTimer from qutebrowser.config import config from qutebrowser.api import cmdutils diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py index 11af329e0..d791cc1a0 100644 --- a/qutebrowser/misc/sessions.py +++ b/qutebrowser/misc/sessions.py @@ -27,7 +27,7 @@ import shutil import pathlib from typing import Any, Iterable, MutableMapping, MutableSequence, Optional, Union, cast -from PyQt5.QtCore import Qt, QUrl, QObject, QPoint, QTimer, QDateTime +from PyQt6.QtCore import Qt, QUrl, QObject, QPoint, QTimer, QDateTime import yaml from qutebrowser.utils import (standarddir, objreg, qtutils, log, message, diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py index 814eb2bb0..8d732774e 100644 --- a/qutebrowser/misc/sql.py +++ b/qutebrowser/misc/sql.py @@ -25,8 +25,8 @@ import dataclasses import types from typing import Any, Dict, Iterator, List, Mapping, MutableSequence, Optional, Type -from PyQt5.QtCore import QObject, pyqtSignal -from PyQt5.QtSql import QSqlDatabase, QSqlError, QSqlQuery +from PyQt6.QtCore import QObject, pyqtSignal +from PyQt6.QtSql import QSqlDatabase, QSqlError, QSqlQuery from qutebrowser.qt import sip from qutebrowser.utils import debug, log diff --git a/qutebrowser/misc/throttle.py b/qutebrowser/misc/throttle.py index ac565b68d..fe5b5eda2 100644 --- a/qutebrowser/misc/throttle.py +++ b/qutebrowser/misc/throttle.py @@ -23,7 +23,7 @@ import dataclasses import time from typing import Any, Callable, Mapping, Optional, Sequence -from PyQt5.QtCore import QObject +from PyQt6.QtCore import QObject from qutebrowser.utils import usertypes diff --git a/qutebrowser/misc/utilcmds.py b/qutebrowser/misc/utilcmds.py index 7ba45bdc3..55db4d0ed 100644 --- a/qutebrowser/misc/utilcmds.py +++ b/qutebrowser/misc/utilcmds.py @@ -26,8 +26,8 @@ import os import traceback from typing import Optional -from PyQt5.QtCore import QUrl -from PyQt5.QtWidgets import QApplication +from PyQt6.QtCore import QUrl +from PyQt6.QtWidgets import QApplication from qutebrowser.browser import qutescheme from qutebrowser.utils import log, objreg, usertypes, message, debug, utils diff --git a/qutebrowser/qt.py b/qutebrowser/qt.py index 5e0f80538..8d9262d58 100644 --- a/qutebrowser/qt.py +++ b/qutebrowser/qt.py @@ -21,9 +21,9 @@ # pylint: disable=unused-import -# While upstream recommends using PyQt5.sip ever since PyQt5 5.11, some distributions -# still package later versions of PyQt5 with a top-level "sip" rather than "PyQt5.sip". +# While upstream recommends using PyQt6.sip ever since PyQt6 5.11, some distributions +# still package later versions of PyQt6 with a top-level "sip" rather than "PyQt6.sip". try: - from PyQt5 import sip + from PyQt6 import sip except ImportError: import sip # type: ignore[import, no-redef] diff --git a/qutebrowser/resources.py b/qutebrowser/resources.py index ebe256809..ab170aa9a 100644 --- a/qutebrowser/resources.py +++ b/qutebrowser/resources.py @@ -2,11 +2,11 @@ # Resource object code # -# Created by: The Resource Compiler for PyQt5 (Qt v5.6.0) +# Created by: The Resource Compiler for PyQt6 (Qt v5.6.0) # # WARNING! All changes made in this file will be lost! -from PyQt5 import QtCore +from PyQt6 import QtCore qt_resource_data = b"\ \x00\x00\x22\xfe\ diff --git a/qutebrowser/utils/debug.py b/qutebrowser/utils/debug.py index 7d069909a..220618f53 100644 --- a/qutebrowser/utils/debug.py +++ b/qutebrowser/utils/debug.py @@ -28,7 +28,7 @@ import types from typing import ( Any, Callable, List, Mapping, MutableSequence, Optional, Sequence, Type, Union) -from PyQt5.QtCore import Qt, QEvent, QMetaMethod, QObject, pyqtBoundSignal +from PyQt6.QtCore import Qt, QEvent, QMetaMethod, QObject, pyqtBoundSignal from qutebrowser.utils import log, utils, qtutils, objreg from qutebrowser.misc import objects diff --git a/qutebrowser/utils/error.py b/qutebrowser/utils/error.py index a5889f977..1ead83788 100644 --- a/qutebrowser/utils/error.py +++ b/qutebrowser/utils/error.py @@ -19,7 +19,7 @@ """Tools related to error printing/displaying.""" -from PyQt5.QtWidgets import QMessageBox +from PyQt6.QtWidgets import QMessageBox from qutebrowser.utils import log, utils diff --git a/qutebrowser/utils/jinja.py b/qutebrowser/utils/jinja.py index a44a0235e..ab4876934 100644 --- a/qutebrowser/utils/jinja.py +++ b/qutebrowser/utils/jinja.py @@ -29,7 +29,7 @@ from typing import Any, Callable, FrozenSet, Iterator, List, Set, Tuple import jinja2 import jinja2.nodes -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import utils, urlutils, log, qtutils, resources from qutebrowser.misc import debugcachestats diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py index 9cd07e2e3..07fb9e108 100644 --- a/qutebrowser/utils/log.py +++ b/qutebrowser/utils/log.py @@ -35,7 +35,7 @@ import argparse from typing import (TYPE_CHECKING, Any, Iterator, Mapping, MutableSequence, Optional, Set, Tuple, Union) -from PyQt5 import QtCore +from PyQt6 import QtCore # Optional imports try: import colorama diff --git a/qutebrowser/utils/message.py b/qutebrowser/utils/message.py index 50a438637..406c77f02 100644 --- a/qutebrowser/utils/message.py +++ b/qutebrowser/utils/message.py @@ -25,7 +25,7 @@ import traceback from typing import Any, Callable, Iterable, List, Tuple, Union, Optional -from PyQt5.QtCore import pyqtSignal, pyqtBoundSignal, QObject +from PyQt6.QtCore import pyqtSignal, pyqtBoundSignal, QObject from qutebrowser.utils import usertypes, log diff --git a/qutebrowser/utils/objreg.py b/qutebrowser/utils/objreg.py index 0819a5d0a..e46d936b5 100644 --- a/qutebrowser/utils/objreg.py +++ b/qutebrowser/utils/objreg.py @@ -25,9 +25,9 @@ import functools from typing import (TYPE_CHECKING, Any, Callable, MutableMapping, MutableSequence, Optional, Sequence, Union) -from PyQt5.QtCore import QObject, QTimer -from PyQt5.QtWidgets import QApplication -from PyQt5.QtWidgets import QWidget +from PyQt6.QtCore import QObject, QTimer +from PyQt6.QtWidgets import QApplication +from PyQt6.QtWidgets import QWidget from qutebrowser.utils import log, usertypes, utils if TYPE_CHECKING: diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py index ff8983c50..0a46c87f5 100644 --- a/qutebrowser/utils/qtutils.py +++ b/qutebrowser/utils/qtutils.py @@ -34,17 +34,17 @@ import contextlib from typing import (Any, AnyStr, TYPE_CHECKING, BinaryIO, IO, Iterator, Optional, Union, Tuple, cast) -from PyQt5.QtCore import (qVersion, QEventLoop, QDataStream, QByteArray, +from PyQt6.QtCore import (qVersion, QEventLoop, QDataStream, QByteArray, QIODevice, QFileDevice, QSaveFile, QT_VERSION_STR, PYQT_VERSION_STR, QObject, QUrl) -from PyQt5.QtGui import QColor +from PyQt6.QtGui import QColor try: - from PyQt5.QtWebKit import qWebKitVersion + from PyQt6.QtWebKit import qWebKitVersion except ImportError: # pragma: no cover qWebKitVersion = None # type: ignore[assignment] # noqa: N816 if TYPE_CHECKING: - from PyQt5.QtWebKit import QWebHistory - from PyQt5.QtWebEngineWidgets import QWebEngineHistory + from PyQt6.QtWebKit import QWebHistory + from PyQt6.QtWebEngineWidgets import QWebEngineHistory from qutebrowser.misc import objects from qutebrowser.utils import usertypes, utils diff --git a/qutebrowser/utils/standarddir.py b/qutebrowser/utils/standarddir.py index f1bd01a5f..ccb61436f 100644 --- a/qutebrowser/utils/standarddir.py +++ b/qutebrowser/utils/standarddir.py @@ -27,8 +27,8 @@ import enum import argparse from typing import Iterator, Optional -from PyQt5.QtCore import QStandardPaths -from PyQt5.QtWidgets import QApplication +from PyQt6.QtCore import QStandardPaths +from PyQt6.QtWidgets import QApplication from qutebrowser.utils import log, debug, utils, version diff --git a/qutebrowser/utils/urlmatch.py b/qutebrowser/utils/urlmatch.py index f14c2083d..7212e3c05 100644 --- a/qutebrowser/utils/urlmatch.py +++ b/qutebrowser/utils/urlmatch.py @@ -34,7 +34,7 @@ import fnmatch import urllib.parse from typing import Any, Optional, Tuple -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import utils, qtutils diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py index 002f10411..5f7afdc0e 100644 --- a/qutebrowser/utils/urlutils.py +++ b/qutebrowser/utils/urlutils.py @@ -28,8 +28,8 @@ import urllib.parse import mimetypes from typing import Optional, Tuple, Union, Iterable -from PyQt5.QtCore import QUrl -from PyQt5.QtNetwork import QHostInfo, QHostAddress, QNetworkProxy +from PyQt6.QtCore import QUrl +from PyQt6.QtNetwork import QHostInfo, QHostAddress, QNetworkProxy from qutebrowser.api import cmdutils from qutebrowser.config import config diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py index ee0f899cc..69be8f574 100644 --- a/qutebrowser/utils/usertypes.py +++ b/qutebrowser/utils/usertypes.py @@ -25,8 +25,8 @@ import enum import dataclasses from typing import Optional, Sequence, TypeVar, Union -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QTimer -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, QTimer +from PyQt6.QtCore import QUrl from qutebrowser.utils import log, qtutils, utils diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index a56769255..360a4d128 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -44,9 +44,9 @@ except ImportError: # pragma: no cover """Empty stub at runtime.""" -from PyQt5.QtCore import QUrl, QVersionNumber, QRect -from PyQt5.QtGui import QClipboard, QDesktopServices -from PyQt5.QtWidgets import QApplication +from PyQt6.QtCore import QUrl, QVersionNumber, QRect +from PyQt6.QtGui import QClipboard, QDesktopServices +from PyQt6.QtWidgets import QApplication import yaml try: diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py index 8cd244fca..488ddfa54 100644 --- a/qutebrowser/utils/version.py +++ b/qutebrowser/utils/version.py @@ -38,18 +38,18 @@ from typing import (Mapping, Optional, Sequence, Tuple, ClassVar, Dict, cast, TYPE_CHECKING) -from PyQt5.QtCore import PYQT_VERSION_STR, QLibraryInfo, qVersion -from PyQt5.QtNetwork import QSslSocket -from PyQt5.QtGui import (QOpenGLContext, QOpenGLVersionProfile, +from PyQt6.QtCore import PYQT_VERSION_STR, QLibraryInfo, qVersion +from PyQt6.QtNetwork import QSslSocket +from PyQt6.QtGui import (QOpenGLContext, QOpenGLVersionProfile, QOffscreenSurface) -from PyQt5.QtWidgets import QApplication +from PyQt6.QtWidgets import QApplication try: - from PyQt5.QtWebKit import qWebKitVersion + from PyQt6.QtWebKit import qWebKitVersion except ImportError: # pragma: no cover qWebKitVersion = None # type: ignore[assignment] # noqa: N816 try: - from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION_STR + from PyQt6.QtWebEngine import PYQT_WEBENGINE_VERSION_STR except ImportError: # pragma: no cover # Added in PyQt 5.13 PYQT_WEBENGINE_VERSION_STR = None # type: ignore[assignment] @@ -404,9 +404,9 @@ MODULE_INFO: Mapping[str, ModuleInfo] = collections.OrderedDict([ ('pygments', ['__version__']), ('yaml', ['__version__']), ('adblock', ['__version__'], "0.3.2"), - ('PyQt5.QtWebEngineWidgets', []), - ('PyQt5.QtWebEngine', ['PYQT_WEBENGINE_VERSION_STR']), - ('PyQt5.QtWebKitWidgets', []), + ('PyQt6.QtWebEngineWidgets', []), + ('PyQt6.QtWebEngine', ['PYQT_WEBENGINE_VERSION_STR']), + ('PyQt6.QtWebKitWidgets', []), ] ]) @@ -699,7 +699,7 @@ class WebEngineVersions: # be using QtWebEngine 5.15.3 (87-based). For now, we play it safe, and only # do this kind of "downgrade" when we know we're using PyInstaller. frozen = hasattr(sys, 'frozen') - log.misc.debug(f"PyQt5 >= 5.15.3, frozen {frozen}") + log.misc.debug(f"PyQt6 >= 5.15.3, frozen {frozen}") if frozen: parsed = utils.VersionNumber(5, 15, 2) diff --git a/scripts/dev/build_pyqt_wheel.py b/scripts/dev/build_pyqt_wheel.py index b63331341..36fc9cbe4 100644 --- a/scripts/dev/build_pyqt_wheel.py +++ b/scripts/dev/build_pyqt_wheel.py @@ -78,8 +78,8 @@ def main(): utils.print_title("Downloading wheels") subprocess.run([sys.executable, '-m', 'pip', 'download', - '--no-deps', '--only-binary', 'PyQt5,PyQtWebEngine', - 'PyQt5', 'PyQtWebEngine'], check=True) + '--no-deps', '--only-binary', 'PyQt6,PyQtWebEngine', + 'PyQt6', 'PyQtWebEngine'], check=True) utils.print_title("Patching wheels") input_files = wheels_dir.glob('*.whl') diff --git a/scripts/dev/build_release.py b/scripts/dev/build_release.py index a1c6646eb..b849bc666 100755 --- a/scripts/dev/build_release.py +++ b/scripts/dev/build_release.py @@ -226,7 +226,7 @@ def patch_mac_app(): plistlib.dump(plist_data, f) # Replace some duplicate files by symlinks - framework_path = os.path.join(app_path, 'Contents', 'MacOS', 'PyQt5', + framework_path = os.path.join(app_path, 'Contents', 'MacOS', 'PyQt6', 'Qt', 'lib', 'QtWebEngineCore.framework') core_lib = os.path.join(framework_path, 'Versions', '5', 'QtWebEngineCore') diff --git a/scripts/dev/recompile_requirements.py b/scripts/dev/recompile_requirements.py index d8ed9974b..133735644 100644 --- a/scripts/dev/recompile_requirements.py +++ b/scripts/dev/recompile_requirements.py @@ -138,15 +138,15 @@ CHANGELOG_URLS = { 'cryptography': 'https://cryptography.io/en/latest/changelog.html', 'toml': 'https://github.com/uiri/toml/releases', 'tomli': 'https://github.com/hukkin/tomli/blob/master/CHANGELOG.md', - 'PyQt5': 'https://www.riverbankcomputing.com/news', - 'PyQt5-Qt': 'https://www.riverbankcomputing.com/news', - 'PyQt5-Qt5': 'https://www.riverbankcomputing.com/news', + 'PyQt6': 'https://www.riverbankcomputing.com/news', + 'PyQt6-Qt': 'https://www.riverbankcomputing.com/news', + 'PyQt6-Qt5': 'https://www.riverbankcomputing.com/news', 'PyQtWebEngine': 'https://www.riverbankcomputing.com/news', 'PyQtWebEngine-Qt': 'https://www.riverbankcomputing.com/news', 'PyQtWebEngine-Qt5': 'https://www.riverbankcomputing.com/news', 'PyQt-builder': 'https://www.riverbankcomputing.com/news', - 'PyQt5-sip': 'https://www.riverbankcomputing.com/news', - 'PyQt5-stubs': 'https://github.com/stlehmann/PyQt5-stubs/blob/master/CHANGELOG.md', + 'PyQt6-sip': 'https://www.riverbankcomputing.com/news', + 'PyQt6-stubs': 'https://github.com/stlehmann/PyQt6-stubs/blob/master/CHANGELOG.md', 'sip': 'https://www.riverbankcomputing.com/news', 'Pygments': 'https://pygments.org/docs/changelog/', 'vulture': 'https://github.com/jendrikseipp/vulture/blob/master/CHANGELOG.md', diff --git a/scripts/dev/run_pylint_on_tests.py b/scripts/dev/run_pylint_on_tests.py index d0385bd17..657f6ca33 100644 --- a/scripts/dev/run_pylint_on_tests.py +++ b/scripts/dev/run_pylint_on_tests.py @@ -70,7 +70,7 @@ def main(): args = [ '--disable={}'.format(','.join(disabled)), - '--ignored-modules=helpers,pytest,PyQt5', + '--ignored-modules=helpers,pytest,PyQt6', r'--ignore-long-lines=(<?https?://|^# Copyright 201\d)|^ *def [a-z]', r'--method-rgx=[a-z_][A-Za-z0-9_]{1,100}$', ] + sys.argv[2:] + files diff --git a/scripts/dev/run_vulture.py b/scripts/dev/run_vulture.py index 1f0018488..519b431b0 100755 --- a/scripts/dev/run_vulture.py +++ b/scripts/dev/run_vulture.py @@ -64,11 +64,11 @@ def whitelist_generator(): # noqa: C901 yield 'qutebrowser.misc.guiprocess.GUIProcess.stderr' # Qt attributes - yield 'PyQt5.QtWebKit.QWebPage.ErrorPageExtensionReturn().baseUrl' - yield 'PyQt5.QtWebKit.QWebPage.ErrorPageExtensionReturn().content' - yield 'PyQt5.QtWebKit.QWebPage.ErrorPageExtensionReturn().encoding' - yield 'PyQt5.QtWebKit.QWebPage.ErrorPageExtensionReturn().fileNames' - yield 'PyQt5.QtWidgets.QStyleOptionViewItem.backgroundColor' + yield 'PyQt6.QtWebKit.QWebPage.ErrorPageExtensionReturn().baseUrl' + yield 'PyQt6.QtWebKit.QWebPage.ErrorPageExtensionReturn().content' + yield 'PyQt6.QtWebKit.QWebPage.ErrorPageExtensionReturn().encoding' + yield 'PyQt6.QtWebKit.QWebPage.ErrorPageExtensionReturn().fileNames' + yield 'PyQt6.QtWidgets.QStyleOptionViewItem.backgroundColor' ## qute://... handlers for name in qutescheme._HANDLERS: # pylint: disable=protected-access @@ -86,7 +86,7 @@ def whitelist_generator(): # noqa: C901 yield 'propagate' # logging.getLogger('...).propagate = False # vulture doesn't notice the hasattr() and thus thinks netrc_used is unused # in NetworkManager.on_authentication_required - yield 'PyQt5.QtNetwork.QNetworkReply.netrc_used' + yield 'PyQt6.QtNetwork.QNetworkReply.netrc_used' yield 'qutebrowser.browser.downloads.last_used_directory' yield 'PaintContext.clip' # from completiondelegate.py yield 'logging.LogRecord.log_color' # from logging.py diff --git a/scripts/dev/standardpaths_tester.py b/scripts/dev/standardpaths_tester.py index 03de7f887..4ec2e1560 100644 --- a/scripts/dev/standardpaths_tester.py +++ b/scripts/dev/standardpaths_tester.py @@ -23,7 +23,7 @@ import os import sys -from PyQt5.QtCore import (QT_VERSION_STR, PYQT_VERSION_STR, qVersion, +from PyQt6.QtCore import (QT_VERSION_STR, PYQT_VERSION_STR, qVersion, QStandardPaths, QCoreApplication) diff --git a/scripts/keytester.py b/scripts/keytester.py index bc9a22263..b1e1713ac 100644 --- a/scripts/keytester.py +++ b/scripts/keytester.py @@ -23,7 +23,7 @@ Use python3 -m scripts.keytester to launch it. """ -from PyQt5.QtWidgets import QApplication +from PyQt6.QtWidgets import QApplication from qutebrowser.misc import miscwidgets diff --git a/scripts/link_pyqt.py b/scripts/link_pyqt.py index 158cc145d..e2cbddd74 100644 --- a/scripts/link_pyqt.py +++ b/scripts/link_pyqt.py @@ -134,16 +134,16 @@ def link_pyqt(executable, venv_path): venv_path: The path to the virtualenv site-packages. """ try: - get_lib_path(executable, 'PyQt5.sip') + get_lib_path(executable, 'PyQt6.sip') except Error: - # There is no PyQt5.sip, so we need to copy the toplevel sip. + # There is no PyQt6.sip, so we need to copy the toplevel sip. sip_file = get_lib_path(executable, 'sip') else: - # There is a PyQt5.sip, it'll get copied with the PyQt5 dir. + # There is a PyQt6.sip, it'll get copied with the PyQt6 dir. sip_file = None sipconfig_file = get_lib_path(executable, 'sipconfig', required=False) - pyqt_dir = os.path.dirname(get_lib_path(executable, 'PyQt5.QtCore')) + pyqt_dir = os.path.dirname(get_lib_path(executable, 'PyQt6.QtCore')) for path in [sip_file, sipconfig_file, pyqt_dir]: if path is None: diff --git a/scripts/mkvenv.py b/scripts/mkvenv.py index 7f6920bb8..e4e7b1cef 100755 --- a/scripts/mkvenv.py +++ b/scripts/mkvenv.py @@ -232,25 +232,25 @@ def install_pyqt_binary(venv_dir: pathlib.Path, version: str) -> None: 'darwin': {'x86_64'}, } if sys.platform not in supported_archs: - utils.print_error(f"{sys.platform} is not a supported platform by PyQt5 binary " + utils.print_error(f"{sys.platform} is not a supported platform by PyQt6 binary " "packages, this will most likely fail.") elif platform.machine() not in supported_archs[sys.platform]: utils.print_error( - f"{platform.machine()} is not a supported architecture for PyQt5 binaries " + f"{platform.machine()} is not a supported architecture for PyQt6 binaries " f"on {sys.platform}, this will most likely fail.") elif sys.platform == 'linux' and platform.libc_ver()[0] != 'glibc': - utils.print_error("Non-glibc Linux is not a supported platform for PyQt5 " + utils.print_error("Non-glibc Linux is not a supported platform for PyQt6 " "binaries, this will most likely fail.") pip_install(venv_dir, '-r', pyqt_requirements_file(version), - '--only-binary', 'PyQt5,PyQtWebEngine') + '--only-binary', 'PyQt6,PyQtWebEngine') def install_pyqt_source(venv_dir: pathlib.Path, version: str) -> None: """Install PyQt from the source tarball.""" utils.print_title("Installing PyQt from sources") pip_install(venv_dir, '-r', pyqt_requirements_file(version), - '--verbose', '--no-binary', 'PyQt5,PyQtWebEngine') + '--verbose', '--no-binary', 'PyQt6,PyQtWebEngine') def install_pyqt_link(venv_dir: pathlib.Path) -> None: @@ -317,7 +317,7 @@ def apply_xcb_util_workaround( libxcb_util_path = pathlib.Path(libxcb_util_libs[0]) code = [ - 'from PyQt5.QtCore import QLibraryInfo', + 'from PyQt6.QtCore import QLibraryInfo', 'print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))', ] proc = run_venv(venv_dir, 'python', '-c', '; '.join(code), capture_output=True) @@ -371,8 +371,8 @@ def run_qt_smoke_test(venv_dir: pathlib.Path) -> None: utils.print_title("Running Qt smoke test") code = [ 'import sys', - 'from PyQt5.QtWidgets import QApplication', - 'from PyQt5.QtCore import qVersion, QT_VERSION_STR, PYQT_VERSION_STR', + 'from PyQt6.QtWidgets import QApplication', + 'from PyQt6.QtCore import qVersion, QT_VERSION_STR, PYQT_VERSION_STR', 'print(f"Python: {sys.version}")', 'print(f"qVersion: {qVersion()}")', 'print(f"QT_VERSION_STR: {QT_VERSION_STR}")', diff --git a/scripts/opengl_info.py b/scripts/opengl_info.py index 1bfdf22aa..bfd57ef8d 100644 --- a/scripts/opengl_info.py +++ b/scripts/opengl_info.py @@ -20,7 +20,7 @@ """Show information about the OpenGL setup.""" -from PyQt5.QtGui import (QOpenGLContext, QOpenGLVersionProfile, +from PyQt6.QtGui import (QOpenGLContext, QOpenGLVersionProfile, QOffscreenSurface, QGuiApplication) app = QGuiApplication([]) diff --git a/scripts/testbrowser/testbrowser_webengine.py b/scripts/testbrowser/testbrowser_webengine.py index 73fa6828e..16c9739cb 100755 --- a/scripts/testbrowser/testbrowser_webengine.py +++ b/scripts/testbrowser/testbrowser_webengine.py @@ -23,9 +23,9 @@ import sys import argparse -from PyQt5.QtCore import QUrl -from PyQt5.QtWidgets import QApplication -from PyQt5.QtWebEngineWidgets import QWebEngineView +from PyQt6.QtCore import QUrl +from PyQt6.QtWidgets import QApplication +from PyQt6.QtWebEngineWidgets import QWebEngineView def parse_args(): diff --git a/scripts/testbrowser/testbrowser_webkit.py b/scripts/testbrowser/testbrowser_webkit.py index 40938d06b..c148c76f1 100755 --- a/scripts/testbrowser/testbrowser_webkit.py +++ b/scripts/testbrowser/testbrowser_webkit.py @@ -23,10 +23,10 @@ import sys import argparse -from PyQt5.QtCore import QUrl -from PyQt5.QtWidgets import QApplication -from PyQt5.QtWebKit import QWebSettings -from PyQt5.QtWebKitWidgets import QWebView +from PyQt6.QtCore import QUrl +from PyQt6.QtWidgets import QApplication +from PyQt6.QtWebKit import QWebSettings +from PyQt6.QtWebKitWidgets import QWebView def parse_args(): diff --git a/tests/conftest.py b/tests/conftest.py index 40631af34..cb0b112f6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -28,7 +28,7 @@ import warnings import pytest import hypothesis -from PyQt5.QtCore import PYQT_VERSION +from PyQt6.QtCore import PYQT_VERSION pytest.register_assert_rewrite('helpers') @@ -224,7 +224,7 @@ def pytest_configure(config): config.webengine = webengine_arg or webengine_env == 'true' # Fail early if QtWebEngine is not available if config.webengine: - import PyQt5.QtWebEngineWidgets + import PyQt6.QtWebEngineWidgets earlyinit.configure_pyqt() diff --git a/tests/end2end/conftest.py b/tests/end2end/conftest.py index a4a089cea..8f7fc155b 100644 --- a/tests/end2end/conftest.py +++ b/tests/end2end/conftest.py @@ -30,7 +30,7 @@ import pstats import operator import pytest -from PyQt5.QtCore import PYQT_VERSION, QCoreApplication +from PyQt6.QtCore import PYQT_VERSION, QCoreApplication pytest.register_assert_rewrite('end2end.fixtures') @@ -117,7 +117,7 @@ def _get_version_tag(tag): ) elif package == 'pyqtwebengine': try: - from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION + from PyQt6.QtWebEngine import PYQT_WEBENGINE_VERSION except ImportError: running_version = PYQT_VERSION else: diff --git a/tests/end2end/features/downloads.feature b/tests/end2end/features/downloads.feature index dfdb24704..79ff94860 100644 --- a/tests/end2end/features/downloads.feature +++ b/tests/end2end/features/downloads.feature @@ -338,7 +338,7 @@ Feature: Downloading things from a website. Scenario: Cancelling an MHTML download (issue 1535) When I open data/downloads/issue1535.html And I run :download --mhtml - And I wait for "fetch: PyQt5.QtCore.QUrl('http://localhost:*/drip?numbytes=128&duration=2') -> drip" in the log + And I wait for "fetch: PyQt6.QtCore.QUrl('http://localhost:*/drip?numbytes=128&duration=2') -> drip" in the log And I run :download-cancel Then no crash should happen diff --git a/tests/end2end/features/keyinput.feature b/tests/end2end/features/keyinput.feature index 556914e4d..3a62d0ff9 100644 --- a/tests/end2end/features/keyinput.feature +++ b/tests/end2end/features/keyinput.feature @@ -42,7 +42,7 @@ Feature: Keyboard input Scenario: :fake-key sending key to the website with other window focused When I open data/keyinput/log.html And I run :devtools - And I wait for "Focus object changed: <PyQt5.QtWebKitWidgets.QWebView object at *>" in the log + And I wait for "Focus object changed: <PyQt6.QtWebKitWidgets.QWebView object at *>" in the log And I run :fake-key x And I run :devtools And I wait for "Focus object changed: <qutebrowser.browser.webkit.webview.WebView *>" in the log diff --git a/tests/end2end/features/misc.feature b/tests/end2end/features/misc.feature index e6a02e038..7b3ac82a5 100644 --- a/tests/end2end/features/misc.feature +++ b/tests/end2end/features/misc.feature @@ -174,7 +174,7 @@ Feature: Various utility commands. @no_xvfb @posix @qtwebengine_skip Scenario: Inspector smoke test When I run :devtools - And I wait for "Focus object changed: <PyQt5.QtWebKitWidgets.QWebView object at *>" in the log + And I wait for "Focus object changed: <PyQt6.QtWebKitWidgets.QWebView object at *>" in the log And I run :devtools And I wait for "Focus object changed: *" in the log Then no crash should happen @@ -183,7 +183,7 @@ Feature: Various utility commands. @no_xvfb @posix @qtwebengine_skip Scenario: Inspector smoke test 2 When I run :devtools - And I wait for "Focus object changed: <PyQt5.QtWebKitWidgets.QWebView object at *>" in the log + And I wait for "Focus object changed: <PyQt6.QtWebKitWidgets.QWebView object at *>" in the log And I run :devtools And I wait for "Focus object changed: *" in the log Then no crash should happen diff --git a/tests/end2end/features/test_downloads_bdd.py b/tests/end2end/features/test_downloads_bdd.py index 804ed40fe..fb8f623bf 100644 --- a/tests/end2end/features/test_downloads_bdd.py +++ b/tests/end2end/features/test_downloads_bdd.py @@ -23,7 +23,7 @@ import shlex import pytest import pytest_bdd as bdd -from PyQt5.QtNetwork import QSslSocket +from PyQt6.QtNetwork import QSslSocket bdd.scenarios('downloads.feature') diff --git a/tests/end2end/features/test_editor_bdd.py b/tests/end2end/features/test_editor_bdd.py index 40f77a0f7..d9cd7e670 100644 --- a/tests/end2end/features/test_editor_bdd.py +++ b/tests/end2end/features/test_editor_bdd.py @@ -26,7 +26,7 @@ import time import pytest import pytest_bdd as bdd -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QFileSystemWatcher +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject, QFileSystemWatcher bdd.scenarios('editor.feature') from qutebrowser.utils import utils diff --git a/tests/end2end/fixtures/notificationserver.py b/tests/end2end/fixtures/notificationserver.py index b643e848b..abadde794 100644 --- a/tests/end2end/fixtures/notificationserver.py +++ b/tests/end2end/fixtures/notificationserver.py @@ -21,9 +21,9 @@ import dataclasses import itertools from typing import Dict, List -from PyQt5.QtCore import QObject, QByteArray, QUrl, pyqtSlot -from PyQt5.QtGui import QImage -from PyQt5.QtDBus import QDBusConnection, QDBusArgument, QDBusMessage +from PyQt6.QtCore import QObject, QByteArray, QUrl, pyqtSlot +from PyQt6.QtGui import QImage +from PyQt6.QtDBus import QDBusConnection, QDBusArgument, QDBusMessage import pytest from qutebrowser.browser.webengine import notification diff --git a/tests/end2end/fixtures/quteprocess.py b/tests/end2end/fixtures/quteprocess.py index 3cbea01ad..1552f51b4 100644 --- a/tests/end2end/fixtures/quteprocess.py +++ b/tests/end2end/fixtures/quteprocess.py @@ -33,8 +33,8 @@ import json import yaml import pytest -from PyQt5.QtCore import pyqtSignal, QUrl, QPoint -from PyQt5.QtGui import QImage, QColor +from PyQt6.QtCore import pyqtSignal, QUrl, QPoint +from PyQt6.QtGui import QImage, QColor from qutebrowser.misc import ipc from qutebrowser.utils import log, utils, javascript @@ -107,10 +107,10 @@ def is_ignored_lowlevel_message(message): # DevTools listening on ws://127.0.0.1:37945/devtools/browser/... 'DevTools listening on *', # /home/travis/build/qutebrowser/qutebrowser/.tox/py36-pyqt511-cov/lib/ - # python3.6/site-packages/PyQt5/Qt/libexec/QtWebEngineProcess: + # python3.6/site-packages/PyQt6/Qt/libexec/QtWebEngineProcess: # /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information # available (required by /home/travis/build/qutebrowser/qutebrowser/ - # .tox/py36-pyqt511-cov/lib/python3.6/site-packages/PyQt5/Qt/libexec/ + # .tox/py36-pyqt511-cov/lib/python3.6/site-packages/PyQt6/Qt/libexec/ # ../lib/libQt5WebEngineCore.so.5) '*/QtWebEngineProcess: /lib/x86_64-linux-gnu/libdbus-1.so.3: no ' 'version information available (required by ' @@ -601,11 +601,11 @@ class QuteProc(testprocess.Process): raise ValueError("Either both x/y or neither must be given!") if x is None and y is None: - point = 'PyQt5.QtCore.QPoint(*, *)' # not counting 0/0 here + point = 'PyQt6.QtCore.QPoint(*, *)' # not counting 0/0 here elif x == '0' and y == '0': - point = 'PyQt5.QtCore.QPoint()' + point = 'PyQt6.QtCore.QPoint()' else: - point = 'PyQt5.QtCore.QPoint({}, {})'.format(x, y) + point = 'PyQt6.QtCore.QPoint({}, {})'.format(x, y) self.wait_for(category='webview', message='Scroll position changed to ' + point) @@ -859,7 +859,7 @@ class QuteProc(testprocess.Process): pattern = re.compile( r"(load status for <qutebrowser\.browser\..* " r"tab_id=\d+ url='{url}/?'>: LoadStatus\.{load_status}|fetch: " - r"PyQt5\.QtCore\.QUrl\('{url}'\) -> .*)".format( + r"PyQt6\.QtCore\.QUrl\('{url}'\) -> .*)".format( load_status=re.escape(load_status), url=re.escape(url))) try: diff --git a/tests/end2end/fixtures/test_testprocess.py b/tests/end2end/fixtures/test_testprocess.py index aa6f19c67..0cf5e6041 100644 --- a/tests/end2end/fixtures/test_testprocess.py +++ b/tests/end2end/fixtures/test_testprocess.py @@ -25,7 +25,7 @@ import contextlib import datetime import pytest -from PyQt5.QtCore import QProcess +from PyQt6.QtCore import QProcess from end2end.fixtures import testprocess diff --git a/tests/end2end/fixtures/testprocess.py b/tests/end2end/fixtures/testprocess.py index 96e700390..c74a1a2b8 100644 --- a/tests/end2end/fixtures/testprocess.py +++ b/tests/end2end/fixtures/testprocess.py @@ -26,9 +26,9 @@ import dataclasses import pytest import pytestqt.wait_signal -from PyQt5.QtCore import (pyqtSlot, pyqtSignal, QProcess, QObject, +from PyQt6.QtCore import (pyqtSlot, pyqtSignal, QProcess, QObject, QElapsedTimer, QProcessEnvironment) -from PyQt5.QtTest import QSignalSpy +from PyQt6.QtTest import QSignalSpy from helpers import testutils diff --git a/tests/end2end/fixtures/webserver.py b/tests/end2end/fixtures/webserver.py index 0fc32cd88..d9fd48990 100644 --- a/tests/end2end/fixtures/webserver.py +++ b/tests/end2end/fixtures/webserver.py @@ -28,7 +28,7 @@ import dataclasses from http import HTTPStatus import pytest -from PyQt5.QtCore import pyqtSignal, QUrl +from PyQt6.QtCore import pyqtSignal, QUrl from end2end.fixtures import testprocess diff --git a/tests/end2end/test_dirbrowser.py b/tests/end2end/test_dirbrowser.py index c2aa19233..08eee7bc7 100644 --- a/tests/end2end/test_dirbrowser.py +++ b/tests/end2end/test_dirbrowser.py @@ -27,7 +27,7 @@ from typing import List import pytest import bs4 -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import urlutils from helpers import testutils diff --git a/tests/end2end/test_invocations.py b/tests/end2end/test_invocations.py index b860feed0..3b8b2f1c8 100644 --- a/tests/end2end/test_invocations.py +++ b/tests/end2end/test_invocations.py @@ -29,7 +29,7 @@ import json import platform import pytest -from PyQt5.QtCore import QProcess, QPoint +from PyQt6.QtCore import QProcess, QPoint from helpers import testutils from qutebrowser.utils import qtutils, utils @@ -786,8 +786,8 @@ def test_unavailable_backend(request, quteproc_new): that the chosen backend is actually available - i.e., that the error message is properly printed, rather than an unhandled exception. """ - qtwe_module = "PyQt5.QtWebEngineWidgets" - qtwk_module = "PyQt5.QtWebKitWidgets" + qtwe_module = "PyQt6.QtWebEngineWidgets" + qtwk_module = "PyQt6.QtWebKitWidgets" # Note we want to try the *opposite* backend here. if request.config.webengine: pytest.importorskip(qtwe_module) diff --git a/tests/helpers/fixtures.py b/tests/helpers/fixtures.py index cd3778b8a..82159233c 100644 --- a/tests/helpers/fixtures.py +++ b/tests/helpers/fixtures.py @@ -37,9 +37,9 @@ import dataclasses import pytest import py.path # pylint: disable=no-name-in-module -from PyQt5.QtCore import QSize, Qt -from PyQt5.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout -from PyQt5.QtNetwork import QNetworkCookieJar +from PyQt6.QtCore import QSize, Qt +from PyQt6.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout +from PyQt6.QtNetwork import QNetworkCookieJar import helpers.stubs as stubsmod import qutebrowser @@ -177,7 +177,7 @@ def testdata_scheme(qapp): try: global _qute_scheme_handler from qutebrowser.browser.webengine import webenginequtescheme - from PyQt5.QtWebEngineWidgets import QWebEngineProfile + from PyQt6.QtWebEngineWidgets import QWebEngineProfile webenginequtescheme.init() _qute_scheme_handler = webenginequtescheme.QuteSchemeHandler( parent=qapp) @@ -432,7 +432,7 @@ def unicode_encode_err(): @pytest.fixture(scope='session') def qnam(qapp): """Session-wide QNetworkAccessManager.""" - from PyQt5.QtNetwork import QNetworkAccessManager + from PyQt6.QtNetwork import QNetworkAccessManager nam = QNetworkAccessManager() nam.setNetworkAccessible(QNetworkAccessManager.NotAccessible) return nam @@ -441,7 +441,7 @@ def qnam(qapp): @pytest.fixture def webengineview(qtbot, monkeypatch, web_tab_setup): """Get a QWebEngineView if QtWebEngine is available.""" - QtWebEngineWidgets = pytest.importorskip('PyQt5.QtWebEngineWidgets') + QtWebEngineWidgets = pytest.importorskip('PyQt6.QtWebEngineWidgets') monkeypatch.setattr(objects, 'backend', usertypes.Backend.QtWebEngine) view = QtWebEngineWidgets.QWebEngineView() qtbot.add_widget(view) @@ -452,7 +452,7 @@ def webengineview(qtbot, monkeypatch, web_tab_setup): @pytest.fixture def webpage(qnam, monkeypatch): """Get a new QWebPage object.""" - QtWebKitWidgets = pytest.importorskip('PyQt5.QtWebKitWidgets') + QtWebKitWidgets = pytest.importorskip('PyQt6.QtWebKitWidgets') monkeypatch.setattr(objects, 'backend', usertypes.Backend.QtWebKit) class WebPageStub(QtWebKitWidgets.QWebPage): @@ -477,7 +477,7 @@ def webpage(qnam, monkeypatch): @pytest.fixture def webview(qtbot, webpage): """Get a new QWebView object.""" - QtWebKitWidgets = pytest.importorskip('PyQt5.QtWebKitWidgets') + QtWebKitWidgets = pytest.importorskip('PyQt6.QtWebKitWidgets') view = QtWebKitWidgets.QWebView() qtbot.add_widget(view) @@ -734,7 +734,7 @@ def webengine_versions(testdata_scheme): Calling qtwebengine_versions() initializes QtWebEngine, so we depend on testdata_scheme here, to make sure that happens before. """ - pytest.importorskip('PyQt5.QtWebEngineWidgets') + pytest.importorskip('PyQt6.QtWebEngineWidgets') return version.qtwebengine_versions() diff --git a/tests/helpers/messagemock.py b/tests/helpers/messagemock.py index 41f0bac64..3208932a3 100644 --- a/tests/helpers/messagemock.py +++ b/tests/helpers/messagemock.py @@ -23,7 +23,7 @@ import logging import dataclasses import pytest -from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject +from PyQt6.QtCore import pyqtSlot, pyqtSignal, QObject from qutebrowser.utils import usertypes, message diff --git a/tests/helpers/stubs.py b/tests/helpers/stubs.py index 6998958b8..e4cf9bcc7 100644 --- a/tests/helpers/stubs.py +++ b/tests/helpers/stubs.py @@ -30,11 +30,11 @@ import builtins import importlib import types -from PyQt5.QtCore import pyqtSignal, QPoint, QProcess, QObject, QUrl, QByteArray -from PyQt5.QtGui import QIcon -from PyQt5.QtNetwork import (QNetworkRequest, QAbstractNetworkCache, +from PyQt6.QtCore import pyqtSignal, QPoint, QProcess, QObject, QUrl, QByteArray +from PyQt6.QtGui import QIcon +from PyQt6.QtNetwork import (QNetworkRequest, QAbstractNetworkCache, QNetworkCacheMetaData) -from PyQt5.QtWidgets import QCommonStyle, QLineEdit, QWidget, QTabBar +from PyQt6.QtWidgets import QCommonStyle, QLineEdit, QWidget, QTabBar from qutebrowser.browser import browsertab, downloads from qutebrowser.utils import usertypes diff --git a/tests/helpers/testutils.py b/tests/helpers/testutils.py index 8bb622133..1de6af104 100644 --- a/tests/helpers/testutils.py +++ b/tests/helpers/testutils.py @@ -31,10 +31,10 @@ import importlib.machinery import pytest -from PyQt5.QtCore import qVersion -from PyQt5.QtGui import QColor +from PyQt6.QtCore import qVersion +from PyQt6.QtGui import QColor try: - from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION_STR + from PyQt6.QtWebEngine import PYQT_WEBENGINE_VERSION_STR except ImportError: PYQT_WEBENGINE_VERSION_STR = None diff --git a/tests/unit/browser/test_caret.py b/tests/unit/browser/test_caret.py index 288471ea0..d9663141d 100644 --- a/tests/unit/browser/test_caret.py +++ b/tests/unit/browser/test_caret.py @@ -22,7 +22,7 @@ import textwrap import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import usertypes from qutebrowser.browser import browsertab diff --git a/tests/unit/browser/test_downloadview.py b/tests/unit/browser/test_downloadview.py index 84b50fad2..728ca2ca5 100644 --- a/tests/unit/browser/test_downloadview.py +++ b/tests/unit/browser/test_downloadview.py @@ -20,7 +20,7 @@ import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser import downloads, qtnetworkdownloads, downloadview diff --git a/tests/unit/browser/test_hints.py b/tests/unit/browser/test_hints.py index 85c0a642c..15b213a0b 100644 --- a/tests/unit/browser/test_hints.py +++ b/tests/unit/browser/test_hints.py @@ -23,7 +23,7 @@ import itertools import operator import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import usertypes import qutebrowser.browser.hints diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py index 7906d385c..1518395b7 100644 --- a/tests/unit/browser/test_history.py +++ b/tests/unit/browser/test_history.py @@ -22,7 +22,7 @@ import logging import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser import history from qutebrowser.utils import urlutils, usertypes @@ -276,7 +276,7 @@ class TestHistoryInterface: @pytest.fixture def hist_interface(self, web_history): # pylint: disable=invalid-name - QtWebKit = pytest.importorskip('PyQt5.QtWebKit') + QtWebKit = pytest.importorskip('PyQt6.QtWebKit') from qutebrowser.browser.webkit import webkithistory QWebHistoryInterface = QtWebKit.QWebHistoryInterface # pylint: enable=invalid-name @@ -304,7 +304,7 @@ class TestInit: history.web_history.setParent(None) history.web_history = None try: - from PyQt5.QtWebKit import QWebHistoryInterface + from PyQt6.QtWebKit import QWebHistoryInterface QWebHistoryInterface.setDefaultInterface(None) except ImportError: pass @@ -313,7 +313,7 @@ class TestInit: usertypes.Backend.QtWebKit]) def test_init(self, backend, qapp, tmpdir, data_tmpdir, monkeypatch, cleanup_init): if backend == usertypes.Backend.QtWebKit: - pytest.importorskip('PyQt5.QtWebKitWidgets') + pytest.importorskip('PyQt6.QtWebKitWidgets') else: assert backend == usertypes.Backend.QtWebEngine @@ -322,7 +322,7 @@ class TestInit: assert history.web_history.parent() is qapp try: - from PyQt5.QtWebKit import QWebHistoryInterface + from PyQt6.QtWebKit import QWebHistoryInterface except ImportError: QWebHistoryInterface = None diff --git a/tests/unit/browser/test_inspector.py b/tests/unit/browser/test_inspector.py index f7f532050..96aeb05da 100644 --- a/tests/unit/browser/test_inspector.py +++ b/tests/unit/browser/test_inspector.py @@ -19,7 +19,7 @@ import pytest -from PyQt5.QtWidgets import QWidget +from PyQt6.QtWidgets import QWidget from qutebrowser.browser import inspector from qutebrowser.misc import miscwidgets diff --git a/tests/unit/browser/test_navigate.py b/tests/unit/browser/test_navigate.py index 9813705ca..f8742aa84 100644 --- a/tests/unit/browser/test_navigate.py +++ b/tests/unit/browser/test_navigate.py @@ -20,7 +20,7 @@ import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser import navigate from qutebrowser.utils import urlutils diff --git a/tests/unit/browser/test_pdfjs.py b/tests/unit/browser/test_pdfjs.py index 86b875be5..eb3317d01 100644 --- a/tests/unit/browser/test_pdfjs.py +++ b/tests/unit/browser/test_pdfjs.py @@ -21,7 +21,7 @@ import logging import os.path import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser import pdfjs from qutebrowser.utils import urlmatch diff --git a/tests/unit/browser/test_qutescheme.py b/tests/unit/browser/test_qutescheme.py index 45474102d..86c67ecb2 100644 --- a/tests/unit/browser/test_qutescheme.py +++ b/tests/unit/browser/test_qutescheme.py @@ -24,7 +24,7 @@ import time import logging import py.path # pylint: disable=no-name-in-module -from PyQt5.QtCore import QUrl, QUrlQuery +from PyQt6.QtCore import QUrl, QUrlQuery import pytest from qutebrowser.browser import qutescheme, pdfjs, downloads diff --git a/tests/unit/browser/test_signalfilter.py b/tests/unit/browser/test_signalfilter.py index 35c7f3557..6af4512c5 100644 --- a/tests/unit/browser/test_signalfilter.py +++ b/tests/unit/browser/test_signalfilter.py @@ -23,7 +23,7 @@ import logging import dataclasses import pytest -from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject +from PyQt6.QtCore import pyqtSignal, pyqtSlot, QObject from qutebrowser.browser import signalfilter diff --git a/tests/unit/browser/test_urlmarks.py b/tests/unit/browser/test_urlmarks.py index 6b8d429a9..6962b5398 100644 --- a/tests/unit/browser/test_urlmarks.py +++ b/tests/unit/browser/test_urlmarks.py @@ -22,7 +22,7 @@ import unittest.mock import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser import urlmarks diff --git a/tests/unit/browser/webengine/test_webengine_cookies.py b/tests/unit/browser/webengine/test_webengine_cookies.py index 1a74dfb3e..1612a55a5 100644 --- a/tests/unit/browser/webengine/test_webengine_cookies.py +++ b/tests/unit/browser/webengine/test_webengine_cookies.py @@ -18,10 +18,10 @@ # along with qutebrowser. If not, see <https://www.gnu.org/licenses/>. import pytest -from PyQt5.QtCore import QUrl -pytest.importorskip('PyQt5.QtWebEngineCore') -from PyQt5.QtWebEngineCore import QWebEngineCookieStore -from PyQt5.QtWebEngineWidgets import QWebEngineProfile +from PyQt6.QtCore import QUrl +pytest.importorskip('PyQt6.QtWebEngineCore') +from PyQt6.QtWebEngineCore import QWebEngineCookieStore +from PyQt6.QtWebEngineWidgets import QWebEngineProfile from qutebrowser.browser.webengine import cookies from qutebrowser.utils import urlmatch diff --git a/tests/unit/browser/webengine/test_webenginedownloads.py b/tests/unit/browser/webengine/test_webenginedownloads.py index 877af3c9a..aa6b67a2c 100644 --- a/tests/unit/browser/webengine/test_webenginedownloads.py +++ b/tests/unit/browser/webengine/test_webenginedownloads.py @@ -22,8 +22,8 @@ import base64 import dataclasses import pytest -pytest.importorskip('PyQt5.QtWebEngineWidgets') -from PyQt5.QtWebEngineWidgets import QWebEngineProfile +pytest.importorskip('PyQt6.QtWebEngineWidgets') +from PyQt6.QtWebEngineWidgets import QWebEngineProfile from qutebrowser.utils import urlutils, usertypes, utils from qutebrowser.browser.webengine import webenginedownloads diff --git a/tests/unit/browser/webengine/test_webengineinterceptor.py b/tests/unit/browser/webengine/test_webengineinterceptor.py index eb71e0c6e..11074f782 100644 --- a/tests/unit/browser/webengine/test_webengineinterceptor.py +++ b/tests/unit/browser/webengine/test_webengineinterceptor.py @@ -22,9 +22,9 @@ import pytest -pytest.importorskip('PyQt5.QtWebEngineWidgets') +pytest.importorskip('PyQt6.QtWebEngineWidgets') -from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInfo +from PyQt6.QtWebEngineCore import QWebEngineUrlRequestInfo from qutebrowser.browser.webengine import interceptor diff --git a/tests/unit/browser/webengine/test_webenginesettings.py b/tests/unit/browser/webengine/test_webenginesettings.py index 0f803a172..7dc72869b 100644 --- a/tests/unit/browser/webengine/test_webenginesettings.py +++ b/tests/unit/browser/webengine/test_webenginesettings.py @@ -21,7 +21,7 @@ import logging import pytest -QtWebEngineWidgets = pytest.importorskip('PyQt5.QtWebEngineWidgets') +QtWebEngineWidgets = pytest.importorskip('PyQt6.QtWebEngineWidgets') from qutebrowser.browser.webengine import webenginesettings from qutebrowser.utils import usertypes diff --git a/tests/unit/browser/webengine/test_webenginetab.py b/tests/unit/browser/webengine/test_webenginetab.py index 3d8eec663..92705a3aa 100644 --- a/tests/unit/browser/webengine/test_webenginetab.py +++ b/tests/unit/browser/webengine/test_webenginetab.py @@ -23,7 +23,7 @@ import logging import textwrap import pytest -QtWebEngineWidgets = pytest.importorskip("PyQt5.QtWebEngineWidgets") +QtWebEngineWidgets = pytest.importorskip("PyQt6.QtWebEngineWidgets") QWebEnginePage = QtWebEngineWidgets.QWebEnginePage QWebEngineScriptCollection = QtWebEngineWidgets.QWebEngineScriptCollection QWebEngineScript = QtWebEngineWidgets.QWebEngineScript diff --git a/tests/unit/browser/webkit/http/test_http.py b/tests/unit/browser/webkit/http/test_http.py index 4db78f4ff..a2d0a0c9a 100644 --- a/tests/unit/browser/webkit/http/test_http.py +++ b/tests/unit/browser/webkit/http/test_http.py @@ -24,7 +24,7 @@ import logging import pytest import hypothesis from hypothesis import strategies -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.browser.webkit import http diff --git a/tests/unit/browser/webkit/network/test_filescheme.py b/tests/unit/browser/webkit/network/test_filescheme.py index 12cacb5a2..0f92cbf6b 100644 --- a/tests/unit/browser/webkit/network/test_filescheme.py +++ b/tests/unit/browser/webkit/network/test_filescheme.py @@ -24,8 +24,8 @@ from typing import List import pytest import bs4 -from PyQt5.QtCore import QUrl -from PyQt5.QtNetwork import QNetworkRequest +from PyQt6.QtCore import QUrl +from PyQt6.QtNetwork import QNetworkRequest from qutebrowser.browser.webkit.network import filescheme from qutebrowser.utils import urlutils, utils diff --git a/tests/unit/browser/webkit/network/test_networkreply.py b/tests/unit/browser/webkit/network/test_networkreply.py index 3cffb2fd7..a64f45589 100644 --- a/tests/unit/browser/webkit/network/test_networkreply.py +++ b/tests/unit/browser/webkit/network/test_networkreply.py @@ -21,8 +21,8 @@ import pytest -from PyQt5.QtCore import QUrl, QIODevice -from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply +from PyQt6.QtCore import QUrl, QIODevice +from PyQt6.QtNetwork import QNetworkRequest, QNetworkReply from qutebrowser.browser.webkit.network import networkreply diff --git a/tests/unit/browser/webkit/network/test_pac.py b/tests/unit/browser/webkit/network/test_pac.py index 79b34be9a..8849e011c 100644 --- a/tests/unit/browser/webkit/network/test_pac.py +++ b/tests/unit/browser/webkit/network/test_pac.py @@ -22,8 +22,8 @@ import threading import logging import pytest -from PyQt5.QtCore import QUrl -from PyQt5.QtNetwork import (QNetworkProxy, QNetworkProxyQuery, QHostInfo, +from PyQt6.QtCore import QUrl +from PyQt6.QtNetwork import (QNetworkProxy, QNetworkProxyQuery, QHostInfo, QHostAddress) from qutebrowser.browser.network import pac diff --git a/tests/unit/browser/webkit/test_cache.py b/tests/unit/browser/webkit/test_cache.py index 83d5054d7..2d35e7683 100644 --- a/tests/unit/browser/webkit/test_cache.py +++ b/tests/unit/browser/webkit/test_cache.py @@ -19,8 +19,8 @@ # along with qutebrowser. If not, see <https://www.gnu.org/licenses/>. import pytest -from PyQt5.QtCore import QUrl, QDateTime -from PyQt5.QtNetwork import QNetworkDiskCache, QNetworkCacheMetaData +from PyQt6.QtCore import QUrl, QDateTime +from PyQt6.QtNetwork import QNetworkDiskCache, QNetworkCacheMetaData from qutebrowser.browser.webkit import cache diff --git a/tests/unit/browser/webkit/test_certificateerror.py b/tests/unit/browser/webkit/test_certificateerror.py index e615854ca..0f298a030 100644 --- a/tests/unit/browser/webkit/test_certificateerror.py +++ b/tests/unit/browser/webkit/test_certificateerror.py @@ -18,7 +18,7 @@ # along with qutebrowser. If not, see <https://www.gnu.org/licenses/>. import pytest -from PyQt5.QtNetwork import QSslError +from PyQt6.QtNetwork import QSslError from qutebrowser.browser.webkit import certificateerror diff --git a/tests/unit/browser/webkit/test_cookies.py b/tests/unit/browser/webkit/test_cookies.py index 81da561ce..6b8b731a5 100644 --- a/tests/unit/browser/webkit/test_cookies.py +++ b/tests/unit/browser/webkit/test_cookies.py @@ -18,8 +18,8 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see <https://www.gnu.org/licenses/>. -from PyQt5.QtNetwork import QNetworkCookie -from PyQt5.QtCore import QUrl +from PyQt6.QtNetwork import QNetworkCookie +from PyQt6.QtCore import QUrl import pytest from qutebrowser.browser.webkit import cookies diff --git a/tests/unit/browser/webkit/test_tabhistory.py b/tests/unit/browser/webkit/test_tabhistory.py index d1c4a25a4..325d1fa3d 100644 --- a/tests/unit/browser/webkit/test_tabhistory.py +++ b/tests/unit/browser/webkit/test_tabhistory.py @@ -23,9 +23,9 @@ import dataclasses from typing import Any import pytest -pytest.importorskip('PyQt5.QtWebKit') -from PyQt5.QtCore import QUrl, QPoint -from PyQt5.QtWebKit import QWebHistory +pytest.importorskip('PyQt6.QtWebKit') +from PyQt6.QtCore import QUrl, QPoint +from PyQt6.QtWebKit import QWebHistory from qutebrowser.browser.webkit import tabhistory from qutebrowser.misc.sessions import TabHistoryItem as Item diff --git a/tests/unit/browser/webkit/test_webkitelem.py b/tests/unit/browser/webkit/test_webkitelem.py index 593896e96..75317dec3 100644 --- a/tests/unit/browser/webkit/test_webkitelem.py +++ b/tests/unit/browser/webkit/test_webkitelem.py @@ -27,8 +27,8 @@ import itertools import dataclasses import pytest -from PyQt5.QtCore import QRect, QPoint, QUrl -QWebElement = pytest.importorskip('PyQt5.QtWebKit').QWebElement +from PyQt6.QtCore import QRect, QPoint, QUrl +QWebElement = pytest.importorskip('PyQt6.QtWebKit').QWebElement from qutebrowser.browser import browsertab from qutebrowser.browser.webkit import webkitelem diff --git a/tests/unit/browser/webkit/test_webkitsettings.py b/tests/unit/browser/webkit/test_webkitsettings.py index 8b30b85aa..56d3d8a53 100644 --- a/tests/unit/browser/webkit/test_webkitsettings.py +++ b/tests/unit/browser/webkit/test_webkitsettings.py @@ -18,7 +18,7 @@ # along with qutebrowser. If not, see <https://www.gnu.org/licenses/>. import pytest -pytest.importorskip('PyQt5.QtWebKitWidgets') +pytest.importorskip('PyQt6.QtWebKitWidgets') from qutebrowser.browser.webkit import webkitsettings diff --git a/tests/unit/commands/test_argparser.py b/tests/unit/commands/test_argparser.py index cfa94c552..4b6be7655 100644 --- a/tests/unit/commands/test_argparser.py +++ b/tests/unit/commands/test_argparser.py @@ -23,7 +23,7 @@ import inspect import enum import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.commands import argparser, cmdexc diff --git a/tests/unit/commands/test_userscripts.py b/tests/unit/commands/test_userscripts.py index 436e9e2a7..03ec9c094 100644 --- a/tests/unit/commands/test_userscripts.py +++ b/tests/unit/commands/test_userscripts.py @@ -25,7 +25,7 @@ import logging import signal import pytest -from PyQt5.QtCore import QFileSystemWatcher +from PyQt6.QtCore import QFileSystemWatcher from qutebrowser.commands import userscripts from qutebrowser.utils import utils diff --git a/tests/unit/completion/test_completer.py b/tests/unit/completion/test_completer.py index 467357d32..bffb4f42d 100644 --- a/tests/unit/completion/test_completer.py +++ b/tests/unit/completion/test_completer.py @@ -22,8 +22,8 @@ import unittest.mock import pytest -from PyQt5.QtCore import QObject -from PyQt5.QtGui import QStandardItemModel +from PyQt6.QtCore import QObject +from PyQt6.QtGui import QStandardItemModel from qutebrowser.completion import completer from qutebrowser.commands import command diff --git a/tests/unit/completion/test_completiondelegate.py b/tests/unit/completion/test_completiondelegate.py index ad081ccbf..1db96a904 100644 --- a/tests/unit/completion/test_completiondelegate.py +++ b/tests/unit/completion/test_completiondelegate.py @@ -21,9 +21,9 @@ from unittest import mock import hypothesis import hypothesis.strategies import pytest -from PyQt5.QtCore import Qt -from PyQt5.QtGui import QTextDocument, QColor -from PyQt5.QtWidgets import QTextEdit +from PyQt6.QtCore import Qt +from PyQt6.QtGui import QTextDocument, QColor +from PyQt6.QtWidgets import QTextEdit from qutebrowser.completion import completiondelegate diff --git a/tests/unit/completion/test_completionmodel.py b/tests/unit/completion/test_completionmodel.py index 2130f1f1c..888987942 100644 --- a/tests/unit/completion/test_completionmodel.py +++ b/tests/unit/completion/test_completionmodel.py @@ -24,7 +24,7 @@ import hypothesis from hypothesis import strategies import pytest -from PyQt5.QtCore import QModelIndex +from PyQt6.QtCore import QModelIndex from qutebrowser.completion.models import completionmodel, listcategory from qutebrowser.utils import qtutils diff --git a/tests/unit/completion/test_completionwidget.py b/tests/unit/completion/test_completionwidget.py index 89390cbf1..f9983e5f1 100644 --- a/tests/unit/completion/test_completionwidget.py +++ b/tests/unit/completion/test_completionwidget.py @@ -22,7 +22,7 @@ from unittest import mock import pytest -from PyQt5.QtCore import QRect +from PyQt6.QtCore import QRect from qutebrowser.completion import completionwidget from qutebrowser.completion.models import completionmodel, listcategory diff --git a/tests/unit/completion/test_models.py b/tests/unit/completion/test_models.py index c20fe293c..4777f17f6 100644 --- a/tests/unit/completion/test_models.py +++ b/tests/unit/completion/test_models.py @@ -31,9 +31,9 @@ from unittest import mock import hypothesis import hypothesis.strategies as hst import pytest -from PyQt5.QtCore import QUrl, QDateTime, QProcess +from PyQt6.QtCore import QUrl, QDateTime, QProcess try: - from PyQt5.QtWebEngineWidgets import ( + from PyQt6.QtWebEngineWidgets import ( QWebEngineHistory, QWebEngineHistoryItem ) except ImportError: @@ -1320,7 +1320,7 @@ def test_url_completion_benchmark(benchmark, info, @pytest.fixture def tab_with_history(fake_web_tab, tabbed_browser_stubs, info, monkeypatch): """Returns a fake tab with some fake history items.""" - pytest.importorskip('PyQt5.QtWebEngineWidgets') + pytest.importorskip('PyQt6.QtWebEngineWidgets') tab = fake_web_tab(QUrl('https://github.com'), 'GitHub', 0) current_idx = 2 monkeypatch.setattr( diff --git a/tests/unit/components/test_blockutils.py b/tests/unit/components/test_blockutils.py index 08d8cee60..a10b6484c 100644 --- a/tests/unit/components/test_blockutils.py +++ b/tests/unit/components/test_blockutils.py @@ -21,7 +21,7 @@ import io from typing import IO -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl import pytest diff --git a/tests/unit/components/test_braveadblock.py b/tests/unit/components/test_braveadblock.py index fc50cb595..0f8f78f1b 100644 --- a/tests/unit/components/test_braveadblock.py +++ b/tests/unit/components/test_braveadblock.py @@ -22,7 +22,7 @@ import logging import csv from typing import Iterable, Tuple -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl import pytest diff --git a/tests/unit/components/test_hostblock.py b/tests/unit/components/test_hostblock.py index 6a71058ea..f85a3e803 100644 --- a/tests/unit/components/test_hostblock.py +++ b/tests/unit/components/test_hostblock.py @@ -24,7 +24,7 @@ import logging import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.components import hostblock from qutebrowser.utils import urlmatch diff --git a/tests/unit/components/test_readlinecommands.py b/tests/unit/components/test_readlinecommands.py index 334e2ef9e..d044d9f59 100644 --- a/tests/unit/components/test_readlinecommands.py +++ b/tests/unit/components/test_readlinecommands.py @@ -20,7 +20,7 @@ import re import inspect -from PyQt5.QtWidgets import QLineEdit, QApplication +from PyQt6.QtWidgets import QLineEdit, QApplication import pytest from qutebrowser.components import readlinecommands diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index b88bc2f8d..c69e42f4d 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -23,8 +23,8 @@ import unittest.mock import functools import pytest -from PyQt5.QtCore import QUrl -from PyQt5.QtGui import QColor +from PyQt6.QtCore import QUrl +from PyQt6.QtGui import QColor from qutebrowser.config import config, configdata, configexc from qutebrowser.utils import usertypes, urlmatch diff --git a/tests/unit/config/test_configcommands.py b/tests/unit/config/test_configcommands.py index 0375503e8..42348daad 100644 --- a/tests/unit/config/test_configcommands.py +++ b/tests/unit/config/test_configcommands.py @@ -23,7 +23,7 @@ import functools import unittest.mock import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.config import configcommands from qutebrowser.api import cmdutils diff --git a/tests/unit/config/test_configfiles.py b/tests/unit/config/test_configfiles.py index 65952ddb4..9ce859b3f 100644 --- a/tests/unit/config/test_configfiles.py +++ b/tests/unit/config/test_configfiles.py @@ -25,7 +25,7 @@ import textwrap import logging import pytest -from PyQt5.QtCore import QSettings +from PyQt6.QtCore import QSettings from qutebrowser.config import (config, configfiles, configexc, configdata, configtypes) @@ -167,7 +167,7 @@ def state_writer(data_tmpdir): @pytest.fixture def qtwe_version_patcher(monkeypatch): try: - from PyQt5 import QtWebEngineWidgets # pylint: disable=unused-import + from PyQt6 import QtWebEngineWidgets # pylint: disable=unused-import except ImportError: pytest.skip("QtWebEngine not available") @@ -223,7 +223,7 @@ def test_qtwe_version_changed(state_writer, qtwe_version_patcher, def test_qtwe_version_changed_webkit(stubs, monkeypatch, state_writer): - fake = stubs.ImportFake({'PyQt5.QtWebEngineWidgets': False}, monkeypatch) + fake = stubs.ImportFake({'PyQt6.QtWebEngineWidgets': False}, monkeypatch) fake.patch() state_writer('qtwe_version', 'no') diff --git a/tests/unit/config/test_configinit.py b/tests/unit/config/test_configinit.py index 870c3826b..36f3fa391 100644 --- a/tests/unit/config/test_configinit.py +++ b/tests/unit/config/test_configinit.py @@ -427,7 +427,7 @@ def test_get_backend(monkeypatch, args, config_stub, real_import = __import__ def fake_import(name, *args, **kwargs): - if name != 'PyQt5.QtWebKit': + if name != 'PyQt6.QtWebKit': return real_import(name, *args, **kwargs) raise ImportError diff --git a/tests/unit/config/test_configtypes.py b/tests/unit/config/test_configtypes.py index 66b152937..fbffa1fb5 100644 --- a/tests/unit/config/test_configtypes.py +++ b/tests/unit/config/test_configtypes.py @@ -30,9 +30,9 @@ import dataclasses import pytest import hypothesis from hypothesis import strategies -from PyQt5.QtCore import QUrl -from PyQt5.QtGui import QColor, QFont -from PyQt5.QtNetwork import QNetworkProxy +from PyQt6.QtCore import QUrl +from PyQt6.QtGui import QColor, QFont +from PyQt6.QtNetwork import QNetworkProxy from qutebrowser.misc import objects from qutebrowser.config import configtypes, configexc diff --git a/tests/unit/config/test_configutils.py b/tests/unit/config/test_configutils.py index e7ce15aff..2f0c02d31 100644 --- a/tests/unit/config/test_configutils.py +++ b/tests/unit/config/test_configutils.py @@ -20,8 +20,8 @@ import hypothesis from hypothesis import strategies import pytest -from PyQt5.QtCore import QUrl -from PyQt5.QtWidgets import QLabel +from PyQt6.QtCore import QUrl +from PyQt6.QtWidgets import QLabel from qutebrowser.config import configutils, configdata, configtypes, configexc from qutebrowser.utils import urlmatch, usertypes, qtutils diff --git a/tests/unit/config/test_qtargs.py b/tests/unit/config/test_qtargs.py index 4c31c5b07..c4202a58a 100644 --- a/tests/unit/config/test_qtargs.py +++ b/tests/unit/config/test_qtargs.py @@ -126,7 +126,7 @@ class TestWebEngineArgs: @pytest.fixture(autouse=True) def ensure_webengine(self, monkeypatch): """Skip all tests if QtWebEngine is unavailable.""" - pytest.importorskip("PyQt5.QtWebEngine") + pytest.importorskip("PyQt6.QtWebEngine") monkeypatch.setattr(qtargs.objects, 'backend', usertypes.Backend.QtWebEngine) @pytest.mark.parametrize('backend, qt_version, expected', [ diff --git a/tests/unit/config/test_qtargs_locale_workaround.py b/tests/unit/config/test_qtargs_locale_workaround.py index 4a4152b80..f1d7b216b 100644 --- a/tests/unit/config/test_qtargs_locale_workaround.py +++ b/tests/unit/config/test_qtargs_locale_workaround.py @@ -20,13 +20,13 @@ import os import pathlib import pytest -from PyQt5.QtCore import QLocale +from PyQt6.QtCore import QLocale from qutebrowser.utils import utils from qutebrowser.config import qtargs -pytest.importorskip('PyQt5.QtWebEngineWidgets') +pytest.importorskip('PyQt6.QtWebEngineWidgets') @pytest.fixture(autouse=True) diff --git a/tests/unit/config/test_stylesheet.py b/tests/unit/config/test_stylesheet.py index 4ffa107ed..981b52880 100644 --- a/tests/unit/config/test_stylesheet.py +++ b/tests/unit/config/test_stylesheet.py @@ -18,7 +18,7 @@ import pytest -from PyQt5.QtCore import QObject +from PyQt6.QtCore import QObject from qutebrowser.config import stylesheet diff --git a/tests/unit/javascript/conftest.py b/tests/unit/javascript/conftest.py index 4a7f09204..272ec2af9 100644 --- a/tests/unit/javascript/conftest.py +++ b/tests/unit/javascript/conftest.py @@ -23,7 +23,7 @@ import pathlib import pytest import jinja2 -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl import qutebrowser from qutebrowser.utils import usertypes diff --git a/tests/unit/javascript/position_caret/test_position_caret.py b/tests/unit/javascript/position_caret/test_position_caret.py index 70a1df333..ef5ce952c 100644 --- a/tests/unit/javascript/position_caret/test_position_caret.py +++ b/tests/unit/javascript/position_caret/test_position_caret.py @@ -21,8 +21,8 @@ import pytest -QWebSettings = pytest.importorskip("PyQt5.QtWebKit").QWebSettings -QWebPage = pytest.importorskip("PyQt5.QtWebKitWidgets").QWebPage +QWebSettings = pytest.importorskip("PyQt6.QtWebKit").QWebSettings +QWebPage = pytest.importorskip("PyQt6.QtWebKitWidgets").QWebPage @pytest.fixture(autouse=True) diff --git a/tests/unit/javascript/stylesheet/test_stylesheet_js.py b/tests/unit/javascript/stylesheet/test_stylesheet_js.py index 1eebe3b7f..237af660a 100644 --- a/tests/unit/javascript/stylesheet/test_stylesheet_js.py +++ b/tests/unit/javascript/stylesheet/test_stylesheet_js.py @@ -22,7 +22,7 @@ import pathlib import pytest -QtWebEngineWidgets = pytest.importorskip("PyQt5.QtWebEngineWidgets") +QtWebEngineWidgets = pytest.importorskip("PyQt6.QtWebEngineWidgets") QWebEngineProfile = QtWebEngineWidgets.QWebEngineProfile from qutebrowser.utils import javascript diff --git a/tests/unit/javascript/test_greasemonkey.py b/tests/unit/javascript/test_greasemonkey.py index 17847816d..5bbc6bda1 100644 --- a/tests/unit/javascript/test_greasemonkey.py +++ b/tests/unit/javascript/test_greasemonkey.py @@ -23,7 +23,7 @@ import textwrap import pytest import py.path # pylint: disable=no-name-in-module -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import usertypes, version from qutebrowser.browser import greasemonkey diff --git a/tests/unit/javascript/test_js_execution.py b/tests/unit/javascript/test_js_execution.py index e371e0f36..a98ca1175 100644 --- a/tests/unit/javascript/test_js_execution.py +++ b/tests/unit/javascript/test_js_execution.py @@ -28,7 +28,7 @@ def test_simple_js_webkit(webview, js_enabled, expected): """With QtWebKit, evaluateJavaScript works when JS is on.""" # If we get there (because of the webview fixture) we can be certain # QtWebKit is available - from PyQt5.QtWebKit import QWebSettings + from PyQt6.QtWebKit import QWebSettings webview.settings().setAttribute(QWebSettings.JavascriptEnabled, js_enabled) result = webview.page().mainFrame().evaluateJavaScript('1 + 1') assert result == expected @@ -39,7 +39,7 @@ def test_element_js_webkit(webview, js_enabled, expected): """With QtWebKit, evaluateJavaScript on an element works with JS off.""" # If we get there (because of the webview fixture) we can be certain # QtWebKit is available - from PyQt5.QtWebKit import QWebSettings + from PyQt6.QtWebKit import QWebSettings webview.settings().setAttribute(QWebSettings.JavascriptEnabled, js_enabled) elem = webview.page().mainFrame().documentElement() result = elem.evaluateJavaScript('1 + 1') @@ -63,7 +63,7 @@ def test_simple_js_webengine(qtbot, webengineview, qapp, """With QtWebEngine, runJavaScript works even when JS is off.""" # If we get there (because of the webengineview fixture) we can be certain # QtWebEngine is available - from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEngineScript + from PyQt6.QtWebEngineWidgets import QWebEngineSettings, QWebEngineScript assert world in [QWebEngineScript.MainWorld, QWebEngineScript.ApplicationWorld, diff --git a/tests/unit/javascript/test_js_quirks.py b/tests/unit/javascript/test_js_quirks.py index 7036dcfc9..31dad62f9 100644 --- a/tests/unit/javascript/test_js_quirks.py +++ b/tests/unit/javascript/test_js_quirks.py @@ -26,7 +26,7 @@ the native functionality exists. import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import usertypes diff --git a/tests/unit/keyinput/key_data.py b/tests/unit/keyinput/key_data.py index c451d2534..ffa375d16 100644 --- a/tests/unit/keyinput/key_data.py +++ b/tests/unit/keyinput/key_data.py @@ -25,7 +25,7 @@ import dataclasses from typing import Optional -from PyQt5.QtCore import Qt +from PyQt6.QtCore import Qt @dataclasses.dataclass(order=True) diff --git a/tests/unit/keyinput/test_basekeyparser.py b/tests/unit/keyinput/test_basekeyparser.py index 30ee36301..a857d451b 100644 --- a/tests/unit/keyinput/test_basekeyparser.py +++ b/tests/unit/keyinput/test_basekeyparser.py @@ -21,7 +21,7 @@ from unittest import mock -from PyQt5.QtCore import Qt +from PyQt6.QtCore import Qt import pytest from qutebrowser.keyinput import basekeyparser, keyutils diff --git a/tests/unit/keyinput/test_bindingtrie.py b/tests/unit/keyinput/test_bindingtrie.py index c769386c0..5c00fbbd3 100644 --- a/tests/unit/keyinput/test_bindingtrie.py +++ b/tests/unit/keyinput/test_bindingtrie.py @@ -25,7 +25,7 @@ import textwrap import pytest -from PyQt5.QtGui import QKeySequence +from PyQt6.QtGui import QKeySequence from qutebrowser.keyinput import basekeyparser from qutebrowser.keyinput import keyutils diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py index 195518127..6bfa098fc 100644 --- a/tests/unit/keyinput/test_keyutils.py +++ b/tests/unit/keyinput/test_keyutils.py @@ -22,9 +22,9 @@ import operator import hypothesis from hypothesis import strategies import pytest -from PyQt5.QtCore import Qt, QEvent, pyqtSignal -from PyQt5.QtGui import QKeyEvent, QKeySequence -from PyQt5.QtWidgets import QWidget +from PyQt6.QtCore import Qt, QEvent, pyqtSignal +from PyQt6.QtGui import QKeyEvent, QKeySequence +from PyQt6.QtWidgets import QWidget from unit.keyinput import key_data from qutebrowser.keyinput import keyutils diff --git a/tests/unit/keyinput/test_modeman.py b/tests/unit/keyinput/test_modeman.py index 8cc298f87..c192601f0 100644 --- a/tests/unit/keyinput/test_modeman.py +++ b/tests/unit/keyinput/test_modeman.py @@ -19,7 +19,7 @@ import pytest -from PyQt5.QtCore import Qt, QObject, pyqtSignal +from PyQt6.QtCore import Qt, QObject, pyqtSignal from qutebrowser.utils import usertypes from qutebrowser.keyinput import keyutils diff --git a/tests/unit/keyinput/test_modeparsers.py b/tests/unit/keyinput/test_modeparsers.py index ff3758362..fad2b2f3d 100644 --- a/tests/unit/keyinput/test_modeparsers.py +++ b/tests/unit/keyinput/test_modeparsers.py @@ -19,8 +19,8 @@ """Tests for mode parsers.""" -from PyQt5.QtCore import Qt -from PyQt5.QtGui import QKeySequence +from PyQt6.QtCore import Qt +from PyQt6.QtGui import QKeySequence import pytest diff --git a/tests/unit/mainwindow/statusbar/test_textbase.py b/tests/unit/mainwindow/statusbar/test_textbase.py index 631c6ce44..16126d344 100644 --- a/tests/unit/mainwindow/statusbar/test_textbase.py +++ b/tests/unit/mainwindow/statusbar/test_textbase.py @@ -19,7 +19,7 @@ """Test TextBase widget.""" -from PyQt5.QtCore import Qt +from PyQt6.QtCore import Qt import pytest from qutebrowser.mainwindow.statusbar.textbase import TextBase diff --git a/tests/unit/mainwindow/statusbar/test_url.py b/tests/unit/mainwindow/statusbar/test_url.py index efe4d6f93..3a9a5444c 100644 --- a/tests/unit/mainwindow/statusbar/test_url.py +++ b/tests/unit/mainwindow/statusbar/test_url.py @@ -22,7 +22,7 @@ import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import usertypes, urlutils from qutebrowser.mainwindow.statusbar import url diff --git a/tests/unit/mainwindow/test_messageview.py b/tests/unit/mainwindow/test_messageview.py index 9e7627635..f9b05335e 100644 --- a/tests/unit/mainwindow/test_messageview.py +++ b/tests/unit/mainwindow/test_messageview.py @@ -18,7 +18,7 @@ # along with qutebrowser. If not, see <https://www.gnu.org/licenses/>. import pytest -from PyQt5.QtCore import Qt +from PyQt6.QtCore import Qt from qutebrowser.mainwindow import messageview from qutebrowser.utils import usertypes diff --git a/tests/unit/mainwindow/test_prompt.py b/tests/unit/mainwindow/test_prompt.py index 5b774bdaa..6922183d9 100644 --- a/tests/unit/mainwindow/test_prompt.py +++ b/tests/unit/mainwindow/test_prompt.py @@ -20,7 +20,7 @@ import os import pytest -from PyQt5.QtCore import Qt +from PyQt6.QtCore import Qt from qutebrowser.mainwindow import prompt as promptmod from qutebrowser.utils import usertypes diff --git a/tests/unit/mainwindow/test_tabwidget.py b/tests/unit/mainwindow/test_tabwidget.py index 564ca1b38..3691d5778 100644 --- a/tests/unit/mainwindow/test_tabwidget.py +++ b/tests/unit/mainwindow/test_tabwidget.py @@ -23,7 +23,7 @@ import functools import pytest -from PyQt5.QtGui import QIcon, QPixmap +from PyQt6.QtGui import QIcon, QPixmap from qutebrowser.mainwindow import tabwidget from qutebrowser.utils import usertypes diff --git a/tests/unit/misc/test_autoupdate.py b/tests/unit/misc/test_autoupdate.py index f7cf78248..38d838e93 100644 --- a/tests/unit/misc/test_autoupdate.py +++ b/tests/unit/misc/test_autoupdate.py @@ -21,7 +21,7 @@ """Tests for qutebrowser.misc.autoupdate.""" import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.misc import autoupdate, httpclient diff --git a/tests/unit/misc/test_editor.py b/tests/unit/misc/test_editor.py index 8e5597a0e..8187271c0 100644 --- a/tests/unit/misc/test_editor.py +++ b/tests/unit/misc/test_editor.py @@ -25,7 +25,7 @@ import os import logging import pytest -from PyQt5.QtCore import QProcess +from PyQt6.QtCore import QProcess from qutebrowser.misc import editor as editormod from qutebrowser.utils import usertypes diff --git a/tests/unit/misc/test_elf.py b/tests/unit/misc/test_elf.py index 86060bbde..498be108b 100644 --- a/tests/unit/misc/test_elf.py +++ b/tests/unit/misc/test_elf.py @@ -57,7 +57,7 @@ def test_result(qapp, caplog): If that happens, please report a bug about it! """ - pytest.importorskip('PyQt5.QtWebEngineCore') + pytest.importorskip('PyQt6.QtWebEngineCore') versions = elf.parse_webenginecore() assert versions is not None diff --git a/tests/unit/misc/test_guiprocess.py b/tests/unit/misc/test_guiprocess.py index be86bf215..6f7ce8810 100644 --- a/tests/unit/misc/test_guiprocess.py +++ b/tests/unit/misc/test_guiprocess.py @@ -23,7 +23,7 @@ import sys import logging import pytest -from PyQt5.QtCore import QProcess, QUrl +from PyQt6.QtCore import QProcess, QUrl from qutebrowser.misc import guiprocess from qutebrowser.utils import usertypes, utils diff --git a/tests/unit/misc/test_ipc.py b/tests/unit/misc/test_ipc.py index 51d7c6343..1bd6e4695 100644 --- a/tests/unit/misc/test_ipc.py +++ b/tests/unit/misc/test_ipc.py @@ -30,9 +30,9 @@ from unittest import mock from typing import Optional, List import pytest -from PyQt5.QtCore import pyqtSignal, QObject -from PyQt5.QtNetwork import QLocalServer, QLocalSocket, QAbstractSocket -from PyQt5.QtTest import QSignalSpy +from PyQt6.QtCore import pyqtSignal, QObject +from PyQt6.QtNetwork import QLocalServer, QLocalSocket, QAbstractSocket +from PyQt6.QtTest import QSignalSpy import qutebrowser from qutebrowser.misc import ipc diff --git a/tests/unit/misc/test_miscwidgets.py b/tests/unit/misc/test_miscwidgets.py index 6e1919ec3..7749b7367 100644 --- a/tests/unit/misc/test_miscwidgets.py +++ b/tests/unit/misc/test_miscwidgets.py @@ -19,8 +19,8 @@ import logging -from PyQt5.QtCore import Qt, QSize -from PyQt5.QtWidgets import QWidget +from PyQt6.QtCore import Qt, QSize +from PyQt6.QtWidgets import QWidget import pytest from qutebrowser.misc import miscwidgets diff --git a/tests/unit/misc/test_msgbox.py b/tests/unit/misc/test_msgbox.py index c5c23639a..78f87e4c9 100644 --- a/tests/unit/misc/test_msgbox.py +++ b/tests/unit/misc/test_msgbox.py @@ -20,8 +20,8 @@ import pytest -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import QMessageBox, QWidget +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import QMessageBox, QWidget from qutebrowser.misc import msgbox from qutebrowser.utils import utils diff --git a/tests/unit/misc/test_pastebin.py b/tests/unit/misc/test_pastebin.py index 7a47e723c..e3f1691b5 100644 --- a/tests/unit/misc/test_pastebin.py +++ b/tests/unit/misc/test_pastebin.py @@ -19,7 +19,7 @@ # along with qutebrowser. If not, see <https://www.gnu.org/licenses/>. import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.misc import httpclient, pastebin diff --git a/tests/unit/misc/test_sessions.py b/tests/unit/misc/test_sessions.py index f77982e5f..144e2d7b2 100644 --- a/tests/unit/misc/test_sessions.py +++ b/tests/unit/misc/test_sessions.py @@ -23,8 +23,8 @@ import logging import pytest import yaml -from PyQt5.QtCore import QUrl, QPoint, QByteArray, QObject -QWebView = pytest.importorskip('PyQt5.QtWebKitWidgets').QWebView +from PyQt6.QtCore import QUrl, QPoint, QByteArray, QObject +QWebView = pytest.importorskip('PyQt6.QtWebKitWidgets').QWebView from qutebrowser.misc import sessions from qutebrowser.misc.sessions import TabHistoryItem as Item diff --git a/tests/unit/misc/test_sql.py b/tests/unit/misc/test_sql.py index 80ab7513c..4608fd9ca 100644 --- a/tests/unit/misc/test_sql.py +++ b/tests/unit/misc/test_sql.py @@ -23,7 +23,7 @@ import pytest import hypothesis from hypothesis import strategies -from PyQt5.QtSql import QSqlDatabase, QSqlError, QSqlQuery +from PyQt6.QtSql import QSqlDatabase, QSqlError, QSqlQuery from qutebrowser.misc import sql diff --git a/tests/unit/misc/test_throttle.py b/tests/unit/misc/test_throttle.py index 33e9949f2..d057935c4 100644 --- a/tests/unit/misc/test_throttle.py +++ b/tests/unit/misc/test_throttle.py @@ -23,7 +23,7 @@ from unittest import mock import sip import pytest -from PyQt5.QtCore import QObject +from PyQt6.QtCore import QObject from helpers import testutils from qutebrowser.misc import throttle diff --git a/tests/unit/misc/test_utilcmds.py b/tests/unit/misc/test_utilcmds.py index 76bc015d2..e2ec9a994 100644 --- a/tests/unit/misc/test_utilcmds.py +++ b/tests/unit/misc/test_utilcmds.py @@ -20,7 +20,7 @@ """Tests for qutebrowser.misc.utilcmds.""" import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.misc import utilcmds from qutebrowser.api import cmdutils diff --git a/tests/unit/test_app.py b/tests/unit/test_app.py index e359f2136..a9ffba859 100644 --- a/tests/unit/test_app.py +++ b/tests/unit/test_app.py @@ -19,7 +19,7 @@ """Tests for the qutebrowser.app module.""" -from PyQt5.QtCore import QBuffer +from PyQt6.QtCore import QBuffer from qutebrowser.misc import objects from qutebrowser import app diff --git a/tests/unit/utils/test_debug.py b/tests/unit/utils/test_debug.py index 62d0f4a7b..6f109f71f 100644 --- a/tests/unit/utils/test_debug.py +++ b/tests/unit/utils/test_debug.py @@ -25,8 +25,8 @@ import time import textwrap import pytest -from PyQt5.QtCore import pyqtSignal, Qt, QEvent, QObject, QTimer -from PyQt5.QtWidgets import QStyle, QFrame, QSpinBox +from PyQt6.QtCore import pyqtSignal, Qt, QEvent, QObject, QTimer +from PyQt6.QtWidgets import QStyle, QFrame, QSpinBox from qutebrowser.utils import debug from qutebrowser.misc import objects @@ -186,7 +186,7 @@ class TestQFlagsKey: No idea what's happening here exactly... """ - qwebpage = pytest.importorskip("PyQt5.QtWebKitWidgets").QWebPage + qwebpage = pytest.importorskip("PyQt6.QtWebKitWidgets").QWebPage flags = qwebpage.FindWrapsAroundDocument flags |= qwebpage.FindBackward @@ -297,6 +297,6 @@ class TestGetAllObjects: def test_get_all_objects_qapp(self, qapp, monkeypatch): monkeypatch.setattr(objects, 'qapp', qapp) objs = debug.get_all_objects() - event_dispatcher = '<PyQt5.QtCore.QAbstractEventDispatcher object at' - session_manager = '<PyQt5.QtGui.QSessionManager object at' + event_dispatcher = '<PyQt6.QtCore.QAbstractEventDispatcher object at' + session_manager = '<PyQt6.QtGui.QSessionManager object at' assert event_dispatcher in objs or session_manager in objs diff --git a/tests/unit/utils/test_error.py b/tests/unit/utils/test_error.py index b59a7150b..e1b7fa2e8 100644 --- a/tests/unit/utils/test_error.py +++ b/tests/unit/utils/test_error.py @@ -21,8 +21,8 @@ import logging import pytest -from PyQt5.QtCore import QTimer -from PyQt5.QtWidgets import QMessageBox +from PyQt6.QtCore import QTimer +from PyQt6.QtWidgets import QMessageBox from qutebrowser.utils import error, utils from qutebrowser.misc import ipc diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py index 85be8a6e3..f976cbfc9 100644 --- a/tests/unit/utils/test_jinja.py +++ b/tests/unit/utils/test_jinja.py @@ -24,7 +24,7 @@ import logging import jinja2.exceptions import pytest -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import jinja from qutebrowser.config import configexc diff --git a/tests/unit/utils/test_log.py b/tests/unit/utils/test_log.py index 7682c1156..ca9996cbb 100644 --- a/tests/unit/utils/test_log.py +++ b/tests/unit/utils/test_log.py @@ -28,7 +28,7 @@ import dataclasses import pytest import _pytest.logging -from PyQt5 import QtCore +from PyQt6 import QtCore from qutebrowser import qutebrowser from qutebrowser.utils import log diff --git a/tests/unit/utils/test_qtutils.py b/tests/unit/utils/test_qtutils.py index 2d98feece..abf3e43b1 100644 --- a/tests/unit/utils/test_qtutils.py +++ b/tests/unit/utils/test_qtutils.py @@ -28,9 +28,9 @@ import unittest import unittest.mock import pytest -from PyQt5.QtCore import (QDataStream, QPoint, QUrl, QByteArray, QIODevice, +from PyQt6.QtCore import (QDataStream, QPoint, QUrl, QByteArray, QIODevice, QTimer, QBuffer, QFile, QProcess, QFileDevice) -from PyQt5.QtGui import QColor +from PyQt6.QtGui import QColor from qutebrowser.utils import qtutils, utils, usertypes import overflow_test_cases diff --git a/tests/unit/utils/test_standarddir.py b/tests/unit/utils/test_standarddir.py index e05b5d31f..4367a8366 100644 --- a/tests/unit/utils/test_standarddir.py +++ b/tests/unit/utils/test_standarddir.py @@ -28,7 +28,7 @@ import textwrap import logging import subprocess -from PyQt5.QtCore import QStandardPaths +from PyQt6.QtCore import QStandardPaths import pytest from qutebrowser.utils import standarddir, utils, qtutils @@ -465,7 +465,7 @@ def test_no_qapplication(qapp, tmpdir, monkeypatch): sys.path = sys.argv[1:] # make sure we have the same python path - from PyQt5.QtWidgets import QApplication + from PyQt6.QtWidgets import QApplication from qutebrowser.utils import standarddir assert QApplication.instance() is None diff --git a/tests/unit/utils/test_urlmatch.py b/tests/unit/utils/test_urlmatch.py index 35ccc94fe..e85acfde0 100644 --- a/tests/unit/utils/test_urlmatch.py +++ b/tests/unit/utils/test_urlmatch.py @@ -33,7 +33,7 @@ import string import pytest import hypothesis import hypothesis.strategies as hst -from PyQt5.QtCore import QUrl +from PyQt6.QtCore import QUrl from qutebrowser.utils import urlmatch diff --git a/tests/unit/utils/test_urlutils.py b/tests/unit/utils/test_urlutils.py index 97ff268ca..07df7f6d5 100644 --- a/tests/unit/utils/test_urlutils.py +++ b/tests/unit/utils/test_urlutils.py @@ -24,8 +24,8 @@ import logging import dataclasses import urllib.parse -from PyQt5.QtCore import QUrl -from PyQt5.QtNetwork import QNetworkProxy +from PyQt6.QtCore import QUrl +from PyQt6.QtNetwork import QNetworkProxy import pytest import hypothesis import hypothesis.strategies diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py index 57adc883c..e721a2866 100644 --- a/tests/unit/utils/test_utils.py +++ b/tests/unit/utils/test_utils.py @@ -30,8 +30,8 @@ import shlex import math import operator -from PyQt5.QtCore import QUrl, QRect -from PyQt5.QtGui import QClipboard +from PyQt6.QtCore import QUrl, QRect +from PyQt6.QtGui import QClipboard import pytest import hypothesis from hypothesis import strategies @@ -750,7 +750,7 @@ class TestOpenFile: @pytest.fixture def openurl_mock(self, mocker): - return mocker.patch('PyQt5.QtGui.QDesktopServices.openUrl', spec={}, + return mocker.patch('PyQt6.QtGui.QDesktopServices.openUrl', spec={}, new_callable=mocker.Mock) def test_system_default_application(self, caplog, config_stub, diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py index 6c57cb3d3..89ce30157 100644 --- a/tests/unit/utils/test_version.py +++ b/tests/unit/utils/test_version.py @@ -33,7 +33,7 @@ import dataclasses import pytest import hypothesis import hypothesis.strategies -from PyQt5.QtCore import PYQT_VERSION_STR +from PyQt6.QtCore import PYQT_VERSION_STR import qutebrowser from qutebrowser.config import config, websettings @@ -1002,10 +1002,10 @@ class TestWebEngineVersions: pyqt_webengine_version = version._get_pyqt_webengine_qt_version() if pyqt_webengine_version is None: if '.dev' in PYQT_VERSION_STR: - pytest.skip("dev version of PyQt5") + pytest.skip("dev version of PyQt6") try: - from PyQt5.QtWebEngine import ( + from PyQt6.QtWebEngine import ( PYQT_WEBENGINE_VERSION_STR, PYQT_WEBENGINE_VERSION) except ImportError as e: # QtWebKit or QtWebEngine < 5.13 @@ -1059,7 +1059,7 @@ class TestChromiumVersion: @pytest.fixture(autouse=True) def clear_parsed_ua(self, monkeypatch): - pytest.importorskip('PyQt5.QtWebEngineWidgets') + pytest.importorskip('PyQt6.QtWebEngineWidgets') if webenginesettings is not None: # Not available with QtWebKit monkeypatch.setattr(webenginesettings, 'parsed_user_agent', None) @@ -1341,7 +1341,7 @@ class TestOpenGLInfo: def test_func(self, qapp): """Simply call version.opengl_info() and see if it doesn't crash.""" - pytest.importorskip("PyQt5.QtOpenGL") + pytest.importorskip("PyQt6.QtOpenGL") version.opengl_info() def test_func_fake(self, qapp, monkeypatch): diff --git a/tests/unit/utils/usertypes/test_timer.py b/tests/unit/utils/usertypes/test_timer.py index 4dc85b06f..fcf0a00e5 100644 --- a/tests/unit/utils/usertypes/test_timer.py +++ b/tests/unit/utils/usertypes/test_timer.py @@ -20,7 +20,7 @@ """Tests for Timer.""" import pytest -from PyQt5.QtCore import QObject +from PyQt6.QtCore import QObject from qutebrowser.utils import usertypes @@ -45,7 +45,7 @@ setenv = QUTE_BDD_WEBENGINE=true pip_pre = true deps = -r{toxinidir}/misc/requirements/requirements-tests-bleeding.txt -commands_pre = pip install --index-url https://www.riverbankcomputing.com/pypi/simple/ --pre --upgrade PyQt5 PyQtWebEngine +commands_pre = pip install --index-url https://www.riverbankcomputing.com/pypi/simple/ --pre --upgrade PyQt6 PyQtWebEngine commands = {envpython} -bb -m pytest {posargs:tests} # other envs |