aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/coreplugin
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-05-15 13:56:03 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2019-06-05 12:28:57 +0000
commite34b41934d68430c58107a700e3730595e88075d (patch)
tree1be42250bf0b9bde8ecc65986ca254d65fc10032 /src/plugins/coreplugin
parent8e2e9662112cb09a7d6b3524c472d0978a4c4eb3 (diff)
Output panes: Respect filter options
The UI elements for case sensitivity and regexp behavior had not been doing anything until now. Change-Id: Ie210103984fda64d4249c56f9a5b21200132108f Reviewed-by: André Hartmann <aha_1980@gmx.de>
Diffstat (limited to 'src/plugins/coreplugin')
-rw-r--r--src/plugins/coreplugin/ioutputpane.h4
-rw-r--r--src/plugins/coreplugin/messageoutputwindow.cpp2
-rw-r--r--src/plugins/coreplugin/outputpanemanager.cpp4
-rw-r--r--src/plugins/coreplugin/outputwindow.cpp33
-rw-r--r--src/plugins/coreplugin/outputwindow.h6
5 files changed, 18 insertions, 31 deletions
diff --git a/src/plugins/coreplugin/ioutputpane.h b/src/plugins/coreplugin/ioutputpane.h
index 40c6401b379..d219e2aefff 100644
--- a/src/plugins/coreplugin/ioutputpane.h
+++ b/src/plugins/coreplugin/ioutputpane.h
@@ -99,6 +99,8 @@ signals:
protected:
void setupFilterUi(const QString &historyKey);
QString filterText() const;
+ bool filterUsesRegexp() const { return m_filterRegexp; }
+ Qt::CaseSensitivity filterCaseSensitivity() const { return m_filterCaseSensitivity; }
void setFilteringEnabled(bool enable);
QWidget *filterWidget() const { return m_filterOutputLineEdit; }
@@ -119,7 +121,7 @@ private:
QAction *m_filterActionCaseSensitive = nullptr;
Utils::FancyLineEdit *m_filterOutputLineEdit = nullptr;
bool m_filterRegexp = false;
- bool m_filterCaseSensitive = false;
+ Qt::CaseSensitivity m_filterCaseSensitivity = Qt::CaseInsensitive;
};
} // namespace Core
diff --git a/src/plugins/coreplugin/messageoutputwindow.cpp b/src/plugins/coreplugin/messageoutputwindow.cpp
index 70bef5dc114..60092829537 100644
--- a/src/plugins/coreplugin/messageoutputwindow.cpp
+++ b/src/plugins/coreplugin/messageoutputwindow.cpp
@@ -146,7 +146,7 @@ bool MessageOutputWindow::canNavigate() const
void MessageOutputWindow::updateFilter()
{
- m_widget->setFilterText(filterText());
+ m_widget->updateFilterProperties(filterText(), filterCaseSensitivity(), filterUsesRegexp());
}
} // namespace Internal
diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp
index 5bee2fb5f75..951fed419b0 100644
--- a/src/plugins/coreplugin/outputpanemanager.cpp
+++ b/src/plugins/coreplugin/outputpanemanager.cpp
@@ -195,6 +195,7 @@ void IOutputPane::filterOutputButtonClicked()
void IOutputPane::setRegularExpressions(bool regularExpressions)
{
m_filterRegexp = regularExpressions;
+ updateFilter();
}
Id IOutputPane::filterRegexpActionId() const
@@ -209,7 +210,8 @@ Id IOutputPane::filterCaseSensitivityActionId() const
void IOutputPane::setCaseSensitive(bool caseSensitive)
{
- m_filterCaseSensitive = caseSensitive;
+ m_filterCaseSensitivity = caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive;
+ updateFilter();
}
namespace Internal {
diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp
index 2759777863f..2b5de1b2b6f 100644
--- a/src/plugins/coreplugin/outputwindow.cpp
+++ b/src/plugins/coreplugin/outputwindow.cpp
@@ -284,15 +284,16 @@ void OutputWindow::setHighlightTextColor(const QColor &textColor)
d->highlightTextColor = textColor;
}
-QString OutputWindow::filterText() const
-{
- return d->filterText;
-}
-
-void OutputWindow::setFilterText(const QString &filterText)
+void OutputWindow::updateFilterProperties(const QString &filterText,
+ Qt::CaseSensitivity caseSensitivity, bool isRegexp)
{
+ FilterModeFlags flags;
+ flags.setFlag(FilterModeFlag::CaseSensitive, caseSensitivity == Qt::CaseSensitive)
+ .setFlag(FilterModeFlag::RegExp, isRegexp);
+ if (d->filterMode == flags && d->filterText == filterText)
+ return;
+ d->lastFilteredBlock = {};
if (d->filterText != filterText) {
- d->lastFilteredBlock = {};
const bool filterTextWasEmpty = d->filterText.isEmpty();
d->filterText = filterText;
@@ -313,23 +314,9 @@ void OutputWindow::setFilterText(const QString &filterText)
setPalette(pal);
setReadOnly(true);
}
-
- filterNewContent();
- }
-}
-
-OutputWindow::FilterModeFlags OutputWindow::filterMode() const
-{
- return d->filterMode;
-}
-
-void OutputWindow::setFilterMode(OutputWindow::FilterModeFlag filterMode, bool enabled)
-{
- if (d->filterMode.testFlag(filterMode) != enabled) {
- d->filterMode.setFlag(filterMode, enabled);
- d->lastFilteredBlock = {};
- filterNewContent();
}
+ d->filterMode = flags;
+ filterNewContent();
}
void OutputWindow::filterNewContent()
diff --git a/src/plugins/coreplugin/outputwindow.h b/src/plugins/coreplugin/outputwindow.h
index 99c49a4cc18..03760cbce3e 100644
--- a/src/plugins/coreplugin/outputwindow.h
+++ b/src/plugins/coreplugin/outputwindow.h
@@ -79,11 +79,7 @@ public:
void setHighlightBgColor(const QColor &bgColor);
void setHighlightTextColor(const QColor &textColor);
- QString filterText() const;
- void setFilterText(const QString &filterText);
-
- FilterModeFlags filterMode() const;
- void setFilterMode(FilterModeFlag filterMode, bool enabled);
+ void updateFilterProperties(const QString &filterText, Qt::CaseSensitivity caseSensitivity, bool regexp);
signals:
void wheelZoom();