From 5385307582e4462ba9fe59369b41e65527cb1e07 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 23 Apr 2014 23:23:04 +0200 Subject: [PATCH] Register modes explicitely with modemanager. --- qutebrowser/app.py | 7 ++++++- qutebrowser/utils/modemanager.py | 15 +++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 861040200..23f32cd3f 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -129,7 +129,12 @@ class QuteBrowser(QApplication): } self._init_cmds() self.mainwindow = MainWindow() - modemanager.init(self._keyparsers, self) + modemanager.init(self) + modemanager.manager.register("normal", + self._keyparsers["normal"].handle) + modemanager.manager.register("hint", self._keyparsers["hint"].handle) + modemanager.manager.register("insert", None, passthrough=True) + modemanager.manager.register("command", None, passthrough=True) self.installEventFilter(modemanager.manager) self.setQuitOnLastWindowClosed(False) diff --git a/qutebrowser/utils/modemanager.py b/qutebrowser/utils/modemanager.py index 208a35965..c51b92ad7 100644 --- a/qutebrowser/utils/modemanager.py +++ b/qutebrowser/utils/modemanager.py @@ -29,18 +29,17 @@ from PyQt5.QtCore import pyqtSignal, QObject, QEvent manager = None -def init(parsers=None, parent=None): +def init(parent=None): """Initialize the global ModeManager. This needs to be done by hand because the import time is before Qt is ready for everything. Args: - parsers: A dict of KeyParsers to register. parent: Parent to use for ModeManager. """ global manager - manager = ModeManager(parsers, parent) + manager = ModeManager(parent) def enter(mode): @@ -67,19 +66,11 @@ class ModeManager(QObject): entered = pyqtSignal(str) leaved = pyqtSignal(str) - def __init__(self, parsers=None, parent=None): - """Constructor. - - Args: - parsers: A list of parsers to register. - """ + def __init__(self, parent=None): super().__init__(parent) self._handlers = {} self._passthrough = [] self.mode = None - if parsers is not None: - for name, parser in parsers.items(): - self._handlers[name] = parser.handle def register(self, mode, handler, passthrough=False): """Register a new mode.