summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-05-14 14:36:00 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2019-05-22 09:20:58 +0000
commit544cdebef7e073218774236eab2a9637ebcc0c78 (patch)
treed027c0449d2a4c8b6019fd74c1083d291c0139c6 /src/plugins/coreplugin
parent1433a838051d9a1c7bda30ecaa59b94b5f87cfae (diff)
downloadqt-creator-544cdebef7e073218774236eab2a9637ebcc0c78.tar.gz
Core: Remove indirection from OutputWindow
An output window always is its formatter's text edit. Change-Id: Ib09b9a95360f4abdfd34fd2c1913f7796591069d Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/coreplugin')
-rw-r--r--src/plugins/coreplugin/outputwindow.cpp49
-rw-r--r--src/plugins/coreplugin/outputwindow.h3
2 files changed, 14 insertions, 38 deletions
diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp
index 19c86c4867..71de96207b 100644
--- a/src/plugins/coreplugin/outputwindow.cpp
+++ b/src/plugins/coreplugin/outputwindow.cpp
@@ -295,14 +295,14 @@ void OutputWindow::setFilterText(const QString &filterText)
// Update textedit's background color
if (filterText.isEmpty()) {
- d->formatter->plainTextEdit()->setPalette({});
+ setPalette({});
} else {
QPalette pal;
pal.setColor(QPalette::Active, QPalette::Base, d->m_highlightBgColor);
pal.setColor(QPalette::Inactive, QPalette::Base, d->m_highlightBgColor.darker(120));
- pal.setColor(QPalette::Active, QPalette::Text, d->m_highlightTextColor);
- pal.setColor(QPalette::Inactive, QPalette::Text, d->m_highlightTextColor.darker(120));
- d->formatter->plainTextEdit()->setPalette(pal);
+ pal.setColor(QPalette::Active, QPalette::Text, d->m_highlightBgColor);
+ pal.setColor(QPalette::Inactive, QPalette::Text, d->m_highlightBgColor.darker(120));
+ setPalette(pal);
}
setReadOnly(!filterText.isEmpty());
@@ -327,17 +327,12 @@ void OutputWindow::setFilterMode(OutputWindow::FilterModeFlag filterMode, bool e
void OutputWindow::filterNewContent()
{
bool atBottom = isScrollbarAtBottom();
- QPlainTextEdit *textEdit = d->formatter->plainTextEdit();
- if (!textEdit)
- return;
-
- QTextDocument *document = textEdit->document();
auto &lastBlock = d->lastFilteredBlock;
- if (!lastBlock.isValid() || lastBlock.blockNumber() >= document->blockCount()
- || document->findBlockByNumber(lastBlock.blockNumber()) != lastBlock) {
- lastBlock = document->begin();
+ if (!lastBlock.isValid() || lastBlock.blockNumber() >= document()->blockCount()
+ || document()->findBlockByNumber(lastBlock.blockNumber()) != lastBlock) {
+ lastBlock = document()->begin();
}
if (d->filterMode.testFlag(OutputWindow::FilterModeFlag::RegExp)) {
@@ -345,23 +340,25 @@ void OutputWindow::filterNewContent()
if (!d->filterMode.testFlag(OutputWindow::FilterModeFlag::CaseSensitive))
regExp.setPatternOptions(QRegularExpression::CaseInsensitiveOption);
- for (; lastBlock != document->end(); lastBlock = lastBlock.next())
+ for (; lastBlock != document()->end(); lastBlock = lastBlock.next())
lastBlock.setVisible(d->filterText.isEmpty()
|| regExp.match(lastBlock.text()).hasMatch());
} else {
if (d->filterMode.testFlag(OutputWindow::FilterModeFlag::CaseSensitive)) {
- for (; lastBlock != document->end(); lastBlock = lastBlock.next())
+ for (; lastBlock != document()->end(); lastBlock = lastBlock.next())
lastBlock.setVisible(d->filterText.isEmpty()
|| lastBlock.text().contains(d->filterText));
} else {
- for (; lastBlock != document->end(); lastBlock = lastBlock.next())
+ for (; lastBlock != document()->end(); lastBlock = lastBlock.next())
lastBlock.setVisible(d->filterText.isEmpty()
|| lastBlock.text().toLower().contains(d->filterText.toLower()));
}
}
- lastBlock = document->lastBlock();
- textEdit->setDocument(document);
+ lastBlock = document()->lastBlock();
+
+ // FIXME: Why on earth is this necessary? We should probably do something else instead...
+ setDocument(document());
if (atBottom)
scrollToBottom();
@@ -395,24 +392,6 @@ int OutputWindow::maxCharCount() const
return d->maxCharCount;
}
-bool OutputWindow::isReadOnly() const
-{
- if (d->formatter) {
- if (QPlainTextEdit *formatterEditor = d->formatter->plainTextEdit())
- return formatterEditor->isReadOnly();
- }
- return QPlainTextEdit::isReadOnly();
-}
-
-void OutputWindow::setReadOnly(bool readOnly)
-{
- QPlainTextEdit::setReadOnly(readOnly);
- if (d->formatter) {
- if (QPlainTextEdit *formatterEditor = d->formatter->plainTextEdit())
- formatterEditor->setReadOnly(readOnly);
- }
-}
-
void OutputWindow::appendMessage(const QString &output, OutputFormat format)
{
QString out = SynchronousProcess::normalizeNewlines(output);
diff --git a/src/plugins/coreplugin/outputwindow.h b/src/plugins/coreplugin/outputwindow.h
index f3e9360786..99c49a4cc1 100644
--- a/src/plugins/coreplugin/outputwindow.h
+++ b/src/plugins/coreplugin/outputwindow.h
@@ -72,9 +72,6 @@ public:
void setMaxCharCount(int count);
int maxCharCount() const;
- bool isReadOnly() const;
- void setReadOnly(bool readOnly);
-
void setBaseFont(const QFont &newFont);
float fontZoom() const;
void setFontZoom(float zoom);