forked from qt-creator/qt-creator
BaseFileFind: Make searchDir() non-virtual
Replace FindInFiles::pathChanged() with BaseFileFind::searchDirChanged(). Change-Id: I3cbe507968391fe45f513490424a7fe6fbbffee1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -212,7 +212,7 @@ GitGrep::GitGrep(GitClient *client)
|
||||
});
|
||||
FindInFiles *findInFiles = FindInFiles::instance();
|
||||
QTC_ASSERT(findInFiles, return);
|
||||
connect(findInFiles, &FindInFiles::pathChanged, m_widget, [this](const FilePath &path) {
|
||||
connect(findInFiles, &FindInFiles::searchDirChanged, m_widget, [this](const FilePath &path) {
|
||||
setEnabled(isGitDirectory(path));
|
||||
});
|
||||
connect(this, &SearchEngine::enabledChanged, m_widget, &QWidget::setEnabled);
|
||||
|
||||
@@ -187,6 +187,7 @@ public:
|
||||
QVector<SearchEngine *> m_searchEngines;
|
||||
InternalEngine m_internalSearchEngine;
|
||||
int m_currentSearchEngineIndex = -1;
|
||||
FilePath m_searchDir;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
@@ -433,6 +434,19 @@ QList<QPair<QWidget *, QWidget *>> BaseFileFind::createPatternWidgets()
|
||||
return {{filterLabel, d->m_filterCombo}, {exclusionLabel, d->m_exclusionCombo}};
|
||||
}
|
||||
|
||||
void BaseFileFind::setSearchDir(const FilePath &dir)
|
||||
{
|
||||
if (dir == d->m_searchDir)
|
||||
return;
|
||||
d->m_searchDir = dir;
|
||||
emit searchDirChanged(d->m_searchDir);
|
||||
}
|
||||
|
||||
FilePath BaseFileFind::searchDir() const
|
||||
{
|
||||
return d->m_searchDir;
|
||||
}
|
||||
|
||||
void BaseFileFind::writeCommonSettings(QSettings *settings)
|
||||
{
|
||||
const auto fromNativeSeparators = [](const QStringList &files) -> QStringList {
|
||||
|
||||
@@ -102,7 +102,8 @@ public:
|
||||
bool preserveCase = false);
|
||||
|
||||
protected:
|
||||
virtual Utils::FilePath searchDir() const { return {}; }
|
||||
void setSearchDir(const Utils::FilePath &dir);
|
||||
Utils::FilePath searchDir() const;
|
||||
virtual QString label() const = 0; // see Core::SearchResultWindow::startNewSearch
|
||||
virtual QString toolTip() const = 0; // see Core::SearchResultWindow::startNewSearch,
|
||||
// add %1 placeholder where the find flags should be put
|
||||
@@ -120,6 +121,7 @@ protected:
|
||||
|
||||
signals:
|
||||
void currentSearchEngineChanged();
|
||||
void searchDirChanged(const Utils::FilePath &dir);
|
||||
|
||||
private:
|
||||
virtual FileContainerProvider fileContainerProvider() const = 0;
|
||||
|
||||
@@ -147,7 +147,8 @@ QWidget *FindInFiles::createConfigWidget()
|
||||
m_directory->setExpectedKind(PathChooser::ExistingDirectory);
|
||||
m_directory->setPromptDialogTitle(Tr::tr("Directory to Search"));
|
||||
connect(m_directory.data(), &PathChooser::textChanged, this,
|
||||
[this] { pathChanged(m_directory->filePath()); });
|
||||
[this] { setSearchDir(m_directory->filePath()); });
|
||||
connect(this, &BaseFileFind::searchDirChanged, m_directory, &PathChooser::setFilePath);
|
||||
m_directory->setHistoryCompleter(QLatin1String(HistoryKey),
|
||||
/*restoreLastItemFromHistory=*/ true);
|
||||
if (!HistoryCompleter::historyExistsFor(QLatin1String(HistoryKey))) {
|
||||
@@ -181,11 +182,6 @@ QWidget *FindInFiles::createConfigWidget()
|
||||
return m_configWidget;
|
||||
}
|
||||
|
||||
FilePath FindInFiles::searchDir() const
|
||||
{
|
||||
return m_directory->filePath();
|
||||
}
|
||||
|
||||
void FindInFiles::writeSettings(QSettings *settings)
|
||||
{
|
||||
settings->beginGroup(QLatin1String("FindInFiles"));
|
||||
@@ -200,27 +196,17 @@ void FindInFiles::readSettings(QSettings *settings)
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
void FindInFiles::setDirectory(const FilePath &directory)
|
||||
{
|
||||
m_directory->setFilePath(directory);
|
||||
}
|
||||
|
||||
void FindInFiles::setBaseDirectory(const FilePath &directory)
|
||||
{
|
||||
m_directory->setBaseDirectory(directory);
|
||||
}
|
||||
|
||||
FilePath FindInFiles::directory() const
|
||||
{
|
||||
return m_directory->filePath();
|
||||
}
|
||||
|
||||
void FindInFiles::findOnFileSystem(const QString &path)
|
||||
{
|
||||
QTC_ASSERT(m_instance, return);
|
||||
const QFileInfo fi(path);
|
||||
const QString folder = fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath();
|
||||
m_instance->setDirectory(FilePath::fromString(folder));
|
||||
m_instance->setSearchDir(FilePath::fromString(folder));
|
||||
Find::openFindDialog(m_instance);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,15 +36,10 @@ public:
|
||||
|
||||
void setDirectory(const Utils::FilePath &directory);
|
||||
void setBaseDirectory(const Utils::FilePath &directory);
|
||||
Utils::FilePath directory() const;
|
||||
static void findOnFileSystem(const QString &path);
|
||||
static FindInFiles *instance();
|
||||
|
||||
signals:
|
||||
void pathChanged(const Utils::FilePath &directory);
|
||||
|
||||
protected:
|
||||
Utils::FilePath searchDir() const override;
|
||||
QString label() const override;
|
||||
QString toolTip() const override;
|
||||
void syncSearchEngineCombo(int selectedSearchEngineIndex) override;
|
||||
|
||||
Reference in New Issue
Block a user