aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-06-28 23:55:16 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-07-06 18:45:26 +0000
commit7a28ed76b83f66e0b08290ac10bd40ebe92d1972 (patch)
treeca5e64198551af930b85bacd4ce9665975bdc8f3 /src/plugins/texteditor
parentbf09d179928c29983b4d18d1eef506615ac24234 (diff)
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>
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r--src/plugins/texteditor/basefilefind.cpp14
-rw-r--r--src/plugins/texteditor/basefilefind.h4
-rw-r--r--src/plugins/texteditor/findinfiles.cpp20
-rw-r--r--src/plugins/texteditor/findinfiles.h5
4 files changed, 20 insertions, 23 deletions
diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp
index 4372abba6b..49b506ff50 100644
--- a/src/plugins/texteditor/basefilefind.cpp
+++ b/src/plugins/texteditor/basefilefind.cpp
@@ -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 {
diff --git a/src/plugins/texteditor/basefilefind.h b/src/plugins/texteditor/basefilefind.h
index da740d15bc..c7d53f8033 100644
--- a/src/plugins/texteditor/basefilefind.h
+++ b/src/plugins/texteditor/basefilefind.h
@@ -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;
diff --git a/src/plugins/texteditor/findinfiles.cpp b/src/plugins/texteditor/findinfiles.cpp
index 89a4c0763b..29c769d2d3 100644
--- a/src/plugins/texteditor/findinfiles.cpp
+++ b/src/plugins/texteditor/findinfiles.cpp
@@ -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);
}
diff --git a/src/plugins/texteditor/findinfiles.h b/src/plugins/texteditor/findinfiles.h
index d874e11038..5a1a2258a2 100644
--- a/src/plugins/texteditor/findinfiles.h
+++ b/src/plugins/texteditor/findinfiles.h
@@ -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;