summaryrefslogtreecommitdiff
path: root/qutebrowser/keyinput
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-01-11 12:00:30 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-01-11 18:47:15 +0100
commitc1758230200814e84055f3e2954cb69f0fddf5d8 (patch)
treeb9123f2c04e3337084e0894c0bb17574b9704311 /qutebrowser/keyinput
parent8760dc1b17dcf06f7253a9ce7ac7a15af0785492 (diff)
downloadqutebrowser-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.py11
-rw-r--r--qutebrowser/keyinput/modeman.py4
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(