diff options
author | Florian Bruhin <me@the-compiler.org> | 2019-08-18 01:23:13 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2019-08-18 02:06:09 +0200 |
commit | 56c524d0fe3eb76f760c316614fbe8dd2d7ca914 (patch) | |
tree | cf3f0b29a6aa50b7a942be731ed38f53ba6ca65c /qutebrowser/keyinput/keyutils.py | |
parent | 66ab7f263472d95e8c19bb8d67f377a6da580b44 (diff) | |
download | qutebrowser-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.py | 8 |
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: |