summaryrefslogtreecommitdiff
path: root/qutebrowser/keyinput/keyutils.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2019-08-18 01:23:13 +0200
committerFlorian Bruhin <me@the-compiler.org>2019-08-18 02:06:09 +0200
commit56c524d0fe3eb76f760c316614fbe8dd2d7ca914 (patch)
treecf3f0b29a6aa50b7a942be731ed38f53ba6ca65c /qutebrowser/keyinput/keyutils.py
parent66ab7f263472d95e8c19bb8d67f377a6da580b44 (diff)
downloadqutebrowser-56c524d0fe3eb76f760c316614fbe8dd2d7ca914.tar.gz
qutebrowser-56c524d0fe3eb76f760c316614fbe8dd2d7ca914.zip
Fix implicit int conversions for QKeySequence
This also fixes some calls to utils.KeySequence with a string. See #4928
Diffstat (limited to 'qutebrowser/keyinput/keyutils.py')
-rw-r--r--qutebrowser/keyinput/keyutils.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py
index 03abf6d7a..a10be8642 100644
--- a/qutebrowser/keyinput/keyutils.py
+++ b/qutebrowser/keyinput/keyutils.py
@@ -394,12 +394,18 @@ class KeySequence:
def __init__(self, *keys):
self._sequences = []
for sub in utils.chunk(keys, self._MAX_LEN):
- sequence = QKeySequence(*sub)
+ args = [self._convert_key(key) for key in sub]
+ sequence = QKeySequence(*args)
self._sequences.append(sequence)
if keys:
assert self
self._validate()
+ def _convert_key(self, key):
+ """Convert a single key for QKeySequence."""
+ assert isinstance(key, (int, Qt.KeyboardModifiers)), key
+ return int(key)
+
def __str__(self):
parts = []
for info in self: