Commit Graph

24493 Commits

Author SHA1 Message Date
Florian Bruhin ca4cd3a24f qt: Refactor SelectionInfo.set_module_error 2023-06-13 19:56:21 +02:00
Florian Bruhin 92243041c2 qt: Stop trying other wrappers on ImportError 2023-06-13 19:51:22 +02:00
Florian Bruhin 1313704802 qt: Add wrapper info to backendproblem messages 2023-06-13 19:32:50 +02:00
Florian Bruhin 0175c00d0f qt: Make sure to undo all global state changes 2023-06-13 18:53:00 +02:00
Florian Bruhin 13c412f13e qt: Fix lint 2023-06-13 18:53:00 +02:00
Florian Bruhin d9543de98c qt: Fix test_version 2023-06-13 17:02:54 +02:00
Florian Bruhin 63e96fa3fe qt: Split machinery.init() and init_explicit() into two functions
This also moves the checking for sys.modules into _select_wrapper.
2023-06-13 17:01:15 +02:00
Florian Bruhin 322834d0e6 qt: Integrate machinery into earlyinit properly
This means we will now get errors via the usual mechanisms
(e.g. a Tk error dialog) when all Qt wrappers failed to import.

We also add information about the picked Qt wrapper (and any errors)
to the error message.
2023-06-13 16:36:03 +02:00
Florian Bruhin 7691556ea1 qt: Fix tests for SelectionInfo changes 2023-06-13 15:21:41 +02:00
Florian Bruhin 1cf9d68aba qt: Fix lint 2023-06-13 15:21:28 +02:00
Florian Bruhin 9588e0aec0 qt: Treat empty QUTE_QT_WRAPPER as unset 2023-06-13 12:18:44 +02:00
Florian Bruhin a25e8a0987 qt: Less stringly-typed API for SelectionInfo 2023-06-13 12:18:39 +02:00
Florian Bruhin 83bef2ad4b qt: Add machinery.SelectionInfo 2023-06-13 12:09:48 +02:00
Florian Bruhin fe994ef149 qt: Update mypy constants 2023-06-13 00:02:32 +02:00
Florian Bruhin 8fdb5b09be qt: Fix typing/lint 2023-06-12 23:59:11 +02:00
Florian Bruhin eeb39d6330 qt: Add tests for machinery 2023-06-12 23:34:27 +02:00
Florian Bruhin 7fb2a2568e qt: Small machinery fixups 2023-06-12 23:16:17 +02:00
Florian Bruhin 89322cd9ad qt: Remove duplicate machine.PACKAGE
Contains the exact same string we have in .WRAPPER already anyways.
2023-06-12 21:42:16 +02:00
Florian Bruhin eaf71c8e41 qt: Add docstring for constants 2023-06-12 21:42:16 +02:00
Florian Bruhin 9aaf08e329 qt: Simplify qt.sip 2023-06-12 21:42:16 +02:00
Florian Bruhin 1bd60385eb qt: Add module docstrings and update lint ignores 2023-06-12 21:42:16 +02:00
Florian Bruhin cbea801781 qt: Call machinery.init() in qt packages 2023-06-12 21:42:16 +02:00
Florian Bruhin f65a692320 qt: Initial support for a --qt-wrapper argument 2023-06-12 21:42:16 +02:00
Florian Bruhin 4bf1e69783
Merge pull request #7740 from qutebrowser/update-dependencies
Update dependencies
2023-06-12 10:35:52 +02:00
qutebrowser bot e502663fe3 Update dependencies 2023-06-12 04:23:46 +00:00
Florian Bruhin 70e8dc63e8 Revert "Revert "ci: Remove Python 3.12 for now""
This reverts commit ded43c57c8.

Still segfaults on exit...
2023-06-09 20:25:49 +02:00
Florian Bruhin ded43c57c8 Revert "ci: Remove Python 3.12 for now"
This reverts commit a5d6e41005.

See #7727
2023-06-09 20:06:56 +02:00
Florian Bruhin c62e9aba5b Work around Python 3.12 test issues
See #7727
2023-06-09 20:06:40 +02:00
Florian Bruhin 52c7ec57c1 Fix lint 2023-06-09 17:20:20 +02:00
Florian Bruhin 15e7d5c6b1 py312: Ignore pytest-benchmark deprecation warning
See #7727 and https://github.com/ionelmc/pytest-benchmark/issues/240
2023-06-09 15:02:30 +02:00
Florian Bruhin 0fe03ae475 Inline misc.MinimalLineEdit into statusbar.command.Command
Ever since 33088588d9,
misc.MinimalLineEdit is only used in statusbar.command.Command.

