From b4033ced8ba13fc97d2b729dccff00f88c94d770 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 25 Apr 2014 07:09:12 +0200 Subject: [PATCH] Add generic PassthroughKeyParser, remove InsertKeyParser --- qutebrowser/app.py | 4 ++-- qutebrowser/keyinput/insertmode.py | 30 ------------------------------ qutebrowser/keyinput/keyparser.py | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 32 deletions(-) delete mode 100644 qutebrowser/keyinput/insertmode.py diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 6fd8238e9..c5f556b2b 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -57,7 +57,7 @@ import qutebrowser.utils.message as message from qutebrowser.widgets.mainwindow import MainWindow from qutebrowser.widgets.crash import CrashDialog from qutebrowser.keyinput.normalmode import NormalKeyParser -from qutebrowser.keyinput.insertmode import InsertKeyParser +from qutebrowser.keyinput.keyparser import PassthroughKeyParser from qutebrowser.keyinput.hintmode import HintKeyParser from qutebrowser.commands.parsers import CommandParser, SearchParser from qutebrowser.utils.appdirs import AppDirs @@ -127,7 +127,7 @@ class QuteBrowser(QApplication): self._keyparsers = { 'normal': NormalKeyParser(self), 'hint': HintKeyParser(self), - 'insert': InsertKeyParser(self), + 'insert': PassthroughKeyParser('keybind.insert', self), } self._init_cmds() self.mainwindow = MainWindow() diff --git a/qutebrowser/keyinput/insertmode.py b/qutebrowser/keyinput/insertmode.py deleted file mode 100644 index 6b57b3822..000000000 --- a/qutebrowser/keyinput/insertmode.py +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2014 Florian Bruhin (The Compiler) -# -# This file is part of qutebrowser. -# -# qutebrowser is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# qutebrowser is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with qutebrowser. If not, see . - -"""KeyParser for "insert" mode.""" - -import qutebrowser.keyinput.modes as modes -from qutebrowser.keyinput.keyparser import CommandKeyParser - - -class InsertKeyParser(CommandKeyParser): - - """KeyParser for insert mode.""" - - def __init__(self, parent=None): - super().__init__(parent, supports_chains=False) - self.read_config('keybind.insert') diff --git a/qutebrowser/keyinput/keyparser.py b/qutebrowser/keyinput/keyparser.py index b9724c86e..f96edb0da 100644 --- a/qutebrowser/keyinput/keyparser.py +++ b/qutebrowser/keyinput/keyparser.py @@ -380,3 +380,20 @@ class CommandKeyParser(KeyParser): def execute(self, cmdstr, _keytype, count=None): self._run_or_fill(cmdstr, count, ignore_exc=False) + + +class PassthroughKeyParser(CommandKeyParser): + + """KeyChainParser which passes through normal keys. + + Used for insert/passthrough modes. + """ + + def __init__(self, confsect, parent=None): + """Constructor. + + Args: + confsect: The config section to use. + """ + super().__init__(parent, supports_chains=False) + self.read_config(confsect)