diff --git a/src/plugins/find/findtoolwindow.cpp b/src/plugins/find/findtoolwindow.cpp index 38df4a52b53..09f9be645cc 100644 --- a/src/plugins/find/findtoolwindow.cpp +++ b/src/plugins/find/findtoolwindow.cpp @@ -74,6 +74,8 @@ FindToolWindow::FindToolWindow(FindPlugin *plugin, QWidget *parent) layout->setSpacing(0); m_ui.configWidget->setLayout(layout); updateButtonStates(); + + connect(m_plugin, SIGNAL(findFlagsChanged()), this, SLOT(updateFindFlags())); } FindToolWindow::~FindToolWindow() @@ -130,6 +132,14 @@ void FindToolWindow::updateButtonStates() m_ui.searchTerm->setEnabled(filterEnabled); } +void FindToolWindow::updateFindFlags() +{ + m_ui.matchCase->setChecked(m_plugin->hasFindFlag(Find::FindCaseSensitively)); + m_ui.wholeWords->setChecked(m_plugin->hasFindFlag(Find::FindWholeWords)); + m_ui.regExp->setChecked(m_plugin->hasFindFlag(Find::FindRegularExpression)); +} + + void FindToolWindow::setFindFilters(const QList &filters) { qDeleteAll(m_configWidgets); @@ -159,10 +169,7 @@ void FindToolWindow::setCurrentFilter(IFindFilter *filter) if (index >= 0) { setCurrentFilter(index); } - m_ui.matchCase->setChecked(m_plugin->hasFindFlag(Find::FindCaseSensitively)); - m_ui.wholeWords->setChecked(m_plugin->hasFindFlag(Find::FindWholeWords)); - m_ui.regExp->setChecked(m_plugin->hasFindFlag(Find::FindRegularExpression)); - + updateFindFlags(); m_ui.searchTerm->setFocus(); m_ui.searchTerm->selectAll(); } diff --git a/src/plugins/find/findtoolwindow.h b/src/plugins/find/findtoolwindow.h index 928bbd0c56d..f2990366400 100644 --- a/src/plugins/find/findtoolwindow.h +++ b/src/plugins/find/findtoolwindow.h @@ -70,6 +70,7 @@ private slots: void replace(); void setCurrentFilter(int index); void updateButtonStates(); + void updateFindFlags(); private: void acceptAndGetParameters(QString *term, IFindFilter **filter);