From 6a07e2c341ba22474f47611852898736bd314f2b Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 20 Mar 2020 15:04:33 +0100 Subject: [PATCH] Output panes: Do not allocate extra standard formatters The OutputWindow base class has a functioning default formatter these days. Change-Id: I0a75d0a081cdd2cfdd913388419483df836a53e9 Reviewed-by: hjk --- src/plugins/projectexplorer/compileoutputwindow.cpp | 9 +++------ src/plugins/projectexplorer/compileoutputwindow.h | 8 -------- src/plugins/serialterminal/serialcontrol.cpp | 5 ----- src/plugins/serialterminal/serialcontrol.h | 2 -- src/plugins/serialterminal/serialoutputpane.cpp | 7 +++---- 5 files changed, 6 insertions(+), 25 deletions(-) diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp index f259d1f7669..832318b4199 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.cpp +++ b/src/plugins/projectexplorer/compileoutputwindow.cpp @@ -40,7 +40,7 @@ #include #include #include -#include +#include #include #include #include @@ -125,8 +125,7 @@ private: CompileOutputWindow::CompileOutputWindow(QAction *cancelBuildAction) : m_cancelBuildButton(new QToolButton), - m_settingsButton(new QToolButton), - m_formatter(new Utils::OutputFormatter) + m_settingsButton(new QToolButton) { Core::Context context(C_COMPILE_OUTPUT); m_outputWindow = new CompileOutputTextEdit(context); @@ -135,7 +134,6 @@ CompileOutputWindow::CompileOutputWindow(QAction *cancelBuildAction) : m_outputWindow->setReadOnly(true); m_outputWindow->setUndoRedoEnabled(false); m_outputWindow->setMaxCharCount(Core::Constants::DEFAULT_MAX_CHAR_COUNT); - m_outputWindow->setFormatters({m_formatter}); // Let selected text be colored as if the text edit was editable, // otherwise the highlight for searching is too light @@ -198,7 +196,6 @@ CompileOutputWindow::~CompileOutputWindow() delete m_handler; delete m_cancelBuildButton; delete m_settingsButton; - delete m_formatter; } void CompileOutputWindow::updateFromSettings() @@ -333,7 +330,7 @@ void CompileOutputWindow::showPositionOf(const Task &task) void CompileOutputWindow::flush() { - m_formatter->flush(); + m_outputWindow->flush(); } void CompileOutputWindow::setSettings(const CompileOutputSettings &settings) diff --git a/src/plugins/projectexplorer/compileoutputwindow.h b/src/plugins/projectexplorer/compileoutputwindow.h index 71a619a76a9..adea3aca802 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.h +++ b/src/plugins/projectexplorer/compileoutputwindow.h @@ -34,20 +34,13 @@ #include QT_BEGIN_NAMESPACE -class QPlainTextEdit; -class QTextCharFormat; class QToolButton; QT_END_NAMESPACE -namespace Utils { class OutputFormatter; } - namespace ProjectExplorer { - -class BuildManager; class Task; namespace Internal { - class ShowOutputTaskHandler; class CompileOutputTextEdit; @@ -98,7 +91,6 @@ private: ShowOutputTaskHandler *m_handler; QToolButton *m_cancelBuildButton; QToolButton * const m_settingsButton; - Utils::OutputFormatter *m_formatter; CompileOutputSettings m_settings; }; diff --git a/src/plugins/serialterminal/serialcontrol.cpp b/src/plugins/serialterminal/serialcontrol.cpp index 10b2dd74c1f..499179482a8 100644 --- a/src/plugins/serialterminal/serialcontrol.cpp +++ b/src/plugins/serialterminal/serialcontrol.cpp @@ -135,11 +135,6 @@ bool SerialControl::canReUseOutputPane(const SerialControl *other) const return other->portName() == portName(); } -Utils::OutputFormatter *SerialControl::outputFormatter() -{ - return new Utils::OutputFormatter(); // TODO: custom formatter? -} - void SerialControl::appendMessage(const QString &msg, Utils::OutputFormat format) { emit appendMessageRequested(this, msg, format); diff --git a/src/plugins/serialterminal/serialcontrol.h b/src/plugins/serialterminal/serialcontrol.h index 229bf169c67..db59db2d07f 100644 --- a/src/plugins/serialterminal/serialcontrol.h +++ b/src/plugins/serialterminal/serialcontrol.h @@ -59,8 +59,6 @@ public: bool canReUseOutputPane(const SerialControl *other) const; - Utils::OutputFormatter *outputFormatter(); - void appendMessage(const QString &msg, Utils::OutputFormat format); QString portName() const; diff --git a/src/plugins/serialterminal/serialoutputpane.cpp b/src/plugins/serialterminal/serialoutputpane.cpp index eab36c46be7..5941cf38f12 100644 --- a/src/plugins/serialterminal/serialoutputpane.cpp +++ b/src/plugins/serialterminal/serialoutputpane.cpp @@ -291,7 +291,9 @@ void SerialOutputPane::createNewOutputWindow(SerialControl *rc) connect(rc, &SerialControl::finished, [this, rc]() { - rc->outputFormatter()->flush(); + const int tabIndex = indexOf(rc); + if (tabIndex != -1) + m_serialControlTabs[tabIndex].window->flush(); if (isCurrent(rc)) enableButtons(rc, false); }); @@ -299,8 +301,6 @@ void SerialOutputPane::createNewOutputWindow(SerialControl *rc) connect(rc, &SerialControl::appendMessageRequested, this, &SerialOutputPane::appendMessage); - Utils::OutputFormatter *formatter = rc->outputFormatter(); - // Create new static int counter = 0; Core::Id contextId = Core::Id(Constants::C_SERIAL_OUTPUT).withSuffix(counter++); @@ -315,7 +315,6 @@ void SerialOutputPane::createNewOutputWindow(SerialControl *rc) this, fontSettingsChanged); fontSettingsChanged(); ow->setWindowTitle(tr("Serial Terminal Window")); - ow->setFormatters({formatter}); // TODO: wordwrap, maxLineCount, zoom/wheelZoom (add to settings) auto controlTab = SerialControlTab(rc, ow);