Having it separated into a mixin makes a lot of things more complicated,
and also needs pylint ignores and a hand-written superclass __init__.

This commit inlines it into statusbar.command.Command, which makes
everything a lot simpler.

It also avoids triggering a segfault in Python 3.12.0b2:
https://github.com/qutebrowser/qutebrowser/issues/7727#issuecomment-1583144545
https://www.riverbankcomputing.com/pipermail/pyqt/2023-June/045325.html
2023-06-09 14:19:38 +02:00
Florian Bruhin 2c61ec38b8 py312: Ignore pytest ast warnings
See https://github.com/pytest-dev/pytest/issues/10977
and #7727
2023-06-08 17:41:10 +02:00
Florian Bruhin 0b0401f8bb py312: Tell tox/virtualenv to upgrade pip
Otherwise we run into a Python 3.12 incompatibility with pkg_resources:
https://github.com/pypa/pip/issues/11501

Also needs PIP_REQUIRE_VIRTUALENV=0 because otherwise pip seems to
falsely assume it's installing things system-wide, weirdly.

Should probably be removed once there is a newer virtualenv, which
vendors a newer pip, which vendors a newer pkg_resources...

See #7727
2023-06-08 17:40:45 +02:00
Florian Bruhin e1d0b3c543 tests: Adjust urlmatch exception message patterns for Python 3.11.4 2023-06-08 17:17:40 +02:00
Florian Bruhin 8b058389b7 test: Adjust test_nul_bytes version check
Python 3.11.4 also got the fix backported which turns this into a SyntaxError:
https://github.com/python/cpython/pull/104195
2023-06-08 16:59:19 +02:00
Florian Bruhin f80f454704 keyutils: Work around broken Python 3.11.4 enum.Flag inversion
Take a detour via .value if on Qt 6, because Python 3.11.4 seems to be
unable to invert enum.Flag values with a mask set.

Fixes #7735

See:
- https://github.com/python/cpython/issues/105497
- https://www.riverbankcomputing.com/pipermail/pyqt/2023-June/045323.html
2023-06-08 16:47:26 +02:00
Florian Bruhin 65c14730e3 mypy: Improve Qt 5 typing in keyutils
Adjust _ModifierType to consider PyQt5's separate enum/flag classes,
which lets us get rid of some type ignores
2023-06-08 16:37:26 +02:00
Florian Bruhin 63b4b95fd3 Fix vulture 2023-06-08 14:57:10 +02:00
Florian Bruhin d4a4a9d904 nativeeventfilter: Fix lint 2023-06-08 13:09:56 +02:00
Florian Bruhin dfeebb3d24 nativeeventfilter: Improve error handling 2023-06-08 12:39:52 +02:00
Florian Bruhin 37e1fff42f nativeeventfilter: Only activate after hierarchy change 2023-06-08 12:37:29 +02:00
Florian Bruhin 9380c10f23 nativeeventfilter: Use IntEnum 2023-06-08 12:26:18 +02:00
Florian Bruhin 1af5a63bdf nativeeventfilter: Run black 2023-06-08 12:19:03 +02:00
Florian Bruhin bda7da04ff nativeeventfilter: First refinements 2023-06-08 12:18:47 +02:00
Florian Bruhin 27887e8157 nativeeventfilter: Simplify 2023-06-08 11:44:01 +02:00
Florian Bruhin 30bfd90e59 Add initial nativeeventfilter
See #7732
2023-06-08 11:39:28 +02:00
Florian Bruhin 16093eaf98 Add debug flag to log all Qt events 2023-06-07 22:02:11 +02:00
Florian Bruhin a71c25c2a0 Make herbe process error non-fatal 2023-06-05 13:02:42 +02:00
Florian Bruhin a7ad16daef notifications: Fix invalid version number construction
File "/usr/lib/python3.11/site-packages/qutebrowser/browser/webengine/notification.py", line 859, in _find_quirks
        if utils.VersionNumber.parse(ver) < utils.VersionNumber(2, 0):
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/qutebrowser/utils/utils.py", line 96, in __init__
        raise ValueError(
    ValueError: Refusing to construct non-normalized version from (2, 0) (normalized: (2,)).
2023-06-05 12:58:35 +02:00
Florian Bruhin 648d990a6c
Merge pull request #7733 from qutebrowser/update-dependencies
Update dependencies
2023-06-05 10:03:08 +02:00