Mercurial > hg > octave-terminal
changeset 13664:eb03d0b39c18
Huge performance bosst by using edit blocks.
author | Jacob Dawid <jacob.dawid@googlemail.com> |
---|---|
date | Sat, 10 Sep 2011 08:11:44 +0200 |
parents | 746c99f44c4b |
children | ddc3c20d0e2f |
files | gui/src/terminal/LinuxTerminalEmulation.cpp |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/gui/src/terminal/LinuxTerminalEmulation.cpp +++ b/gui/src/terminal/LinuxTerminalEmulation.cpp @@ -104,9 +104,18 @@ { QByteArray data = m_pty->readAll (); + data.replace("\033[K", ""); + data.replace("\033[9", ""); + data.replace("\033[A", ""); + data.replace("\033[B", ""); + data.replace("\033[C", ""); + data.replace("\033[D", ""); + data.replace("\033[1", ""); + data.replace("\033[H", ""); + data.replace("\033[2J", ""); int position; QTextCursor tc = m_terminal->textCursor (); - tc.movePosition (QTextCursor::End); + tc.beginEditBlock (); // Decode data into cursor actions. foreach(QChar character, data) @@ -215,11 +224,14 @@ qDebug ("US"); break; case 127: // Delete (DEL) + qDebug ("DEL"); break; default: tc.insertText (character); break; } } + + tc.endEditBlock (); m_terminal->setTextCursor (tc); }