From 8fd480bd214d80834557e4bc25be7dcc9dd58fc5 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Fri, 7 Jan 2011 11:34:25 +0100 Subject: [PATCH] merge addToOutputWindow and addToOutputWindowInline --- src/plugins/debugger/debuggerrunner.cpp | 14 ++-- .../localapplicationruncontrol.cpp | 2 +- .../projectexplorer/outputformatter.cpp | 2 +- src/plugins/projectexplorer/outputformatter.h | 2 +- src/plugins/projectexplorer/outputwindow.cpp | 64 +++++++------------ src/plugins/projectexplorer/outputwindow.h | 9 +-- .../projectexplorer/projectexplorer.cpp | 6 +- .../projectexplorerconstants.h | 2 +- .../projectexplorer/runconfiguration.h | 3 +- .../qmlprojectruncontrol.cpp | 2 +- .../qt-maemo/maemoruncontrol.cpp | 6 +- .../qt-s60/s60devicerunconfiguration.cpp | 6 +- .../qt-s60/s60emulatorrunconfiguration.cpp | 2 +- .../qt4projectmanager/qtoutputformatter.cpp | 26 ++++---- .../qt4projectmanager/qtoutputformatter.h | 13 ++-- 15 files changed, 68 insertions(+), 91 deletions(-) diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index ef43875b221..9d5f2be07c2 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -442,15 +442,13 @@ void DebuggerRunControl::start() d->m_engine->startDebugger(this); - if (d->m_running) { - emit addToOutputWindowInline(this, tr("Debugging starts"), false); - emit addToOutputWindowInline(this, "\n", false); - } + if (d->m_running) + emit addToOutputWindow(this, tr("Debugging starts"), false, false); } void DebuggerRunControl::startFailed() { - emit addToOutputWindowInline(this, tr("Debugging has failed"), false); + emit addToOutputWindow(this, tr("Debugging has failed"), false, false); d->m_running = false; emit finished(); d->m_engine->handleStartFailed(); @@ -458,7 +456,7 @@ void DebuggerRunControl::startFailed() void DebuggerRunControl::handleFinished() { - emit addToOutputWindowInline(this, tr("Debugging has finished"), false); + emit addToOutputWindow(this, tr("Debugging has finished"), false, false); if (d->m_engine) d->m_engine->handleFinished(); debuggerCore()->runControlFinished(d->m_engine); @@ -468,10 +466,10 @@ void DebuggerRunControl::showMessage(const QString &msg, int channel) { switch (channel) { case AppOutput: - emit addToOutputWindowInline(this, msg, false); + emit addToOutputWindow(this, msg, false, true); break; case AppError: - emit addToOutputWindowInline(this, msg, true); + emit addToOutputWindow(this, msg, true, true); break; case AppStuff: emit appendMessage(this, msg, true); diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.cpp b/src/plugins/projectexplorer/localapplicationruncontrol.cpp index 4546929a0cf..281534ed9d7 100644 --- a/src/plugins/projectexplorer/localapplicationruncontrol.cpp +++ b/src/plugins/projectexplorer/localapplicationruncontrol.cpp @@ -132,7 +132,7 @@ void LocalApplicationRunControl::slotAppendMessage(const QString &err, void LocalApplicationRunControl::slotAddToOutputWindow(const QString &line, bool isError) { - emit addToOutputWindowInline(this, line, isError); + emit addToOutputWindow(this, line, isError, true); } void LocalApplicationRunControl::processExited(int exitCode) diff --git a/src/plugins/projectexplorer/outputformatter.cpp b/src/plugins/projectexplorer/outputformatter.cpp index 91d87e0cd15..8475ae8afe5 100644 --- a/src/plugins/projectexplorer/outputformatter.cpp +++ b/src/plugins/projectexplorer/outputformatter.cpp @@ -74,7 +74,7 @@ void OutputFormatter::appendMessage(const QString &text, OutputFormat format) cursor.insertText(text, m_formats[format]); } -QTextCharFormat OutputFormatter::format(OutputFormat format) const +QTextCharFormat OutputFormatter::charFormat(OutputFormat format) const { return m_formats[format]; } diff --git a/src/plugins/projectexplorer/outputformatter.h b/src/plugins/projectexplorer/outputformatter.h index e423c6bedd8..a24a8cc7b78 100644 --- a/src/plugins/projectexplorer/outputformatter.h +++ b/src/plugins/projectexplorer/outputformatter.h @@ -71,7 +71,7 @@ public: protected: void initFormats(); void clearLastLine(); - QTextCharFormat format(OutputFormat format) const; + QTextCharFormat charFormat(OutputFormat format) const; static QColor mixColors(const QColor &a, const QColor &b); diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp index 3519500aeb0..dd1fdfb25ca 100644 --- a/src/plugins/projectexplorer/outputwindow.cpp +++ b/src/plugins/projectexplorer/outputwindow.cpp @@ -278,20 +278,11 @@ void OutputPane::createNewOutputWindow(RunControl *rc) } void OutputPane::appendApplicationOutput(RunControl *rc, const QString &out, - bool onStdErr) + bool onStdErr, bool sameLine) { const int index = indexOf(rc); if (index != -1) - m_runControlTabs.at(index).window->appendApplicationOutput(out, onStdErr); -} - -void OutputPane::appendApplicationOutputInline(RunControl *rc, - const QString &out, - bool onStdErr) -{ - const int index = indexOf(rc); - if (index != -1) - m_runControlTabs.at(index).window->appendApplicationOutputInline(out, onStdErr); + m_runControlTabs.at(index).window->appendApplicationOutput(out, onStdErr, sameLine); } void OutputPane::appendMessage(RunControl *rc, const QString &out, bool isError) @@ -625,46 +616,39 @@ QString OutputWindow::doNewlineEnfocement(const QString &out) return s; } -void OutputWindow::appendApplicationOutput(const QString &output, bool onStdErr) +void OutputWindow::appendApplicationOutput(const QString &output, bool onStdErr, bool sameLine) { QString out = output; out.remove(QLatin1Char('\r')); setMaximumBlockCount(MaxBlockCount); const bool atBottom = isScrollbarAtBottom(); - m_formatter->appendMessage(doNewlineEnfocement(out), onStdErr ? StdErrFormat : StdOutFormat); - if (atBottom) - scrollToBottom(); - enableUndoRedo(); -} -void OutputWindow::appendApplicationOutputInline(const QString &output, bool onStdErr) -{ - QString out = output; - out.remove(QLatin1Char('\r')); - m_scrollToBottom = true; - setMaximumBlockCount(MaxBlockCount); + if (sameLine) { + m_scrollToBottom = true; - int newline = -1; - bool enforceNewline = m_enforceNewline; - m_enforceNewline = false; - const bool atBottom = isScrollbarAtBottom(); + int newline = -1; + bool enforceNewline = m_enforceNewline; + m_enforceNewline = false; - if (!enforceNewline) { - newline = out.indexOf(QLatin1Char('\n')); - moveCursor(QTextCursor::End); - if (newline != -1) - m_formatter->appendMessage(out.left(newline), onStdErr ? StdErrFormat : StdOutFormat); // doesn't enforce new paragraph like appendPlainText - } + if (!enforceNewline) { + newline = out.indexOf(QLatin1Char('\n')); + moveCursor(QTextCursor::End); + if (newline != -1) + m_formatter->appendMessage(out.left(newline), onStdErr ? StdErrFormat : StdOutFormat); // doesn't enforce new paragraph like appendPlainText + } - QString s = out.mid(newline+1); - if (s.isEmpty()) { - m_enforceNewline = true; - } else { - if (s.endsWith(QLatin1Char('\n'))) { + QString s = out.mid(newline+1); + if (s.isEmpty()) { m_enforceNewline = true; - s.chop(1); + } else { + if (s.endsWith(QLatin1Char('\n'))) { + m_enforceNewline = true; + s.chop(1); + } + m_formatter->appendMessage(QLatin1Char('\n') + s, onStdErr ? StdErrFormat : StdOutFormat); } - m_formatter->appendMessage(QLatin1Char('\n') + s, onStdErr ? StdErrFormat : StdOutFormat); + } else { + m_formatter->appendMessage(doNewlineEnfocement(out), onStdErr ? StdErrFormat : StdOutFormat); } if (atBottom) diff --git a/src/plugins/projectexplorer/outputwindow.h b/src/plugins/projectexplorer/outputwindow.h index f374bcf7d65..27fc0b0f19f 100644 --- a/src/plugins/projectexplorer/outputwindow.h +++ b/src/plugins/projectexplorer/outputwindow.h @@ -97,14 +97,12 @@ signals: void allRunControlsFinished(); public slots: - // ApplicationOutputspecifics + // ApplicationOutput specifics void createNewOutputWindow(RunControl *rc); void projectRemoved(); void appendApplicationOutput(ProjectExplorer::RunControl *rc, const QString &out, - bool onStdErr); - void appendApplicationOutputInline(ProjectExplorer::RunControl *rc, const QString &out, - bool onStdErr); + bool onStdErr, bool sameLine); void appendMessage(ProjectExplorer::RunControl *rc, const QString &out, bool isError); private slots: @@ -157,8 +155,7 @@ public: OutputFormatter* formatter() const; void setFormatter(OutputFormatter *formatter); - void appendApplicationOutput(const QString &out, bool onStdErr); - void appendApplicationOutputInline(const QString &out, bool onStdErr); + void appendApplicationOutput(const QString &out, bool onStdErr, bool sameLine); void appendMessage(const QString &out, bool isError); /// appends a \p text using \p format without using formater void appendText(const QString &text, const QTextCharFormat &format, int maxLineCount); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 3b733d6d07e..a920e9644b4 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1387,10 +1387,8 @@ void ProjectExplorerPlugin::startRunControl(RunControl *runControl, const QStrin d->m_outputPane->popup(false); d->m_outputPane->showTabFor(runControl); - connect(runControl, SIGNAL(addToOutputWindow(ProjectExplorer::RunControl*,QString,bool)), - d->m_outputPane, SLOT(appendApplicationOutput(ProjectExplorer::RunControl*,QString, bool))); - connect(runControl, SIGNAL(addToOutputWindowInline(ProjectExplorer::RunControl*,QString,bool)), - d->m_outputPane, SLOT(appendApplicationOutputInline(ProjectExplorer::RunControl*,QString,bool))); + connect(runControl, SIGNAL(addToOutputWindow(ProjectExplorer::RunControl*,QString,bool,bool)), + d->m_outputPane, SLOT(appendApplicationOutput(ProjectExplorer::RunControl*,QString, bool,bool))); connect(runControl, SIGNAL(appendMessage(ProjectExplorer::RunControl*,QString,bool)), d->m_outputPane, SLOT(appendMessage(ProjectExplorer::RunControl*,QString,bool))); diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index 18cc6522d9d..cfaa11b7e45 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -147,8 +147,8 @@ const char * const G_SESSION_FILES = "Session.Group.Files"; const char * const G_SESSION_OTHER = "Session.Group.Other"; const char * const G_SESSION_CONFIG = "Session.Group.Config"; -const char * const G_PROJECT_FIRST = "Project.Group.Open"; const char * const G_PROJECT_FILES = "Project.Group.Files"; +const char * const G_PROJECT_FIRST = "Project.Group.Open"; const char * const G_PROJECT_BUILD = "Project.Group.Build"; const char * const G_PROJECT_OTHER = "Project.Group.Other"; const char * const G_PROJECT_RUN = "Project.Group.Run"; diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 0f3c492fbe0..28adb2bf513 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -201,8 +201,7 @@ public: QString runMode() const; signals: - void addToOutputWindow(ProjectExplorer::RunControl *, const QString &line, bool onStdErr); - void addToOutputWindowInline(ProjectExplorer::RunControl *, const QString &line, bool onStdErr); + void addToOutputWindow(ProjectExplorer::RunControl *, const QString &line, bool onStdErr, bool sameLine); void appendMessage(ProjectExplorer::RunControl *, const QString &error, bool isError); void started(); void finished(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp index 895836f7938..c5330d4dfd1 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp @@ -126,7 +126,7 @@ void QmlRunControl::slotError(const QString &err, bool isError) void QmlRunControl::slotAddToOutputWindow(const QString &line, bool onStdErr) { - emit addToOutputWindowInline(this, line, onStdErr); + emit addToOutputWindow(this, line, onStdErr, true); } void QmlRunControl::processExited(int exitCode) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp index 388450e41c7..9a66eb3749a 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp @@ -119,12 +119,12 @@ void MaemoRunControl::handleRemoteProcessFinished(qint64 exitCode) void MaemoRunControl::handleRemoteOutput(const QByteArray &output) { - emit addToOutputWindowInline(this, QString::fromUtf8(output), false); + emit addToOutputWindow(this, QString::fromUtf8(output), false, true); } void MaemoRunControl::handleRemoteErrorOutput(const QByteArray &output) { - emit addToOutputWindowInline(this, QString::fromUtf8(output), true); + emit addToOutputWindow(this, QString::fromUtf8(output), true, true); } void MaemoRunControl::handleProgressReport(const QString &progressString) @@ -134,7 +134,7 @@ void MaemoRunControl::handleProgressReport(const QString &progressString) void MaemoRunControl::handleMountDebugOutput(const QString &output) { - emit addToOutputWindowInline(this, output, true); + emit addToOutputWindow(this, output, true, true); } bool MaemoRunControl::isRunning() const diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp index 59ccf0553a2..26931e813a1 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp @@ -649,9 +649,9 @@ void S60DeviceRunControl::reportDeployFinished() } } -void S60DeviceRunControl::processStopped(uint pc, uint pid, uint tid, const QString& reason) +void S60DeviceRunControl::processStopped(uint pc, uint pid, uint tid, const QString &reason) { - emit addToOutputWindow(this, trk::Launcher::msgStopped(pid, tid, pc, reason), false); + emit addToOutputWindow(this, trk::Launcher::msgStopped(pid, tid, pc, reason), false, false); m_launcher->terminate(); } @@ -694,7 +694,7 @@ void S60DeviceRunControl::printApplicationOutput(const QString &output) void S60DeviceRunControl::printApplicationOutput(const QString &output, bool onStdErr) { - emit addToOutputWindowInline(this, output, onStdErr); + emit addToOutputWindow(this, output, onStdErr, true); } void S60DeviceRunControl::deviceRemoved(const SymbianUtils::SymbianDevice &d) diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp index 1d04d69130c..24dfc63259d 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp @@ -374,7 +374,7 @@ void S60EmulatorRunControl::slotAddToOutputWindow(const QString &line, bool onSt static int prefixLength = prefix.length(); int index = line.indexOf(prefix); if (index != -1) { - emit addToOutputWindowInline(this, line.mid(index + prefixLength + 1), onStdErr); + emit addToOutputWindow(this, line.mid(index + prefixLength + 1), onStdErr, true); } } diff --git a/src/plugins/qt4projectmanager/qtoutputformatter.cpp b/src/plugins/qt4projectmanager/qtoutputformatter.cpp index 78b3b0b1dfd..6f32f0f1700 100644 --- a/src/plugins/qt4projectmanager/qtoutputformatter.cpp +++ b/src/plugins/qt4projectmanager/qtoutputformatter.cpp @@ -86,7 +86,7 @@ LinkResult QtOutputFormatter::matchLine(const QString &line) const return lr; } -void QtOutputFormatter::appendApplicationOutput(const QString &txt, bool onStdErr) +void QtOutputFormatter::appendMessage(const QString &txt, OutputFormat format) { QTextCursor cursor(plainTextEdit()->document()); cursor.movePosition(QTextCursor::End); @@ -108,10 +108,10 @@ void QtOutputFormatter::appendApplicationOutput(const QString &txt, bool onStdEr LinkResult lr = matchLine(line); if (!lr.href.isEmpty()) { // Found something && line continuation - cursor.insertText(deferedText, format(onStdErr ? StdErrFormat : StdOutFormat)); + cursor.insertText(deferedText, charFormat(format)); deferedText.clear(); clearLastLine(); - appendLine(cursor, lr, line, onStdErr); + appendLine(cursor, lr, line, format); } else { // Found nothing, just emit the new part deferedText += newPart; @@ -122,9 +122,9 @@ void QtOutputFormatter::appendApplicationOutput(const QString &txt, bool onStdEr const QString line = txt.mid(start, pos - start + 1); LinkResult lr = matchLine(line); if (!lr.href.isEmpty()) { - cursor.insertText(deferedText, format(onStdErr ? StdErrFormat : StdOutFormat)); + cursor.insertText(deferedText, charFormat(format)); deferedText.clear(); - appendLine(cursor, lr, line, onStdErr); + appendLine(cursor, lr, line, format); } else { deferedText += line; } @@ -142,10 +142,10 @@ void QtOutputFormatter::appendApplicationOutput(const QString &txt, bool onStdEr LinkResult lr = matchLine(m_lastLine); if (!lr.href.isEmpty()) { // Found something && line continuation - cursor.insertText(deferedText, format(onStdErr ? StdErrFormat : StdOutFormat)); + cursor.insertText(deferedText, charFormat(format)); deferedText.clear(); clearLastLine(); - appendLine(cursor, lr, m_lastLine, onStdErr); + appendLine(cursor, lr, m_lastLine, format); } else { // Found nothing, just emit the new part deferedText += newPart; @@ -154,22 +154,23 @@ void QtOutputFormatter::appendApplicationOutput(const QString &txt, bool onStdEr m_lastLine = txt.mid(start); LinkResult lr = matchLine(m_lastLine); if (!lr.href.isEmpty()) { - cursor.insertText(deferedText, format(onStdErr ? StdErrFormat : StdOutFormat)); + cursor.insertText(deferedText, charFormat(format)); deferedText.clear(); - appendLine(cursor, lr, m_lastLine, onStdErr); + appendLine(cursor, lr, m_lastLine, format); } else { deferedText += m_lastLine; } } } - cursor.insertText(deferedText, format(onStdErr ? StdErrFormat : StdOutFormat)); + cursor.insertText(deferedText, charFormat(format)); // deferedText.clear(); cursor.endEditBlock(); } -void QtOutputFormatter::appendLine(QTextCursor &cursor, LinkResult lr, const QString &line, bool onStdErr) +void QtOutputFormatter::appendLine(QTextCursor &cursor, LinkResult lr, + const QString &line, ProjectExplorer::OutputFormat format) { - const QTextCharFormat normalFormat = format(onStdErr ? StdErrFormat : StdOutFormat); + const QTextCharFormat normalFormat = charFormat(format); cursor.insertText(line.left(lr.start), normalFormat); QTextCharFormat linkFormat = normalFormat; @@ -179,7 +180,6 @@ void QtOutputFormatter::appendLine(QTextCursor &cursor, LinkResult lr, const QSt linkFormat.setAnchor(true); linkFormat.setAnchorHref(lr.href); cursor.insertText(line.mid(lr.start, lr.end - lr.start), linkFormat); - cursor.insertText(line.mid(lr.end), normalFormat); } diff --git a/src/plugins/qt4projectmanager/qtoutputformatter.h b/src/plugins/qt4projectmanager/qtoutputformatter.h index 3f19b01cf8c..d709eb55395 100644 --- a/src/plugins/qt4projectmanager/qtoutputformatter.h +++ b/src/plugins/qt4projectmanager/qtoutputformatter.h @@ -48,8 +48,7 @@ namespace ProjectExplorer { class Project; } // namespace ProjectExplorer -namespace Qt4ProjectManager -{ +namespace Qt4ProjectManager { struct LinkResult { @@ -58,18 +57,20 @@ struct LinkResult QString href; }; -class QT4PROJECTMANAGER_EXPORT QtOutputFormatter: public ProjectExplorer::OutputFormatter +class QT4PROJECTMANAGER_EXPORT QtOutputFormatter + : public ProjectExplorer::OutputFormatter { public: QtOutputFormatter(ProjectExplorer::Project *project); - virtual void appendApplicationOutput(const QString &text, bool onStdErr); - + virtual void appendMessage(const QString &text, + ProjectExplorer::OutputFormat format); virtual void handleLink(const QString &href); private: LinkResult matchLine(const QString &line) const; - void appendLine(QTextCursor & cursor, LinkResult lr, const QString &line, bool onStdError); + void appendLine(QTextCursor & cursor, LinkResult lr, + const QString &line, ProjectExplorer::OutputFormat); QRegExp m_qmlError; QRegExp m_qtError; -- GitLab