Register modes explicitely with modemanager.
This commit is contained in:
parent
fc11021c08
commit
5385307582
@ -129,7 +129,12 @@ class QuteBrowser(QApplication):
|
|||||||
}
|
}
|
||||||
self._init_cmds()
|
self._init_cmds()
|
||||||
self.mainwindow = MainWindow()
|
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.installEventFilter(modemanager.manager)
|
||||||
self.setQuitOnLastWindowClosed(False)
|
self.setQuitOnLastWindowClosed(False)
|
||||||
|
|
||||||
|
@ -29,18 +29,17 @@ from PyQt5.QtCore import pyqtSignal, QObject, QEvent
|
|||||||
manager = None
|
manager = None
|
||||||
|
|
||||||
|
|
||||||
def init(parsers=None, parent=None):
|
def init(parent=None):
|
||||||
"""Initialize the global ModeManager.
|
"""Initialize the global ModeManager.
|
||||||
|
|
||||||
This needs to be done by hand because the import time is before Qt is ready
|
This needs to be done by hand because the import time is before Qt is ready
|
||||||
for everything.
|
for everything.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
parsers: A dict of KeyParsers to register.
|
|
||||||
parent: Parent to use for ModeManager.
|
parent: Parent to use for ModeManager.
|
||||||
"""
|
"""
|
||||||
global manager
|
global manager
|
||||||
manager = ModeManager(parsers, parent)
|
manager = ModeManager(parent)
|
||||||
|
|
||||||
|
|
||||||
def enter(mode):
|
def enter(mode):
|
||||||
@ -67,19 +66,11 @@ class ModeManager(QObject):
|
|||||||
entered = pyqtSignal(str)
|
entered = pyqtSignal(str)
|
||||||
leaved = pyqtSignal(str)
|
leaved = pyqtSignal(str)
|
||||||
|
|
||||||
def __init__(self, parsers=None, parent=None):
|
def __init__(self, parent=None):
|
||||||
"""Constructor.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
parsers: A list of parsers to register.
|
|
||||||
"""
|
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self._handlers = {}
|
self._handlers = {}
|
||||||
self._passthrough = []
|
self._passthrough = []
|
||||||
self.mode = None
|
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):
|
def register(self, mode, handler, passthrough=False):
|
||||||
"""Register a new mode.
|
"""Register a new mode.
|
||||||
|
Loading…
Reference in New Issue
Block a user