From c9bd695a90350b8741b6491698308949af22b08a Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Thu, 29 Mar 2012 15:31:25 +0200 Subject: [PATCH] Fix projects mode en/disabled state The projects mode should be enabled whenever there are projects in the session. Task-number: QTCREATORBUG-7208 Task-number: QTCREATORBUG-7207 Change-Id: I924a82283a4e69ebd342a01df9004818e898809b Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/projectexplorer.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 9e68aeda44c..ceb45cafe1b 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -368,7 +368,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er Core::Context projecTreeContext(Constants::C_PROJECT_TREE); d->m_projectsMode = new ProjectsMode(d->m_proWindow); - d->m_projectsMode->setEnabled(session()->startupProject()); + d->m_projectsMode->setEnabled(false); addAutoReleasedObject(d->m_projectsMode); d->m_proWindow->layout()->addWidget(new Core::FindToolBarPlaceHolder(d->m_proWindow)); @@ -2129,6 +2129,8 @@ void ProjectExplorerPlugin::runControlFinished() void ProjectExplorerPlugin::projectAdded(ProjectExplorer::Project *pro) { + if (d->m_projectsMode) + d->m_projectsMode->setEnabled(true); // more specific action en and disabling ? connect(pro, SIGNAL(buildConfigurationEnabledChanged()), this, SLOT(updateActions())); @@ -2136,6 +2138,8 @@ void ProjectExplorerPlugin::projectAdded(ProjectExplorer::Project *pro) void ProjectExplorerPlugin::projectRemoved(ProjectExplorer::Project * pro) { + if (d->m_projectsMode) + d->m_projectsMode->setEnabled(!session()->projects().isEmpty()); // more specific action en and disabling ? disconnect(pro, SIGNAL(buildConfigurationEnabledChanged()), this, SLOT(updateActions())); @@ -2148,9 +2152,6 @@ void ProjectExplorerPlugin::startupProjectChanged() if (project == previousStartupProject) return; - if (d->m_projectsMode) - d->m_projectsMode->setEnabled(project); - if (previousStartupProject) { disconnect(previousStartupProject, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)), this, SLOT(activeTargetChanged()));