Fix MarkKeyParser crash when changing keyconfig.
Ensure MarkKeyParser implements on_keyconfig_changed, so it doesn't fail when rebinding a key. It doesn't have keybindings, so the implementation is just `pass`. This also fixes a few flake8 style errors.
This commit is contained in:
parent
be6308534f
commit
4b00a17d71
@ -236,8 +236,8 @@ class MarkKeyParser(keyparser.BaseKeyParser):
|
||||
|
||||
"""KeyParser for set_mark and jump_mark mode.
|
||||
|
||||
Attributes:
|
||||
_mode: Either KeyMode.set_mark or KeyMode.jump_mark.
|
||||
Attributes:
|
||||
_mode: Either KeyMode.set_mark or KeyMode.jump_mark.
|
||||
"""
|
||||
|
||||
def __init__(self, win_id, mode, parent=None):
|
||||
@ -254,7 +254,6 @@ class MarkKeyParser(keyparser.BaseKeyParser):
|
||||
Return:
|
||||
True if event has been handled, False otherwise.
|
||||
"""
|
||||
|
||||
if utils.keyevent_to_string(e) is None:
|
||||
# this is a modifier key, let it pass and keep going
|
||||
return True
|
||||
@ -279,3 +278,11 @@ class MarkKeyParser(keyparser.BaseKeyParser):
|
||||
self.request_leave.emit(self._mode, "valid mark key")
|
||||
|
||||
return True
|
||||
|
||||
def on_keyconfig_changed(self, mode):
|
||||
"""MarkKeyParser has no config section (no bindable keys)."""
|
||||
pass
|
||||
|
||||
def execute(self, cmdstr, _keytype, count=None):
|
||||
"""Should never be called on MarkKeyParser."""
|
||||
raise NotImplementedError
|
||||
|
@ -23,15 +23,15 @@ import functools
|
||||
import collections
|
||||
|
||||
from PyQt5.QtWidgets import QSizePolicy
|
||||
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl, QPoint
|
||||
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl
|
||||
from PyQt5.QtGui import QIcon
|
||||
|
||||
from qutebrowser.config import config
|
||||
from qutebrowser.keyinput import modeman
|
||||
from qutebrowser.mainwindow import tabwidget
|
||||
from qutebrowser.browser import signalfilter, webview
|
||||
from qutebrowser.utils import (log, usertypes, utils, qtutils, objreg, urlutils,
|
||||
message)
|
||||
from qutebrowser.utils import (log, usertypes, utils, qtutils, objreg,
|
||||
urlutils, message)
|
||||
|
||||
|
||||
UndoEntry = collections.namedtuple('UndoEntry', ['url', 'history'])
|
||||
|
@ -22,14 +22,17 @@ import pytest
|
||||
from qutebrowser.keyinput import modeman as modeman_module
|
||||
from qutebrowser.utils import usertypes
|
||||
|
||||
from PyQt5.QtCore import Qt
|
||||
from PyQt5.QtCore import Qt, QObject, pyqtSignal
|
||||
|
||||
|
||||
class FakeKeyparser:
|
||||
class FakeKeyparser(QObject):
|
||||
|
||||
"""A fake BaseKeyParser which doesn't handle anything."""
|
||||
|
||||
request_leave = pyqtSignal(usertypes.KeyMode, str)
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.passthrough = False
|
||||
|
||||
def handle(self, evt):
|
||||
|
Loading…
Reference in New Issue
Block a user