Skip to content
Snippets Groups Projects
Commit 3a81f2a3 authored by con's avatar con
Browse files

Superfluous new lines in application output.

Fix the use of appendPlainText for automatic scrolling.
parent 33bbae9e
No related branches found
No related tags found
No related merge requests found
......@@ -351,22 +351,34 @@ OutputWindow::~OutputWindow()
void OutputWindow::appendOutput(const QString &out)
{
if (out.endsWith('\n'))
appendPlainText(out);
appendPlainText(out.right(out.length()-1));
else
appendPlainText(out + '\n');
appendPlainText(out);
}
void OutputWindow::appendOutputInline(const QString &out)
{
moveCursor(QTextCursor::End);
int newline = out.indexOf(QLatin1Char('\n'));
if (newline < 0) {
insertPlainText(out);
moveCursor(QTextCursor::End);
insertPlainText(out); // doesn't insert additional '\n' like appendPlainText
return;
}
insertPlainText(out.left(newline));
if (newline < out.length())
appendPlainText(out.mid(newline+1));
int lastnewline = out.lastIndexOf(QLatin1Char('\n'));
// make sure that we use appendPlainText to add the last newline
// in the string, so we get automatic scrolling
// and work around the fact that appendPlainText also ensures
// a newline in front of the appended text
if (lastnewline > 0) {
moveCursor(QTextCursor::End);
insertPlainText(out.left(lastnewline));
}
appendPlainText(""); // add the newline
if (lastnewline < out.length()-1) { // newline is not last character
moveCursor(QTextCursor::End);
insertPlainText(out.mid(lastnewline+1));
}
}
void OutputWindow::insertLine()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment