From 9d1b6e6e6194527e021c5c6b3274c51678ebf770 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Thu, 26 Feb 2015 15:43:07 +0100 Subject: [PATCH] Find: Fix Current Project find to fall back to startup project If no files are open. Change-Id: I78f695fbc128c0e4dc093ac2afef6b68ea20ba93 Task-number: QTCREATORBUG-13998 Reviewed-by: Eike Ziller Reviewed-by: Daniel Teske --- .../projectexplorer/currentprojectfind.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/currentprojectfind.cpp b/src/plugins/projectexplorer/currentprojectfind.cpp index a40b7965852..876ab96d005 100644 --- a/src/plugins/projectexplorer/currentprojectfind.cpp +++ b/src/plugins/projectexplorer/currentprojectfind.cpp @@ -44,6 +44,14 @@ using namespace ProjectExplorer; using namespace ProjectExplorer::Internal; using namespace TextEditor; +static Project *currentProject() +{ + Project *p = ProjectTree::currentProject(); + if (p) + return p; + return SessionManager::startupProject(); +} + CurrentProjectFind::CurrentProjectFind() { connect(ProjectTree::instance(), &ProjectTree::currentProjectChanged, @@ -68,12 +76,12 @@ QString CurrentProjectFind::displayName() const bool CurrentProjectFind::isEnabled() const { - return ProjectTree::currentProject() != 0 && BaseFileFind::isEnabled(); + return currentProject() != 0 && BaseFileFind::isEnabled(); } QVariant CurrentProjectFind::additionalParameters() const { - Project *project = ProjectTree::currentProject(); + Project *project = currentProject(); if (project && project->document()) return qVariantFromValue(project->projectFilePath().toString()); return QVariant(); @@ -94,8 +102,9 @@ Utils::FileIterator *CurrentProjectFind::files(const QStringList &nameFilters, QString CurrentProjectFind::label() const { - QTC_ASSERT(ProjectTree::currentProject(), return QString()); - return tr("Project \"%1\":").arg(ProjectTree::currentProject()->displayName()); + Project *p = currentProject(); + QTC_ASSERT(p, return QString()); + return tr("Project \"%1\":").arg(p->displayName()); } void CurrentProjectFind::handleProjectChanged()