forked from qt-creator/qt-creator
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:
@@ -66,7 +66,6 @@ public:
|
||||
QString title() const override { return tr("Internal"); }
|
||||
QString toolTip() const override { return QString(); }
|
||||
QWidget *widget() const override { return m_widget; }
|
||||
bool isEnabled() const override { return true; }
|
||||
QVariant parameters() const override { return QVariant(); }
|
||||
void readSettings(QSettings * /*settings*/) override {}
|
||||
void writeSettings(QSettings * /*settings*/) const override {}
|
||||
@@ -93,8 +92,13 @@ public:
|
||||
private:
|
||||
QWidget *m_widget;
|
||||
};
|
||||
}
|
||||
} // namespace
|
||||
|
||||
class SearchEnginePrivate
|
||||
{
|
||||
public:
|
||||
bool isEnabled = true;
|
||||
};
|
||||
|
||||
class CountingLabel : public QLabel
|
||||
{
|
||||
@@ -116,13 +120,36 @@ public:
|
||||
QPointer<QComboBox> m_filterCombo;
|
||||
QVector<SearchEngine *> m_searchEngines;
|
||||
SearchEngine *m_internalSearchEngine;
|
||||
int m_currentSearchEngineIndex = 0;
|
||||
int m_currentSearchEngineIndex = -1;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
using namespace Internal;
|
||||
|
||||
SearchEngine::SearchEngine()
|
||||
: d(new SearchEnginePrivate)
|
||||
{
|
||||
}
|
||||
|
||||
SearchEngine::~SearchEngine()
|
||||
{
|
||||
delete d;
|
||||
}
|
||||
|
||||
bool SearchEngine::isEnabled() const
|
||||
{
|
||||
return d->isEnabled;
|
||||
}
|
||||
|
||||
void SearchEngine::setEnabled(bool enabled)
|
||||
{
|
||||
if (enabled == d->isEnabled)
|
||||
return;
|
||||
d->isEnabled = enabled;
|
||||
emit enabledChanged(d->isEnabled);
|
||||
}
|
||||
|
||||
BaseFileFind::BaseFileFind() : d(new BaseFileFindPrivate)
|
||||
{
|
||||
d->m_internalSearchEngine = new InternalEngine;
|
||||
@@ -186,7 +213,10 @@ QVector<SearchEngine *> BaseFileFind::searchEngines() const
|
||||
|
||||
void BaseFileFind::setCurrentSearchEngine(int index)
|
||||
{
|
||||
if (d->m_currentSearchEngineIndex == index)
|
||||
return;
|
||||
d->m_currentSearchEngineIndex = index;
|
||||
emit currentSearchEngineChanged();
|
||||
}
|
||||
|
||||
void BaseFileFind::runNewSearch(const QString &txt, FindFlags findFlags,
|
||||
|
||||
Reference in New Issue
Block a user