aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/vcsbase/vcsoutputwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/vcsbase/vcsoutputwindow.cpp')
-rw-r--r--src/plugins/vcsbase/vcsoutputwindow.cpp30
1 files changed, 12 insertions, 18 deletions
diff --git a/src/plugins/vcsbase/vcsoutputwindow.cpp b/src/plugins/vcsbase/vcsoutputwindow.cpp
index f1ca4da868..d2b96e7948 100644
--- a/src/plugins/vcsbase/vcsoutputwindow.cpp
+++ b/src/plugins/vcsbase/vcsoutputwindow.cpp
@@ -97,12 +97,11 @@ class OutputWindowPlainTextEdit : public Core::OutputWindow
{
public:
explicit OutputWindowPlainTextEdit(QWidget *parent = nullptr);
- ~OutputWindowPlainTextEdit() override;
void appendLines(const QString &s, const QString &repository = QString());
void appendLinesWithStyle(const QString &s, VcsOutputWindow::MessageStyle style,
const QString &repository = QString());
- VcsOutputFormatter *formatter();
+ VcsOutputLineParser *parser();
protected:
void contextMenuEvent(QContextMenuEvent *event) override;
@@ -112,7 +111,8 @@ private:
QString identifierUnderCursor(const QPoint &pos, QString *repository = nullptr) const;
Utils::OutputFormat m_format;
- VcsOutputFormatter *m_formatter = nullptr;
+ Utils::OutputFormatter m_formatter;
+ VcsOutputLineParser m_parser;
};
OutputWindowPlainTextEdit::OutputWindowPlainTextEdit(QWidget *parent) :
@@ -121,19 +121,13 @@ OutputWindowPlainTextEdit::OutputWindowPlainTextEdit(QWidget *parent) :
setReadOnly(true);
setUndoRedoEnabled(false);
setFrameStyle(QFrame::NoFrame);
- m_formatter = new VcsOutputFormatter;
- m_formatter->setBoldFontEnabled(false);
- setFormatters({m_formatter});
+ m_formatter.setBoldFontEnabled(false);
+ setLineParsers({&m_parser});
auto agg = new Aggregation::Aggregate;
agg->add(this);
agg->add(new Core::BaseTextFind(this));
}
-OutputWindowPlainTextEdit::~OutputWindowPlainTextEdit()
-{
- delete m_formatter;
-}
-
// Search back for beginning of word
static inline int firstWordCharacter(const QString &s, int startPos)
{
@@ -181,9 +175,9 @@ void OutputWindowPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
QString repository;
const QString token = identifierUnderCursor(event->pos(), &repository);
if (!repository.isEmpty()) {
- if (VcsOutputFormatter *f = formatter()) {
+ if (VcsOutputLineParser * const p = parser()) {
if (!href.isEmpty())
- f->fillLinkContextMenu(menu, repository, href);
+ p->fillLinkContextMenu(menu, repository, href);
}
}
QAction *openAction = nullptr;
@@ -228,7 +222,7 @@ void OutputWindowPlainTextEdit::appendLines(const QString &s, const QString &rep
const int previousLineCount = document()->lineCount();
- m_formatter->appendMessage(s, m_format);
+ m_formatter.appendMessage(s, m_format);
// Scroll down
moveCursor(QTextCursor::End);
@@ -255,14 +249,14 @@ void OutputWindowPlainTextEdit::appendLinesWithStyle(const QString &s,
}
}
-VcsOutputFormatter *OutputWindowPlainTextEdit::formatter()
+VcsOutputLineParser *OutputWindowPlainTextEdit::parser()
{
- return m_formatter;
+ return &m_parser;
}
void OutputWindowPlainTextEdit::setFormat(VcsOutputWindow::MessageStyle style)
{
- m_formatter->setBoldFontEnabled(style == VcsOutputWindow::Command);
+ m_formatter.setBoldFontEnabled(style == VcsOutputWindow::Command);
switch (style) {
case VcsOutputWindow::Warning:
@@ -318,7 +312,7 @@ VcsOutputWindow::VcsOutputWindow()
connect(this, &IOutputPane::resetZoom, &d->widget, &Core::OutputWindow::resetZoom);
connect(TextEditor::TextEditorSettings::instance(), &TextEditor::TextEditorSettings::behaviorSettingsChanged,
this, updateBehaviorSettings);
- connect(d->widget.formatter(), &VcsOutputFormatter::referenceClicked,
+ connect(d->widget.parser(), &VcsOutputLineParser::referenceClicked,
VcsOutputWindow::instance(), &VcsOutputWindow::referenceClicked);
}