From 0f5a86decfe7f96da68d00b4600d9ef2d80d3dfd 2011-04-16 15:50:49 From: epatters Date: 2011-04-16 15:50:49 Subject: [PATCH] Work around Qt bug where input method is disabled sometimes in QPlainTextEdit. Closes gh-367. --- diff --git a/IPython/frontend/qt/console/console_widget.py b/IPython/frontend/qt/console/console_widget.py index 3f8fdd6..8674e9a 100644 --- a/IPython/frontend/qt/console/console_widget.py +++ b/IPython/frontend/qt/console/console_widget.py @@ -849,6 +849,7 @@ class ConsoleWidget(Configurable, QtGui.QWidget): layout.documentSizeChanged.connect(self._adjust_scrollbars) # Configure the control. + control.setAttribute(QtCore.Qt.WA_InputMethodEnabled, True) control.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) control.setReadOnly(True) control.setUndoRedoEnabled(False) @@ -1557,7 +1558,11 @@ class ConsoleWidget(Configurable, QtGui.QWidget): self._control.document().setMaximumBlockCount(0) self._control.setUndoRedoEnabled(True) + # Work around bug in QPlainTextEdit: input method is not re-enabled + # when read-only is disabled. self._control.setReadOnly(False) + self._control.setAttribute(QtCore.Qt.WA_InputMethodEnabled, True) + self._control.moveCursor(QtGui.QTextCursor.End) self._executing = False self._prompt_started_hook()