diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-10-16 16:36:02 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-10-16 16:41:45 +0200 |
commit | 9c28d9ee540469a146e0a904413d2b7a74be36bd (patch) | |
tree | a5a8a3b2f2249e9cee5edcb119dee40a3745cb94 /qutebrowser/keyinput/modeman.py | |
parent | 77e8eb270efee8602b91086615161ebaef2b31bc (diff) | |
download | qutebrowser-9c28d9ee540469a146e0a904413d2b7a74be36bd.tar.gz qutebrowser-9c28d9ee540469a146e0a904413d2b7a74be36bd.zip |
Use signals to set status text from HintManager
Diffstat (limited to 'qutebrowser/keyinput/modeman.py')
-rw-r--r-- | qutebrowser/keyinput/modeman.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index 4febf98a8..e49aa891d 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -17,8 +17,9 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see <http://www.gnu.org/licenses/>. -"""Mode manager singleton which handles the current keyboard mode.""" +"""Mode manager (per window) which handles the current keyboard mode.""" +import typing import functools from typing import Mapping, Callable, MutableMapping, Union, Set, cast @@ -78,15 +79,17 @@ class UnavailableError(Exception): def init(win_id: int, parent: QObject) -> 'ModeManager': """Initialize the mode manager and the keyparsers for the given win_id.""" + commandrunner = runners.CommandRunner(win_id) + modeman = ModeManager(win_id, parent) objreg.register('mode-manager', modeman, scope='window', window=win_id) - commandrunner = runners.CommandRunner(win_id) - hintmanager = hints.HintManager(win_id, parent=parent) objreg.register('hintmanager', hintmanager, scope='window', window=win_id, command_only=True) + modeman.hintmanager = hintmanager + keyparsers = { usertypes.KeyMode.normal: modeparsers.NormalKeyParser( @@ -227,6 +230,7 @@ class ModeManager(QObject): Attributes: mode: The mode we're currently in. + hintmanager: The HintManager associated with this window. _win_id: The window ID of this ModeManager _prev_mode: Mode before a prompt popped up parsers: A dictionary of modes and their keyparsers. @@ -260,6 +264,8 @@ class ModeManager(QObject): self._prev_mode = usertypes.KeyMode.normal self.mode = usertypes.KeyMode.normal self._releaseevents_to_pass = set() # type: Set[KeyEvent] + # Set after __init__ + self.hintmanager = typing.cast(hints.HintManager, None) def __repr__(self) -> str: return utils.get_repr(self, mode=self.mode) |