tHandle KeyboardInterrupt in Python Console (#6643) - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 15de954d6a916081cd45e7c0d7a1282ec6e2b4b5 DIR parent 653a24a49b65fd9177fb1da9e20152a8b2a4f229 HTML Author: BenoƮt Verret <verret.benoit@gmail.com> Date: Mon, 12 Oct 2020 13:28:44 -0400 Handle KeyboardInterrupt in Python Console (#6643) Use Ctrl+C to raise a KeyboardInterrupt. This is especially useful to escape constructs. Example: >>> for i in range(0, 3): ... KeyboardInterrupt >>> Diffstat: M electrum/gui/qt/console.py | 7 +++++++ 1 file changed, 7 insertions(+), 0 deletions(-) --- DIR diff --git a/electrum/gui/qt/console.py b/electrum/gui/qt/console.py t@@ -95,6 +95,11 @@ class Console(QtWidgets.QPlainTextEdit): self.setPlainText('') self.newPrompt(curr_line) + def keyboard_interrupt(self): + self.construct = [] + self.appendPlainText('KeyboardInterrupt') + self.newPrompt('') + def newPrompt(self, curr_line): if self.construct: prompt = '... ' + curr_line t@@ -286,6 +291,8 @@ class Console(QtWidgets.QPlainTextEdit): return elif event.key() == QtCore.Qt.Key_L and event.modifiers() == QtCore.Qt.ControlModifier: self.clear() + elif event.key() == QtCore.Qt.Key_C and event.modifiers() == QtCore.Qt.ControlModifier: + self.keyboard_interrupt() super(Console, self).keyPressEvent(event)