diff options
author | Eike Ziller <eike.ziller@qt.io> | 2020-06-22 12:22:11 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2020-06-22 12:23:12 +0000 |
commit | ba5b1fc8ab23b24512b5bdd7b1dc7a13b2a28a93 (patch) | |
tree | 3e9ab769306546ef4f6a30df87397063a67b7828 /src/plugins/cmakeprojectmanager | |
parent | f568648768cb0b69551d6a9a0f1e92653c44aa8f (diff) |
Fix filtering in various hierarchical views
The intermediate "category" nodes where never filtered out.
CategorySortFilterModel was changed to use filterRegularExpression() and
setFilterFixedString does not set that (it only affects filterRegExp()
which we need to get rid off).
Set a regular expression directly instead of a fixed string.
Amends 47e576528e4f61c1e387e7ee89bc6b18b7ce3d94
Change-Id: I6f844027b83d66ca2d5088d83e6e84b01b9eda45
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/cmakeprojectmanager')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp index a564bb1252..1baebfc8b4 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp @@ -153,7 +153,6 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) m_configTextFilterModel->setSourceModel(m_configFilterModel); m_configTextFilterModel->setSortRole(Qt::DisplayRole); m_configTextFilterModel->setFilterKeyColumn(-1); - m_configTextFilterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); connect(m_configTextFilterModel, &QAbstractItemModel::layoutChanged, this, [this]() { QModelIndex selectedIdx = m_configView->currentIndex(); @@ -271,8 +270,14 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) connect(m_showAdvancedCheckBox, &QCheckBox::stateChanged, this, &CMakeBuildSettingsWidget::updateAdvancedCheckBox); - connect(m_filterEdit, &QLineEdit::textChanged, - m_configTextFilterModel, &QSortFilterProxyModel::setFilterFixedString); + connect(m_filterEdit, + &QLineEdit::textChanged, + m_configTextFilterModel, + [this](const QString &txt) { + m_configTextFilterModel->setFilterRegularExpression( + QRegularExpression(QRegularExpression::escape(txt), + QRegularExpression::CaseInsensitiveOption)); + }); connect(m_resetButton, &QPushButton::clicked, m_configModel, &ConfigModel::resetAllChanges); connect(m_reconfigureButton, |