diff options
Diffstat (limited to '3rdparty/python-console/modified/pyconsole.cc')
-rw-r--r-- | 3rdparty/python-console/modified/pyconsole.cc | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/3rdparty/python-console/modified/pyconsole.cc b/3rdparty/python-console/modified/pyconsole.cc index 35f3e930..186d74d2 100644 --- a/3rdparty/python-console/modified/pyconsole.cc +++ b/3rdparty/python-console/modified/pyconsole.cc @@ -52,7 +52,8 @@ void PythonConsole::keyPressEvent( QKeyEvent* e ) if ( ! canGoLeft( ) ) return; } - + if (!cursorIsOnInputLine()) return; + if (textCursor().columnNumber() < PythonConsole::PROMPT.size()) return; QTextEdit::keyPressEvent( e ); } @@ -292,3 +293,30 @@ void PythonConsole::moveCursorToEnd( ) cursor.movePosition( QTextCursor::End ); setTextCursor( cursor ); } + +void PythonConsole::insertFromMimeData(const QMimeData *src) +{ + if (src->hasText()) { + QStringList list = src->text().split("\n",QString::KeepEmptyParts); + bool lastends = src->text().endsWith("\n"); + for (int i=0;i<list.size();i++) + { + QString line = list.at(i); + displayString(line); + if (!lastends && (i==list.size()-1)) break; + + m_parseHelper.process( line.toStdString( ) ); + if ( m_parseHelper.buffered( ) ) + { + append(""); + displayPrompt( ); + } + if ( line.size( ) ) + { + m_historyBuffer.push_back( line.toStdString( ) ); + m_historyIt = m_historyBuffer.end(); + } + moveCursorToEnd( ); + } + } +}
\ No newline at end of file |