From 2b637518403bfbec4a6823dccc09a9301751302e Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Wed, 21 Aug 2019 08:45:33 +0200 Subject: Keep last line of terminal text visible when cursor is at the end of text. Signed-off-by: Pavel Pisa --- qtmips_gui/terminaldock.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'qtmips_gui') diff --git a/qtmips_gui/terminaldock.cpp b/qtmips_gui/terminaldock.cpp index 60271f9..8ae419a 100644 --- a/qtmips_gui/terminaldock.cpp +++ b/qtmips_gui/terminaldock.cpp @@ -75,10 +75,16 @@ void TerminalDock::setup(machine::SerialPort *ser_port) { } void TerminalDock::tx_byte(unsigned int data) { + bool at_end = terminal_text->textCursor().atEnd(); if (data == '\n') append_cursor->insertBlock(); else append_cursor->insertText(QString(QChar(data))); + if (at_end) { + QTextCursor cursor = QTextCursor(terminal_text->document()); + cursor.movePosition(QTextCursor::End); + terminal_text->setTextCursor(cursor); + } } void TerminalDock::tx_byte(int fd, unsigned int data) -- cgit v1.2.3