From ddb424a1c3935a31f3343d45e1f3dbb15d1d8250 Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Fri, 2 Jul 2010 12:15:20 +0200 Subject: [PATCH] Fixes scrolling to the bottom of compile output Patch mostly by mae. Task-Nr: QTCREATORBUG-1405 --- .../projectexplorer/compileoutputwindow.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp index 78a56462237..1238fa33f51 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.cpp +++ b/src/plugins/projectexplorer/compileoutputwindow.cpp @@ -92,6 +92,10 @@ QWidget *CompileOutputWindow::outputWidget(QWidget *) void CompileOutputWindow::appendText(const QString &text, const QTextCharFormat &textCharFormat) { + if (m_textEdit->document()->blockCount() > 10000) + return; + bool shouldScroll = (m_textEdit->verticalScrollBar()->value() == + m_textEdit->verticalScrollBar()->maximum()); QString textWithNewline = text; if (!textWithNewline.endsWith("\n")) textWithNewline.append("\n"); @@ -99,7 +103,17 @@ void CompileOutputWindow::appendText(const QString &text, const QTextCharFormat cursor.movePosition(QTextCursor::End); cursor.beginEditBlock(); cursor.insertText(textWithNewline, textCharFormat); + + if (m_textEdit->document()->blockCount() > 10000) { + QTextCharFormat tmp; + tmp.setFontWeight(QFont::Bold); + cursor.insertText(tr("Additional output omitted\n"), tmp); + } + cursor.endEditBlock(); + + if (shouldScroll) + m_textEdit->setTextCursor(cursor); } void CompileOutputWindow::clearContents() -- GitLab