diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-05-14 14:36:00 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-05-22 09:20:58 +0000 |
commit | 544cdebef7e073218774236eab2a9637ebcc0c78 (patch) | |
tree | d027c0449d2a4c8b6019fd74c1083d291c0139c6 /src/plugins/coreplugin | |
parent | 1433a838051d9a1c7bda30ecaa59b94b5f87cfae (diff) | |
download | qt-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.cpp | 49 | ||||
-rw-r--r-- | src/plugins/coreplugin/outputwindow.h | 3 |
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); |