BaseFileFind/FindInFiles: Clean up enabled / valid state handling

IFindFilter:  Separate enabledChanged and validChanged
SearchEngine: Add enabledChanged
GitGrep:      Enable widget based on enabled state
FindInFiles:  Update validity on search engine enabledChanged instead of
              hardcoding it to when the search path changed

Change-Id: I0c684423b871a3a4f1f164574f42e23b64cf9da0
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2016-11-21 10:58:19 +01:00
parent 62a842e447
commit 57ca90b846
8 changed files with 82 additions and 23 deletions

View File

@@ -198,7 +198,7 @@ private:
} // namespace
static bool validateDirectory(const QString &path)
static bool isGitDirectory(const QString &path)
{
static IVersionControl *gitVc = VcsManager::versionControl(VcsBase::Constants::VCS_ID_GIT);
QTC_ASSERT(gitVc, return false);
@@ -221,8 +221,9 @@ GitGrep::GitGrep()
QTC_ASSERT(findInFiles, return);
connect(findInFiles, &TextEditor::FindInFiles::pathChanged,
m_widget, [this](const QString &path) {
m_widget->setEnabled(validateDirectory(path));
setEnabled(isGitDirectory(path));
});
connect(this, &SearchEngine::enabledChanged, m_widget, &QWidget::setEnabled);
findInFiles->addSearchEngine(this);
}
@@ -249,11 +250,6 @@ QWidget *GitGrep::widget() const
return m_widget;
}
bool GitGrep::isEnabled() const
{
return m_widget->isEnabled();
}
QVariant GitGrep::parameters() const
{
GitGrepParameters params;