diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index e0c01749743..3c8599f55a7 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -318,6 +318,8 @@ SettingsDialog::SettingsDialog(QWidget *parent) : // The order of the slot connection matters here, the filter slot // opens the matching page after the model has filtered. + connect(m_filterLineEdit, SIGNAL(filterChanged(QString)), + this, SLOT(ensureAllCategoryWidgets())); connect(m_filterLineEdit, SIGNAL(filterChanged(QString)), m_proxyModel, SLOT(setFilterFixedString(QString))); connect(m_filterLineEdit, SIGNAL(filterChanged(QString)), this, SLOT(filter(QString))); diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.h b/src/plugins/coreplugin/dialogs/settingsdialog.h index 3d82aae6e19..fc698a1726b 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.h +++ b/src/plugins/coreplugin/dialogs/settingsdialog.h @@ -88,6 +88,7 @@ private slots: void currentChanged(const QModelIndex ¤t); void currentTabChanged(int); void filter(const QString &text); + void ensureAllCategoryWidgets(); private: SettingsDialog(QWidget *parent); @@ -98,7 +99,6 @@ private: void showPage(const QString &categoryId, const QString &pageId); void updateEnabledTabs(Category *category, const QString &searchText); void ensureCategoryWidget(Category *category); - void ensureAllCategoryWidgets(); void disconnectTabWidgets(); const QList m_pages;