From 205afc28fdffa98e7aafc7b7d4808d79d040556d Mon Sep 17 00:00:00 2001 From: brightonanc Date: Wed, 9 Mar 2022 13:47:39 -0500 Subject: [PATCH] Modernizing the results from PR #3683 --- qutebrowser/keyinput/basekeyparser.py | 8 +++---- qutebrowser/keyinput/modeparsers.py | 33 +++++---------------------- 2 files changed, 10 insertions(+), 31 deletions(-) diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py index cdf3e6f5f..2a79e0240 100644 --- a/qutebrowser/keyinput/basekeyparser.py +++ b/qutebrowser/keyinput/basekeyparser.py @@ -367,16 +367,16 @@ class BaseKeyParser(QObject): """ raise NotImplementedError - def _set_partial_timeout(self): + def _set_partial_timeout(self) -> None: """Set a timeout to clear a partial keystring.""" timeout = config.val.input.partial_timeout if timeout != 0: self._partial_timer.setInterval(timeout) - self._partial_timer.timeout.connect(self.clear_partial_match) + self._partial_timer.timeout.connect(self._clear_partial_match) self._partial_timer.start() @pyqtSlot() - def clear_partial_match(self): + def _clear_partial_match(self) -> None: """Clear a partial keystring after a timeout.""" self._debug_log("Clearing partial keystring {}".format( self._sequence)) @@ -395,7 +395,7 @@ class BaseKeyParser(QObject): self.keystring_updated.emit('') self._partial_timer.stop() try: - self._partial_timer.timeout.disconnect(self.clear_partial_match) + self._partial_timer.timeout.disconnect(self._clear_partial_match) except TypeError: # no connections pass diff --git a/qutebrowser/keyinput/modeparsers.py b/qutebrowser/keyinput/modeparsers.py index 23a40fd05..f97a28320 100644 --- a/qutebrowser/keyinput/modeparsers.py +++ b/qutebrowser/keyinput/modeparsers.py @@ -66,7 +66,11 @@ class CommandKeyParser(basekeyparser.BaseKeyParser): class NormalKeyParser(CommandKeyParser): - """KeyParser for normal mode with added STARTCHARS detection and more.""" + """KeyParser for normal mode with added STARTCHARS detection and more. + + Attributes: + _partial_timer: Timer to clear partial keypresses. + """ _sequence: keyutils.KeySequence @@ -212,19 +216,7 @@ class PassthroughKeyParser(CommandKeyParser): self._orig_sequence = keyutils.KeySequence() -class PromptKeyParser(CommandKeyParser): - - """KeyParser for yes/no prompts.""" - - def __init__(self, win_id, parent=None): - super().__init__(win_id, parent, supports_count=False) - self._read_config('yesno') - - def __repr__(self): - return utils.get_repr(self) - - -class HintKeyParser(CommandKeyParser): +class HintKeyParser(basekeyparser.BaseKeyParser): """KeyChainParser for hints. @@ -333,19 +325,6 @@ class HintKeyParser(CommandKeyParser): assert count is None self._hintmanager.handle_partial_key(cmdstr) - @pyqtSlot() - def clear_partial_match(self): - """Override to avoid clearing filter text after a timeout.""" - if self._last_press != LastPress.filtertext: - super().clear_partial_match() - - @pyqtSlot(str) - def on_keystring_updated(self, keystr): - """Update hintmanager when the keystring was updated.""" - hintmanager = objreg.get('hintmanager', scope='tab', - window=self._win_id, tab='current') - hintmanager.handle_partial_key(keystr) - class RegisterKeyParser(CommandKeyParser):