diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 430e0df42593ad8a233be36459ca298d48d6ae5f..e685ff962b4dbef5780fcc9d13850ce2ed8c92b5 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -172,7 +172,7 @@ struct ProjectExplorerPluginPrivate { QAction *m_newAction; QAction *m_loadAction; Utils::ParameterAction *m_unloadAction; - QAction *m_clearSession; + QAction *m_closeAllProjects; QAction *m_buildProjectOnlyAction; Utils::ParameterAction *m_buildAction; Utils::ParameterAction *m_buildActionContextMenu; @@ -645,8 +645,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er mfile->addAction(cmd, Core::Constants::G_FILE_PROJECT); // unload session action - d->m_clearSession = new QAction(tr("Close All Projects"), this); - cmd = am->registerAction(d->m_clearSession, Constants::CLEARSESSION, globalcontext); + d->m_closeAllProjects = new QAction(tr("Close All Projects"), this); + cmd = am->registerAction(d->m_closeAllProjects, Constants::CLEARSESSION, globalcontext); mfile->addAction(cmd, Core::Constants::G_FILE_PROJECT); msessionContextMenu->addAction(cmd, Constants::G_SESSION_FILES); @@ -983,7 +983,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er connect(d->m_runWithoutDeployAction, SIGNAL(triggered()), this, SLOT(runProjectWithoutDeploy())); connect(d->m_cancelBuildAction, SIGNAL(triggered()), this, SLOT(cancelBuild())); connect(d->m_unloadAction, SIGNAL(triggered()), this, SLOT(unloadProject())); - connect(d->m_clearSession, SIGNAL(triggered()), this, SLOT(clearSession())); + connect(d->m_closeAllProjects, SIGNAL(triggered()), this, SLOT(closeAllProjects())); connect(d->m_addNewFileAction, SIGNAL(triggered()), this, SLOT(addNewFile())); connect(d->m_addExistingFilesAction, SIGNAL(triggered()), this, SLOT(addExistingFiles())); connect(d->m_addNewSubprojectAction, SIGNAL(triggered()), this, SLOT(addNewSubproject())); @@ -1098,13 +1098,15 @@ void ProjectExplorerPlugin::unloadProject() updateActions(); } -void ProjectExplorerPlugin::clearSession() +void ProjectExplorerPlugin::closeAllProjects() { if (debug) - qDebug() << "ProjectExplorerPlugin::clearSession"; + qDebug() << "ProjectExplorerPlugin::closeAllProject"; - if (!d->m_session->clear()) + if (!ICore::editorManager()->closeAllEditors()) return; // Action has been cancelled + + d->m_session->closeAllProjects(); updateActions(); } @@ -1158,7 +1160,7 @@ void ProjectExplorerPlugin::updateRunWithoutDeployMenu() ExtensionSystem::IPlugin::ShutdownFlag ProjectExplorerPlugin::aboutToShutdown() { d->m_proWindow->aboutToShutdown(); // disconnect from session - d->m_session->clear(); + d->m_session->closeAllProjects(); d->m_projectsMode = 0; // Attempt to synchronously shutdown all run controls. // If that fails, fall back to asynchronous shutdown (Debugger run controls @@ -1719,7 +1721,7 @@ void ProjectExplorerPlugin::updateActions() d->m_cleanProjectOnlyAction->setToolTip(buildActionState.second); // Session actions - d->m_clearSession->setEnabled(!d->m_session->projects().isEmpty()); + d->m_closeAllProjects->setEnabled(!d->m_session->projects().isEmpty()); d->m_buildSessionAction->setEnabled(buildSessionState.first); d->m_rebuildSessionAction->setEnabled(buildSessionState.first); diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index f0c7a7952672fedd864f043257ddb961779df79f..4af16ce95de234a493c8c0b103a870e73bcd799b 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -372,31 +372,15 @@ bool SessionManager::save() return result; } - /*! - \fn bool SessionManager::clear() + \fn bool SessionManager::closeAllProjects() - Returns whether the clear operation has been not cancelled & all projects could be closed. + Closes all projects */ -bool SessionManager::clear() +void SessionManager::closeAllProjects() { - if (debug) - qDebug() << "SessionManager - clearing session ..."; - - bool success = ICore::editorManager()->closeAllEditors(); - - if (success) { - if (debug) - qDebug() << "SessionManager - Removing projects ..."; - - setStartupProject(0); - removeProjects(projects()); - } - - if (debug) - qDebug() << "SessionManager - clearing session result is " << success; - - return success; + setStartupProject(0); + removeProjects(projects()); } const QList<Project *> &SessionManager::projects() const diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h index 47a2cf0de7534afc8b68d924ea43cc6e44a7c37c..f85e496ea1f237d59d1f02e1232fd6cb93955d9e 100644 --- a/src/plugins/projectexplorer/session.h +++ b/src/plugins/projectexplorer/session.h @@ -84,7 +84,7 @@ public: bool loadSession(const QString &session); bool save(); - bool clear(); + void closeAllProjects(); void addProject(Project *project); void addProjects(const QList<Project*> &projects);