diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 833ef2fdb8b..6e1b11d1bec 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -577,6 +577,10 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er dd, &ProjectExplorerPluginPrivate::updateContextMenuActions); connect(tree, &ProjectTree::currentProjectChanged, dd, &ProjectExplorerPluginPrivate::updateActions); + connect(tree, &ProjectTree::currentProjectChanged, this, [](Project *project) { + TextEditor::FindInFiles::instance()->setBaseDirectory(project ? project->projectDirectory() + : Utils::FileName()); + }); addAutoReleasedObject(new CustomWizardMetaFactory(IWizardFactory::ProjectWizard)); addAutoReleasedObject(new CustomWizardMetaFactory(IWizardFactory::FileWizard)); diff --git a/src/plugins/texteditor/findinfiles.cpp b/src/plugins/texteditor/findinfiles.cpp index 72ec48f2047..4e133872ac3 100644 --- a/src/plugins/texteditor/findinfiles.cpp +++ b/src/plugins/texteditor/findinfiles.cpp @@ -231,6 +231,11 @@ void FindInFiles::setDirectory(const FileName &directory) m_directory->setFileName(directory); } +void FindInFiles::setBaseDirectory(const FileName &directory) +{ + m_directory->setBaseFileName(directory); +} + FileName FindInFiles::directory() const { return m_directory->fileName(); diff --git a/src/plugins/texteditor/findinfiles.h b/src/plugins/texteditor/findinfiles.h index eb69ced5670..ab8d93bad78 100644 --- a/src/plugins/texteditor/findinfiles.h +++ b/src/plugins/texteditor/findinfiles.h @@ -57,6 +57,7 @@ public: bool isValid() const override; void setDirectory(const Utils::FileName &directory); + void setBaseDirectory(const Utils::FileName &directory); Utils::FileName directory() const; static void findOnFileSystem(const QString &path); static FindInFiles *instance();