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