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
@ -254,7 +254,6 @@ class MarkKeyParser(keyparser.BaseKeyParser):
|
|||||||
Return:
|
Return:
|
||||||
True if event has been handled, False otherwise.
|
True if event has been handled, False otherwise.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if utils.keyevent_to_string(e) is None:
|
if utils.keyevent_to_string(e) is None:
|
||||||
# this is a modifier key, let it pass and keep going
|
# this is a modifier key, let it pass and keep going
|
||||||
return True
|
return True
|
||||||
@ -279,3 +278,11 @@ class MarkKeyParser(keyparser.BaseKeyParser):
|
|||||||
self.request_leave.emit(self._mode, "valid mark key")
|
self.request_leave.emit(self._mode, "valid mark key")
|
||||||
|
|
||||||
return True
|
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
|
import collections
|
||||||
|
|
||||||
from PyQt5.QtWidgets import QSizePolicy
|
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 PyQt5.QtGui import QIcon
|
||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.keyinput import modeman
|
from qutebrowser.keyinput import modeman
|
||||||
from qutebrowser.mainwindow import tabwidget
|
from qutebrowser.mainwindow import tabwidget
|
||||||
from qutebrowser.browser import signalfilter, webview
|
from qutebrowser.browser import signalfilter, webview
|
||||||
from qutebrowser.utils import (log, usertypes, utils, qtutils, objreg, urlutils,
|
from qutebrowser.utils import (log, usertypes, utils, qtutils, objreg,
|
||||||
message)
|
urlutils, message)
|
||||||
|
|
||||||
|
|
||||||
UndoEntry = collections.namedtuple('UndoEntry', ['url', 'history'])
|
UndoEntry = collections.namedtuple('UndoEntry', ['url', 'history'])
|
||||||
|
@ -22,14 +22,17 @@ import pytest
|
|||||||
from qutebrowser.keyinput import modeman as modeman_module
|
from qutebrowser.keyinput import modeman as modeman_module
|
||||||
from qutebrowser.utils import usertypes
|
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."""
|
"""A fake BaseKeyParser which doesn't handle anything."""
|
||||||
|
|
||||||
|
request_leave = pyqtSignal(usertypes.KeyMode, str)
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
self.passthrough = False
|
self.passthrough = False
|
||||||
|
|
||||||
def handle(self, evt):
|
def handle(self, evt):
|
||||||
|
Loading…
Reference in New Issue
Block a user