diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-01-11 12:00:30 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-01-11 18:47:15 +0100 |
commit | c1758230200814e84055f3e2954cb69f0fddf5d8 (patch) | |
tree | b9123f2c04e3337084e0894c0bb17574b9704311 /qutebrowser/keyinput | |
parent | 8760dc1b17dcf06f7253a9ce7ac7a15af0785492 (diff) | |
download | qutebrowser-c1758230200814e84055f3e2954cb69f0fddf5d8.tar.gz qutebrowser-c1758230200814e84055f3e2954cb69f0fddf5d8.zip |
Add objects.qapp to avoid needing to None-check
We know that QApplication.instance() will always be non-None for
practical purposes, but the stubs now (correctly) declare it as
Optional.
See https://github.com/stlehmann/PyQt5-stubs/pull/126
Diffstat (limited to 'qutebrowser/keyinput')
-rw-r--r-- | qutebrowser/keyinput/eventfilter.py | 11 | ||||
-rw-r--r-- | qutebrowser/keyinput/modeman.py | 4 |
2 files changed, 7 insertions, 8 deletions
diff --git a/qutebrowser/keyinput/eventfilter.py b/qutebrowser/keyinput/eventfilter.py index d77c8702d..2202ebd2d 100644 --- a/qutebrowser/keyinput/eventfilter.py +++ b/qutebrowser/keyinput/eventfilter.py @@ -23,10 +23,9 @@ from typing import cast from PyQt5.QtCore import pyqtSlot, QObject, QEvent from PyQt5.QtGui import QKeyEvent, QWindow -from PyQt5.QtWidgets import QApplication from qutebrowser.keyinput import modeman -from qutebrowser.misc import quitter +from qutebrowser.misc import quitter, objects from qutebrowser.utils import objreg @@ -50,11 +49,11 @@ class EventFilter(QObject): } def install(self) -> None: - QApplication.instance().installEventFilter(self) + objects.qapp.installEventFilter(self) @pyqtSlot() def shutdown(self) -> None: - QApplication.instance().removeEventFilter(self) + objects.qapp.removeEventFilter(self) def _handle_key_event(self, event: QKeyEvent) -> bool: """Handle a key press/release event. @@ -65,7 +64,7 @@ class EventFilter(QObject): Return: True if the event should be filtered, False if it's passed through. """ - active_window = QApplication.instance().activeWindow() + active_window = objects.qapp.activeWindow() if active_window not in objreg.window_registry.values(): # Some other window (print dialog, etc.) is focused so we pass the # event through. @@ -112,6 +111,6 @@ class EventFilter(QObject): def init() -> None: """Initialize the global EventFilter instance.""" - event_filter = EventFilter(parent=QApplication.instance()) + event_filter = EventFilter(parent=objects.qapp) event_filter.install() quitter.instance.shutting_down.connect(event_filter.shutdown) diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index dcc6fa949..df5f08e2c 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -25,7 +25,6 @@ from typing import Mapping, Callable, MutableMapping, Union, Set, cast import attr from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QEvent from PyQt5.QtGui import QKeyEvent -from PyQt5.QtWidgets import QApplication from qutebrowser.commands import runners from qutebrowser.keyinput import modeparsers, basekeyparser @@ -33,6 +32,7 @@ from qutebrowser.config import config from qutebrowser.api import cmdutils from qutebrowser.utils import usertypes, log, objreg, utils from qutebrowser.browser import hints +from qutebrowser.misc import objects INPUT_MODES = [usertypes.KeyMode.insert, usertypes.KeyMode.passthrough] PROMPT_MODES = [usertypes.KeyMode.prompt, usertypes.KeyMode.yesno] @@ -307,7 +307,7 @@ class ModeManager(QObject): self._releaseevents_to_pass.add(KeyEvent.from_event(event)) if curmode != usertypes.KeyMode.insert: - focus_widget = QApplication.instance().focusWidget() + focus_widget = objects.qapp.focusWidget() log.modes.debug("match: {}, forward_unbound_keys: {}, " "passthrough: {}, is_non_alnum: {}, dry_run: {} " "--> filter: {} (focused: {!r})".format( |