aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/android/androidconfigurations.cpp2
-rw-r--r--src/plugins/android/androiddevice.cpp2
-rw-r--r--src/plugins/android/androidmanager.cpp2
-rw-r--r--src/plugins/android/androidmanifesteditorwidget.cpp4
-rw-r--r--src/plugins/android/androidplugin.cpp2
-rw-r--r--src/plugins/autotest/autotestplugin.cpp18
-rw-r--r--src/plugins/autotest/boost/boosttesttreeitem.cpp10
-rw-r--r--src/plugins/autotest/catch/catchtreeitem.cpp16
-rw-r--r--src/plugins/autotest/ctest/ctesttreeitem.cpp6
-rw-r--r--src/plugins/autotest/gtest/gtesttreeitem.cpp14
-rw-r--r--src/plugins/autotest/qtest/qttesttreeitem.cpp16
-rw-r--r--src/plugins/autotest/quick/quicktestparser.cpp9
-rw-r--r--src/plugins/autotest/quick/quicktesttreeitem.cpp14
-rw-r--r--src/plugins/autotest/testcodeparser.cpp14
-rw-r--r--src/plugins/autotest/testconfiguration.cpp6
-rw-r--r--src/plugins/autotest/testnavigationwidget.cpp8
-rw-r--r--src/plugins/autotest/testprojectsettings.cpp2
-rw-r--r--src/plugins/autotest/testrunner.cpp16
-rw-r--r--src/plugins/autotest/testtreemodel.cpp16
-rw-r--r--src/plugins/baremetal/debugservers/uvsc/uvproject.cpp2
-rw-r--r--src/plugins/bookmarks/bookmarkmanager.cpp3
-rw-r--r--src/plugins/clangcodemodel/clangcodemodelplugin.cpp19
-rw-r--r--src/plugins/clangcodemodel/clangdclient.cpp4
-rw-r--r--src/plugins/clangcodemodel/clangdfindreferences.cpp5
-rw-r--r--src/plugins/clangcodemodel/clangdlocatorfilters.cpp8
-rw-r--r--src/plugins/clangcodemodel/clangmodelmanagersupport.cpp33
-rw-r--r--src/plugins/clangformat/clangformatbaseindenter.cpp4
-rw-r--r--src/plugins/clangformat/clangformatindenter.cpp2
-rw-r--r--src/plugins/clangformat/clangformatutils.cpp8
-rw-r--r--src/plugins/clangtools/clangtool.cpp8
-rw-r--r--src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp8
-rw-r--r--src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp24
-rw-r--r--src/plugins/clangtools/clangtoolsprojectsettings.cpp2
-rw-r--r--src/plugins/clangtools/diagnosticconfigswidget.cpp4
-rw-r--r--src/plugins/clangtools/documentclangtoolrunner.cpp6
-rw-r--r--src/plugins/classview/classviewmanager.cpp13
-rw-r--r--src/plugins/classview/classviewparsertreeitem.cpp8
-rw-r--r--src/plugins/clearcase/clearcaseplugin.cpp6
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp2
-rw-r--r--src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp5
-rw-r--r--src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp12
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp12
-rw-r--r--src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp4
-rw-r--r--src/plugins/conan/conanplugin.cpp4
-rw-r--r--src/plugins/cppcheck/cppcheckplugin.cpp11
-rw-r--r--src/plugins/cppcheck/cppchecktrigger.cpp4
-rw-r--r--src/plugins/cppeditor/baseeditordocumentprocessor.cpp5
-rw-r--r--src/plugins/cppeditor/cppcodemodelsettings.cpp1
-rw-r--r--src/plugins/cppeditor/cppeditorwidget.cpp6
-rw-r--r--src/plugins/cppeditor/cppfindreferences.cpp14
-rw-r--r--src/plugins/cppeditor/cppincludesfilter.cpp8
-rw-r--r--src/plugins/cppeditor/cppmodelmanager.cpp15
-rw-r--r--src/plugins/cppeditor/cppmodelmanager_test.cpp2
-rw-r--r--src/plugins/cppeditor/cppquickfixes.cpp4
-rw-r--r--src/plugins/cppeditor/cpptoolsjsextension.cpp5
-rw-r--r--src/plugins/cppeditor/cpptoolsreuse.cpp9
-rw-r--r--src/plugins/cppeditor/cpptoolstestcase.cpp8
-rw-r--r--src/plugins/cppeditor/generatedcodemodelsupport.cpp2
-rw-r--r--src/plugins/cppeditor/modelmanagertesthelper.cpp6
-rw-r--r--src/plugins/cppeditor/symbolsfindfilter.cpp5
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp17
-rw-r--r--src/plugins/debugger/debuggerruncontrol.cpp7
-rw-r--r--src/plugins/designer/codemodelhelpers.cpp4
-rw-r--r--src/plugins/designer/qtcreatorintegration.cpp16
-rw-r--r--src/plugins/designer/resourcehandler.cpp13
-rw-r--r--src/plugins/gitlab/gitlabdialog.cpp4
-rw-r--r--src/plugins/gitlab/gitlabplugin.cpp18
-rw-r--r--src/plugins/languageclient/client.cpp8
-rw-r--r--src/plugins/languageclient/languageclientmanager.cpp10
-rw-r--r--src/plugins/languageclient/languageclientsettings.cpp2
-rw-r--r--src/plugins/languageclient/languageclientsymbolsupport.cpp4
-rw-r--r--src/plugins/mcusupport/mcusupportplugin.cpp6
-rw-r--r--src/plugins/modeleditor/componentviewcontroller.cpp6
-rw-r--r--src/plugins/modeleditor/modelindexer.cpp6
-rw-r--r--src/plugins/nim/editor/nimcompletionassistprovider.cpp2
-rw-r--r--src/plugins/perfprofiler/perfdatareader.cpp2
-rw-r--r--src/plugins/perfprofiler/perfloaddialog.cpp4
-rw-r--r--src/plugins/perfprofiler/perfprofilertool.cpp8
-rw-r--r--src/plugins/perfprofiler/perftracepointdialog.cpp4
-rw-r--r--src/plugins/projectexplorer/allprojectsfilter.cpp6
-rw-r--r--src/plugins/projectexplorer/allprojectsfind.cpp6
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.cpp4
-rw-r--r--src/plugins/projectexplorer/buildmanager.cpp12
-rw-r--r--src/plugins/projectexplorer/buildsettingspropertiespage.cpp6
-rw-r--r--src/plugins/projectexplorer/buildsystem.cpp4
-rw-r--r--src/plugins/projectexplorer/currentprojectfind.cpp8
-rw-r--r--src/plugins/projectexplorer/dependenciespanel.cpp22
-rw-r--r--src/plugins/projectexplorer/editorconfiguration.cpp8
-rw-r--r--src/plugins/projectexplorer/extracompiler.cpp4
-rw-r--r--src/plugins/projectexplorer/fileinsessionfinder.cpp12
-rw-r--r--src/plugins/projectexplorer/filesinallprojectsfind.cpp4
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp4
-rw-r--r--src/plugins/projectexplorer/kitchooser.cpp4
-rw-r--r--src/plugins/projectexplorer/miniprojecttargetselector.cpp56
-rw-r--r--src/plugins/projectexplorer/project.cpp46
-rw-r--r--src/plugins/projectexplorer/project.h5
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp171
-rw-r--r--src/plugins/projectexplorer/projectfilewizardextension.cpp5
-rw-r--r--src/plugins/projectexplorer/projectmanager.h74
-rw-r--r--src/plugins/projectexplorer/projectmodels.cpp20
-rw-r--r--src/plugins/projectexplorer/projecttree.cpp22
-rw-r--r--src/plugins/projectexplorer/projecttreewidget.cpp4
-rw-r--r--src/plugins/projectexplorer/projectwelcomepage.cpp5
-rw-r--r--src/plugins/projectexplorer/projectwindow.cpp22
-rw-r--r--src/plugins/projectexplorer/projectwizardpage.cpp4
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp5
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.cpp9
-rw-r--r--src/plugins/projectexplorer/session.cpp444
-rw-r--r--src/plugins/projectexplorer/session.h73
-rw-r--r--src/plugins/projectexplorer/sessionmodel.cpp7
-rw-r--r--src/plugins/projectexplorer/target.cpp79
-rw-r--r--src/plugins/projectexplorer/target.h7
-rw-r--r--src/plugins/projectexplorer/targetsettingspanel.cpp14
-rw-r--r--src/plugins/projectexplorer/targetsetuppage.cpp2
-rw-r--r--src/plugins/python/pipsupport.cpp2
-rw-r--r--src/plugins/python/pythoneditor.cpp6
-rw-r--r--src/plugins/python/pythonlanguageclient.cpp2
-rw-r--r--src/plugins/python/pythonutils.cpp10
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp18
-rw-r--r--src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp11
-rw-r--r--src/plugins/qmakeprojectmanager/profileeditor.cpp10
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp12
-rw-r--r--src/plugins/qmldesigner/assetexporterplugin/assetexportdialog.cpp4
-rw-r--r--src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp4
-rw-r--r--src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp12
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp2
-rw-r--r--src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp4
-rw-r--r--src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp4
-rw-r--r--src/plugins/qmldesigner/components/eventlist/eventlist.cpp4
-rw-r--r--src/plugins/qmldesigner/components/integration/designdocument.cpp8
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp6
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp4
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp2
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatorview.cpp6
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp4
-rw-r--r--src/plugins/qmldesigner/documentmanager.cpp13
-rw-r--r--src/plugins/qmldesigner/generateresource.cpp22
-rw-r--r--src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp8
-rw-r--r--src/plugins/qmldesigner/qmldesignerplugin.cpp6
-rw-r--r--src/plugins/qmldesigner/qmldesignerprojectmanager.cpp16
-rw-r--r--src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp8
-rw-r--r--src/plugins/qmljstools/qmljslocatordata.cpp6
-rw-r--r--src/plugins/qmljstools/qmljsmodelmanager.cpp9
-rw-r--r--src/plugins/qmlpreview/qmlpreviewplugin.cpp10
-rw-r--r--src/plugins/qmlpreview/qmlpreviewruncontrol.cpp2
-rw-r--r--src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp2
-rw-r--r--src/plugins/qmlprofiler/qmlprofilertool.cpp4
-rw-r--r--src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp23
-rw-r--r--src/plugins/qmlprojectmanager/cmakegen/cmakeprojectconverter.cpp13
-rw-r--r--src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp21
-rw-r--r--src/plugins/qmlprojectmanager/projectfilecontenttools.cpp2
-rw-r--r--src/plugins/qmlprojectmanager/projectfilecontenttools.h2
-rw-r--r--src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp4
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.cpp4
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectplugin.cpp6
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp4
-rw-r--r--src/plugins/qnx/qnxdebugsupport.cpp4
-rw-r--r--src/plugins/qtsupport/baseqtversion.cpp7
-rw-r--r--src/plugins/qtsupport/externaleditors.cpp4
-rw-r--r--src/plugins/qtsupport/qtsupportplugin.cpp6
-rw-r--r--src/plugins/scxmleditor/scxmleditordocument.cpp2
-rw-r--r--src/plugins/squish/squishfilehandler.cpp5
-rw-r--r--src/plugins/todo/todoitemsprovider.cpp7
-rw-r--r--src/plugins/valgrind/callgrindtool.cpp4
-rw-r--r--src/plugins/valgrind/memcheckerrorview.cpp2
-rw-r--r--src/plugins/valgrind/memchecktool.cpp10
-rw-r--r--src/plugins/valgrind/suppressiondialog.cpp8
-rw-r--r--src/plugins/vcsbase/vcsbaseeditor.cpp4
-rw-r--r--src/plugins/vcsbase/vcsbaseplugin.cpp14
-rw-r--r--src/plugins/vcsbase/vcsbasesubmiteditor.cpp4
170 files changed, 1172 insertions, 1036 deletions
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp
index 5477bf14bfe..530a0bb6bd4 100644
--- a/src/plugins/android/androidconfigurations.cpp
+++ b/src/plugins/android/androidconfigurations.cpp
@@ -19,7 +19,7 @@
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/toolchainmanager.h>
#include <debugger/debuggeritemmanager.h>
diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp
index 252e4ee1fba..1902631fd6b 100644
--- a/src/plugins/android/androiddevice.cpp
+++ b/src/plugins/android/androiddevice.cpp
@@ -18,7 +18,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/runconfiguration.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/qtcassert.h>
diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp
index e4d47be7337..e77c38ea26a 100644
--- a/src/plugins/android/androidmanager.cpp
+++ b/src/plugins/android/androidmanager.cpp
@@ -24,7 +24,7 @@
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/buildsystem.h>
diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp
index 009a0219430..9c6a616abe3 100644
--- a/src/plugins/android/androidmanifesteditorwidget.cpp
+++ b/src/plugins/android/androidmanifesteditorwidget.cpp
@@ -19,8 +19,8 @@
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectnodes.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectwindow.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/kitinformation.h>
@@ -73,7 +73,7 @@ static bool checkPackageName(const QString &packageName)
static Target *androidTarget(const FilePath &fileName)
{
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
if (Target *target = project->activeTarget()) {
Kit *kit = target->kit();
if (DeviceTypeKitAspect::deviceTypeId(kit) == Android::Constants::ANDROID_DEVICE_TYPE
diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp
index b8ff5dbe0b8..0eeb890f821 100644
--- a/src/plugins/android/androidplugin.cpp
+++ b/src/plugins/android/androidplugin.cpp
@@ -45,7 +45,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qtsupport/qtversionmanager.h>
diff --git a/src/plugins/autotest/autotestplugin.cpp b/src/plugins/autotest/autotestplugin.cpp
index 98b804b16d3..28475f3870b 100644
--- a/src/plugins/autotest/autotestplugin.cpp
+++ b/src/plugins/autotest/autotestplugin.cpp
@@ -32,22 +32,28 @@
#include <coreplugin/icontext.h>
#include <coreplugin/icore.h>
#include <coreplugin/messagemanager.h>
+
#include <cplusplus/CppDocument.h>
#include <cplusplus/LookupContext.h>
#include <cplusplus/Overview.h>
+
#include <cppeditor/cppeditorconstants.h>
#include <cppeditor/cppmodelmanager.h>
+
#include <extensionsystem/pluginmanager.h>
+
#include <projectexplorer/buildmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorericons.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectpanelfactory.h>
#include <projectexplorer/runcontrol.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
+
#include <texteditor/textdocument.h>
#include <texteditor/texteditor.h>
+
#include <utils/algorithm.h>
#include <utils/textutils.h>
#include <utils/utilsicons.h>
@@ -148,11 +154,11 @@ AutotestPluginPrivate::AutotestPluginPrivate()
m_testTreeModel.synchronizeTestFrameworks();
m_testTreeModel.synchronizeTestTools();
- auto sessionManager = ProjectExplorer::SessionManager::instance();
- connect(sessionManager, &ProjectExplorer::SessionManager::startupProjectChanged,
+ auto sessionManager = ProjectExplorer::ProjectManager::instance();
+ connect(sessionManager, &ProjectExplorer::ProjectManager::startupProjectChanged,
this, [this] { m_runconfigCache.clear(); });
- connect(sessionManager, &ProjectExplorer::SessionManager::aboutToRemoveProject,
+ connect(sessionManager, &ProjectExplorer::ProjectManager::aboutToRemoveProject,
this, [](ProjectExplorer::Project *project) {
const auto it = s_projectSettings.constFind(project);
if (it != s_projectSettings.constEnd()) {
@@ -471,7 +477,7 @@ void AutotestPluginPrivate::onRunUnderCursorTriggered(TestRunMode mode)
TestFrameworks AutotestPlugin::activeTestFrameworks()
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
TestFrameworks sorted;
if (!project || projectSettings(project)->useGlobalSettings()) {
sorted = Utils::filtered(TestFrameworkManager::registeredFrameworks(),
@@ -489,7 +495,7 @@ TestFrameworks AutotestPlugin::activeTestFrameworks()
void AutotestPlugin::updateMenuItemsEnabledState()
{
- const ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ const ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
const ProjectExplorer::Target *target = project ? project->activeTarget() : nullptr;
const bool canScan = !dd->m_testRunner.isTestRunning()
&& dd->m_testCodeParser.state() == TestCodeParser::Idle;
diff --git a/src/plugins/autotest/boost/boosttesttreeitem.cpp b/src/plugins/autotest/boost/boosttesttreeitem.cpp
index 4b53d92754e..957ff73021a 100644
--- a/src/plugins/autotest/boost/boosttesttreeitem.cpp
+++ b/src/plugins/autotest/boost/boosttesttreeitem.cpp
@@ -11,7 +11,9 @@
#include "../itestframework.h"
#include <cppeditor/cppmodelmanager.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+
#include <utils/qtcassert.h>
#include <QRegularExpression>
@@ -156,7 +158,7 @@ static QString handleSpecialFunctionNames(const QString &name)
QList<ITestConfiguration *> BoostTestTreeItem::getAllTestConfigurations() const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -200,7 +202,7 @@ QList<ITestConfiguration *> BoostTestTreeItem::getTestConfigurations(
std::function<bool(BoostTestTreeItem *)> predicate) const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -261,7 +263,7 @@ QList<ITestConfiguration *> BoostTestTreeItem::getFailedTestConfigurations() con
ITestConfiguration *BoostTestTreeItem::testConfiguration() const
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(project, return nullptr);
const auto cppMM = CppEditor::CppModelManager::instance();
QTC_ASSERT(cppMM, return nullptr);
diff --git a/src/plugins/autotest/catch/catchtreeitem.cpp b/src/plugins/autotest/catch/catchtreeitem.cpp
index fe69fece87e..034c7ab1d04 100644
--- a/src/plugins/autotest/catch/catchtreeitem.cpp
+++ b/src/plugins/autotest/catch/catchtreeitem.cpp
@@ -10,8 +10,10 @@
#include "../itestframework.h"
#include <cppeditor/cppmodelmanager.h>
+
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+
#include <utils/qtcassert.h>
using namespace Utils;
@@ -30,7 +32,7 @@ static QString nonRootDisplayName(const CatchTreeItem *it)
{
if (it->type() != TestTreeItem::TestSuite)
return it->name();
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project)
return it->name();
TestTreeItem *parent = it->parentItem();
@@ -141,7 +143,7 @@ bool CatchTreeItem::canProvideDebugConfiguration() const
ITestConfiguration *CatchTreeItem::testConfiguration() const
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(project, return nullptr);
const auto cppMM = CppEditor::CppModelManager::instance();
QTC_ASSERT(cppMM, return nullptr);
@@ -244,7 +246,7 @@ QList<ITestConfiguration *> CatchTreeItem::getSelectedTestConfigurations() const
QList<ITestConfiguration *> CatchTreeItem::getFailedTestConfigurations() const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -271,7 +273,7 @@ QList<ITestConfiguration *> CatchTreeItem::getTestConfigurationsForFile(const Fi
const auto cppMM = CppEditor::CppModelManager::instance();
QTC_ASSERT(cppMM, return result);
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -293,7 +295,7 @@ QList<ITestConfiguration *> CatchTreeItem::getTestConfigurationsForFile(const Fi
testConfig = new CatchConfiguration(framework());
testConfig->setTestCases(testCases);
testConfig->setProjectFile(item->proFile());
- testConfig->setProject(ProjectExplorer::SessionManager::startupProject());
+ testConfig->setProject(ProjectExplorer::ProjectManager::startupProject());
testConfig->setInternalTargets(cppMM->internalTargets(item->filePath()));
result << testConfig;
}
@@ -314,7 +316,7 @@ QString CatchTreeItem::stateSuffix() const
QList<ITestConfiguration *> CatchTreeItem::getTestConfigurations(bool ignoreCheckState) const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
diff --git a/src/plugins/autotest/ctest/ctesttreeitem.cpp b/src/plugins/autotest/ctest/ctesttreeitem.cpp
index 3e59c2db81c..dac1b6da008 100644
--- a/src/plugins/autotest/ctest/ctesttreeitem.cpp
+++ b/src/plugins/autotest/ctest/ctesttreeitem.cpp
@@ -14,11 +14,11 @@
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/environmentaspect.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/link.h>
-#include <utils/qtcassert.h>
+#include <utils/qtcassert.h>
using namespace Utils;
@@ -79,7 +79,7 @@ QVariant CTestTreeItem::data(int column, int role) const
QList<ITestConfiguration *> CTestTreeItem::testConfigurationsFor(const QStringList &selected) const
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project)
return {};
diff --git a/src/plugins/autotest/gtest/gtesttreeitem.cpp b/src/plugins/autotest/gtest/gtesttreeitem.cpp
index c79ae93d1b9..f91b68f0e38 100644
--- a/src/plugins/autotest/gtest/gtesttreeitem.cpp
+++ b/src/plugins/autotest/gtest/gtesttreeitem.cpp
@@ -10,7 +10,9 @@
#include "../autotesttr.h"
#include <cppeditor/cppmodelmanager.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <utils/icon.h>
@@ -146,7 +148,7 @@ QVariant GTestTreeItem::data(int column, int role) const
ITestConfiguration *GTestTreeItem::testConfiguration() const
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(project, return nullptr);
GTestConfiguration *config = nullptr;
@@ -252,7 +254,7 @@ static void collectFailedTestInfo(const GTestTreeItem *item,
QList<ITestConfiguration *> GTestTreeItem::getTestConfigurations(bool ignoreCheckState) const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -291,7 +293,7 @@ QList<ITestConfiguration *> GTestTreeItem::getSelectedTestConfigurations() const
QList<ITestConfiguration *> GTestTreeItem::getFailedTestConfigurations() const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -316,7 +318,7 @@ QList<ITestConfiguration *> GTestTreeItem::getFailedTestConfigurations() const
QList<ITestConfiguration *> GTestTreeItem::getTestConfigurationsForFile(const FilePath &fileName) const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -503,7 +505,7 @@ QSet<QString> internalTargets(const TestTreeItem &item)
{
QSet<QString> result;
const auto cppMM = CppEditor::CppModelManager::instance();
- const auto projectInfo = cppMM->projectInfo(ProjectExplorer::SessionManager::startupProject());
+ const auto projectInfo = cppMM->projectInfo(ProjectExplorer::ProjectManager::startupProject());
if (!projectInfo)
return {};
const FilePath filePath = item.filePath();
diff --git a/src/plugins/autotest/qtest/qttesttreeitem.cpp b/src/plugins/autotest/qtest/qttesttreeitem.cpp
index 2f846372822..81f95c17752 100644
--- a/src/plugins/autotest/qtest/qttesttreeitem.cpp
+++ b/src/plugins/autotest/qtest/qttesttreeitem.cpp
@@ -9,7 +9,9 @@
#include "../itestframework.h"
#include <cppeditor/cppmodelmanager.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+
#include <utils/qtcassert.h>
using namespace Utils;
@@ -116,7 +118,7 @@ bool QtTestTreeItem::canProvideDebugConfiguration() const
ITestConfiguration *QtTestTreeItem::testConfiguration() const
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(project, return nullptr);
const auto cppMM = CppEditor::CppModelManager::instance();
QTC_ASSERT(cppMM, return nullptr);
@@ -195,7 +197,7 @@ static void fillTestConfigurationsFromCheckState(const TestTreeItem *item,
testConfig = new QtTestConfiguration(item->framework());
testConfig->setTestCases(testCases);
testConfig->setProjectFile(item->proFile());
- testConfig->setProject(ProjectExplorer::SessionManager::startupProject());
+ testConfig->setProject(ProjectExplorer::ProjectManager::startupProject());
testConfig->setInternalTargets(cppMM->internalTargets(item->filePath()));
testConfigurations << testConfig;
}
@@ -229,7 +231,7 @@ static void collectFailedTestInfo(TestTreeItem *item, QList<ITestConfiguration *
QtTestConfiguration *testConfig = new QtTestConfiguration(item->framework());
testConfig->setTestCases(testCases);
testConfig->setProjectFile(item->proFile());
- testConfig->setProject(ProjectExplorer::SessionManager::startupProject());
+ testConfig->setProject(ProjectExplorer::ProjectManager::startupProject());
testConfig->setInternalTargets(cppMM->internalTargets(item->filePath()));
testConfigs << testConfig;
}
@@ -246,7 +248,7 @@ QList<ITestConfiguration *> QtTestTreeItem::getAllTestConfigurations() const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -269,7 +271,7 @@ QList<ITestConfiguration *> QtTestTreeItem::getAllTestConfigurations() const
QList<ITestConfiguration *> QtTestTreeItem::getSelectedTestConfigurations() const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -292,7 +294,7 @@ QList<ITestConfiguration *> QtTestTreeItem::getTestConfigurationsForFile(const F
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
diff --git a/src/plugins/autotest/quick/quicktestparser.cpp b/src/plugins/autotest/quick/quicktestparser.cpp
index f5b79d8075c..b8035f11a7a 100644
--- a/src/plugins/autotest/quick/quicktestparser.cpp
+++ b/src/plugins/autotest/quick/quicktestparser.cpp
@@ -12,10 +12,13 @@
#include <cppeditor/cppmodelmanager.h>
#include <cppeditor/projectpart.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+
#include <qmljs/parser/qmljsast_p.h>
#include <qmljs/qmljsdialect.h>
#include <qmljstools/qmljsmodelmanager.h>
+
#include <utils/hostosinfo.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
@@ -324,8 +327,8 @@ void QuickTestParser::doUpdateWatchPaths(const QStringList &directories)
QuickTestParser::QuickTestParser(ITestFramework *framework)
: CppParser(framework)
{
- connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged, this, [this] {
+ connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged, this, [this] {
const QStringList &dirs = m_directoryWatcher.directories();
if (!dirs.isEmpty())
m_directoryWatcher.removePaths(dirs);
diff --git a/src/plugins/autotest/quick/quicktesttreeitem.cpp b/src/plugins/autotest/quick/quicktesttreeitem.cpp
index 49358f49ebd..a7d6e330ea4 100644
--- a/src/plugins/autotest/quick/quicktesttreeitem.cpp
+++ b/src/plugins/autotest/quick/quicktesttreeitem.cpp
@@ -9,7 +9,9 @@
#include "../itestframework.h"
#include <cppeditor/cppmodelmanager.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+
#include <utils/qtcassert.h>
using namespace Utils;
@@ -108,7 +110,7 @@ bool QuickTestTreeItem::canProvideDebugConfiguration() const
ITestConfiguration *QuickTestTreeItem::testConfiguration() const
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(project, return nullptr);
QuickTestConfiguration *config = nullptr;
@@ -147,7 +149,7 @@ static QList<ITestConfiguration *> testConfigurationsFor(
const TestTreeItem *rootNode, const std::function<bool(TestTreeItem *)> &predicate)
{
QTC_ASSERT(rootNode, return {});
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || rootNode->type() != TestTreeItem::Root)
return {};
@@ -171,7 +173,7 @@ static QList<ITestConfiguration *> testConfigurationsFor(
if (it == configurationForProFiles.end()) {
auto tc = new QuickTestConfiguration(treeItem->framework());
tc->setProjectFile(treeItem->proFile());
- tc->setProject(ProjectExplorer::SessionManager::startupProject());
+ tc->setProject(ProjectExplorer::ProjectManager::startupProject());
tc->setInternalTargets(internalTargets(treeItem->proFile()));
it = configurationForProFiles.insert(treeItem->proFile(), tc);
}
@@ -206,7 +208,7 @@ QList<ITestConfiguration *> QuickTestTreeItem::getAllTestConfigurations() const
{
QList<ITestConfiguration *> result;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project || type() != Root)
return result;
@@ -369,7 +371,7 @@ QSet<QString> internalTargets(const FilePath &proFile)
{
QSet<QString> result;
const auto cppMM = CppEditor::CppModelManager::instance();
- const auto projectInfo = cppMM->projectInfo(ProjectExplorer::SessionManager::startupProject());
+ const auto projectInfo = cppMM->projectInfo(ProjectExplorer::ProjectManager::startupProject());
if (!projectInfo)
return {};
for (const CppEditor::ProjectPart::ConstPtr &projectPart : projectInfo->projectParts()) {
diff --git a/src/plugins/autotest/testcodeparser.cpp b/src/plugins/autotest/testcodeparser.cpp
index a42f3aa77d4..3b9c396fedf 100644
--- a/src/plugins/autotest/testcodeparser.cpp
+++ b/src/plugins/autotest/testcodeparser.cpp
@@ -13,7 +13,7 @@
#include <cppeditor/cppmodelmanager.h>
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <utils/asynctask.h>
@@ -33,7 +33,7 @@ using namespace ProjectExplorer;
static bool isProjectParsing()
{
- const BuildSystem *bs = SessionManager::startupBuildSystem();
+ const BuildSystem *bs = ProjectManager::startupBuildSystem();
return bs && bs->isParsing();
}
@@ -73,7 +73,7 @@ void TestCodeParser::setState(State state)
}
m_parserState = state;
- if (m_parserState == Idle && SessionManager::startupProject()) {
+ if (m_parserState == Idle && ProjectManager::startupProject()) {
if (m_postponedUpdateType == UpdateType::FullUpdate || m_dirty) {
emitUpdateTestTree();
} else if (m_postponedUpdateType == UpdateType::PartialUpdate) {
@@ -130,7 +130,7 @@ void TestCodeParser::updateTestTree(const QSet<ITestParser *> &parsers)
return;
}
- if (!SessionManager::startupProject())
+ if (!ProjectManager::startupProject())
return;
m_postponedUpdateType = UpdateType::NoUpdate;
@@ -149,7 +149,7 @@ void TestCodeParser::onDocumentUpdated(const FilePath &fileName, bool isQmlFile)
if (isProjectParsing() || m_codeModelParsing || m_postponedUpdateType == UpdateType::FullUpdate)
return;
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
if (!project)
return;
// Quick tests: qml files aren't necessarily listed inside project files
@@ -185,7 +185,7 @@ void TestCodeParser::onStartupProjectChanged(Project *project)
void TestCodeParser::onProjectPartsUpdated(Project *project)
{
- if (project != SessionManager::startupProject())
+ if (project != ProjectManager::startupProject())
return;
if (isProjectParsing() || m_codeModelParsing)
m_postponedUpdateType = UpdateType::FullUpdate;
@@ -277,7 +277,7 @@ void TestCodeParser::scanForTests(const FilePaths &fileList, const QList<ITestPa
m_reparseTimerTimedOut = false;
m_postponedFiles.clear();
bool isFullParse = fileList.isEmpty();
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
if (!project)
return;
FilePaths list;
diff --git a/src/plugins/autotest/testconfiguration.cpp b/src/plugins/autotest/testconfiguration.cpp
index 00bf521b88a..c095e9e0f6a 100644
--- a/src/plugins/autotest/testconfiguration.cpp
+++ b/src/plugins/autotest/testconfiguration.cpp
@@ -12,7 +12,7 @@
#include <projectexplorer/deploymentdata.h>
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/runconfiguration.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/algorithm.h>
@@ -100,7 +100,7 @@ void TestConfiguration::completeTestInformation(RunConfiguration *rc,
qCDebug(LOG) << "Executable has been set already - not completing configuration again.";
return;
}
- Project *startupProject = SessionManager::startupProject();
+ Project *startupProject = ProjectManager::startupProject();
if (!startupProject || startupProject != project())
return;
@@ -145,7 +145,7 @@ void TestConfiguration::completeTestInformation(TestRunMode runMode)
}
qCDebug(LOG) << "Failed to complete - using 'normal' way.";
}
- Project *startupProject = SessionManager::startupProject();
+ Project *startupProject = ProjectManager::startupProject();
if (!startupProject || startupProject != project()) {
setProject(nullptr);
return;
diff --git a/src/plugins/autotest/testnavigationwidget.cpp b/src/plugins/autotest/testnavigationwidget.cpp
index 100eed89ed9..95defb21ec4 100644
--- a/src/plugins/autotest/testnavigationwidget.cpp
+++ b/src/plugins/autotest/testnavigationwidget.cpp
@@ -18,9 +18,11 @@
#include <coreplugin/coreconstants.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/find/itemviewfind.h>
+
#include <projectexplorer/buildmanager.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+
#include <utils/algorithm.h>
#include <utils/link.h>
#include <utils/progressindicator.h>
@@ -87,8 +89,8 @@ TestNavigationWidget::TestNavigationWidget(QWidget *parent) :
connect(m_model, &TestTreeModel::updatedActiveFrameworks, this, [this](int numberOfActive) {
m_missingFrameworksWidget->setVisible(numberOfActive == 0);
});
- ProjectExplorer::SessionManager *sm = ProjectExplorer::SessionManager::instance();
- connect(sm, &ProjectExplorer::SessionManager::startupProjectChanged,
+ ProjectExplorer::ProjectManager *sm = ProjectExplorer::ProjectManager::instance();
+ connect(sm, &ProjectExplorer::ProjectManager::startupProjectChanged,
this, [this](ProjectExplorer::Project * /*project*/) {
m_expandedStateCache.clear();
});
diff --git a/src/plugins/autotest/testprojectsettings.cpp b/src/plugins/autotest/testprojectsettings.cpp
index 862fc8a24f4..5f745637db8 100644
--- a/src/plugins/autotest/testprojectsettings.cpp
+++ b/src/plugins/autotest/testprojectsettings.cpp
@@ -7,7 +7,7 @@
#include "testframeworkmanager.h"
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <QLoggingCategory>
diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp
index 1f83ff56c11..26ef727fd36 100644
--- a/src/plugins/autotest/testrunner.cpp
+++ b/src/plugins/autotest/testrunner.cpp
@@ -25,8 +25,8 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorersettings.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/runconfiguration.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <utils/algorithm.h>
@@ -213,7 +213,7 @@ static QString firstNonEmptyTestCaseTarget(const TestConfiguration *config)
static RunConfiguration *getRunConfiguration(const QString &buildTargetKey)
{
- const Project *project = SessionManager::startupProject();
+ const Project *project = ProjectManager::startupProject();
if (!project)
return nullptr;
const Target *target = project->activeTarget();
@@ -295,7 +295,7 @@ int TestRunner::precheckTestConfigurations()
void TestRunner::onBuildSystemUpdated()
{
- Target *target = SessionManager::startupTarget();
+ Target *target = ProjectManager::startupTarget();
if (QTC_GUARD(target))
disconnect(target, &Target::buildSystemUpdated, this, &TestRunner::onBuildSystemUpdated);
if (!m_skipTargetsCheck) {
@@ -310,7 +310,7 @@ void TestRunner::runTestsHelper()
bool projectChanged = false;
for (ITestConfiguration *itc : std::as_const(m_selectedTests)) {
if (itc->testBase()->type() == ITestBase::Tool) {
- if (itc->project() != SessionManager::startupProject()) {
+ if (itc->project() != ProjectManager::startupProject()) {
projectChanged = true;
toBeRemoved.append(itc);
}
@@ -596,7 +596,7 @@ void TestRunner::debugTests()
static bool executablesEmpty()
{
- Target *target = SessionManager::startupTarget();
+ Target *target = ProjectManager::startupTarget();
const QList<RunConfiguration *> configs = target->runConfigurations();
QTC_ASSERT(!configs.isEmpty(), return false);
if (auto execAspect = configs.first()->aspect<ExecutableAspect>())
@@ -609,7 +609,7 @@ void TestRunner::runOrDebugTests()
if (!m_skipTargetsCheck) {
if (executablesEmpty()) {
m_skipTargetsCheck = true;
- Target *target = SessionManager::startupTarget();
+ Target *target = ProjectManager::startupTarget();
QTimer::singleShot(5000, this, [this, target = QPointer<Target>(target)] {
if (target) {
disconnect(target, &Target::buildSystemUpdated,
@@ -666,7 +666,7 @@ void TestRunner::buildFinished(bool success)
static RunAfterBuildMode runAfterBuild()
{
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
if (!project)
return RunAfterBuildMode::None;
@@ -786,7 +786,7 @@ void RunConfigurationSelectionDialog::populate()
{
m_rcCombo->addItem({}, QStringList{{}, {}, {}}); // empty default
- if (auto project = SessionManager::startupProject()) {
+ if (auto project = ProjectManager::startupProject()) {
if (auto target = project->activeTarget()) {
for (RunConfiguration *rc : target->runConfigurations()) {
auto runnable = rc->runnable();
diff --git a/src/plugins/autotest/testtreemodel.cpp b/src/plugins/autotest/testtreemodel.cpp
index f21e9349c32..4e3d010ad45 100644
--- a/src/plugins/autotest/testtreemodel.cpp
+++ b/src/plugins/autotest/testtreemodel.cpp
@@ -10,12 +10,16 @@
#include "testprojectsettings.h"
#include <cppeditor/cppmodelmanager.h>
+
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
+
#include <qmljs/qmljsmodelmanagerinterface.h>
+
#include <texteditor/texteditor.h>
+
#include <utils/algorithm.h>
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
@@ -70,8 +74,8 @@ void TestTreeModel::setupParsingConnections()
m_parser->setDirty();
m_parser->setState(TestCodeParser::Idle);
- SessionManager *sm = SessionManager::instance();
- connect(sm, &SessionManager::startupProjectChanged, this, [this, sm](Project *project) {
+ ProjectManager *sm = ProjectManager::instance();
+ connect(sm, &ProjectManager::startupProjectChanged, this, [this, sm](Project *project) {
synchronizeTestFrameworks(); // we might have project settings
m_parser->onStartupProjectChanged(project);
removeAllTestToolItems();
@@ -226,7 +230,7 @@ static QList<ITestTreeItem *> testItemsByName(TestTreeItem *root, const QString
void TestTreeModel::onTargetChanged(Target *target)
{
if (target && target->buildSystem()) {
- const Target *topLevelTarget = SessionManager::startupProject()->targets().first();
+ const Target *topLevelTarget = ProjectManager::startupProject()->targets().first();
connect(topLevelTarget->buildSystem(), &BuildSystem::testInformationUpdated,
this, &TestTreeModel::onBuildSystemTestsUpdated, Qt::UniqueConnection);
disconnect(target->project(), &Project::activeTargetChanged,
@@ -236,7 +240,7 @@ void TestTreeModel::onTargetChanged(Target *target)
void TestTreeModel::onBuildSystemTestsUpdated()
{
- const BuildSystem *bs = SessionManager::startupBuildSystem();
+ const BuildSystem *bs = ProjectManager::startupBuildSystem();
if (!bs || !bs->project())
return;
@@ -333,7 +337,7 @@ void TestTreeModel::synchronizeTestFrameworks()
void TestTreeModel::synchronizeTestTools()
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
TestTools tools;
if (!project || AutotestPlugin::projectSettings(project)->useGlobalSettings()) {
tools = Utils::filtered(TestFrameworkManager::registeredTestTools(),
diff --git a/src/plugins/baremetal/debugservers/uvsc/uvproject.cpp b/src/plugins/baremetal/debugservers/uvsc/uvproject.cpp
index 773ec410666..faa32fea086 100644
--- a/src/plugins/baremetal/debugservers/uvsc/uvproject.cpp
+++ b/src/plugins/baremetal/debugservers/uvsc/uvproject.cpp
@@ -9,7 +9,7 @@
#include <debugger/debuggerkitinformation.h>
#include <debugger/debuggerruncontrol.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <QFileInfo>
diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp
index e7c5a4e388e..4e98648147a 100644
--- a/src/plugins/bookmarks/bookmarkmanager.cpp
+++ b/src/plugins/bookmarks/bookmarkmanager.cpp
@@ -12,8 +12,10 @@
#include <coreplugin/idocument.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h>
+
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h>
+
#include <texteditor/texteditor.h>
#include <utils/algorithm.h>
#include <utils/icon.h>
@@ -29,7 +31,6 @@
#include <QDialog>
#include <QDialogButtonBox>
#include <QDir>
-#include <QFileInfo>
#include <QFormLayout>
#include <QLineEdit>
#include <QMenu>
diff --git a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp
index 0f7d8d96627..b0250bf819a 100644
--- a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp
+++ b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp
@@ -27,7 +27,8 @@
#include <projectexplorer/projectpanelfactory.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/taskhub.h>
@@ -48,7 +49,7 @@ void ClangCodeModelPlugin::generateCompilationDB()
{
using namespace CppEditor;
- Target *target = SessionManager::startupTarget();
+ Target *target = ProjectManager::startupTarget();
if (!target)
return;
@@ -101,7 +102,7 @@ void ClangCodeModelPlugin::createCompilationDBAction()
Tr::tr("Generate Compilation Database"),
Tr::tr("Generate Compilation Database for \"%1\""),
ParameterAction::AlwaysEnabled, this);
- Project *startupProject = SessionManager::startupProject();
+ Project *startupProject = ProjectManager::startupProject();
if (startupProject)
m_generateCompilationDBAction->setParameter(startupProject->displayName());
Command *command = ActionManager::registerAction(m_generateCompilationDBAction,
@@ -128,7 +129,7 @@ void ClangCodeModelPlugin::createCompilationDBAction()
"Generator is already running.");
return;
}
- Project * const project = SessionManager::startupProject();
+ Project * const project = ProjectManager::startupProject();
if (!project) {
MessageManager::writeDisrupting("Cannot generate compilation database: "
"No active project.");
@@ -146,21 +147,21 @@ void ClangCodeModelPlugin::createCompilationDBAction()
});
connect(CppEditor::CppModelManager::instance(), &CppEditor::CppModelManager::projectPartsUpdated,
this, [this](Project *project) {
- if (project != SessionManager::startupProject())
+ if (project != ProjectManager::startupProject())
return;
m_generateCompilationDBAction->setParameter(project->displayName());
});
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, [this](Project *project) {
m_generateCompilationDBAction->setParameter(project ? project->displayName() : "");
});
- connect(SessionManager::instance(), &SessionManager::projectDisplayNameChanged,
+ connect(ProjectManager::instance(), &ProjectManager::projectDisplayNameChanged,
this, [this](Project *project) {
- if (project != SessionManager::startupProject())
+ if (project != ProjectManager::startupProject())
return;
m_generateCompilationDBAction->setParameter(project->displayName());
});
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, [this](Project *project) {
project->registerGenerator(Constants::GENERATE_COMPILATION_DB,
m_generateCompilationDBAction->text(),
diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp
index 8a7d48173d6..238b46a09b4 100644
--- a/src/plugins/clangcodemodel/clangdclient.cpp
+++ b/src/plugins/clangcodemodel/clangdclient.cpp
@@ -49,7 +49,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/taskhub.h>
#include <texteditor/codeassist/assistinterface.h>
@@ -701,7 +701,7 @@ bool ClangdClient::fileBelongsToProject(const Utils::FilePath &filePath) const
{
if (CppEditor::ClangdSettings::instance().granularity()
== CppEditor::ClangdSettings::Granularity::Session) {
- return SessionManager::projectForFile(filePath);
+ return ProjectManager::projectForFile(filePath);
}
return Client::fileBelongsToProject(filePath);
}
diff --git a/src/plugins/clangcodemodel/clangdfindreferences.cpp b/src/plugins/clangcodemodel/clangdfindreferences.cpp
index 8a2d3faaeff..2130587a2d5 100644
--- a/src/plugins/clangcodemodel/clangdfindreferences.cpp
+++ b/src/plugins/clangcodemodel/clangdfindreferences.cpp
@@ -21,9 +21,10 @@
#include <languageserverprotocol/lsptypes.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/basefilefind.h>
@@ -451,7 +452,7 @@ void ClangdFindReferences::Private::addSearchResultsForFile(const FilePath &file
item.setContainingFunctionName(getContainingFunction(astPath, range).detail());
if (search->supportsReplace()) {
- const bool fileInSession = SessionManager::projectForFile(file);
+ const bool fileInSession = ProjectManager::projectForFile(file);
item.setSelectForReplacement(fileInSession);
if (fileInSession && file.baseName().compare(replacementData->oldSymbolName,
Qt::CaseInsensitive) == 0) {
diff --git a/src/plugins/clangcodemodel/clangdlocatorfilters.cpp b/src/plugins/clangcodemodel/clangdlocatorfilters.cpp
index 194e6466464..9a6dee28eca 100644
--- a/src/plugins/clangcodemodel/clangdlocatorfilters.cpp
+++ b/src/plugins/clangcodemodel/clangdlocatorfilters.cpp
@@ -11,13 +11,17 @@
#include <cppeditor/cpplocatorfilter.h>
#include <cppeditor/cppmodelmanager.h>
#include <cppeditor/indexitem.h>
+
#include <languageclient/languageclientutils.h>
#include <languageclient/locatorfilter.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+
#include <utils/link.h>
#include <utils/algorithm.h>
#include <QHash>
+
#include <set>
#include <tuple>
@@ -141,7 +145,7 @@ void ClangGlobalSymbolFilter::prepareSearch(const QString &entry)
{
m_cppFilter->prepareSearch(entry);
QList<Client *> clients;
- for (ProjectExplorer::Project * const project : ProjectExplorer::SessionManager::projects()) {
+ for (ProjectExplorer::Project * const project : ProjectExplorer::ProjectManager::projects()) {
if (Client * const client = ClangModelManagerSupport::clientForProject(project))
clients << client;
}
diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
index 64a8dac7bdf..5e3a84c46ef 100644
--- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
+++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
@@ -33,6 +33,7 @@
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
#include <projectexplorer/session.h>
@@ -53,6 +54,7 @@
using namespace CppEditor;
using namespace LanguageClient;
+using namespace ProjectExplorer;
using namespace Utils;
namespace ClangCodeModel::Internal {
@@ -66,7 +68,7 @@ static ProjectExplorer::Project *fallbackProject()
{
if (ProjectExplorer::Project * const p = ProjectExplorer::ProjectTree::currentProject())
return p;
- return ProjectExplorer::SessionManager::startupProject();
+ return ProjectExplorer::ProjectManager::startupProject();
}
static bool sessionModeEnabled()
@@ -87,7 +89,7 @@ static const QList<ProjectExplorer::Project *> projectsForClient(const Client *c
{
QList<ProjectExplorer::Project *> projects;
if (sessionModeEnabled()) {
- for (ProjectExplorer::Project * const p : ProjectExplorer::SessionManager::projects()) {
+ for (ProjectExplorer::Project * const p : ProjectExplorer::ProjectManager::projects()) {
if (ClangdProjectSettings(p).settings().useClangd)
projects << p;
}
@@ -228,14 +230,13 @@ ClangModelManagerSupport::ClangModelManagerSupport()
}
});
- auto *sessionManager = ProjectExplorer::SessionManager::instance();
- connect(sessionManager, &ProjectExplorer::SessionManager::projectRemoved,
+ auto projectManager = ProjectExplorer::ProjectManager::instance();
+ connect(projectManager, &ProjectExplorer::ProjectManager::projectRemoved,
this, [this] {
if (!sessionModeEnabled())
claimNonProjectSources(clientForProject(fallbackProject()));
});
- connect(sessionManager, &ProjectExplorer::SessionManager::sessionLoaded,
- this, [this] {
+ connect(SessionManager::instance(), &SessionManager::sessionLoaded, this, [this] {
if (sessionModeEnabled())
onClangdSettingsChanged();
});
@@ -357,7 +358,7 @@ void ClangModelManagerSupport::checkUnused(const Link &link, Core::SearchResult
const LinkHandler &callback)
{
if (const ProjectExplorer::Project * const project
- = ProjectExplorer::SessionManager::projectForFile(link.targetFilePath)) {
+ = ProjectExplorer::ProjectManager::projectForFile(link.targetFilePath)) {
if (ClangdClient * const client = clientWithProject(project);
client && client->isFullyIndexed()) {
client->checkUnused(link, search, callback);
@@ -435,7 +436,7 @@ static bool isProjectDataUpToDate(
ProjectExplorer::Project *project, ProjectInfoList projectInfo,
const FilePath &jsonDbDir)
{
- if (project && !ProjectExplorer::SessionManager::hasProject(project))
+ if (project && !ProjectExplorer::ProjectManager::hasProject(project))
return false;
const ClangdSettings settings(ClangdProjectSettings(project).settings());
if (!settings.useClangd())
@@ -531,7 +532,7 @@ void ClangModelManagerSupport::updateLanguageClient(ProjectExplorer::Project *pr
hasDocuments = true;
continue;
}
- const Project * const docProject = SessionManager::projectForFile(doc->filePath());
+ const Project * const docProject = ProjectManager::projectForFile(doc->filePath());
if (currentClient && currentClient->project()
&& currentClient->project() != project
&& currentClient->project() == docProject) {
@@ -571,8 +572,8 @@ void ClangModelManagerSupport::updateLanguageClient(ProjectExplorer::Project *pr
ProjectNode *rootNode = nullptr;
if (project)
rootNode = project->rootProjectNode();
- else if (SessionManager::startupProject())
- rootNode = SessionManager::startupProject()->rootProjectNode();
+ else if (ProjectManager::startupProject())
+ rootNode = ProjectManager::startupProject()->rootProjectNode();
if (!rootNode)
return;
const Node * const cxxNode = rootNode->findNode([](Node *n) {
@@ -647,7 +648,7 @@ void ClangModelManagerSupport::claimNonProjectSources(ClangdClient *client)
}
if (!ClangdSettings::instance().sizeIsOkay(doc->filePath()))
continue;
- if (ProjectExplorer::SessionManager::projectForFile(doc->filePath()))
+ if (ProjectExplorer::ProjectManager::projectForFile(doc->filePath()))
continue;
if (client->project() && !ProjectFile::isHeader(doc->filePath()))
continue;
@@ -672,7 +673,7 @@ void ClangModelManagerSupport::watchForExternalChanges()
if (!ProjectFile::isSource(kind) && !ProjectFile::isHeader(kind))
continue;
ProjectExplorer::Project * const project
- = ProjectExplorer::SessionManager::projectForFile(file);
+ = ProjectExplorer::ProjectManager::projectForFile(file);
if (!project)
continue;
@@ -698,7 +699,7 @@ void ClangModelManagerSupport::watchForInternalChanges()
if (!ProjectFile::isSource(kind) && !ProjectFile::isHeader(kind))
continue;
ProjectExplorer::Project * const project
- = ProjectExplorer::SessionManager::projectForFile(fp);
+ = ProjectExplorer::ProjectManager::projectForFile(fp);
if (!project)
continue;
if (ClangdClient * const client = clientForProject(project);
@@ -735,7 +736,7 @@ void ClangModelManagerSupport::onEditorOpened(Core::IEditor *editor)
connectToWidgetsMarkContextMenuRequested(editor->widget());
ProjectExplorer::Project * project
- = ProjectExplorer::SessionManager::projectForFile(document->filePath());
+ = ProjectExplorer::ProjectManager::projectForFile(document->filePath());
const ClangdSettings settings(ClangdProjectSettings(project).settings());
if (!settings.sizeIsOkay(textDocument->filePath()))
return;
@@ -855,7 +856,7 @@ void ClangModelManagerSupport::onClangdSettingsChanged()
{
const bool sessionMode = sessionModeEnabled();
- for (ProjectExplorer::Project * const project : ProjectExplorer::SessionManager::projects()) {
+ for (ProjectExplorer::Project * const project : ProjectExplorer::ProjectManager::projects()) {
const CppEditor::ClangdSettings settings(
CppEditor::ClangdProjectSettings(project).settings());
ClangdClient * const client = clientWithProject(project);
diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp
index affabfec671..9ab44472304 100644
--- a/src/plugins/clangformat/clangformatbaseindenter.cpp
+++ b/src/plugins/clangformat/clangformatbaseindenter.cpp
@@ -9,7 +9,7 @@
#include <projectexplorer/editorconfiguration.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/icodestylepreferences.h>
#include <texteditor/texteditorsettings.h>
@@ -744,7 +744,7 @@ void ClangFormatBaseIndenter::autoIndent(const QTextCursor &cursor,
clang::format::FormatStyle overrideStyle(const Utils::FilePath &fileName)
{
const ProjectExplorer::Project *projectForFile
- = ProjectExplorer::SessionManager::projectForFile(fileName);
+ = ProjectExplorer::ProjectManager::projectForFile(fileName);
const TextEditor::ICodeStylePreferences *preferences
= projectForFile
diff --git a/src/plugins/clangformat/clangformatindenter.cpp b/src/plugins/clangformat/clangformatindenter.cpp
index 94e0fafd8e0..67d5171b010 100644
--- a/src/plugins/clangformat/clangformatindenter.cpp
+++ b/src/plugins/clangformat/clangformatindenter.cpp
@@ -15,7 +15,7 @@
#include <utils/genericconstants.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/tabsettings.h>
#include <texteditor/textdocumentlayout.h>
diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp
index d1d6bee684b..a7a766768eb 100644
--- a/src/plugins/clangformat/clangformatutils.cpp
+++ b/src/plugins/clangformat/clangformatutils.cpp
@@ -15,7 +15,7 @@
#include <projectexplorer/editorconfiguration.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/qtcassert.h>
@@ -211,7 +211,7 @@ bool getProjectOverriddenSettings(const ProjectExplorer::Project *project)
bool getCurrentOverriddenSettings(const Utils::FilePath &filePath)
{
- const ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(
+ const ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(
filePath);
return getProjectUseGlobalSettings(project)
@@ -233,7 +233,7 @@ ClangFormatSettings::Mode getProjectIndentationOrFormattingSettings(
ClangFormatSettings::Mode getCurrentIndentationOrFormattingSettings(const Utils::FilePath &filePath)
{
- const ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(
+ const ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(
filePath);
return getProjectUseGlobalSettings(project)
@@ -264,7 +264,7 @@ Utils::FilePath configForFile(const Utils::FilePath &fileName)
return findConfig(fileName);
const ProjectExplorer::Project *projectForFile
- = ProjectExplorer::SessionManager::projectForFile(fileName);
+ = ProjectExplorer::ProjectManager::projectForFile(fileName);
const TextEditor::ICodeStylePreferences *preferences
= projectForFile
diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp
index afe60be7dc8..bf13622b590 100644
--- a/src/plugins/clangtools/clangtool.cpp
+++ b/src/plugins/clangtools/clangtool.cpp
@@ -34,7 +34,7 @@
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectexplorericons.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/taskhub.h>
@@ -342,7 +342,7 @@ static FileInfos sortedFileInfos(const QVector<CppEditor::ProjectPart::ConstPtr>
static RunSettings runSettings()
{
- if (Project *project = SessionManager::startupProject()) {
+ if (Project *project = ProjectManager::startupProject()) {
const auto projectSettings = ClangToolsProjectSettings::getSettings(project);
if (!projectSettings->useGlobalSettings())
return projectSettings->runSettings();
@@ -611,7 +611,7 @@ void ClangTool::startTool(ClangTool::FileSelection fileSelection,
const RunSettings &runSettings,
const CppEditor::ClangDiagnosticConfig &diagnosticConfig)
{
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
QTC_ASSERT(project, return);
QTC_ASSERT(project->activeTarget(), return);
@@ -870,7 +870,7 @@ static CheckResult canAnalyze()
Tr::tr("Set a valid Clazy-Standalone executable.")};
}
- if (Project *project = SessionManager::startupProject()) {
+ if (Project *project = ProjectManager::startupProject()) {
if (!canAnalyzeProject(project)) {
return {CheckResult::ProjectNotSuitable,
Tr::tr("Project \"%1\" is not a C/C++ project.")
diff --git a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp
index 39329c79f14..e0b797a1e0a 100644
--- a/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp
+++ b/src/plugins/clangtools/clangtoolsdiagnosticmodel.cpp
@@ -10,14 +10,14 @@
#include "diagnosticmark.h"
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+
#include <texteditor/textmark.h>
#include <utils/fsengine/fileiconprovider.h>
#include <utils/qtcassert.h>
#include <utils/utilsicons.h>
-#include <QFileInfo>
#include <QLoggingCategory>
#include <tuple>
@@ -484,8 +484,8 @@ DiagnosticFilterModel::DiagnosticFilterModel(QObject *parent)
{
// So that when a user closes and re-opens a project and *then* clicks "Suppress",
// we enter that information into the project settings.
- connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::projectAdded, this,
+ connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::projectAdded, this,
[this](ProjectExplorer::Project *project) {
if (!m_project && project->projectDirectory() == m_lastProjectDirectory)
setProject(project);
diff --git a/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp b/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp
index 4b43fbc3e0d..4d4b34c1ef8 100644
--- a/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp
+++ b/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp
@@ -5,15 +5,17 @@
#include "clangtool.h"
#include "clangtoolsdiagnostic.h"
-#include "clangtoolsutils.h"
#include <coreplugin/icore.h>
+
#include <cppeditor/compileroptionsbuilder.h>
#include <cppeditor/projectinfo.h>
+
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
@@ -55,8 +57,8 @@ public:
WaitForParsedProjects(const FilePaths &projects)
: m_projectsToWaitFor(projects)
{
- connect(SessionManager::instance(),
- &ProjectExplorer::SessionManager::projectFinishedParsing,
+ connect(ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::projectFinishedParsing,
this, &WaitForParsedProjects::onProjectFinishedParsing);
}
@@ -87,9 +89,9 @@ void PreconfiguredSessionTests::initTestCase()
QSKIP("Session must not be already active.");
// Load session
- const FilePaths projects = SessionManager::projectsForSessionName(preconfiguredSessionName);
+ const FilePaths projects = ProjectManager::projectsForSessionName(preconfiguredSessionName);
WaitForParsedProjects waitForParsedProjects(projects);
- QVERIFY(SessionManager::loadSession(preconfiguredSessionName));
+ QVERIFY(ProjectManager::loadSession(preconfiguredSessionName));
QVERIFY(waitForParsedProjects.wait());
}
@@ -175,7 +177,7 @@ void PreconfiguredSessionTests::testPreconfiguredSession_data()
bool hasAddedTestData = false;
- for (Project *project : validProjects(SessionManager::projects())) {
+ for (Project *project : validProjects(ProjectManager::projects())) {
for (Target *target : validTargets(project)) {
hasAddedTestData = true;
QTest::newRow(dataTagName(project, target)) << project << target;
@@ -189,17 +191,17 @@ void PreconfiguredSessionTests::testPreconfiguredSession_data()
bool PreconfiguredSessionTests::switchToProjectAndTarget(Project *project,
Target *target)
{
- Project * const activeProject = SessionManager::startupProject();
+ Project * const activeProject = ProjectManager::startupProject();
if (project == activeProject && target == activeProject->activeTarget())
return true; // OK, desired project/target already active.
if (project != activeProject)
- SessionManager::setStartupProject(project);
+ ProjectManager::setStartupProject(project);
if (target != project->activeTarget()) {
- QSignalSpy spyFinishedParsing(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::projectFinishedParsing);
- SessionManager::setActiveTarget(project, target, ProjectExplorer::SetActive::NoCascade);
+ QSignalSpy spyFinishedParsing(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::projectFinishedParsing);
+ project->setActiveTarget(target, ProjectExplorer::SetActive::NoCascade);
QTC_ASSERT(spyFinishedParsing.wait(30000), return false);
const QVariant projectArgument = spyFinishedParsing.takeFirst().constFirst();
diff --git a/src/plugins/clangtools/clangtoolsprojectsettings.cpp b/src/plugins/clangtools/clangtoolsprojectsettings.cpp
index cde1731acbd..581a8ca57b6 100644
--- a/src/plugins/clangtools/clangtoolsprojectsettings.cpp
+++ b/src/plugins/clangtools/clangtoolsprojectsettings.cpp
@@ -4,7 +4,7 @@
#include "clangtoolsprojectsettings.h"
#include "clangtoolsdiagnostic.h"
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
diff --git a/src/plugins/clangtools/diagnosticconfigswidget.cpp b/src/plugins/clangtools/diagnosticconfigswidget.cpp
index 1d160befa22..a2b55be1b4b 100644
--- a/src/plugins/clangtools/diagnosticconfigswidget.cpp
+++ b/src/plugins/clangtools/diagnosticconfigswidget.cpp
@@ -14,8 +14,8 @@
#include <cppeditor/cppeditorconstants.h>
#include <cppeditor/cpptoolsreuse.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/selectablefilesmodel.h>
-#include <projectexplorer/session.h>
#include <utils/algorithm.h>
#include <utils/fancylineedit.h>
@@ -1294,7 +1294,7 @@ void disableChecks(const QList<Diagnostic> &diagnostics)
Utils::Id activeConfigId = settings->runSettings().diagnosticConfigId();
ClangToolsProjectSettings::ClangToolsProjectSettingsPtr projectSettings;
- if (ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(
+ if (ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(
diagnostics.first().location.filePath)) {
projectSettings = ClangToolsProjectSettings::getSettings(project);
if (!projectSettings->useGlobalSettings())
diff --git a/src/plugins/clangtools/documentclangtoolrunner.cpp b/src/plugins/clangtools/documentclangtoolrunner.cpp
index 81a7e8f5444..6a08b579f18 100644
--- a/src/plugins/clangtools/documentclangtoolrunner.cpp
+++ b/src/plugins/clangtools/documentclangtoolrunner.cpp
@@ -18,7 +18,7 @@
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildtargettype.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <texteditor/textdocument.h>
@@ -97,8 +97,8 @@ void DocumentClangToolRunner::scheduleRun()
static Project *findProject(const FilePath &file)
{
- Project *project = SessionManager::projectForFile(file);
- return project ? project : SessionManager::startupProject();
+ Project *project = ProjectManager::projectForFile(file);
+ return project ? project : ProjectManager::startupProject();
}
static VirtualFileSystemOverlay &vfso()
diff --git a/src/plugins/classview/classviewmanager.cpp b/src/plugins/classview/classviewmanager.cpp
index a98cec70442..7f4eeb955c6 100644
--- a/src/plugins/classview/classviewmanager.cpp
+++ b/src/plugins/classview/classviewmanager.cpp
@@ -8,8 +8,11 @@
#include <cppeditor/cppeditorconstants.h>
#include <cppeditor/cppmodelmanager.h>
+
#include <coreplugin/progressmanager/progressmanager.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+
#include <texteditor/texteditor.h>
#include <QThread>
@@ -90,7 +93,7 @@ void ManagerPrivate::resetParser()
cancelScheduledUpdate();
QHash<FilePath, QPair<QString, FilePaths>> projectData;
- for (const Project *project : SessionManager::projects()) {
+ for (const Project *project : ProjectManager::projects()) {
projectData.insert(project->projectFilePath(),
{project->displayName(), project->files(Project::SourceFiles)});
}
@@ -201,8 +204,8 @@ void Manager::initialize()
d->m_timer.setSingleShot(true);
// connections to enable/disable navi widget factory
- SessionManager *sessionManager = SessionManager::instance();
- connect(sessionManager, &SessionManager::projectAdded,
+ ProjectManager *sessionManager = ProjectManager::instance();
+ connect(sessionManager, &ProjectManager::projectAdded,
this, [this](Project *project) {
const FilePath projectPath = project->projectFilePath();
const QString projectName = project->displayName();
@@ -211,7 +214,7 @@ void Manager::initialize()
d->m_parser->addProject(projectPath, projectName, projectFiles);
}, Qt::QueuedConnection);
});
- connect(sessionManager, &SessionManager::projectRemoved,
+ connect(sessionManager, &ProjectManager::projectRemoved,
this, [this](Project *project) {
const FilePath projectPath = project->projectFilePath();
QMetaObject::invokeMethod(d->m_parser, [this, projectPath]() {
diff --git a/src/plugins/classview/classviewparsertreeitem.cpp b/src/plugins/classview/classviewparsertreeitem.cpp
index 1d97d0c013b..787b63b3c84 100644
--- a/src/plugins/classview/classviewparsertreeitem.cpp
+++ b/src/plugins/classview/classviewparsertreeitem.cpp
@@ -7,9 +7,11 @@
#include <cplusplus/Icons.h>
#include <cplusplus/Overview.h>
+
#include <projectexplorer/project.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <QDebug>
#include <QHash>
@@ -261,7 +263,7 @@ bool ParserTreeItem::canFetchMore(QStandardItem *item) const
*/
void ParserTreeItem::fetchMore(QStandardItem *item) const
{
- using ProjectExplorer::SessionManager;
+ using ProjectExplorer::ProjectManager;
if (!item)
return;
@@ -283,7 +285,7 @@ void ParserTreeItem::fetchMore(QStandardItem *item) const
// icon
const Utils::FilePath &filePath = ptr->projectFilePath();
if (!filePath.isEmpty()) {
- ProjectExplorer::Project *project = SessionManager::projectForFile(filePath);
+ ProjectExplorer::Project *project = ProjectManager::projectForFile(filePath);
if (project)
add->setIcon(project->containerNode()->icon());
}
diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp
index de884452be6..83db3d6919e 100644
--- a/src/plugins/clearcase/clearcaseplugin.cpp
+++ b/src/plugins/clearcase/clearcaseplugin.cpp
@@ -27,7 +27,7 @@
#include <texteditor/textdocument.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <utils/hostosinfo.h>
@@ -595,7 +595,7 @@ ClearCasePluginPrivate::ClearCasePluginPrivate()
m_settings.fromSettings(ICore::settings());
// update view name when changing active project
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &ClearCasePluginPrivate::projectChanged);
const QString description = QLatin1String("ClearCase");
@@ -2124,7 +2124,7 @@ void ClearCasePluginPrivate::updateIndex()
{
QTC_ASSERT(currentState().hasTopLevel(), return);
ProgressManager::cancelTasks(ClearCase::Constants::TASK_INDEX);
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
if (!project)
return;
m_checkInAllAction->setEnabled(false);
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index 7c0f6227ff9..459abb122ea 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -41,7 +41,7 @@
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectexplorertr.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/taskhub.h>
diff --git a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp
index 325a6012a53..01fbeaa2329 100644
--- a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp
@@ -8,8 +8,9 @@
#include "cmaketool.h"
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
+
#include <texteditor/codeassist/assistinterface.h>
#include <QFileInfo>
@@ -39,7 +40,7 @@ IAssistProposal *CMakeFileCompletionAssist::performAsync()
Keywords kw;
const Utils::FilePath &filePath = interface()->filePath();
if (!filePath.isEmpty() && filePath.toFileInfo().isFile()) {
- Project *p = SessionManager::projectForFile(filePath);
+ Project *p = ProjectManager::projectForFile(filePath);
if (p && p->activeTarget()) {
CMakeTool *cmake = CMakeKitAspect::cmakeTool(p->activeTarget()->kit());
if (cmake && cmake->isValid())
diff --git a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp
index 225217490cb..65b179cdf00 100644
--- a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp
@@ -12,7 +12,7 @@
#include <projectexplorer/buildmanager.h>
#include <projectexplorer/buildsteplist.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/algorithm.h>
@@ -29,9 +29,9 @@ namespace CMakeProjectManager::Internal {
CMakeTargetLocatorFilter::CMakeTargetLocatorFilter()
{
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, &CMakeTargetLocatorFilter::projectListUpdated);
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
this, &CMakeTargetLocatorFilter::projectListUpdated);
// Initialize the filter
@@ -41,7 +41,7 @@ CMakeTargetLocatorFilter::CMakeTargetLocatorFilter()
void CMakeTargetLocatorFilter::prepareSearch(const QString &entry)
{
m_result.clear();
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
for (Project *p : projects) {
auto cmakeProject = qobject_cast<const CMakeProject *>(p);
if (!cmakeProject || !cmakeProject->activeTarget())
@@ -87,7 +87,7 @@ QList<LocatorFilterEntry> CMakeTargetLocatorFilter::matchesFor(
void CMakeTargetLocatorFilter::projectListUpdated()
{
// Enable the filter if there's at least one CMake project
- setEnabled(Utils::contains(SessionManager::projects(),
+ setEnabled(Utils::contains(ProjectManager::projects(),
[](Project *p) { return qobject_cast<CMakeProject *>(p); }));
}
@@ -116,7 +116,7 @@ void BuildCMakeTargetLocatorFilter::accept(const LocatorFilterEntry &selection,
// Get the project containing the target selected
const auto cmakeProject = qobject_cast<CMakeProject *>(
- Utils::findOrDefault(SessionManager::projects(), [projectPath](Project *p) {
+ Utils::findOrDefault(ProjectManager::projects(), [projectPath](Project *p) {
return p->projectFilePath() == projectPath;
}));
if (!cmakeProject || !cmakeProject->activeTarget()
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
index e05e155cf6f..95baccee1e9 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
@@ -16,12 +16,14 @@
#include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/icore.h>
#include <coreplugin/messagemanager.h>
+
#include <cppeditor/cpptoolsreuse.h>
+
#include <projectexplorer/buildmanager.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <utils/parameteraction.h>
@@ -59,7 +61,7 @@ CMakeManager::CMakeManager()
command->setAttribute(Core::Command::CA_Hide);
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD);
connect(m_runCMakeAction, &QAction::triggered, this, [this] {
- runCMake(SessionManager::startupBuildSystem());
+ runCMake(ProjectManager::startupBuildSystem());
});
command = Core::ActionManager::registerAction(m_clearCMakeCacheAction,
@@ -68,7 +70,7 @@ CMakeManager::CMakeManager()
command->setAttribute(Core::Command::CA_Hide);
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD);
connect(m_clearCMakeCacheAction, &QAction::triggered, this, [this] {
- clearCMakeCache(SessionManager::startupBuildSystem());
+ clearCMakeCache(ProjectManager::startupBuildSystem());
});
command = Core::ActionManager::registerAction(m_runCMakeActionContextMenu,
@@ -111,7 +113,7 @@ CMakeManager::CMakeManager()
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD);
connect(m_buildFileAction, &QAction::triggered, this, [this] { buildFile(); });
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged, this, [this] {
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged, this, [this] {
updateCmakeActions(ProjectTree::currentNode());
});
connect(BuildManager::instance(), &BuildManager::buildStateChanged, this, [this] {
@@ -127,7 +129,7 @@ CMakeManager::CMakeManager()
void CMakeManager::updateCmakeActions(Node *node)
{
- auto project = qobject_cast<CMakeProject *>(SessionManager::startupProject());
+ auto project = qobject_cast<CMakeProject *>(ProjectManager::startupProject());
const bool visible = project && !BuildManager::isBuilding(project);
m_runCMakeAction->setVisible(visible);
m_runCMakeActionContextMenu->setEnabled(visible);
diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp
index fc1da70ca75..13f03c0ed31 100644
--- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp
+++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseprojectmanagerplugin.cpp
@@ -15,7 +15,7 @@
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/fsengine/fileiconprovider.h>
#include <utils/parameteraction.h>
@@ -72,7 +72,7 @@ void CompilationDatabaseProjectManagerPlugin::initialize()
d->changeRootAction.setEnabled(currentProject);
};
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, onProjectChanged);
connect(ProjectTree::instance(), &ProjectTree::currentProjectChanged,
diff --git a/src/plugins/conan/conanplugin.cpp b/src/plugins/conan/conanplugin.cpp
index ef42d348f86..3844b2983bd 100644
--- a/src/plugins/conan/conanplugin.cpp
+++ b/src/plugins/conan/conanplugin.cpp
@@ -13,8 +13,8 @@
#include <projectexplorer/buildmanager.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
using namespace Core;
@@ -39,7 +39,7 @@ void ConanPlugin::initialize()
d = new ConanPluginPrivate;
conanSettings()->readSettings(ICore::settings());
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, &ConanPlugin::projectAdded);
}
diff --git a/src/plugins/cppcheck/cppcheckplugin.cpp b/src/plugins/cppcheck/cppcheckplugin.cpp
index 5dd09a1820b..8d44f0dda56 100644
--- a/src/plugins/cppcheck/cppcheckplugin.cpp
+++ b/src/plugins/cppcheck/cppcheckplugin.cpp
@@ -16,7 +16,7 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <coreplugin/actionmanager/actioncontainer.h>
@@ -97,8 +97,9 @@ CppcheckPluginPrivate::CppcheckPluginPrivate()
}
}
-void CppcheckPluginPrivate::startManualRun() {
- auto project = ProjectExplorer::SessionManager::startupProject();
+void CppcheckPluginPrivate::startManualRun()
+{
+ auto project = ProjectExplorer::ProjectManager::startupProject();
if (!project)
return;
@@ -121,8 +122,8 @@ void CppcheckPluginPrivate::startManualRun() {
void CppcheckPluginPrivate::updateManualRunAction()
{
using namespace ProjectExplorer;
- const Project *project = SessionManager::startupProject();
- const Target *target = SessionManager::startupTarget();
+ const Project *project = ProjectManager::startupProject();
+ const Target *target = ProjectManager::startupTarget();
const Utils::Id cxx = ProjectExplorer::Constants::CXX_LANGUAGE_ID;
const bool canRun = target && project->projectLanguages().contains(cxx)
&& ToolChainKitAspect::cxxToolChain(target->kit());
diff --git a/src/plugins/cppcheck/cppchecktrigger.cpp b/src/plugins/cppcheck/cppchecktrigger.cpp
index 55b1cf7ac01..8be098df558 100644
--- a/src/plugins/cppcheck/cppchecktrigger.cpp
+++ b/src/plugins/cppcheck/cppchecktrigger.cpp
@@ -13,7 +13,7 @@
#include <coreplugin/editormanager/ieditor.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
using namespace Core;
using namespace ProjectExplorer;
@@ -34,7 +34,7 @@ CppcheckTrigger::CppcheckTrigger(CppcheckTextMarkManager &marks, CppcheckTool &t
connect(EditorManager::instance(), &EditorManager::aboutToSave,
this, &CppcheckTrigger::checkChangedDocument);
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &CppcheckTrigger::changeCurrentProject);
connect(CppModelManager::instance(), &CppModelManager::projectPartsUpdated,
diff --git a/src/plugins/cppeditor/baseeditordocumentprocessor.cpp b/src/plugins/cppeditor/baseeditordocumentprocessor.cpp
index ca344aa6c7c..98784a1fb94 100644
--- a/src/plugins/cppeditor/baseeditordocumentprocessor.cpp
+++ b/src/plugins/cppeditor/baseeditordocumentprocessor.cpp
@@ -8,7 +8,8 @@
#include "cpptoolsreuse.h"
#include "editordocumenthandle.h"
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+
#include <texteditor/quickfix.h>
namespace CppEditor {
@@ -37,7 +38,7 @@ void BaseEditorDocumentProcessor::run(bool projectsUpdated)
: Utils::Language::Cxx;
runImpl({CppModelManager::instance()->workingCopy(),
- ProjectExplorer::SessionManager::startupProject(),
+ ProjectExplorer::ProjectManager::startupProject(),
languagePreference,
projectsUpdated});
}
diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp
index e4b567b7326..b871010a0a4 100644
--- a/src/plugins/cppeditor/cppcodemodelsettings.cpp
+++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp
@@ -9,6 +9,7 @@
#include "cpptoolsreuse.h"
#include <coreplugin/icore.h>
+
#include <projectexplorer/project.h>
#include <projectexplorer/session.h>
diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp
index 20fe8e6254b..44f9e01a017 100644
--- a/src/plugins/cppeditor/cppeditorwidget.cpp
+++ b/src/plugins/cppeditor/cppeditorwidget.cpp
@@ -30,9 +30,9 @@
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/extracompiler.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <texteditor/basefilefind.h>
@@ -755,7 +755,7 @@ void CppEditorWidget::showRenameWarningIfFileIsGenerated(const Utils::FilePath &
{
if (filePath.isEmpty())
return;
- for (const Project * const project : SessionManager::projects()) {
+ for (const Project * const project : ProjectManager::projects()) {
const Node * const node = project->nodeForFilePath(filePath);
if (!node)
continue;
@@ -989,7 +989,7 @@ void CppEditorWidget::findLinkAt(const QTextCursor &cursor,
const QString fileName = filePath.fileName();
if (fileName.startsWith("ui_") && fileName.endsWith(".h")) {
const QString uiFileName = fileName.mid(3, fileName.length() - 4) + "ui";
- for (const Project * const project : SessionManager::projects()) {
+ for (const Project * const project : ProjectManager::projects()) {
const auto nodeMatcher = [uiFileName](Node *n) {
return n->filePath().fileName() == uiFileName;
};
diff --git a/src/plugins/cppeditor/cppfindreferences.cpp b/src/plugins/cppeditor/cppfindreferences.cpp
index 940eb358e93..c553a5124b5 100644
--- a/src/plugins/cppeditor/cppfindreferences.cpp
+++ b/src/plugins/cppeditor/cppfindreferences.cpp
@@ -10,14 +10,18 @@
#include "cpptoolsreuse.h"
#include "cppworkingcopy.h"
+#include <cplusplus/Overview.h>
+
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h>
#include <coreplugin/progressmanager/futureprogress.h>
#include <coreplugin/progressmanager/progressmanager.h>
+
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
+
#include <texteditor/basefilefind.h>
#include <utils/algorithm.h>
@@ -25,10 +29,8 @@
#include <utils/runextensions.h>
#include <utils/textfileformat.h>
-#include <cplusplus/Overview.h>
#include <QtConcurrentMap>
#include <QCheckBox>
-#include <QDir>
#include <QFutureWatcher>
#include <QVBoxLayout>
@@ -577,7 +579,7 @@ static void displayResults(SearchResult *search,
item.setStyle(colorStyleForUsageType(result.tags));
item.setUseTextEditorFont(true);
if (search->supportsReplace())
- item.setSelectForReplacement(SessionManager::projectForFile(result.path));
+ item.setSelectForReplacement(ProjectManager::projectForFile(result.path));
search->addResult(item);
if (parameters.prettySymbolName.isEmpty())
@@ -586,7 +588,7 @@ static void displayResults(SearchResult *search,
if (parameters.filesToRename.contains(result.path))
continue;
- if (!SessionManager::projectForFile(result.path))
+ if (!ProjectManager::projectForFile(result.path))
continue;
if (result.path.baseName().compare(parameters.prettySymbolName, Qt::CaseInsensitive) == 0)
@@ -766,7 +768,7 @@ void CppFindReferences::findMacroUses(const CPlusPlus::Macro &macro, const QStri
item.setMainRange(macro.line(), column, macro.nameToQString().length());
item.setUseTextEditorFont(true);
if (search->supportsReplace())
- item.setSelectForReplacement(SessionManager::projectForFile(filePath));
+ item.setSelectForReplacement(ProjectManager::projectForFile(filePath));
search->addResult(item);
}
diff --git a/src/plugins/cppeditor/cppincludesfilter.cpp b/src/plugins/cppeditor/cppincludesfilter.cpp
index 9f637f6582b..970e179fc00 100644
--- a/src/plugins/cppeditor/cppincludesfilter.cpp
+++ b/src/plugins/cppeditor/cppincludesfilter.cpp
@@ -7,11 +7,13 @@
#include "cppeditortr.h"
#include "cppmodelmanager.h"
-#include <cplusplus/CppDocument.h>
#include <coreplugin/editormanager/documentmodel.h>
+
+#include <cplusplus/CppDocument.h>
+
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
using namespace Core;
using namespace ProjectExplorer;
@@ -128,7 +130,7 @@ void CppIncludesFilter::prepareSearch(const QString &entry)
if (m_needsUpdate) {
m_needsUpdate = false;
QSet<FilePath> seedPaths;
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
const FilePaths allFiles = project->files(Project::SourceFiles);
for (const FilePath &filePath : allFiles )
seedPaths.insert(filePath);
diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp
index 373773786a9..36d70882920 100644
--- a/src/plugins/cppeditor/cppmodelmanager.cpp
+++ b/src/plugins/cppeditor/cppmodelmanager.cpp
@@ -37,9 +37,11 @@
#include <coreplugin/progressmanager/futureprogress.h>
#include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/vcsmanager.h>
+
#include <cplusplus/ASTPath.h>
#include <cplusplus/ExpressionUnderCursor.h>
#include <cplusplus/TypeOfExpression.h>
+
#include <extensionsystem/pluginmanager.h>
#include <projectexplorer/buildconfiguration.h>
@@ -49,6 +51,7 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectmacro.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
@@ -577,7 +580,7 @@ void CppModelManager::findUnusedFunctions(const FilePath &folder)
if (link.hasValidTarget() && link.targetFilePath.isReadableFile()
&& (folder.isEmpty() || link.targetFilePath.isChildOf(folder))
- && SessionManager::projectForFile(link.targetFilePath)) {
+ && ProjectManager::projectForFile(link.targetFilePath)) {
links << link;
}
}
@@ -938,14 +941,14 @@ CppModelManager::CppModelManager()
d->m_delayedGcTimer.setSingleShot(true);
connect(&d->m_delayedGcTimer, &QTimer::timeout, this, &CppModelManager::GC);
- auto sessionManager = SessionManager::instance();
- connect(sessionManager, &SessionManager::projectAdded,
+ auto projectManager = ProjectManager::instance();
+ connect(projectManager, &ProjectManager::projectAdded,
this, &CppModelManager::onProjectAdded);
- connect(sessionManager, &SessionManager::aboutToRemoveProject,
+ connect(projectManager, &ProjectManager::aboutToRemoveProject,
this, &CppModelManager::onAboutToRemoveProject);
- connect(sessionManager, &SessionManager::aboutToLoadSession,
+ connect(SessionManager::instance(), &SessionManager::aboutToLoadSession,
this, &CppModelManager::onAboutToLoadSession);
- connect(sessionManager, &SessionManager::startupProjectChanged,
+ connect(projectManager, &ProjectManager::startupProjectChanged,
this, &CppModelManager::onActiveProjectChanged);
connect(EditorManager::instance(), &EditorManager::currentEditorChanged,
diff --git a/src/plugins/cppeditor/cppmodelmanager_test.cpp b/src/plugins/cppeditor/cppmodelmanager_test.cpp
index 97d13d0704c..eaa2ef142d8 100644
--- a/src/plugins/cppeditor/cppmodelmanager_test.cpp
+++ b/src/plugins/cppeditor/cppmodelmanager_test.cpp
@@ -18,7 +18,7 @@
#include <cplusplus/LookupContext.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/executeondestruction.h>
#include <utils/hostosinfo.h>
diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp
index 3dae225cea3..8ae20d1c5a0 100644
--- a/src/plugins/cppeditor/cppquickfixes.cpp
+++ b/src/plugins/cppeditor/cppquickfixes.cpp
@@ -33,7 +33,7 @@
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <utils/basetreeview.h>
@@ -7986,7 +7986,7 @@ private:
}
};
- if (const Project *project = SessionManager::projectForFile(filePath())) {
+ if (const Project *project = ProjectManager::projectForFile(filePath())) {
const FilePaths files = project->files(ProjectExplorer::Project::SourceFiles);
QSet<FilePath> projectFiles(files.begin(), files.end());
for (const auto &file : files) {
diff --git a/src/plugins/cppeditor/cpptoolsjsextension.cpp b/src/plugins/cppeditor/cpptoolsjsextension.cpp
index a3cbfe12041..b70328601ee 100644
--- a/src/plugins/cppeditor/cpptoolsjsextension.cpp
+++ b/src/plugins/cppeditor/cpptoolsjsextension.cpp
@@ -10,12 +10,13 @@
#include <coreplugin/icore.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
-#include <projectexplorer/session.h>
#include <cplusplus/AST.h>
#include <cplusplus/ASTPath.h>
#include <cplusplus/Overview.h>
+
#include <utils/codegeneration.h>
#include <utils/fileutils.h>
@@ -234,7 +235,7 @@ QString CppToolsJsExtension::includeStatement(
}
return false;
};
- for (const Project * const p : SessionManager::projects()) {
+ for (const Project * const p : ProjectManager::projects()) {
const Node *theNode = p->rootProjectNode()->findNode(nodeMatchesFileName);
if (theNode) {
const bool sameDir = pathOfIncludingFile == theNode->filePath().toFileInfo().path();
diff --git a/src/plugins/cppeditor/cpptoolsreuse.cpp b/src/plugins/cppeditor/cpptoolsreuse.cpp
index 7d17e30e4bc..912902c0c9c 100644
--- a/src/plugins/cppeditor/cpptoolsreuse.cpp
+++ b/src/plugins/cppeditor/cpptoolsreuse.cpp
@@ -21,7 +21,9 @@
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/idocument.h>
#include <coreplugin/messagemanager.h>
-#include <projectexplorer/session.h>
+
+#include <projectexplorer/projectmanager.h>
+
#include <texteditor/codeassist/assistinterface.h>
#include <texteditor/textdocument.h>
@@ -29,6 +31,7 @@
#include <cplusplus/LookupContext.h>
#include <cplusplus/Overview.h>
#include <cplusplus/SimpleLexer.h>
+
#include <utils/algorithm.h>
#include <utils/textutils.h>
#include <utils/qtcassert.h>
@@ -596,12 +599,12 @@ NamespaceAST *NSCheckerVisitor::currentNamespace()
ProjectExplorer::Project *projectForProjectPart(const ProjectPart &part)
{
- return ProjectExplorer::SessionManager::projectWithProjectFilePath(part.topLevelProject);
+ return ProjectExplorer::ProjectManager::projectWithProjectFilePath(part.topLevelProject);
}
ProjectExplorer::Project *projectForProjectInfo(const ProjectInfo &info)
{
- return ProjectExplorer::SessionManager::projectWithProjectFilePath(info.projectFilePath());
+ return ProjectExplorer::ProjectManager::projectWithProjectFilePath(info.projectFilePath());
}
void openEditor(const Utils::FilePath &filePath, bool inNextSplit, Utils::Id editorId)
diff --git a/src/plugins/cppeditor/cpptoolstestcase.cpp b/src/plugins/cppeditor/cpptoolstestcase.cpp
index b7124b01ca4..2d149b3ff5d 100644
--- a/src/plugins/cppeditor/cpptoolstestcase.cpp
+++ b/src/plugins/cppeditor/cpptoolstestcase.cpp
@@ -18,7 +18,7 @@
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/texteditor.h>
#include <texteditor/codeassist/iassistproposal.h>
@@ -348,8 +348,8 @@ bool TestCase::waitUntilProjectIsFullyOpened(Project *project, int timeOutInMs)
return QTest::qWaitFor(
[project]() {
- return SessionManager::startupBuildSystem()
- && !SessionManager::startupBuildSystem()->isParsing()
+ return ProjectManager::startupBuildSystem()
+ && !ProjectManager::startupBuildSystem()->isParsing()
&& CppModelManager::instance()->projectInfo(project);
},
timeOutInMs);
@@ -367,7 +367,7 @@ bool TestCase::writeFile(const FilePath &filePath, const QByteArray &contents)
ProjectOpenerAndCloser::ProjectOpenerAndCloser()
{
- QVERIFY(!SessionManager::hasProjects());
+ QVERIFY(!ProjectManager::hasProjects());
}
ProjectOpenerAndCloser::~ProjectOpenerAndCloser()
diff --git a/src/plugins/cppeditor/generatedcodemodelsupport.cpp b/src/plugins/cppeditor/generatedcodemodelsupport.cpp
index 400e77fb378..22a9b2735eb 100644
--- a/src/plugins/cppeditor/generatedcodemodelsupport.cpp
+++ b/src/plugins/cppeditor/generatedcodemodelsupport.cpp
@@ -13,7 +13,7 @@
#include <projectexplorer/extracompiler.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/algorithm.h>
diff --git a/src/plugins/cppeditor/modelmanagertesthelper.cpp b/src/plugins/cppeditor/modelmanagertesthelper.cpp
index f4114c33b27..a133ac7fef2 100644
--- a/src/plugins/cppeditor/modelmanagertesthelper.cpp
+++ b/src/plugins/cppeditor/modelmanagertesthelper.cpp
@@ -6,7 +6,7 @@
#include "cpptoolstestcase.h"
#include "projectinfo.h"
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
@@ -59,7 +59,7 @@ void ModelManagerTestHelper::cleanup()
CppModelManager *mm = CppModelManager::instance();
QList<ProjectInfo::ConstPtr> pies = mm->projectInfos();
for (Project * const p : std::as_const(m_projects)) {
- ProjectExplorer::SessionManager::removeProject(p);
+ ProjectExplorer::ProjectManager::removeProject(p);
emit aboutToRemoveProject(p);
}
@@ -72,7 +72,7 @@ ModelManagerTestHelper::Project *ModelManagerTestHelper::createProject(
{
auto tp = new TestProject(name, this, filePath);
m_projects.push_back(tp);
- ProjectExplorer::SessionManager::addProject(tp);
+ ProjectExplorer::ProjectManager::addProject(tp);
emit projectAdded(tp);
return tp;
}
diff --git a/src/plugins/cppeditor/symbolsfindfilter.cpp b/src/plugins/cppeditor/symbolsfindfilter.cpp
index 3b901715b2c..0317d0ee98d 100644
--- a/src/plugins/cppeditor/symbolsfindfilter.cpp
+++ b/src/plugins/cppeditor/symbolsfindfilter.cpp
@@ -12,9 +12,10 @@
#include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/find/searchresultwindow.h>
+
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <utils/runextensions.h>
@@ -108,7 +109,7 @@ void SymbolsFindFilter::startSearch(SearchResult *search)
SymbolSearcher::Parameters parameters = search->userData().value<SymbolSearcher::Parameters>();
QSet<QString> projectFileNames;
if (parameters.scope == SymbolSearcher::SearchProjectsOnly) {
- for (ProjectExplorer::Project *project : ProjectExplorer::SessionManager::projects())
+ for (ProjectExplorer::Project *project : ProjectExplorer::ProjectManager::projects())
projectFileNames += Utils::transform<QSet>(project->files(ProjectExplorer::Project::AllFiles), &Utils::FilePath::toString);
}
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 8ab67c0bc54..e8c14d4dccf 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -67,9 +67,10 @@
#include <projectexplorer/projectexplorericons.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectexplorersettings.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
#include <projectexplorer/runconfiguration.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/taskhub.h>
#include <projectexplorer/toolchain.h>
@@ -1187,7 +1188,7 @@ DebuggerPluginPrivate::DebuggerPluginPrivate(const QStringList &arguments)
setInitialState();
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &DebuggerPluginPrivate::onStartupProjectChanged);
connect(EngineManager::instance(), &EngineManager::engineStateChanged,
this, &DebuggerPluginPrivate::updatePresetState);
@@ -1394,8 +1395,8 @@ void DebuggerPluginPrivate::updatePresetState()
if (m_shuttingDown)
return;
- Project *startupProject = SessionManager::startupProject();
- RunConfiguration *startupRunConfig = SessionManager::startupRunConfiguration();
+ Project *startupProject = ProjectManager::startupProject();
+ RunConfiguration *startupRunConfig = ProjectManager::startupRunConfiguration();
DebuggerEngine *currentEngine = EngineManager::currentEngine();
QString whyNot;
@@ -1997,7 +1998,7 @@ void DebuggerPluginPrivate::aboutToShutdown()
{
m_shuttingDown = true;
- disconnect(SessionManager::instance(), &SessionManager::startupProjectChanged, this, nullptr);
+ disconnect(ProjectManager::instance(), &ProjectManager::startupProjectChanged, this, nullptr);
m_shutdownTimer.setInterval(0);
m_shutdownTimer.setSingleShot(true);
@@ -2165,7 +2166,7 @@ static bool buildTypeAccepted(QFlags<ToolMode> toolMode, BuildConfiguration::Bui
static BuildConfiguration::BuildType startupBuildType()
{
BuildConfiguration::BuildType buildType = BuildConfiguration::Unknown;
- if (RunConfiguration *runConfig = SessionManager::startupRunConfiguration()) {
+ if (RunConfiguration *runConfig = ProjectManager::startupRunConfiguration()) {
if (const BuildConfiguration *buildConfig = runConfig->target()->activeBuildConfiguration())
buildType = buildConfig->buildType();
}
@@ -2335,12 +2336,12 @@ void DebuggerUnitTests::testStateMachine()
QEventLoop loop;
connect(BuildManager::instance(), &BuildManager::buildQueueFinished,
&loop, &QEventLoop::quit);
- BuildManager::buildProjectWithDependencies(SessionManager::startupProject());
+ BuildManager::buildProjectWithDependencies(ProjectManager::startupProject());
loop.exec();
ExecuteOnDestruction guard([] { EditorManager::closeAllEditors(false); });
- RunConfiguration *rc = SessionManager::startupRunConfiguration();
+ RunConfiguration *rc = ProjectManager::startupRunConfiguration();
QVERIFY(rc);
auto runControl = new RunControl(ProjectExplorer::Constants::DEBUG_RUN_MODE);
diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp
index 8b6ac29c995..3a5d84d3b6b 100644
--- a/src/plugins/debugger/debuggerruncontrol.cpp
+++ b/src/plugins/debugger/debuggerruncontrol.cpp
@@ -23,8 +23,9 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorericons.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/runconfigurationaspects.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/taskhub.h>
#include <projectexplorer/toolchain.h>
@@ -182,8 +183,8 @@ void DebuggerRunTool::setStartMode(DebuggerStartMode startMode)
// FIXME: This is horribly wrong.
// get files from all the projects in the session
- QList<Project *> projects = SessionManager::projects();
- if (Project *startupProject = SessionManager::startupProject()) {
+ QList<Project *> projects = ProjectManager::projects();
+ if (Project *startupProject = ProjectManager::startupProject()) {
// startup project first
projects.removeOne(startupProject);
projects.insert(0, startupProject);
diff --git a/src/plugins/designer/codemodelhelpers.cpp b/src/plugins/designer/codemodelhelpers.cpp
index beddb3714e6..8428fd98171 100644
--- a/src/plugins/designer/codemodelhelpers.cpp
+++ b/src/plugins/designer/codemodelhelpers.cpp
@@ -9,7 +9,7 @@
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <QCoreApplication>
@@ -30,7 +30,7 @@ static const char setupUiC[] = "setupUi";
// Find the generated "ui_form.h" header of the form via project.
static FilePath generatedHeaderOf(const FilePath &uiFileName)
{
- if (const Project *uiProject = SessionManager::projectForFile(uiFileName)) {
+ if (const Project *uiProject = ProjectManager::projectForFile(uiFileName)) {
if (Target *t = uiProject->activeTarget()) {
if (BuildSystem *bs = t->buildSystem()) {
FilePaths files = bs->filesGeneratedFrom(uiFileName);
diff --git a/src/plugins/designer/qtcreatorintegration.cpp b/src/plugins/designer/qtcreatorintegration.cpp
index db96523c360..02f01a5d091 100644
--- a/src/plugins/designer/qtcreatorintegration.cpp
+++ b/src/plugins/designer/qtcreatorintegration.cpp
@@ -16,20 +16,24 @@
#include <cppeditor/cppworkingcopy.h>
#include <cppeditor/insertionpointlocator.h>
#include <cppeditor/symbolfinder.h>
+
#include <cplusplus/LookupContext.h>
#include <cplusplus/Overview.h>
+
#include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/messagemanager.h>
-#include <texteditor/texteditor.h>
-#include <texteditor/textdocument.h>
+
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/extracompiler.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
+#include <texteditor/texteditor.h>
+#include <texteditor/textdocument.h>
+
#include <utils/algorithm.h>
#include <utils/mimeutils.h>
#include <utils/qtcassert.h>
@@ -493,10 +497,10 @@ bool QtCreatorIntegration::navigateToSlot(const QString &objectName,
// Retrieve code model snapshot restricted to project of ui file or the working copy.
Snapshot docTable = CppEditor::CppModelManager::instance()->snapshot();
Snapshot newDocTable;
- const Project *uiProject = SessionManager::projectForFile(currentUiFile);
+ const Project *uiProject = ProjectManager::projectForFile(currentUiFile);
if (uiProject) {
for (Snapshot::const_iterator i = docTable.begin(), ei = docTable.end(); i != ei; ++i) {
- const Project *project = SessionManager::projectForFile(i.key());
+ const Project *project = ProjectManager::projectForFile(i.key());
if (project == uiProject)
newDocTable.insert(i.value());
}
@@ -639,7 +643,7 @@ void QtCreatorIntegration::handleSymbolRenameStage1(
return;
// Get ExtraCompiler.
- const Project * const project = SessionManager::projectForFile(uiFile);
+ const Project * const project = ProjectManager::projectForFile(uiFile);
if (!project) {
return reportRenamingError(oldName, Designer::Tr::tr("File \"%1\" not found in project.")
.arg(uiFile.toUserOutput()));
diff --git a/src/plugins/designer/resourcehandler.cpp b/src/plugins/designer/resourcehandler.cpp
index 29838283d5c..fe2cdd28c60 100644
--- a/src/plugins/designer/resourcehandler.cpp
+++ b/src/plugins/designer/resourcehandler.cpp
@@ -2,13 +2,16 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "resourcehandler.h"
+
#include "designerconstants.h"
+#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
-#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+
#include <resourceeditor/resourcenode.h>
+
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
@@ -42,10 +45,10 @@ void ResourceHandler::ensureInitialized()
Qt::QueuedConnection);
};
- for (Project *p : SessionManager::projects())
+ for (Project *p : ProjectManager::projects())
connector(p);
- connect(SessionManager::instance(), &SessionManager::projectAdded, this, connector);
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded, this, connector);
m_originalUiQrcPaths = m_form->activeResourceFilePaths();
if (Designer::Constants::Internal::debug)
@@ -68,7 +71,7 @@ void ResourceHandler::updateResourcesHelper(bool updateProjectResources)
qDebug() << "ResourceHandler::updateResources()" << fileName;
// Filename could change in the meantime.
- Project *project = SessionManager::projectForFile(Utils::FilePath::fromUserInput(fileName));
+ Project *project = ProjectManager::projectForFile(Utils::FilePath::fromUserInput(fileName));
const bool dirty = m_form->property("_q_resourcepathchanged").toBool();
if (dirty)
m_form->setDirty(true);
diff --git a/src/plugins/gitlab/gitlabdialog.cpp b/src/plugins/gitlab/gitlabdialog.cpp
index 97d57e42651..22c362788a8 100644
--- a/src/plugins/gitlab/gitlabdialog.cpp
+++ b/src/plugins/gitlab/gitlabdialog.cpp
@@ -9,7 +9,7 @@
#include "gitlabprojectsettings.h"
#include "gitlabtr.h"
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/fontsettings.h>
#include <texteditor/texteditorsettings.h>
@@ -188,7 +188,7 @@ void GitLabDialog::requestMainViewUpdate()
bool linked = false;
m_currentServerId = Id();
- if (auto project = ProjectExplorer::SessionManager::startupProject()) {
+ if (auto project = ProjectExplorer::ProjectManager::startupProject()) {
GitLabProjectSettings *projSettings = GitLabPlugin::projectSettings(project);
if (projSettings->isLinked()) {
m_currentServerId = projSettings->currentServer();
diff --git a/src/plugins/gitlab/gitlabplugin.cpp b/src/plugins/gitlab/gitlabplugin.cpp
index 2059ae4d84b..9427aa1d44b 100644
--- a/src/plugins/gitlab/gitlabplugin.cpp
+++ b/src/plugins/gitlab/gitlabplugin.cpp
@@ -14,11 +14,15 @@
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/icore.h>
+
#include <git/gitplugin.h>
+
#include <projectexplorer/project.h>
#include <projectexplorer/projectpanelfactory.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+
#include <utils/qtcassert.h>
+
#include <vcsbase/vcsoutputwindow.h>
#include <QAction>
@@ -89,8 +93,8 @@ void GitLabPlugin::initialize()
if (dd->dialog)
dd->dialog->updateRemotes();
});
- connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged,
+ connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged,
this, &GitLabPlugin::onStartupProjectChanged);
}
@@ -121,7 +125,7 @@ void GitLabPlugin::onStartupProjectChanged()
{
QTC_ASSERT(dd, return);
disconnect(&dd->notificationTimer);
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project) {
dd->notificationTimer.stop();
return;
@@ -147,7 +151,7 @@ void GitLabPluginPrivate::setupNotificationTimer()
void GitLabPluginPrivate::fetchEvents()
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(project, return);
if (runningQuery)
@@ -218,7 +222,7 @@ void GitLabPluginPrivate::handleEvents(const Events &events, const QDateTime &ti
{
runningQuery = false;
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(project, return);
GitLabProjectSettings *projSettings = GitLabPlugin::projectSettings(project);
@@ -311,7 +315,7 @@ void GitLabPlugin::linkedStateChanged(bool enabled)
{
QTC_ASSERT(dd, return);
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (project) {
const GitLabProjectSettings *pSettings = projectSettings(project);
dd->serverId = pSettings->currentServer();
diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp
index 23c086c8b2e..1a20d60541c 100644
--- a/src/plugins/languageclient/client.cpp
+++ b/src/plugins/languageclient/client.cpp
@@ -39,7 +39,7 @@
#include <languageserverprotocol/workspace.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/codeassist/documentcontentcompletion.h>
#include <texteditor/codeassist/iassistprocessor.h>
@@ -156,7 +156,7 @@ public:
m_documentUpdateTimer.setInterval(500);
connect(&m_documentUpdateTimer, &QTimer::timeout, this,
[this] { sendPostponedDocumentUpdates(Schedule::Now); });
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
q, &Client::projectClosed);
QTC_ASSERT(clientInterface, return);
@@ -509,7 +509,7 @@ void Client::initialize()
params.setRootUri(hostPathToServerUri(d->m_project->projectDirectory()));
const QList<WorkSpaceFolder> workspaces
- = Utils::transform(SessionManager::projects(), [this](Project *pro) {
+ = Utils::transform(ProjectManager::projects(), [this](Project *pro) {
return WorkSpaceFolder(hostPathToServerUri(pro->projectDirectory()),
pro->displayName());
});
@@ -1862,7 +1862,7 @@ void ClientPrivate::handleMethod(const QString &method, const MessageId &id, con
} else if (method == WorkSpaceFolderRequest::methodName) {
WorkSpaceFolderRequest::Response response(id);
const QList<ProjectExplorer::Project *> projects
- = ProjectExplorer::SessionManager::projects();
+ = ProjectExplorer::ProjectManager::projects();
if (projects.isEmpty()) {
response.setResult(nullptr);
} else {
diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp
index a41c4f01d6a..2b1255f25ca 100644
--- a/src/plugins/languageclient/languageclientmanager.cpp
+++ b/src/plugins/languageclient/languageclientmanager.cpp
@@ -17,7 +17,7 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/textdocument.h>
#include <texteditor/texteditor.h>
@@ -55,9 +55,9 @@ LanguageClientManager::LanguageClientManager(QObject *parent)
this, &LanguageClientManager::documentContentsSaved);
connect(EditorManager::instance(), &EditorManager::aboutToSave,
this, &LanguageClientManager::documentWillSave);
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, &LanguageClientManager::projectAdded);
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
this, [&](Project *project) { project->disconnect(this); });
}
@@ -317,7 +317,7 @@ void LanguageClientManager::applySettings()
continue;
const Utils::FilePath filePath = textDocument->filePath();
for (ProjectExplorer::Project *project :
- ProjectExplorer::SessionManager::projects()) {
+ ProjectExplorer::ProjectManager::projects()) {
if (project->isKnownFile(filePath)) {
Client *client = clientForProject[project];
if (!client) {
@@ -494,7 +494,7 @@ void LanguageClientManager::documentOpened(Core::IDocument *document)
if (setting->m_startBehavior == BaseSettings::RequiresProject) {
const Utils::FilePath &filePath = document->filePath();
for (ProjectExplorer::Project *project :
- ProjectExplorer::SessionManager::projects()) {
+ ProjectExplorer::ProjectManager::projects()) {
// check whether file is part of this project
if (!project->isKnownFile(filePath))
continue;
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp
index 6f2cf7dafe5..5b15c7c218d 100644
--- a/src/plugins/languageclient/languageclientsettings.cpp
+++ b/src/plugins/languageclient/languageclientsettings.cpp
@@ -14,7 +14,7 @@
#include <coreplugin/idocument.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/plaintexteditorfactory.h>
#include <texteditor/textmark.h>
diff --git a/src/plugins/languageclient/languageclientsymbolsupport.cpp b/src/plugins/languageclient/languageclientsymbolsupport.cpp
index 995ca770f3d..1de3bede6d4 100644
--- a/src/plugins/languageclient/languageclientsymbolsupport.cpp
+++ b/src/plugins/languageclient/languageclientsymbolsupport.cpp
@@ -13,7 +13,7 @@
#include <coreplugin/find/searchresultwindow.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/algorithm.h>
#include <utils/mimeutils.h>
@@ -237,7 +237,7 @@ QList<Core::SearchResultItem> generateSearchResultItems(
item.setFilePath(filePath);
item.setUseTextEditorFont(true);
if (renaming && limitToProjects) {
- const bool fileBelongsToProject = ProjectExplorer::SessionManager::projectForFile(
+ const bool fileBelongsToProject = ProjectExplorer::ProjectManager::projectForFile(
filePath);
item.setSelectForReplacement(fileBelongsToProject);
if (fileBelongsToProject
diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp
index 2c3dfdb28b0..7be98fb005b 100644
--- a/src/plugins/mcusupport/mcusupportplugin.cpp
+++ b/src/plugins/mcusupport/mcusupportplugin.cpp
@@ -27,8 +27,8 @@
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <cmakeprojectmanager/cmakeprojectconstants.h>
@@ -115,8 +115,8 @@ void McuSupportPlugin::initialize()
setObjectName("McuSupportPlugin");
dd = new McuSupportPluginPrivate;
- connect(SessionManager::instance(),
- &SessionManager::projectFinishedParsing,
+ connect(ProjectManager::instance(),
+ &ProjectManager::projectFinishedParsing,
updateMCUProjectTree);
dd->m_options.registerQchFiles();
diff --git a/src/plugins/modeleditor/componentviewcontroller.cpp b/src/plugins/modeleditor/componentviewcontroller.cpp
index 4ce7cc16caf..75495c6684e 100644
--- a/src/plugins/modeleditor/componentviewcontroller.cpp
+++ b/src/plugins/modeleditor/componentviewcontroller.cpp
@@ -18,9 +18,9 @@
#include <cppeditor/cppmodelmanager.h>
#include <cplusplus/CppDocument.h>
-#include <projectexplorer/session.h>
-#include <projectexplorer/projectnodes.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/projectmanager.h>
+#include <projectexplorer/projectnodes.h>
#include <utils/qtcassert.h>
@@ -136,7 +136,7 @@ void UpdateIncludeDependenciesVisitor::setModelUtilities(ModelUtilities *modelUt
void UpdateIncludeDependenciesVisitor::updateFilePaths()
{
m_filePaths.clear();
- for (const ProjectExplorer::Project *project : ProjectExplorer::SessionManager::projects()) {
+ for (const ProjectExplorer::Project *project : ProjectExplorer::ProjectManager::projects()) {
ProjectExplorer::ProjectNode *projectNode = project->rootProjectNode();
if (projectNode)
collectElementPaths(projectNode, &m_filePaths);
diff --git a/src/plugins/modeleditor/modelindexer.cpp b/src/plugins/modeleditor/modelindexer.cpp
index c6ace660248..9923782ac72 100644
--- a/src/plugins/modeleditor/modelindexer.cpp
+++ b/src/plugins/modeleditor/modelindexer.cpp
@@ -18,7 +18,7 @@
#include "qmt/tasks/findrootdiagramvisitor.h"
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <utils/mimeutils.h>
@@ -308,9 +308,9 @@ ModelIndexer::ModelIndexer(QObject *parent)
connect(this, &ModelIndexer::filesQueued,
d->indexerThread, &ModelIndexer::IndexerThread::onFilesQueued);
d->indexerThread->start();
- connect(ProjectExplorer::SessionManager::instance(), &ProjectExplorer::SessionManager::projectAdded,
+ connect(ProjectExplorer::ProjectManager::instance(), &ProjectExplorer::ProjectManager::projectAdded,
this, &ModelIndexer::onProjectAdded);
- connect(ProjectExplorer::SessionManager::instance(), &ProjectExplorer::SessionManager::aboutToRemoveProject,
+ connect(ProjectExplorer::ProjectManager::instance(), &ProjectExplorer::ProjectManager::aboutToRemoveProject,
this, &ModelIndexer::onAboutToRemoveProject);
}
diff --git a/src/plugins/nim/editor/nimcompletionassistprovider.cpp b/src/plugins/nim/editor/nimcompletionassistprovider.cpp
index 7179a8a64ec..c94001b348f 100644
--- a/src/plugins/nim/editor/nimcompletionassistprovider.cpp
+++ b/src/plugins/nim/editor/nimcompletionassistprovider.cpp
@@ -5,7 +5,7 @@
#include "suggest/nimsuggestcache.h"
#include "suggest/nimsuggest.h"
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/codeassist/assistinterface.h>
#include <texteditor/codeassist/assistproposalitem.h>
#include <texteditor/codeassist/genericproposal.h>
diff --git a/src/plugins/perfprofiler/perfdatareader.cpp b/src/plugins/perfprofiler/perfdatareader.cpp
index 603d2ad016b..a545dff913e 100644
--- a/src/plugins/perfprofiler/perfdatareader.cpp
+++ b/src/plugins/perfprofiler/perfdatareader.cpp
@@ -18,7 +18,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/project.h>
#include <projectexplorer/runcontrol.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
diff --git a/src/plugins/perfprofiler/perfloaddialog.cpp b/src/plugins/perfprofiler/perfloaddialog.cpp
index 8bf34316fe6..8f162ed5969 100644
--- a/src/plugins/perfprofiler/perfloaddialog.cpp
+++ b/src/plugins/perfprofiler/perfloaddialog.cpp
@@ -9,7 +9,7 @@
#include <projectexplorer/kit.h>
#include <projectexplorer/kitchooser.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/layoutbuilder.h>
@@ -109,7 +109,7 @@ void PerfLoadDialog::on_browseExecutableDirButton_pressed()
void PerfLoadDialog::chooseDefaults()
{
- ProjectExplorer::Target *target = ProjectExplorer::SessionManager::startupTarget();
+ ProjectExplorer::Target *target = ProjectExplorer::ProjectManager::startupTarget();
if (!target)
return;
diff --git a/src/plugins/perfprofiler/perfprofilertool.cpp b/src/plugins/perfprofiler/perfprofilertool.cpp
index d4515f79b85..8362ccc4ed8 100644
--- a/src/plugins/perfprofiler/perfprofilertool.cpp
+++ b/src/plugins/perfprofiler/perfprofilertool.cpp
@@ -27,7 +27,7 @@
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/runcontrol.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qtsupport/qtkitinformation.h>
@@ -224,7 +224,7 @@ void PerfProfilerTool::createViews()
connect(recordMenu, &QMenu::aboutToShow, recordMenu, [recordMenu] {
recordMenu->hide();
PerfSettings *settings = nullptr;
- Target *target = SessionManager::startupTarget();
+ Target *target = ProjectManager::startupTarget();
if (target) {
if (auto runConfig = target->activeRunConfiguration())
settings = runConfig->currentSettings<PerfSettings>(Constants::PerfSettingsId);
@@ -572,7 +572,7 @@ static Utils::FilePaths sourceFiles(const Project *currentProject = nullptr)
if (currentProject)
sourceFiles.append(currentProject->files(Project::SourceFiles));
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
for (const Project *project : projects) {
if (project != currentProject)
sourceFiles.append(project->files(Project::SourceFiles));
@@ -609,7 +609,7 @@ void PerfProfilerTool::showLoadTraceDialog()
startLoading();
- const Project *currentProject = SessionManager::startupProject();
+ const Project *currentProject = ProjectManager::startupProject();
const Target *target = currentProject ? currentProject->activeTarget() : nullptr;
const Kit *kit = target ? target->kit() : nullptr;
populateFileFinder(currentProject, kit);
diff --git a/src/plugins/perfprofiler/perftracepointdialog.cpp b/src/plugins/perfprofiler/perftracepointdialog.cpp
index da3b4c38c32..f276431ab5e 100644
--- a/src/plugins/perfprofiler/perftracepointdialog.cpp
+++ b/src/plugins/perfprofiler/perftracepointdialog.cpp
@@ -8,7 +8,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/qtcassert.h>
@@ -51,7 +51,7 @@ PerfTracePointDialog::PerfTracePointDialog()
m_buttonBox,
}.attachTo(this);
- if (const Target *target = SessionManager::startupTarget()) {
+ if (const Target *target = ProjectManager::startupTarget()) {
const Kit *kit = target->kit();
QTC_ASSERT(kit, return);
diff --git a/src/plugins/projectexplorer/allprojectsfilter.cpp b/src/plugins/projectexplorer/allprojectsfilter.cpp
index ea4d86dba7d..fddbceccb1c 100644
--- a/src/plugins/projectexplorer/allprojectsfilter.cpp
+++ b/src/plugins/projectexplorer/allprojectsfilter.cpp
@@ -3,10 +3,10 @@
#include "allprojectsfilter.h"
+#include "project.h"
#include "projectexplorer.h"
#include "projectexplorertr.h"
-#include "session.h"
-#include "project.h"
+#include "projectmanager.h"
#include <utils/algorithm.h>
@@ -38,7 +38,7 @@ void AllProjectsFilter::prepareSearch(const QString &entry)
Q_UNUSED(entry)
if (!fileIterator()) {
Utils::FilePaths paths;
- for (Project *project : SessionManager::projects())
+ for (Project *project : ProjectManager::projects())
paths.append(project->files(Project::SourceFiles));
Utils::sort(paths);
setFileIterator(new BaseFileFilter::ListIterator(paths));
diff --git a/src/plugins/projectexplorer/allprojectsfind.cpp b/src/plugins/projectexplorer/allprojectsfind.cpp
index ac4afc1d6e2..d61b1560523 100644
--- a/src/plugins/projectexplorer/allprojectsfind.cpp
+++ b/src/plugins/projectexplorer/allprojectsfind.cpp
@@ -7,7 +7,7 @@
#include "project.h"
#include "projectexplorer.h"
#include "projectexplorertr.h"
-#include "session.h"
+#include "projectmanager.h"
#include <coreplugin/editormanager/editormanager.h>
@@ -44,7 +44,7 @@ QString AllProjectsFind::displayName() const
bool AllProjectsFind::isEnabled() const
{
- return BaseFileFind::isEnabled() && SessionManager::hasProjects();
+ return BaseFileFind::isEnabled() && ProjectManager::hasProjects();
}
FileIterator *AllProjectsFind::files(const QStringList &nameFilters,
@@ -52,7 +52,7 @@ FileIterator *AllProjectsFind::files(const QStringList &nameFilters,
const QVariant &additionalParameters) const
{
Q_UNUSED(additionalParameters)
- return filesForProjects(nameFilters, exclusionFilters, SessionManager::projects());
+ return filesForProjects(nameFilters, exclusionFilters, ProjectManager::projects());
}
FileIterator *AllProjectsFind::filesForProjects(const QStringList &nameFilters,
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp
index ff14b7ab07b..fc8967aaa0b 100644
--- a/src/plugins/projectexplorer/buildconfiguration.cpp
+++ b/src/plugins/projectexplorer/buildconfiguration.cpp
@@ -17,8 +17,8 @@
#include "projectexplorer.h"
#include "projectexplorertr.h"
#include "project.h"
+#include "projectmanager.h"
#include "projecttree.h"
-#include "session.h"
#include "target.h"
#include <coreplugin/fileutils.h>
@@ -209,7 +209,7 @@ BuildConfiguration::BuildConfiguration(Target *target, Utils::Id id)
connect(target, &Target::parsingStarted, this, &BuildConfiguration::enabledChanged);
connect(target, &Target::parsingFinished, this, &BuildConfiguration::enabledChanged);
connect(this, &BuildConfiguration::enabledChanged, this, [this] {
- if (isActive() && project() == SessionManager::startupProject()) {
+ if (isActive() && project() == ProjectManager::startupProject()) {
ProjectExplorerPlugin::updateActions();
ProjectExplorerPlugin::updateRunActions();
}
diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp
index 57bfde6e46a..6284a960417 100644
--- a/src/plugins/projectexplorer/buildmanager.cpp
+++ b/src/plugins/projectexplorer/buildmanager.cpp
@@ -16,8 +16,8 @@
#include "projectexplorerconstants.h"
#include "projectexplorersettings.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "runcontrol.h"
-#include "session.h"
#include "target.h"
#include "task.h"
#include "taskhub.h"
@@ -258,7 +258,7 @@ BuildManager::BuildManager(QObject *parent, QAction *cancelBuildAction)
m_instance = this;
d = new BuildManagerPrivate;
- connect(SessionManager::instance(), &SessionManager::aboutToRemoveProject,
+ connect(ProjectManager::instance(), &ProjectManager::aboutToRemoveProject,
this, &BuildManager::aboutToRemoveProject);
d->m_outputWindow = new Internal::CompileOutputWindow(cancelBuildAction);
@@ -318,19 +318,19 @@ void BuildManager::rebuildProjectWithoutDependencies(Project *project)
void BuildManager::buildProjectWithDependencies(Project *project, ConfigSelection configSelection)
{
- queue(SessionManager::projectOrder(project), {Id(Constants::BUILDSTEPS_BUILD)},
+ queue(ProjectManager::projectOrder(project), {Id(Constants::BUILDSTEPS_BUILD)},
configSelection);
}
void BuildManager::cleanProjectWithDependencies(Project *project, ConfigSelection configSelection)
{
- queue(SessionManager::projectOrder(project), {Id(Constants::BUILDSTEPS_CLEAN)},
+ queue(ProjectManager::projectOrder(project), {Id(Constants::BUILDSTEPS_CLEAN)},
configSelection);
}
void BuildManager::rebuildProjectWithDependencies(Project *project, ConfigSelection configSelection)
{
- queue(SessionManager::projectOrder(project),
+ queue(ProjectManager::projectOrder(project),
{Id(Constants::BUILDSTEPS_CLEAN), Id(Constants::BUILDSTEPS_BUILD)},
configSelection);
}
@@ -384,7 +384,7 @@ BuildForRunConfigStatus BuildManager::potentiallyBuildForRunConfig(RunConfigurat
}
Project * const pro = rc->target()->project();
- const int queueCount = queue(SessionManager::projectOrder(pro), stepIds,
+ const int queueCount = queue(ProjectManager::projectOrder(pro), stepIds,
ConfigSelection::Active, rc);
if (rc->target()->activeBuildConfiguration())
rc->target()->activeBuildConfiguration()->restrictNextBuild(nullptr);
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index 9bf59d6bba8..18f89b5968a 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -185,7 +185,7 @@ void BuildSettingsWidget::currentIndexChanged(int index)
{
auto buildConfiguration = qobject_cast<BuildConfiguration *>(
m_target->buildConfigurationModel()->projectConfigurationAt(index));
- SessionManager::setActiveBuildConfiguration(m_target, buildConfiguration, SetActive::Cascade);
+ m_target->setActiveBuildConfiguration(buildConfiguration, SetActive::Cascade);
}
void BuildSettingsWidget::updateActiveConfiguration()
@@ -222,7 +222,7 @@ void BuildSettingsWidget::createConfiguration(const BuildInfo &info_)
return;
m_target->addBuildConfiguration(bc);
- SessionManager::setActiveBuildConfiguration(m_target, bc, SetActive::Cascade);
+ m_target->setActiveBuildConfiguration(bc, SetActive::Cascade);
}
QString BuildSettingsWidget::uniqueName(const QString & name)
@@ -292,7 +292,7 @@ void BuildSettingsWidget::cloneConfiguration()
bc->setBuildDirectory(makeUniquelyNumbered(buildDirectory, isBuildDirOk));
}
m_target->addBuildConfiguration(bc);
- SessionManager::setActiveBuildConfiguration(m_target, bc, SetActive::Cascade);
+ m_target->setActiveBuildConfiguration(bc, SetActive::Cascade);
}
void BuildSettingsWidget::deleteConfiguration(BuildConfiguration *deleteConfiguration)
diff --git a/src/plugins/projectexplorer/buildsystem.cpp b/src/plugins/projectexplorer/buildsystem.cpp
index 0a2c2f3a85d..4316bba9102 100644
--- a/src/plugins/projectexplorer/buildsystem.cpp
+++ b/src/plugins/projectexplorer/buildsystem.cpp
@@ -7,9 +7,9 @@
#include "extracompiler.h"
#include "projectexplorer.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "runconfiguration.h"
#include "runcontrol.h"
-#include "session.h"
#include "target.h"
#include <coreplugin/messagemanager.h>
@@ -64,7 +64,7 @@ BuildSystem::BuildSystem(Target *target)
connect(&d->m_delayedParsingTimer, &QTimer::timeout, this,
[this] {
- if (SessionManager::hasProject(project()))
+ if (ProjectManager::hasProject(project()))
triggerParsing();
else
requestDelayedParse();
diff --git a/src/plugins/projectexplorer/currentprojectfind.cpp b/src/plugins/projectexplorer/currentprojectfind.cpp
index 7ecbd990697..fb9b8f44d66 100644
--- a/src/plugins/projectexplorer/currentprojectfind.cpp
+++ b/src/plugins/projectexplorer/currentprojectfind.cpp
@@ -5,8 +5,8 @@
#include "project.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projecttree.h"
-#include "session.h"
#include <utils/qtcassert.h>
#include <utils/filesearch.h>
@@ -23,7 +23,7 @@ CurrentProjectFind::CurrentProjectFind()
{
connect(ProjectTree::instance(), &ProjectTree::currentProjectChanged,
this, &CurrentProjectFind::handleProjectChanged);
- connect(SessionManager::instance(), &SessionManager::projectDisplayNameChanged,
+ connect(ProjectManager::instance(), &ProjectManager::projectDisplayNameChanged,
this, [this](ProjectExplorer::Project *p) {
if (p == ProjectTree::currentProject())
emit displayNameChanged();
@@ -64,7 +64,7 @@ FileIterator *CurrentProjectFind::files(const QStringList &nameFilters,
QTC_ASSERT(additionalParameters.isValid(),
return new FileListIterator(FilePaths(), QList<QTextCodec *>()));
const FilePath projectFile = FilePath::fromVariant(additionalParameters);
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
if (project && projectFile == project->projectFilePath())
return filesForProjects(nameFilters, exclusionFilters, {project});
}
@@ -87,7 +87,7 @@ void CurrentProjectFind::handleProjectChanged()
void CurrentProjectFind::recheckEnabled(Core::SearchResult *search)
{
const FilePath projectFile = FilePath::fromVariant(getAdditionalParameters(search));
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
if (projectFile == project->projectFilePath()) {
search->setSearchAgainEnabled(true);
return;
diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp
index 1799126a5b9..c08ae7b523b 100644
--- a/src/plugins/projectexplorer/dependenciespanel.cpp
+++ b/src/plugins/projectexplorer/dependenciespanel.cpp
@@ -5,6 +5,7 @@
#include "project.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "session.h"
#include <coreplugin/icore.h>
@@ -32,19 +33,18 @@ DependenciesModel::DependenciesModel(Project *project, QObject *parent)
{
resetModel();
- SessionManager *sessionManager = SessionManager::instance();
- connect(sessionManager, &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
this, &DependenciesModel::resetModel);
- connect(sessionManager, &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, &DependenciesModel::resetModel);
- connect(sessionManager, &SessionManager::sessionLoaded,
+ connect(SessionManager::instance(), &SessionManager::sessionLoaded,
this, &DependenciesModel::resetModel);
}
void DependenciesModel::resetModel()
{
beginResetModel();
- m_projects = SessionManager::projects();
+ m_projects = ProjectManager::projects();
m_projects.removeAll(m_project);
Utils::sort(m_projects, [](Project *a, Project *b) {
return a->displayName() < b->displayName();
@@ -77,7 +77,7 @@ QVariant DependenciesModel::data(const QModelIndex &index, int role) const
case Qt::ToolTipRole:
return p->projectFilePath().toUserOutput();
case Qt::CheckStateRole:
- return SessionManager::hasDependency(m_project, p) ? Qt::Checked : Qt::Unchecked;
+ return ProjectManager::hasDependency(m_project, p) ? Qt::Checked : Qt::Unchecked;
case Qt::DecorationRole:
return Utils::FileIconProvider::icon(p->projectFilePath());
default:
@@ -92,7 +92,7 @@ bool DependenciesModel::setData(const QModelIndex &index, const QVariant &value,
const auto c = static_cast<Qt::CheckState>(value.toInt());
if (c == Qt::Checked) {
- if (SessionManager::addDependency(m_project, p)) {
+ if (ProjectManager::addDependency(m_project, p)) {
emit dataChanged(index, index);
return true;
} else {
@@ -100,8 +100,8 @@ bool DependenciesModel::setData(const QModelIndex &index, const QVariant &value,
Tr::tr("This would create a circular dependency."));
}
} else if (c == Qt::Unchecked) {
- if (SessionManager::hasDependency(m_project, p)) {
- SessionManager::removeDependency(m_project, p);
+ if (ProjectManager::hasDependency(m_project, p)) {
+ ProjectManager::removeDependency(m_project, p);
emit dataChanged(index, index);
return true;
}
@@ -215,9 +215,9 @@ DependenciesWidget::DependenciesWidget(Project *project, QWidget *parent) : Proj
m_cascadeSetActiveCheckBox = new QCheckBox;
m_cascadeSetActiveCheckBox->setText(Tr::tr("Synchronize configuration"));
m_cascadeSetActiveCheckBox->setToolTip(Tr::tr("Synchronize active kit, build, and deploy configuration between projects."));
- m_cascadeSetActiveCheckBox->setChecked(SessionManager::isProjectConfigurationCascading());
+ m_cascadeSetActiveCheckBox->setChecked(ProjectManager::isProjectConfigurationCascading());
connect(m_cascadeSetActiveCheckBox, &QCheckBox::toggled,
- SessionManager::instance(), &SessionManager::setProjectConfigurationCascading);
+ ProjectManager::instance(), &ProjectManager::setProjectConfigurationCascading);
layout->addWidget(m_cascadeSetActiveCheckBox, 1, 0, 2, 1);
}
diff --git a/src/plugins/projectexplorer/editorconfiguration.cpp b/src/plugins/projectexplorer/editorconfiguration.cpp
index fc3933d7344..ff99bc25e83 100644
--- a/src/plugins/projectexplorer/editorconfiguration.cpp
+++ b/src/plugins/projectexplorer/editorconfiguration.cpp
@@ -5,7 +5,7 @@
#include "project.h"
#include "projectexplorertr.h"
-#include "session.h"
+#include "projectmanager.h"
#include <utils/algorithm.h>
@@ -88,7 +88,7 @@ EditorConfiguration::EditorConfiguration() : d(std::make_unique<EditorConfigurat
// if setCurrentDelegate is 0 values are read from *this prefs
d->m_defaultCodeStyle->setCurrentDelegate(TextEditorSettings::codeStyle());
- connect(SessionManager::instance(), &SessionManager::aboutToRemoveProject,
+ connect(ProjectManager::instance(), &ProjectManager::aboutToRemoveProject,
this, &EditorConfiguration::slotAboutToRemoveProject);
}
@@ -263,7 +263,7 @@ void EditorConfiguration::setUseGlobalSettings(bool use)
const QList<Core::IEditor *> editors = Core::DocumentModel::editorsForOpenedDocuments();
for (Core::IEditor *editor : editors) {
if (auto widget = TextEditorWidget::fromEditor(editor)) {
- Project *project = SessionManager::projectForFile(editor->document()->filePath());
+ Project *project = ProjectManager::projectForFile(editor->document()->filePath());
if (project && project->editorConfiguration() == this)
switchSettings(widget);
}
@@ -399,7 +399,7 @@ TabSettings actualTabSettings(const Utils::FilePath &file,
{
if (baseTextdocument)
return baseTextdocument->tabSettings();
- if (Project *project = SessionManager::projectForFile(file))
+ if (Project *project = ProjectManager::projectForFile(file))
return project->editorConfiguration()->codeStyle()->tabSettings();
return TextEditorSettings::codeStyle()->tabSettings();
}
diff --git a/src/plugins/projectexplorer/extracompiler.cpp b/src/plugins/projectexplorer/extracompiler.cpp
index ffa0c494e9c..ccf2971774c 100644
--- a/src/plugins/projectexplorer/extracompiler.cpp
+++ b/src/plugins/projectexplorer/extracompiler.cpp
@@ -5,7 +5,7 @@
#include "buildmanager.h"
#include "kitinformation.h"
-#include "session.h"
+#include "projectmanager.h"
#include "target.h"
#include <coreplugin/editormanager/editormanager.h>
@@ -63,7 +63,7 @@ ExtraCompiler::ExtraCompiler(const Project *project, const FilePath &source,
connect(BuildManager::instance(), &BuildManager::buildStateChanged,
this, &ExtraCompiler::onTargetsBuilt);
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
this, [this](Project *project) {
if (project == d->project)
deleteLater();
diff --git a/src/plugins/projectexplorer/fileinsessionfinder.cpp b/src/plugins/projectexplorer/fileinsessionfinder.cpp
index 78f75ce1d52..d8df6c74306 100644
--- a/src/plugins/projectexplorer/fileinsessionfinder.cpp
+++ b/src/plugins/projectexplorer/fileinsessionfinder.cpp
@@ -4,7 +4,7 @@
#include "fileinsessionfinder.h"
#include "project.h"
-#include "session.h"
+#include "projectmanager.h"
#include <utils/fileinprojectfinder.h>
@@ -30,12 +30,12 @@ private:
FileInSessionFinder::FileInSessionFinder()
{
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, [this](const Project *p) {
invalidateFinder();
connect(p, &Project::fileListChanged, this, &FileInSessionFinder::invalidateFinder);
});
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
this, [this](const Project *p) {
invalidateFinder();
p->disconnect(this);
@@ -45,11 +45,11 @@ FileInSessionFinder::FileInSessionFinder()
FilePaths FileInSessionFinder::doFindFile(const FilePath &filePath)
{
if (!m_finderIsUpToDate) {
- m_finder.setProjectDirectory(SessionManager::startupProject()
- ? SessionManager::startupProject()->projectDirectory()
+ m_finder.setProjectDirectory(ProjectManager::startupProject()
+ ? ProjectManager::startupProject()->projectDirectory()
: FilePath());
FilePaths allFiles;
- for (const Project * const p : SessionManager::projects())
+ for (const Project * const p : ProjectManager::projects())
allFiles << p->files(Project::SourceFiles);
m_finder.setProjectFiles(allFiles);
m_finderIsUpToDate = true;
diff --git a/src/plugins/projectexplorer/filesinallprojectsfind.cpp b/src/plugins/projectexplorer/filesinallprojectsfind.cpp
index 720cfbabae8..0f9d6c40e25 100644
--- a/src/plugins/projectexplorer/filesinallprojectsfind.cpp
+++ b/src/plugins/projectexplorer/filesinallprojectsfind.cpp
@@ -5,7 +5,7 @@
#include "project.h"
#include "projectexplorertr.h"
-#include "session.h"
+#include "projectmanager.h"
#include <coreplugin/editormanager/editormanager.h>
#include <utils/algorithm.h>
@@ -52,7 +52,7 @@ Utils::FileIterator *FilesInAllProjectsFind::files(const QStringList &nameFilter
const QVariant &additionalParameters) const
{
Q_UNUSED(additionalParameters)
- const QSet<FilePath> dirs = Utils::transform<QSet>(SessionManager::projects(), [](Project *p) {
+ const QSet<FilePath> dirs = Utils::transform<QSet>(ProjectManager::projects(), [](Project *p) {
return p->projectFilePath().parentDir();
});
return new SubDirFileIterator(FilePaths(dirs.constBegin(), dirs.constEnd()),
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp
index 024044d7a0a..ec55e3218fd 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp
+++ b/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp
@@ -8,8 +8,8 @@
#include "../projectexplorerconstants.h"
#include "../projectexplorertr.h"
#include "../projectnodes.h"
+#include "../projectmanager.h"
#include "../projecttree.h"
-#include "../session.h"
#include <coreplugin/coreconstants.h>
#include <coreplugin/iversioncontrol.h>
@@ -209,7 +209,7 @@ Node *JsonSummaryPage::findWizardContextNode(Node *contextNode) const
// Static cast from void * to avoid qobject_cast (which needs a valid object) in value().
auto project = static_cast<Project *>(m_wizard->value(Constants::PROJECT_POINTER).value<void *>());
- if (SessionManager::projects().contains(project) && project->rootProjectNode()) {
+ if (ProjectManager::projects().contains(project) && project->rootProjectNode()) {
const FilePath path = FilePath::fromVariant(m_wizard->value(Constants::PREFERRED_PROJECT_NODE_PATH));
contextNode = project->rootProjectNode()->findNode([path](const Node *n) {
return path == n->filePath();
diff --git a/src/plugins/projectexplorer/kitchooser.cpp b/src/plugins/projectexplorer/kitchooser.cpp
index 14c848da740..9e45cacd7dd 100644
--- a/src/plugins/projectexplorer/kitchooser.cpp
+++ b/src/plugins/projectexplorer/kitchooser.cpp
@@ -6,7 +6,7 @@
#include "kitmanager.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
-#include "session.h"
+#include "projectmanager.h"
#include "target.h"
#include <coreplugin/icore.h>
@@ -88,7 +88,7 @@ void KitChooser::populate()
const Id lastKit = Id::fromSetting(ICore::settings()->value(lastKitKey));
bool didActivate = false;
- if (Target *target = SessionManager::startupTarget()) {
+ if (Target *target = ProjectManager::startupTarget()) {
Kit *kit = target->kit();
if (m_kitPredicate(kit)) {
QString display = Tr::tr("Kit of Active Project: %1").arg(kitText(kit));
diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
index b169697cd8c..af9fdf5c50b 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
@@ -13,8 +13,8 @@
#include "projectexplorerconstants.h"
#include "projectexplorericons.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "runconfiguration.h"
-#include "session.h"
#include "target.h"
#include <utils/algorithm.h>
@@ -253,9 +253,9 @@ public:
explicit ProjectListView(QWidget *parent = nullptr) : SelectorView(parent)
{
const auto model = new GenericModel(this);
- model->rebuild(transform<QList<QObject *>>(SessionManager::projects(),
+ model->rebuild(transform<QList<QObject *>>(ProjectManager::projects(),
[](Project *p) { return p; }));
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, [this, model](Project *project) {
const GenericItem *projectItem = model->addItemForObject(project);
QFontMetrics fn(font());
@@ -264,7 +264,7 @@ public:
setOptimalWidth(width);
restoreCurrentIndex();
});
- connect(SessionManager::instance(), &SessionManager::aboutToRemoveProject,
+ connect(ProjectManager::instance(), &ProjectManager::aboutToRemoveProject,
this, [this, model](const Project *project) {
GenericItem * const item = model->itemForObject(project);
if (!item)
@@ -272,7 +272,7 @@ public:
model->destroyItem(item);
resetOptimalWidth();
});
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, [this, model](const Project *project) {
const GenericItem * const item = model->itemForObject(project);
if (item)
@@ -288,7 +288,7 @@ public:
this, [model](const QModelIndex &index) {
const GenericItem * const item = model->itemForIndex(index);
if (item && item->object())
- SessionManager::setStartupProject(qobject_cast<Project *>(item->object()));
+ ProjectManager::setStartupProject(qobject_cast<Project *>(item->object()));
});
}
@@ -296,7 +296,7 @@ private:
void restoreCurrentIndex()
{
const GenericItem * const itemForStartupProject
- = theModel()->itemForObject(SessionManager::startupProject());
+ = theModel()->itemForObject(ProjectManager::startupProject());
if (itemForStartupProject)
setCurrentIndex(theModel()->indexForItem(itemForStartupProject));
}
@@ -696,22 +696,22 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi
m_listWidgets[RUN]->viewport()->setAttribute(Qt::WA_Hover);
// Validate state: At this point the session is still empty!
- Project *startup = SessionManager::startupProject();
+ Project *startup = ProjectManager::startupProject();
QTC_CHECK(!startup);
- QTC_CHECK(SessionManager::projects().isEmpty());
+ QTC_CHECK(ProjectManager::projects().isEmpty());
connect(m_summaryLabel, &QLabel::linkActivated,
this, &MiniProjectTargetSelector::switchToProjectsMode);
- SessionManager *sessionManager = SessionManager::instance();
- connect(sessionManager, &SessionManager::startupProjectChanged,
+ ProjectManager *sessionManager = ProjectManager::instance();
+ connect(sessionManager, &ProjectManager::startupProjectChanged,
this, &MiniProjectTargetSelector::changeStartupProject);
- connect(sessionManager, &SessionManager::projectAdded,
+ connect(sessionManager, &ProjectManager::projectAdded,
this, &MiniProjectTargetSelector::projectAdded);
- connect(sessionManager, &SessionManager::projectRemoved,
+ connect(sessionManager, &ProjectManager::projectRemoved,
this, &MiniProjectTargetSelector::projectRemoved);
- connect(sessionManager, &SessionManager::projectDisplayNameChanged,
+ connect(sessionManager, &ProjectManager::projectDisplayNameChanged,
this, &MiniProjectTargetSelector::updateActionAndSummary);
// for icon changes:
@@ -720,17 +720,17 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi
connect(m_listWidgets[TARGET], &GenericListWidget::changeActiveProjectConfiguration,
this, [this](QObject *pc) {
- SessionManager::setActiveTarget(m_project, static_cast<Target *>(pc), SetActive::Cascade);
+ m_project->setActiveTarget(static_cast<Target *>(pc), SetActive::Cascade);
});
connect(m_listWidgets[BUILD], &GenericListWidget::changeActiveProjectConfiguration,
this, [this](QObject *pc) {
- SessionManager::setActiveBuildConfiguration(m_project->activeTarget(),
- static_cast<BuildConfiguration *>(pc), SetActive::Cascade);
+ m_project->activeTarget()->setActiveBuildConfiguration(
+ static_cast<BuildConfiguration *>(pc), SetActive::Cascade);
});
connect(m_listWidgets[DEPLOY], &GenericListWidget::changeActiveProjectConfiguration,
this, [this](QObject *pc) {
- SessionManager::setActiveDeployConfiguration(m_project->activeTarget(),
- static_cast<DeployConfiguration *>(pc), SetActive::Cascade);
+ m_project->activeTarget()->setActiveDeployConfiguration(
+ static_cast<DeployConfiguration *>(pc), SetActive::Cascade);
});
connect(m_listWidgets[RUN], &GenericListWidget::changeActiveProjectConfiguration,
this, [this](QObject *pc) {
@@ -881,7 +881,7 @@ void MiniProjectTargetSelector::doLayout(bool keepSize)
onlySummary = true;
} else {
if (visibleLineCount < 3) {
- if (Utils::anyOf(SessionManager::projects(), &Project::needsConfiguration))
+ if (Utils::anyOf(ProjectManager::projects(), &Project::needsConfiguration))
visibleLineCount = 3;
}
if (visibleLineCount)
@@ -1126,7 +1126,7 @@ void MiniProjectTargetSelector::removedRunConfiguration(RunConfiguration *rc, bo
void MiniProjectTargetSelector::updateProjectListVisible()
{
- int count = SessionManager::projects().size();
+ int count = ProjectManager::projects().size();
bool visible = count > 1;
m_projectListWidget->setVisible(visible);
@@ -1139,7 +1139,7 @@ void MiniProjectTargetSelector::updateProjectListVisible()
void MiniProjectTargetSelector::updateTargetListVisible()
{
int maxCount = 0;
- for (Project *p : SessionManager::projects())
+ for (Project *p : ProjectManager::projects())
maxCount = qMax(p->targets().size(), maxCount);
bool visible = maxCount > 1;
@@ -1152,7 +1152,7 @@ void MiniProjectTargetSelector::updateTargetListVisible()
void MiniProjectTargetSelector::updateBuildListVisible()
{
int maxCount = 0;
- for (Project *p : SessionManager::projects()) {
+ for (Project *p : ProjectManager::projects()) {
const QList<Target *> targets = p->targets();
for (Target *t : targets)
maxCount = qMax(t->buildConfigurations().size(), maxCount);
@@ -1168,7 +1168,7 @@ void MiniProjectTargetSelector::updateBuildListVisible()
void MiniProjectTargetSelector::updateDeployListVisible()
{
int maxCount = 0;
- for (Project *p : SessionManager::projects()) {
+ for (Project *p : ProjectManager::projects()) {
const QList<Target *> targets = p->targets();
for (Target *t : targets)
maxCount = qMax(t->deployConfigurations().size(), maxCount);
@@ -1184,7 +1184,7 @@ void MiniProjectTargetSelector::updateDeployListVisible()
void MiniProjectTargetSelector::updateRunListVisible()
{
int maxCount = 0;
- for (Project *p : SessionManager::projects()) {
+ for (Project *p : ProjectManager::projects()) {
const QList<Target *> targets = p->targets();
for (Target *t : targets)
maxCount = qMax(t->runConfigurations().size(), maxCount);
@@ -1460,10 +1460,10 @@ void MiniProjectTargetSelector::updateActionAndSummary()
? Icons::DESKTOP_DEVICE.icon()
: style()->standardIcon(QStyle::SP_ComputerIcon);
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
if (project) {
projectName = project->displayName();
- for (Project *p : SessionManager::projects()) {
+ for (Project *p : ProjectManager::projects()) {
if (p != project && p->displayName() == projectName) {
fileName = project->projectFilePath().toUserOutput();
break;
@@ -1515,7 +1515,7 @@ void MiniProjectTargetSelector::updateActionAndSummary()
void MiniProjectTargetSelector::updateSummary()
{
QString summary;
- if (Project *startupProject = SessionManager::startupProject()) {
+ if (Project *startupProject = ProjectManager::startupProject()) {
if (!m_projectListWidget->isVisibleTo(this))
summary.append(Tr::tr("Project: <b>%1</b><br/>").arg(startupProject->displayName()));
if (Target *activeTarget = startupProject->activeTarget()) {
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index fbd4f9e28fd..84f5363cd11 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -14,10 +14,10 @@
#include "projectexplorer.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectnodes.h"
#include "runconfiguration.h"
#include "runconfigurationaspects.h"
-#include "session.h"
#include "target.h"
#include "taskhub.h"
#include "userfileaccessor.h"
@@ -273,7 +273,7 @@ void Project::addTarget(std::unique_ptr<Target> &&t)
// check activeTarget:
if (!activeTarget())
- SessionManager::setActiveTarget(this, pointer, SetActive::Cascade);
+ setActiveTarget(pointer, SetActive::Cascade);
}
Target *Project::addTargetForDefaultKit()
@@ -309,7 +309,7 @@ bool Project::removeTarget(Target *target)
auto keep = take(d->m_targets, target);
if (target == d->m_activeTarget) {
Target *newActiveTarget = (d->m_targets.size() == 0 ? nullptr : d->m_targets.at(0).get());
- SessionManager::setActiveTarget(this, newActiveTarget, SetActive::Cascade);
+ setActiveTarget(newActiveTarget, SetActive::Cascade);
}
emit removedTarget(target);
@@ -326,7 +326,7 @@ Target *Project::activeTarget() const
return d->m_activeTarget;
}
-void Project::setActiveTarget(Target *target)
+void Project::setActiveTargetHelper(Target *target)
{
if (d->m_activeTarget == target)
return;
@@ -414,6 +414,29 @@ Target *Project::target(Kit *k) const
return findOrDefault(d->m_targets, equal(&Target::kit, k));
}
+void Project::setActiveTarget(Target *target, SetActive cascade)
+{
+ if (isShuttingDown())
+ return;
+
+ setActiveTargetHelper(target);
+
+ if (!target) // never cascade setting no target
+ return;
+
+ if (cascade != SetActive::Cascade || !ProjectManager::isProjectConfigurationCascading())
+ return;
+
+ Utils::Id kitId = target->kit()->id();
+ for (Project *otherProject : ProjectManager::projects()) {
+ if (otherProject == this)
+ continue;
+ if (Target *otherTarget = Utils::findOrDefault(otherProject->targets(),
+ [kitId](Target *t) { return t->kit()->id() == kitId; }))
+ otherProject->setActiveTargetHelper(otherTarget);
+ }
+}
+
Tasks Project::projectIssues(const Kit *k) const
{
Tasks result;
@@ -445,12 +468,12 @@ bool Project::copySteps(Target *sourceTarget, Target *newTarget)
sourceBc->buildSystem()->name()));
newTarget->addBuildConfiguration(newBc);
if (sourceTarget->activeBuildConfiguration() == sourceBc)
- SessionManager::setActiveBuildConfiguration(newTarget, newBc, SetActive::NoCascade);
+ newTarget->setActiveBuildConfiguration(newBc, SetActive::NoCascade);
}
if (!newTarget->activeBuildConfiguration()) {
QList<BuildConfiguration *> bcs = newTarget->buildConfigurations();
if (!bcs.isEmpty())
- SessionManager::setActiveBuildConfiguration(newTarget, bcs.first(), SetActive::NoCascade);
+ newTarget->setActiveBuildConfiguration(bcs.first(), SetActive::NoCascade);
}
for (DeployConfiguration *sourceDc : sourceTarget->deployConfigurations()) {
@@ -462,12 +485,12 @@ bool Project::copySteps(Target *sourceTarget, Target *newTarget)
newDc->setDisplayName(sourceDc->displayName());
newTarget->addDeployConfiguration(newDc);
if (sourceTarget->activeDeployConfiguration() == sourceDc)
- SessionManager::setActiveDeployConfiguration(newTarget, newDc, SetActive::NoCascade);
+ newTarget->setActiveDeployConfiguration(newDc, SetActive::NoCascade);
}
if (!newTarget->activeBuildConfiguration()) {
QList<DeployConfiguration *> dcs = newTarget->deployConfigurations();
if (!dcs.isEmpty())
- SessionManager::setActiveDeployConfiguration(newTarget, dcs.first(), SetActive::NoCascade);
+ newTarget->setActiveDeployConfiguration(dcs.first(), SetActive::NoCascade);
}
for (RunConfiguration *sourceRc : sourceTarget->runConfigurations()) {
@@ -1435,8 +1458,7 @@ void ProjectExplorerPlugin::testProject_multipleBuildConfigs()
Target * const target = theProject.project()->activeTarget();
QVERIFY(target);
QCOMPARE(target->buildConfigurations().size(), 6);
- SessionManager::setActiveBuildConfiguration(target, target->buildConfigurations().at(1),
- SetActive::Cascade);
+ target->setActiveBuildConfiguration(target->buildConfigurations().at(1), SetActive::Cascade);
BuildSystem * const bs = theProject.project()->activeTarget()->buildSystem();
QVERIFY(bs);
QCOMPARE(bs, target->activeBuildConfiguration()->buildSystem());
@@ -1452,12 +1474,12 @@ void ProjectExplorerPlugin::testProject_multipleBuildConfigs()
}
QVERIFY(!bs->isWaitingForParse() && !bs->isParsing());
- QCOMPARE(SessionManager::startupProject(), theProject.project());
+ QCOMPARE(ProjectManager::startupProject(), theProject.project());
QCOMPARE(ProjectTree::currentProject(), theProject.project());
QVERIFY(EditorManager::openEditor(projectDir.pathAppended("main.cpp")));
QVERIFY(ProjectTree::currentNode());
ProjectTree::instance()->expandAll();
- SessionManager::closeAllProjects(); // QTCREATORBUG-25655
+ ProjectManager::closeAllProjects(); // QTCREATORBUG-25655
}
#endif // WITH_TESTS
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index ed336b5f7f3..ebf38a688d4 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -36,6 +36,7 @@ class ProjectImporter;
class ProjectNode;
class ProjectPrivate;
class Target;
+enum class SetActive : int;
// Documentation inside.
class PROJECTEXPLORER_EXPORT Project : public QObject
@@ -89,6 +90,8 @@ public:
Target *activeTarget() const;
Target *target(Utils::Id id) const;
Target *target(Kit *k) const;
+ void setActiveTarget(Target *target, SetActive cascade);
+
virtual Tasks projectIssues(const Kit *k) const;
static bool copySteps(Target *sourceTarget, Target *newTarget);
@@ -226,7 +229,7 @@ private:
void removeProjectLanguage(Utils::Id id);
void handleSubTreeChanged(FolderNode *node);
- void setActiveTarget(Target *target);
+ void setActiveTargetHelper(Target *target);
friend class ContainerNode;
ProjectPrivate *d;
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index a260d211ab2..8842b1f1cab 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -338,7 +338,7 @@ static BuildConfiguration *currentBuildConfiguration()
static Target *activeTarget()
{
- const Project * const project = SessionManager::startupProject();
+ const Project * const project = ProjectManager::startupProject();
return project ? project->activeTarget() : nullptr;
}
@@ -668,7 +668,8 @@ public:
RemoveTaskHandler m_removeTaskHandler;
ConfigTaskHandler m_configTaskHandler{Task::compilerMissingTask(), Constants::KITS_SETTINGS_PAGE_ID};
- SessionManager m_sessionManager;
+ SessionManager m_sessionBase;
+ ProjectManager m_sessionManager;
AppOutputPane m_outputPane;
ProjectTree m_projectTree;
@@ -835,33 +836,33 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
connect(&dd->m_welcomePage, &ProjectWelcomePage::manageSessions,
dd, &ProjectExplorerPluginPrivate::showSessionManager);
- SessionManager *sessionManager = &dd->m_sessionManager;
- connect(sessionManager, &SessionManager::projectAdded,
+ ProjectManager *sessionManager = &dd->m_sessionManager;
+ connect(sessionManager, &ProjectManager::projectAdded,
this, &ProjectExplorerPlugin::fileListChanged);
- connect(sessionManager, &SessionManager::aboutToRemoveProject,
+ connect(sessionManager, &ProjectManager::aboutToRemoveProject,
dd, &ProjectExplorerPluginPrivate::invalidateProject);
- connect(sessionManager, &SessionManager::projectRemoved,
+ connect(sessionManager, &ProjectManager::projectRemoved,
this, &ProjectExplorerPlugin::fileListChanged);
- connect(sessionManager, &SessionManager::projectAdded,
+ connect(sessionManager, &ProjectManager::projectAdded,
dd, &ProjectExplorerPluginPrivate::projectAdded);
- connect(sessionManager, &SessionManager::projectRemoved,
+ connect(sessionManager, &ProjectManager::projectRemoved,
dd, &ProjectExplorerPluginPrivate::projectRemoved);
- connect(sessionManager, &SessionManager::projectDisplayNameChanged,
+ connect(sessionManager, &ProjectManager::projectDisplayNameChanged,
dd, &ProjectExplorerPluginPrivate::projectDisplayNameChanged);
- connect(sessionManager, &SessionManager::dependencyChanged,
+ connect(sessionManager, &ProjectManager::dependencyChanged,
dd, &ProjectExplorerPluginPrivate::updateActions);
- connect(sessionManager, &SessionManager::sessionLoaded,
+ connect(SessionManager::instance(), &SessionManager::sessionLoaded,
dd, &ProjectExplorerPluginPrivate::updateActions);
- connect(sessionManager, &SessionManager::sessionLoaded,
+ connect(SessionManager::instance(), &SessionManager::sessionLoaded,
dd, &ProjectExplorerPluginPrivate::updateWelcomePage);
- connect(sessionManager, &SessionManager::sessionLoaded,
+ connect(SessionManager::instance(), &SessionManager::sessionLoaded,
dd, &ProjectExplorerPluginPrivate::loadSesssionTasks);
- connect(sessionManager, &SessionManager::projectAdded, dd, [](ProjectExplorer::Project *project) {
+ connect(sessionManager, &ProjectManager::projectAdded, dd, [](ProjectExplorer::Project *project) {
dd->m_allProjectDirectoriesFilter.addDirectory(project->projectDirectory());
});
connect(sessionManager,
- &SessionManager::projectRemoved,
+ &ProjectManager::projectRemoved,
dd,
[](ProjectExplorer::Project *project) {
dd->m_allProjectDirectoriesFilter.removeDirectory(project->projectDirectory());
@@ -904,7 +905,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
ICore::addPreCloseListener([]() -> bool { return coreAboutToClose(); });
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
&dd->m_outputPane, &AppOutputPane::projectRemoved);
// ProjectPanelFactories
@@ -1346,7 +1347,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
// without a project loaded.
connect(generatorContainer->menu(), &QMenu::aboutToShow, [menu = generatorContainer->menu()] {
menu->clear();
- if (Project * const project = SessionManager::startupProject()) {
+ if (Project * const project = ProjectManager::startupProject()) {
for (const auto &generator : project->allGenerators()) {
menu->addAction(generator.second, [project, id = generator.first] {
project->runGenerator(id);
@@ -1660,7 +1661,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
dd, &ProjectExplorerPluginPrivate::savePersistentSettings);
connect(EditorManager::instance(), &EditorManager::autoSaved, this, [] {
if (!dd->m_shuttingDown && !SessionManager::loadingSession())
- SessionManager::save();
+ ProjectManager::save();
});
connect(qApp, &QApplication::applicationStateChanged, this, [](Qt::ApplicationState state) {
if (!dd->m_shuttingDown && state == Qt::ApplicationActive)
@@ -1765,20 +1766,20 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
connect(dd->m_loadAction, &QAction::triggered,
dd, &ProjectExplorerPluginPrivate::loadAction);
connect(dd->m_buildProjectOnlyAction, &QAction::triggered, dd, [] {
- BuildManager::buildProjectWithoutDependencies(SessionManager::startupProject());
+ BuildManager::buildProjectWithoutDependencies(ProjectManager::startupProject());
});
connect(dd->m_buildAction, &QAction::triggered, dd, [] {
- BuildManager::buildProjectWithDependencies(SessionManager::startupProject());
+ BuildManager::buildProjectWithDependencies(ProjectManager::startupProject());
});
connect(dd->m_buildProjectForAllConfigsAction, &QAction::triggered, dd, [] {
- BuildManager::buildProjectWithDependencies(SessionManager::startupProject(),
+ BuildManager::buildProjectWithDependencies(ProjectManager::startupProject(),
ConfigSelection::All);
});
connect(dd->m_buildActionContextMenu, &QAction::triggered, dd, [] {
BuildManager::buildProjectWithoutDependencies(ProjectTree::currentProject());
});
connect(dd->m_buildForRunConfigAction, &QAction::triggered, dd, [] {
- const Project * const project = SessionManager::startupProject();
+ const Project * const project = ProjectManager::startupProject();
QTC_ASSERT(project, return);
const Target * const target = project->activeTarget();
QTC_ASSERT(target, return);
@@ -1793,20 +1794,20 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
BuildManager::buildProjectWithDependencies(ProjectTree::currentProject());
});
connect(dd->m_buildSessionAction, &QAction::triggered, dd, [] {
- BuildManager::buildProjects(SessionManager::projectOrder(), ConfigSelection::Active);
+ BuildManager::buildProjects(ProjectManager::projectOrder(), ConfigSelection::Active);
});
connect(dd->m_buildSessionForAllConfigsAction, &QAction::triggered, dd, [] {
- BuildManager::buildProjects(SessionManager::projectOrder(), ConfigSelection::All);
+ BuildManager::buildProjects(ProjectManager::projectOrder(), ConfigSelection::All);
});
connect(dd->m_rebuildProjectOnlyAction, &QAction::triggered, dd, [] {
- BuildManager::rebuildProjectWithoutDependencies(SessionManager::startupProject());
+ BuildManager::rebuildProjectWithoutDependencies(ProjectManager::startupProject());
});
connect(dd->m_rebuildAction, &QAction::triggered, dd, [] {
- BuildManager::rebuildProjectWithDependencies(SessionManager::startupProject(),
+ BuildManager::rebuildProjectWithDependencies(ProjectManager::startupProject(),
ConfigSelection::Active);
});
connect(dd->m_rebuildProjectForAllConfigsAction, &QAction::triggered, dd, [] {
- BuildManager::rebuildProjectWithDependencies(SessionManager::startupProject(),
+ BuildManager::rebuildProjectWithDependencies(ProjectManager::startupProject(),
ConfigSelection::All);
});
connect(dd->m_rebuildActionContextMenu, &QAction::triggered, dd, [] {
@@ -1817,32 +1818,32 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
ConfigSelection::Active);
});
connect(dd->m_rebuildSessionAction, &QAction::triggered, dd, [] {
- BuildManager::rebuildProjects(SessionManager::projectOrder(), ConfigSelection::Active);
+ BuildManager::rebuildProjects(ProjectManager::projectOrder(), ConfigSelection::Active);
});
connect(dd->m_rebuildSessionForAllConfigsAction, &QAction::triggered, dd, [] {
- BuildManager::rebuildProjects(SessionManager::projectOrder(), ConfigSelection::All);
+ BuildManager::rebuildProjects(ProjectManager::projectOrder(), ConfigSelection::All);
});
connect(dd->m_deployProjectOnlyAction, &QAction::triggered, dd, [] {
- BuildManager::deployProjects({SessionManager::startupProject()});
+ BuildManager::deployProjects({ProjectManager::startupProject()});
});
connect(dd->m_deployAction, &QAction::triggered, dd, [] {
- BuildManager::deployProjects(SessionManager::projectOrder(SessionManager::startupProject()));
+ BuildManager::deployProjects(ProjectManager::projectOrder(ProjectManager::startupProject()));
});
connect(dd->m_deployActionContextMenu, &QAction::triggered, dd, [] {
BuildManager::deployProjects({ProjectTree::currentProject()});
});
connect(dd->m_deploySessionAction, &QAction::triggered, dd, [] {
- BuildManager::deployProjects(SessionManager::projectOrder());
+ BuildManager::deployProjects(ProjectManager::projectOrder());
});
connect(dd->m_cleanProjectOnlyAction, &QAction::triggered, dd, [] {
- BuildManager::cleanProjectWithoutDependencies(SessionManager::startupProject());
+ BuildManager::cleanProjectWithoutDependencies(ProjectManager::startupProject());
});
connect(dd->m_cleanAction, &QAction::triggered, dd, [] {
- BuildManager::cleanProjectWithDependencies(SessionManager::startupProject(),
+ BuildManager::cleanProjectWithDependencies(ProjectManager::startupProject(),
ConfigSelection::Active);
});
connect(dd->m_cleanProjectForAllConfigsAction, &QAction::triggered, dd, [] {
- BuildManager::cleanProjectWithDependencies(SessionManager::startupProject(),
+ BuildManager::cleanProjectWithDependencies(ProjectManager::startupProject(),
ConfigSelection::All);
});
connect(dd->m_cleanActionContextMenu, &QAction::triggered, dd, [] {
@@ -1853,10 +1854,10 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
ConfigSelection::Active);
});
connect(dd->m_cleanSessionAction, &QAction::triggered, dd, [] {
- BuildManager::cleanProjects(SessionManager::projectOrder(), ConfigSelection::Active);
+ BuildManager::cleanProjects(ProjectManager::projectOrder(), ConfigSelection::Active);
});
connect(dd->m_cleanSessionForAllConfigsAction, &QAction::triggered, dd, [] {
- BuildManager::cleanProjects(SessionManager::projectOrder(), ConfigSelection::All);
+ BuildManager::cleanProjects(ProjectManager::projectOrder(), ConfigSelection::All);
});
connect(dd->m_runAction, &QAction::triggered,
dd, [] { runStartupProject(Constants::NORMAL_RUN_MODE); });
@@ -1921,7 +1922,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
connect(dd->m_setStartupProjectAction, &QAction::triggered,
dd, &ProjectExplorerPluginPrivate::handleSetStartupProject);
connect(dd->m_closeProjectFilesActionFileMenu, &QAction::triggered,
- dd, [] { dd->closeAllFilesInProject(SessionManager::projects().first()); });
+ dd, [] { dd->closeAllFilesInProject(ProjectManager::projects().first()); });
connect(dd->m_closeProjectFilesActionContextMenu, &QAction::triggered,
dd, [] { dd->closeAllFilesInProject(ProjectTree::currentProject()); });
connect(dd->m_projectTreeCollapseAllAction, &QAction::triggered,
@@ -1966,7 +1967,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
Project::addVariablesToMacroExpander("ActiveProject:",
"Active project",
expander,
- &SessionManager::startupProject);
+ &ProjectManager::startupProject);
EnvironmentProvider::addProvider(
{"ActiveProject:BuildConfig:Env", Tr::tr("Active build environment of the active project."), [] {
if (const BuildConfiguration * const bc = activeBuildConfiguration())
@@ -2033,7 +2034,7 @@ void ProjectExplorerPluginPrivate::unloadProjectContextMenu()
void ProjectExplorerPluginPrivate::unloadOtherProjectsContextMenu()
{
if (Project *currentProject = ProjectTree::currentProject()) {
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
QTC_ASSERT(!projects.isEmpty(), return);
for (Project *p : projects) {
@@ -2046,7 +2047,7 @@ void ProjectExplorerPluginPrivate::unloadOtherProjectsContextMenu()
void ProjectExplorerPluginPrivate::handleUnloadProject()
{
- QList<Project *> projects = SessionManager::projects();
+ QList<Project *> projects = ProjectManager::projects();
QTC_ASSERT(!projects.isEmpty(), return);
ProjectExplorerPlugin::unloadProject(projects.first());
@@ -2073,7 +2074,7 @@ void ProjectExplorerPlugin::unloadProject(Project *project)
dd->addToRecentProjects(project->projectFilePath(), project->displayName());
- SessionManager::removeProject(project);
+ ProjectManager::removeProject(project);
dd->updateActions();
}
@@ -2082,7 +2083,7 @@ void ProjectExplorerPluginPrivate::closeAllProjects()
if (!EditorManager::closeAllDocuments())
return; // Action has been cancelled
- SessionManager::closeAllProjects();
+ ProjectManager::closeAllProjects();
updateActions();
ModeManager::activateMode(Core::Constants::MODE_WELCOME);
@@ -2196,7 +2197,7 @@ ExtensionSystem::IPlugin::ShutdownFlag ProjectExplorerPlugin::aboutToShutdown()
dd, &ProjectExplorerPluginPrivate::currentModeChanged);
ProjectTree::aboutToShutDown();
ToolChainManager::aboutToShutdown();
- SessionManager::closeAllProjects();
+ ProjectManager::closeAllProjects();
dd->m_shuttingDown = true;
@@ -2229,7 +2230,7 @@ void ProjectExplorerPlugin::openNewProjectDialog()
void ProjectExplorerPluginPrivate::showSessionManager()
{
- SessionManager::save();
+ ProjectManager::save();
SessionDialog sessionDialog(ICore::dialogParent());
sessionDialog.setAutoLoadSession(dd->m_projectExplorerSettings.autorestoreLastSession);
sessionDialog.exec();
@@ -2245,7 +2246,7 @@ void ProjectExplorerPluginPrivate::setStartupProject(Project *project)
{
if (!project)
return;
- SessionManager::setStartupProject(project);
+ ProjectManager::setStartupProject(project);
updateActions();
}
@@ -2256,7 +2257,7 @@ bool ProjectExplorerPluginPrivate::closeAllFilesInProject(const Project *project
Utils::erase(openFiles, [project](const DocumentModel::Entry *entry) {
return entry->pinned || !project->isKnownFile(entry->filePath());
});
- for (const Project * const otherProject : SessionManager::projects()) {
+ for (const Project * const otherProject : ProjectManager::projects()) {
if (otherProject == project)
continue;
Utils::erase(openFiles, [otherProject](const DocumentModel::Entry *entry) {
@@ -2272,10 +2273,10 @@ void ProjectExplorerPluginPrivate::savePersistentSettings()
return;
if (!SessionManager::loadingSession()) {
- for (Project *pro : SessionManager::projects())
+ for (Project *pro : ProjectManager::projects())
pro->saveSettings();
- SessionManager::save();
+ ProjectManager::save();
}
QtcSettings *s = ICore::settings();
@@ -2369,7 +2370,7 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProject(cons
if (!project)
return result;
dd->addToRecentProjects(filePath, project->displayName());
- SessionManager::setStartupProject(project);
+ ProjectManager::setStartupProject(project);
return result;
}
@@ -2421,11 +2422,11 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProjects(con
QTC_ASSERT(!fileName.isEmpty(), continue);
const FilePath filePath = fileName.absoluteFilePath();
- Project *found = Utils::findOrDefault(SessionManager::projects(),
+ Project *found = Utils::findOrDefault(ProjectManager::projects(),
Utils::equal(&Project::projectFilePath, filePath));
if (found) {
alreadyOpen.append(found);
- SessionManager::reportProjectLoadingProgress();
+ ProjectManager::reportProjectLoadingProgress();
continue;
}
@@ -2440,7 +2441,7 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProjects(con
if (restoreResult == Project::RestoreResult::Ok) {
connect(pro, &Project::fileListChanged,
m_instance, &ProjectExplorerPlugin::fileListChanged);
- SessionManager::addProject(pro);
+ ProjectManager::addProject(pro);
openedPro += pro;
} else {
if (restoreResult == Project::RestoreResult::Error)
@@ -2454,7 +2455,7 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProjects(con
.arg(mt.name()));
}
if (filePaths.size() > 1)
- SessionManager::reportProjectLoadingProgress();
+ ProjectManager::reportProjectLoadingProgress();
}
dd->updateActions();
@@ -2595,7 +2596,7 @@ void ProjectExplorerPluginPrivate::restoreSession()
} // !arguments.isEmpty()
// Restore latest session or what was passed on the command line
- SessionManager::loadSession(!dd->m_sessionToRestoreAtStartup.isEmpty()
+ ProjectManager::loadSession(!dd->m_sessionToRestoreAtStartup.isEmpty()
? dd->m_sessionToRestoreAtStartup : QString(), true);
// update welcome page
@@ -2733,7 +2734,7 @@ RecentProjectsEntries ProjectExplorerPluginPrivate::recentProjects() const
void ProjectExplorerPluginPrivate::updateActions()
{
- const Project *const project = SessionManager::startupProject();
+ const Project *const project = ProjectManager::startupProject();
const Project *const currentProject = ProjectTree::currentProject(); // for context menu actions
const QPair<bool, QString> buildActionState = buildSettingsEnabled(project);
@@ -2744,10 +2745,10 @@ void ProjectExplorerPluginPrivate::updateActions()
const QString projectName = project ? project->displayName() : QString();
const QString projectNameContextMenu = currentProject ? currentProject->displayName() : QString();
- m_unloadAction->setParameter(SessionManager::projects().size() == 1 ? projectName : QString());
+ m_unloadAction->setParameter(ProjectManager::projects().size() == 1 ? projectName : QString());
m_unloadActionContextMenu->setParameter(projectNameContextMenu);
m_unloadOthersActionContextMenu->setParameter(projectNameContextMenu);
- m_closeProjectFilesActionFileMenu->setParameter(SessionManager::projects().size() == 1
+ m_closeProjectFilesActionFileMenu->setParameter(ProjectManager::projects().size() == 1
? projectName : QString());
m_closeProjectFilesActionContextMenu->setParameter(projectNameContextMenu);
@@ -2792,7 +2793,7 @@ void ProjectExplorerPluginPrivate::updateActions()
m_setStartupProjectAction->setParameter(projectNameContextMenu);
m_setStartupProjectAction->setVisible(currentProject != project);
- const bool hasDependencies = SessionManager::projectOrder(currentProject).size() > 1;
+ const bool hasDependencies = ProjectManager::projectOrder(currentProject).size() > 1;
m_buildActionContextMenu->setVisible(hasDependencies);
m_rebuildActionContextMenu->setVisible(hasDependencies);
m_cleanActionContextMenu->setVisible(hasDependencies);
@@ -2819,17 +2820,17 @@ void ProjectExplorerPluginPrivate::updateActions()
m_cleanProjectOnlyAction->setToolTip(buildActionState.second);
// Session actions
- m_closeAllProjects->setEnabled(SessionManager::hasProjects());
- m_unloadAction->setEnabled(SessionManager::projects().size() <= 1);
- m_unloadAction->setEnabled(SessionManager::projects().size() == 1);
- m_unloadActionContextMenu->setEnabled(SessionManager::hasProjects());
- m_unloadOthersActionContextMenu->setEnabled(SessionManager::projects().size() >= 2);
- m_closeProjectFilesActionFileMenu->setEnabled(SessionManager::projects().size() == 1);
- m_closeProjectFilesActionContextMenu->setEnabled(SessionManager::hasProjects());
+ m_closeAllProjects->setEnabled(ProjectManager::hasProjects());
+ m_unloadAction->setEnabled(ProjectManager::projects().size() <= 1);
+ m_unloadAction->setEnabled(ProjectManager::projects().size() == 1);
+ m_unloadActionContextMenu->setEnabled(ProjectManager::hasProjects());
+ m_unloadOthersActionContextMenu->setEnabled(ProjectManager::projects().size() >= 2);
+ m_closeProjectFilesActionFileMenu->setEnabled(ProjectManager::projects().size() == 1);
+ m_closeProjectFilesActionContextMenu->setEnabled(ProjectManager::hasProjects());
ActionContainer *aci =
ActionManager::actionContainer(Constants::M_UNLOADPROJECTS);
- aci->menu()->menuAction()->setEnabled(SessionManager::hasProjects());
+ aci->menu()->menuAction()->setEnabled(ProjectManager::hasProjects());
m_buildSessionAction->setEnabled(buildSessionState.first);
m_buildSessionForAllConfigsAction->setEnabled(buildSessionState.first);
@@ -2847,7 +2848,7 @@ void ProjectExplorerPluginPrivate::updateActions()
m_cancelBuildAction->setEnabled(BuildManager::isBuilding());
- const bool hasProjects = SessionManager::hasProjects();
+ const bool hasProjects = ProjectManager::hasProjects();
m_projectSelectorAction->setEnabled(hasProjects);
m_projectSelectorActionMenu->setEnabled(hasProjects);
m_projectSelectorActionQuick->setEnabled(hasProjects);
@@ -2968,7 +2969,7 @@ void ProjectExplorerPluginPrivate::runProjectContextMenu(RunConfiguration *rc)
static bool hasBuildSettings(const Project *pro)
{
- return Utils::anyOf(SessionManager::projectOrder(pro), [](const Project *project) {
+ return Utils::anyOf(ProjectManager::projectOrder(pro), [](const Project *project) {
return project
&& project->activeTarget()
&& project->activeTarget()->activeBuildConfiguration();
@@ -2980,7 +2981,7 @@ static QPair<bool, QString> subprojectEnabledState(const Project *pro)
QPair<bool, QString> result;
result.first = true;
- const QList<Project *> &projects = SessionManager::projectOrder(pro);
+ const QList<Project *> &projects = ProjectManager::projectOrder(pro);
for (const Project *project : projects) {
if (project && project->activeTarget()
&& project->activeTarget()->activeBuildConfiguration()
@@ -3022,7 +3023,7 @@ QPair<bool, QString> ProjectExplorerPluginPrivate::buildSettingsEnabledForSessio
{
QPair<bool, QString> result;
result.first = true;
- if (!SessionManager::hasProjects()) {
+ if (!ProjectManager::hasProjects()) {
result.first = false;
result.second = Tr::tr("No project loaded.");
} else if (BuildManager::isBuilding()) {
@@ -3079,7 +3080,7 @@ void ProjectExplorerPlugin::handleCommandLineArguments(const QStringList &argume
static bool hasDeploySettings(Project *pro)
{
- return Utils::anyOf(SessionManager::projectOrder(pro), [](Project *project) {
+ return Utils::anyOf(ProjectManager::projectOrder(pro), [](Project *project) {
return project->activeTarget()
&& project->activeTarget()->activeDeployConfiguration();
});
@@ -3097,7 +3098,7 @@ void ProjectExplorerPlugin::runProject(Project *pro, Id mode, const bool forceSk
void ProjectExplorerPlugin::runStartupProject(Id runMode, bool forceSkipDeploy)
{
- runProject(SessionManager::startupProject(), runMode, forceSkipDeploy);
+ runProject(ProjectManager::startupProject(), runMode, forceSkipDeploy);
}
void ProjectExplorerPlugin::runRunConfiguration(RunConfiguration *rc,
@@ -3158,7 +3159,7 @@ void ProjectExplorerPluginPrivate::projectAdded(Project *pro)
void ProjectExplorerPluginPrivate::projectRemoved(Project *pro)
{
Q_UNUSED(pro)
- m_projectsMode.setEnabled(SessionManager::hasProjects());
+ m_projectsMode.setEnabled(ProjectManager::hasProjects());
}
void ProjectExplorerPluginPrivate::projectDisplayNameChanged(Project *pro)
@@ -3169,7 +3170,7 @@ void ProjectExplorerPluginPrivate::projectDisplayNameChanged(Project *pro)
void ProjectExplorerPluginPrivate::updateDeployActions()
{
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
bool enableDeployActions = project
&& !BuildManager::isBuilding(project)
@@ -3188,7 +3189,7 @@ void ProjectExplorerPluginPrivate::updateDeployActions()
enableDeployActionsContextMenu = false;
}
- bool hasProjects = SessionManager::hasProjects();
+ bool hasProjects = ProjectManager::hasProjects();
m_deployAction->setEnabled(enableDeployActions);
@@ -3204,7 +3205,7 @@ void ProjectExplorerPluginPrivate::updateDeployActions()
&& !project->activeTarget()->activeBuildConfiguration()->isEnabled();
};
- if (Utils::anyOf(SessionManager::projectOrder(nullptr), hasDisabledBuildConfiguration))
+ if (Utils::anyOf(ProjectManager::projectOrder(nullptr), hasDisabledBuildConfiguration))
enableDeploySessionAction = false;
}
if (!hasProjects || !hasDeploySettings(nullptr) || BuildManager::isBuilding())
@@ -3216,7 +3217,7 @@ void ProjectExplorerPluginPrivate::updateDeployActions()
bool ProjectExplorerPlugin::canRunStartupProject(Id runMode, QString *whyNot)
{
- Project *project = SessionManager::startupProject();
+ Project *project = ProjectManager::startupProject();
if (!project) {
if (whyNot)
*whyNot = Tr::tr("No active project.");
@@ -3321,7 +3322,7 @@ void ProjectExplorerPluginPrivate::updateUnloadProjectMenu()
ActionContainer *aci = ActionManager::actionContainer(Constants::M_UNLOADPROJECTS);
QMenu *menu = aci->menu();
menu->clear();
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
QAction *action = menu->addAction(Tr::tr("Close Project \"%1\"").arg(project->displayName()));
connect(action, &QAction::triggered,
[project] { ProjectExplorerPlugin::unloadProject(project); } );
@@ -4117,7 +4118,7 @@ void ProjectExplorerPluginPrivate::updateSessionMenu()
void ProjectExplorerPluginPrivate::setSession(QAction *action)
{
- SessionManager::loadSession(action->data().toString());
+ ProjectManager::loadSession(action->data().toString());
}
void ProjectExplorerPlugin::setProjectExplorerSettings(const ProjectExplorerSettings &pes)
@@ -4375,7 +4376,7 @@ void AllProjectFilesFilter::restoreState(const QJsonObject &object)
RunConfigurationLocatorFilter::RunConfigurationLocatorFilter()
{
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &RunConfigurationLocatorFilter::targetListUpdated);
targetListUpdated();
@@ -4384,7 +4385,7 @@ RunConfigurationLocatorFilter::RunConfigurationLocatorFilter()
void RunConfigurationLocatorFilter::prepareSearch(const QString &entry)
{
m_result.clear();
- const Target *target = SessionManager::startupTarget();
+ const Target *target = ProjectManager::startupTarget();
if (!target)
return;
for (auto rc : target->runConfigurations()) {
@@ -4403,12 +4404,12 @@ QList<Core::LocatorFilterEntry> RunConfigurationLocatorFilter::matchesFor(
void RunConfigurationLocatorFilter::targetListUpdated()
{
- setEnabled(SessionManager::startupProject()); // at least one project opened
+ setEnabled(ProjectManager::startupProject()); // at least one project opened
}
static RunConfiguration *runConfigurationForDisplayName(const QString &displayName)
{
- const Project *project = SessionManager::instance()->startupProject();
+ const Project *project = ProjectManager::instance()->startupProject();
if (!project)
return nullptr;
const QList<RunConfiguration *> runconfigs = project->activeTarget()->runConfigurations();
@@ -4461,7 +4462,7 @@ void SwitchToRunConfigurationLocatorFilter::accept(const LocatorFilterEntry &sel
if (!toSwitchTo)
return;
- SessionManager::startupTarget()->setActiveRunConfiguration(toSwitchTo);
+ ProjectManager::startupTarget()->setActiveRunConfiguration(toSwitchTo);
QTimer::singleShot(200, this, [displayName = selection.displayName] {
if (auto ks = ICore::mainWindow()->findChild<QWidget *>("KitSelector.Button")) {
Utils::ToolTip::show(ks->mapToGlobal(QPoint{25, 25}),
diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp
index 53d3eb15781..134db6ea484 100644
--- a/src/plugins/projectexplorer/projectfilewizardextension.cpp
+++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp
@@ -7,10 +7,10 @@
#include "project.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectnodes.h"
#include "projecttree.h"
#include "projectwizardpage.h"
-#include "session.h"
#include <coreplugin/icore.h>
@@ -27,7 +27,6 @@
#include <utils/stringutils.h>
#include <QDebug>
-#include <QFileInfo>
#include <QMessageBox>
#include <QPointer>
#include <QTextCursor>
@@ -134,7 +133,7 @@ Node *ProjectFileWizardExtension::findWizardContextNode(Node *contextNode, Proje
const FilePath &path)
{
if (contextNode && !ProjectTree::hasNode(contextNode)) {
- if (SessionManager::projects().contains(project) && project->rootProjectNode()) {
+ if (ProjectManager::projects().contains(project) && project->rootProjectNode()) {
contextNode = project->rootProjectNode()->findNode([path](const Node *n) {
return path == n->filePath();
});
diff --git a/src/plugins/projectexplorer/projectmanager.h b/src/plugins/projectexplorer/projectmanager.h
index 9d54eba572c..ad3e402992a 100644
--- a/src/plugins/projectexplorer/projectmanager.h
+++ b/src/plugins/projectexplorer/projectmanager.h
@@ -6,20 +6,35 @@
#include "projectexplorer_export.h"
#include <QString>
+#include <QObject>
+
+namespace Core { class IEditor; }
#include <functional>
namespace Utils {
class FilePath;
+using FilePaths = QList<FilePath>;
class MimeType;
} // Utils
namespace ProjectExplorer {
+class BuildSystem;
class Project;
+class RunConfiguration;
+class Target;
-class PROJECTEXPLORER_EXPORT ProjectManager
+class PROJECTEXPLORER_EXPORT ProjectManager : public QObject
{
+ Q_OBJECT
+
+public:
+ ProjectManager();
+ ~ProjectManager() override;
+
+ static ProjectManager *instance();
+
public:
static bool canOpenProjectForMimeType(const Utils::MimeType &mt);
static Project *openProject(const Utils::MimeType &mt, const Utils::FilePath &fileName);
@@ -32,7 +47,64 @@ public:
});
}
+ static bool save();
+ static void closeAllProjects();
+
+ static void addProject(Project *project);
+ static void removeProject(Project *project);
+ static void removeProjects(const QList<Project *> &remove);
+
+ static void setStartupProject(Project *startupProject);
+
+ static QList<Project *> dependencies(const Project *project);
+ static bool hasDependency(const Project *project, const Project *depProject);
+ static bool canAddDependency(const Project *project, const Project *depProject);
+ static bool addDependency(Project *project, Project *depProject);
+ static void removeDependency(Project *project, Project *depProject);
+
+ static bool isProjectConfigurationCascading();
+ static void setProjectConfigurationCascading(bool b);
+
+ static Project *startupProject();
+ static Target *startupTarget();
+ static BuildSystem *startupBuildSystem();
+ static RunConfiguration *startupRunConfiguration();
+
+ static const QList<Project *> projects();
+ static bool hasProjects();
+ static bool hasProject(Project *p);
+
+ // NBS rewrite projectOrder (dependency management)
+ static QList<Project *> projectOrder(const Project *project = nullptr);
+
+ static Project *projectForFile(const Utils::FilePath &fileName);
+ static Project *projectWithProjectFilePath(const Utils::FilePath &filePath);
+
+ static Utils::FilePaths projectsForSessionName(const QString &session);
+
+ static void reportProjectLoadingProgress();
+
+ static bool loadSession(const QString &session, bool initial = false);
+
+signals:
+ void targetAdded(ProjectExplorer::Target *target);
+ void targetRemoved(ProjectExplorer::Target *target);
+ void projectAdded(ProjectExplorer::Project *project);
+ void aboutToRemoveProject(ProjectExplorer::Project *project);
+ void projectDisplayNameChanged(ProjectExplorer::Project *project);
+ void projectRemoved(ProjectExplorer::Project *project);
+
+ void startupProjectChanged(ProjectExplorer::Project *project);
+
+ void dependencyChanged(ProjectExplorer::Project *a, ProjectExplorer::Project *b);
+
+ // for tests only
+ void projectFinishedParsing(ProjectExplorer::Project *project);
+
private:
+ static void configureEditor(Core::IEditor *editor, const QString &fileName);
+ static void configureEditors(Project *project);
+
static void registerProjectCreator(const QString &mimeType,
const std::function<Project *(const Utils::FilePath &)> &);
};
diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
index 0a761f91e62..d318de8cc34 100644
--- a/src/plugins/projectexplorer/projectmodels.cpp
+++ b/src/plugins/projectexplorer/projectmodels.cpp
@@ -8,6 +8,7 @@
#include "projectnodes.h"
#include "projectexplorer.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projecttree.h"
#include "session.h"
#include "target.h"
@@ -174,14 +175,15 @@ FlatModel::FlatModel(QObject *parent)
ProjectTree *tree = ProjectTree::instance();
connect(tree, &ProjectTree::subtreeChanged, this, &FlatModel::updateSubtree);
- SessionManager *sm = SessionManager::instance();
- connect(sm, &SessionManager::projectRemoved, this, &FlatModel::handleProjectRemoved);
- connect(sm, &SessionManager::aboutToLoadSession, this, &FlatModel::loadExpandData);
- connect(sm, &SessionManager::aboutToSaveSession, this, &FlatModel::saveExpandData);
- connect(sm, &SessionManager::projectAdded, this, &FlatModel::handleProjectAdded);
- connect(sm, &SessionManager::startupProjectChanged, this, [this] { emit layoutChanged(); });
+ ProjectManager *sm = ProjectManager::instance();
+ SessionManager *sb = SessionManager::instance();
+ connect(sm, &ProjectManager::projectRemoved, this, &FlatModel::handleProjectRemoved);
+ connect(sb, &SessionManager::aboutToLoadSession, this, &FlatModel::loadExpandData);
+ connect(sb, &SessionManager::aboutToSaveSession, this, &FlatModel::saveExpandData);
+ connect(sm, &ProjectManager::projectAdded, this, &FlatModel::handleProjectAdded);
+ connect(sm, &ProjectManager::startupProjectChanged, this, [this] { emit layoutChanged(); });
- for (Project *project : SessionManager::projects())
+ for (Project *project : ProjectManager::projects())
handleProjectAdded(project);
}
@@ -234,7 +236,7 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const
}
case Qt::FontRole: {
QFont font;
- if (project == SessionManager::startupProject())
+ if (project == ProjectManager::startupProject())
font.setBold(true);
return font;
}
@@ -407,7 +409,7 @@ void FlatModel::updateSubtree(FolderNode *node)
void FlatModel::rebuildModel()
{
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
for (Project *project : projects)
addOrRebuildProjectModel(project);
}
diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp
index 18b03d3ae0e..5f81f473fe4 100644
--- a/src/plugins/projectexplorer/projecttree.cpp
+++ b/src/plugins/projectexplorer/projecttree.cpp
@@ -6,9 +6,9 @@
#include "project.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectnodes.h"
#include "projecttreewidget.h"
-#include "session.h"
#include "target.h"
#include <coreplugin/actionmanager/actioncontainer.h>
@@ -53,11 +53,11 @@ ProjectTree::ProjectTree(QObject *parent) : QObject(parent)
connect(qApp, &QApplication::focusChanged,
this, &ProjectTree::update);
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, &ProjectTree::sessionAndTreeChanged);
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
this, &ProjectTree::sessionAndTreeChanged);
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &ProjectTree::sessionChanged);
connect(this, &ProjectTree::subtreeChanged, this, &ProjectTree::treeChanged);
}
@@ -170,7 +170,7 @@ void ProjectTree::updateFromNode(Node *node)
if (node)
project = projectForNode(node);
else
- project = SessionManager::startupProject();
+ project = ProjectManager::startupProject();
setCurrent(node, project);
for (ProjectTreeWidget *widget : std::as_const(m_projectTreeWidgets))
@@ -224,7 +224,7 @@ void ProjectTree::sessionChanged()
{
if (m_currentProject) {
Core::DocumentManager::setDefaultLocationForNewFiles(m_currentProject->projectDirectory());
- } else if (Project *project = SessionManager::startupProject()) {
+ } else if (Project *project = ProjectManager::startupProject()) {
Core::DocumentManager::setDefaultLocationForNewFiles(project->projectDirectory());
updateFromNode(nullptr); // Make startup project current if there is no other current
} else {
@@ -300,7 +300,7 @@ void ProjectTree::updateFileWarning(Core::IDocument *document, const QString &te
if (!infoBar->canInfoBeAdded(infoId))
return;
const FilePath filePath = document->filePath();
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
if (projects.isEmpty())
return;
for (Project *project : projects) {
@@ -394,7 +394,7 @@ void ProjectTree::applyTreeManager(FolderNode *folder, ConstructionPhase phase)
bool ProjectTree::hasNode(const Node *node)
{
- return Utils::contains(SessionManager::projects(), [node](const Project *p) {
+ return Utils::contains(ProjectManager::projects(), [node](const Project *p) {
if (!p)
return false;
if (p->containerNode() == node)
@@ -409,7 +409,7 @@ bool ProjectTree::hasNode(const Node *node)
void ProjectTree::forEachNode(const std::function<void(Node *)> &task)
{
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
for (Project *project : projects) {
if (ProjectNode *projectNode = project->rootProjectNode()) {
task(projectNode);
@@ -430,7 +430,7 @@ Project *ProjectTree::projectForNode(const Node *node)
while (folder && folder->parentFolderNode())
folder = folder->parentFolderNode();
- return Utils::findOrDefault(SessionManager::projects(), [folder](const Project *pro) {
+ return Utils::findOrDefault(ProjectManager::projects(), [folder](const Project *pro) {
return pro->containerNode() == folder;
});
}
@@ -438,7 +438,7 @@ Project *ProjectTree::projectForNode(const Node *node)
Node *ProjectTree::nodeForFile(const FilePath &fileName)
{
Node *node = nullptr;
- for (const Project *project : SessionManager::projects()) {
+ for (const Project *project : ProjectManager::projects()) {
project->nodeForFilePath(fileName, [&](const Node *n) {
if (!node || (!node->asFileNode() && n->asFileNode()))
node = const_cast<Node *>(n);
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index 65f38626fef..28c06e9254d 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -6,10 +6,10 @@
#include "project.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectmodels.h"
#include "projectnodes.h"
#include "projecttree.h"
-#include "session.h"
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h>
@@ -343,7 +343,7 @@ Node *ProjectTreeWidget::nodeForFile(const FilePath &fileName)
int bestNodeExpandCount = INT_MAX;
// FIXME: Looks like this could be done with less cycles.
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
if (ProjectNode *projectNode = project->rootProjectNode()) {
projectNode->forEachGenericNode([&](Node *node) {
if (node->filePath() == fileName) {
diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp
index 156212a5041..5b392ea7a15 100644
--- a/src/plugins/projectexplorer/projectwelcomepage.cpp
+++ b/src/plugins/projectexplorer/projectwelcomepage.cpp
@@ -7,6 +7,7 @@
#include "sessionmodel.h"
#include "projectexplorer.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h>
@@ -324,7 +325,7 @@ public:
if (expanded) {
painter->setPen(textColor);
painter->setFont(sizedFont(12, option.widget));
- const FilePaths projects = SessionManager::projectsForSessionName(sessionName);
+ const FilePaths projects = ProjectManager::projectsForSessionName(sessionName);
int yy = firstBase + SESSION_LINE_HEIGHT - 3;
QFontMetrics fm(option.widget->font());
for (const FilePath &projectPath : projects) {
@@ -378,7 +379,7 @@ public:
int h = SESSION_LINE_HEIGHT;
QString sessionName = idx.data(Qt::DisplayRole).toString();
if (m_expandedSessions.contains(sessionName)) {
- const FilePaths projects = SessionManager::projectsForSessionName(sessionName);
+ const FilePaths projects = ProjectManager::projectsForSessionName(sessionName);
h += projects.size() * 40 + LINK_HEIGHT - 6;
}
return QSize(380, h + ItemGap);
diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp
index afe2b45e7e7..e91dbf94feb 100644
--- a/src/plugins/projectexplorer/projectwindow.cpp
+++ b/src/plugins/projectexplorer/projectwindow.cpp
@@ -12,9 +12,9 @@
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
#include "projectimporter.h"
+#include "projectmanager.h"
#include "projectpanelfactory.h"
#include "projectsettingswidget.h"
-#include "session.h"
#include "target.h"
#include "targetsettingspanel.h"
@@ -351,7 +351,7 @@ public:
case Qt::FontRole: {
QFont font;
- font.setBold(m_project == SessionManager::startupProject());
+ font.setBold(m_project == ProjectManager::startupProject());
return font;
}
@@ -391,7 +391,7 @@ public:
if (role == ItemActivatedDirectlyRole) {
// Someone selected the project using the combobox or similar.
- SessionManager::setStartupProject(m_project);
+ ProjectManager::setStartupProject(m_project);
m_currentChildIndex = 0; // Use some Target page by defaults
m_targetsItem->setData(column, dat, ItemActivatedFromAboveRole); // And propagate downwards.
announceChange();
@@ -545,18 +545,18 @@ public:
m_projectSelection->showPopup();
});
- SessionManager *sessionManager = SessionManager::instance();
- connect(sessionManager, &SessionManager::projectAdded,
+ ProjectManager *sessionManager = ProjectManager::instance();
+ connect(sessionManager, &ProjectManager::projectAdded,
this, &ProjectWindowPrivate::registerProject);
- connect(sessionManager, &SessionManager::aboutToRemoveProject,
+ connect(sessionManager, &ProjectManager::aboutToRemoveProject,
this, &ProjectWindowPrivate::deregisterProject);
- connect(sessionManager, &SessionManager::startupProjectChanged,
+ connect(sessionManager, &ProjectManager::startupProjectChanged,
this, &ProjectWindowPrivate::startupProjectChanged);
m_importBuild = new QPushButton(Tr::tr("Import Existing Build..."));
connect(m_importBuild, &QPushButton::clicked,
this, &ProjectWindowPrivate::handleImportBuild);
- connect(sessionManager, &SessionManager::startupProjectChanged, this, [this](Project *project) {
+ connect(sessionManager, &ProjectManager::startupProjectChanged, this, [this](Project *project) {
m_importBuild->setEnabled(project && project->projectImporter());
});
@@ -671,7 +671,7 @@ public:
void projectSelected(int index)
{
Project *project = m_comboBoxModel.rootItem()->childAt(index)->m_projectItem->project();
- SessionManager::setStartupProject(project);
+ ProjectManager::setStartupProject(project);
}
ComboBoxItem *itemForProject(Project *project) const
@@ -774,8 +774,8 @@ public:
}
}
if (lastTarget && lastBc) {
- SessionManager::setActiveBuildConfiguration(lastTarget, lastBc, SetActive::Cascade);
- SessionManager::setActiveTarget(project, lastTarget, SetActive::Cascade);
+ lastTarget->setActiveBuildConfiguration(lastBc, SetActive::Cascade);
+ project->setActiveTarget(lastTarget, SetActive::Cascade);
}
}
diff --git a/src/plugins/projectexplorer/projectwizardpage.cpp b/src/plugins/projectexplorer/projectwizardpage.cpp
index 34dc0b9aaa5..a648eb0981f 100644
--- a/src/plugins/projectexplorer/projectwizardpage.cpp
+++ b/src/plugins/projectexplorer/projectwizardpage.cpp
@@ -5,8 +5,8 @@
#include "project.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectmodels.h"
-#include "session.h"
#include <coreplugin/icore.h>
#include <coreplugin/iversioncontrol.h>
@@ -463,7 +463,7 @@ void ProjectWizardPage::initializeProjectTree(Node *context, const FilePaths &pa
TreeItem *root = m_model.rootItem();
root->removeChildren();
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
if (ProjectNode *pn = project->rootProjectNode()) {
if (kind == IWizardFactory::ProjectWizard) {
if (AddNewTree *child = buildAddProjectTree(pn, paths.first(), context, &selector))
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index b5f3f8e703e..cdb6d708c4d 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -12,10 +12,10 @@
#include "projectexplorer.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectnodes.h"
#include "runconfigurationaspects.h"
#include "runcontrol.h"
-#include "session.h"
#include "target.h"
#include <coreplugin/icontext.h>
@@ -33,7 +33,6 @@
#include <utils/utilsicons.h>
#include <utils/variablechooser.h>
-#include <QDir>
#include <QHash>
#include <QPushButton>
#include <QTimer>
@@ -313,7 +312,7 @@ void RunConfiguration::update()
const bool isActive = target()->isActive() && target()->activeRunConfiguration() == this;
- if (isActive && project() == SessionManager::startupProject())
+ if (isActive && project() == ProjectManager::startupProject())
ProjectExplorerPlugin::updateRunActions();
}
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index bd8b30f2b7a..c1a3a75e3c2 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -291,11 +291,10 @@ void RunSettingsWidget::currentDeployConfigurationChanged(int index)
if (m_ignoreChanges.isLocked())
return;
if (index == -1)
- SessionManager::setActiveDeployConfiguration(m_target, nullptr, SetActive::Cascade);
+ m_target->setActiveDeployConfiguration(nullptr, SetActive::Cascade);
else
- SessionManager::setActiveDeployConfiguration(m_target,
- qobject_cast<DeployConfiguration *>(m_target->deployConfigurationModel()->projectConfigurationAt(index)),
- SetActive::Cascade);
+ m_target->setActiveDeployConfiguration(qobject_cast<DeployConfiguration *>(m_target->deployConfigurationModel()->projectConfigurationAt(index)),
+ SetActive::Cascade);
}
void RunSettingsWidget::aboutToShowDeployMenu()
@@ -309,7 +308,7 @@ void RunSettingsWidget::aboutToShowDeployMenu()
if (!newDc)
return;
m_target->addDeployConfiguration(newDc);
- SessionManager::setActiveDeployConfiguration(m_target, newDc, SetActive::Cascade);
+ m_target->setActiveDeployConfiguration(newDc, SetActive::Cascade);
m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1);
});
}
diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index 6dcfd9a4619..3efbb76f9b9 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -11,6 +11,7 @@
#include "projectexplorer.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectnodes.h"
#include "target.h"
@@ -65,11 +66,7 @@ class SessionManagerPrivate
{
public:
void restoreValues(const PersistentSettingsReader &reader);
- void restoreDependencies(const PersistentSettingsReader &reader);
- void restoreStartupProject(const PersistentSettingsReader &reader);
void restoreEditors(const PersistentSettingsReader &reader);
- void restoreProjects(const FilePaths &fileList);
- void askUserAboutFailedProjects();
void sessionLoadingProgress();
bool recursiveDependencyCheck(const FilePath &newDep, const FilePath &checkDep) const;
@@ -80,31 +77,53 @@ public:
static QString windowTitleAddition(const FilePath &filePath);
static QString sessionTitle(const FilePath &filePath);
- bool hasProjects() const { return !m_projects.isEmpty(); }
-
QString m_sessionName = QLatin1String(DEFAULT_SESSION);
bool m_virginSession = true;
bool m_loadingSession = false;
- bool m_casadeSetActive = false;
mutable QStringList m_sessions;
mutable QHash<QString, QDateTime> m_sessionDateTimes;
QHash<QString, QDateTime> m_lastActiveTimes;
+ QMap<QString, QVariant> m_values;
+ QFutureInterface<void> m_future;
+ PersistentSettingsWriter *m_writer = nullptr;
+};
+
+class ProjectManagerPrivate
+{
+public:
+ void restoreDependencies(const PersistentSettingsReader &reader);
+ void restoreStartupProject(const PersistentSettingsReader &reader);
+ void restoreProjects(const FilePaths &fileList);
+ void askUserAboutFailedProjects();
+
+ bool recursiveDependencyCheck(const FilePath &newDep, const FilePath &checkDep) const;
+ FilePaths dependencies(const FilePath &proName) const;
+ FilePaths dependenciesOrder() const;
+ void dependencies(const FilePath &proName, FilePaths &result) const;
+
+ static QString windowTitleAddition(const FilePath &filePath);
+ static QString sessionTitle(const FilePath &filePath);
+
+ bool hasProjects() const { return !m_projects.isEmpty(); }
+
+ bool m_casadeSetActive = false;
+
Project *m_startupProject = nullptr;
QList<Project *> m_projects;
FilePaths m_failedProjects;
QMap<FilePath, FilePaths> m_depMap;
- QMap<QString, QVariant> m_values;
- QFutureInterface<void> m_future;
- PersistentSettingsWriter *m_writer = nullptr;
private:
static QString locationInProject(const FilePath &filePath);
};
-static SessionManager *m_instance = nullptr;
-static SessionManagerPrivate *d = nullptr;
+static ProjectManager *m_instance = nullptr;
+static ProjectManagerPrivate *d = nullptr;
+
+static SessionManager *sb_instance = nullptr;
+static SessionManagerPrivate *sb_d = nullptr;
static QString projectFolderId(Project *pro)
{
@@ -113,56 +132,74 @@ static QString projectFolderId(Project *pro)
const int PROJECT_SORT_VALUE = 100;
-SessionManager::SessionManager(QObject *parent) : QObject(parent)
+SessionManager::SessionManager()
{
- m_instance = this;
- d = new SessionManagerPrivate;
+ sb_instance = this;
+ sb_d = new SessionManagerPrivate;
connect(ModeManager::instance(), &ModeManager::currentModeChanged,
this, &SessionManager::saveActiveMode);
connect(ICore::instance(), &ICore::saveSettingsRequested, this, [] {
QVariantMap times;
- for (auto it = d->m_lastActiveTimes.cbegin(); it != d->m_lastActiveTimes.cend(); ++it)
+ for (auto it = sb_d->m_lastActiveTimes.cbegin(); it != sb_d->m_lastActiveTimes.cend(); ++it)
times.insert(it.key(), it.value());
ICore::settings()->setValue(LAST_ACTIVE_TIMES_KEY, times);
});
- connect(EditorManager::instance(), &EditorManager::editorCreated,
- this, &SessionManager::configureEditor);
- connect(this, &SessionManager::projectAdded,
- EditorManager::instance(), &EditorManager::updateWindowTitles);
- connect(this, &SessionManager::projectRemoved,
- EditorManager::instance(), &EditorManager::updateWindowTitles);
- connect(this, &SessionManager::projectDisplayNameChanged,
- EditorManager::instance(), &EditorManager::updateWindowTitles);
connect(EditorManager::instance(), &EditorManager::editorOpened,
this, &SessionManager::markSessionFileDirty);
connect(EditorManager::instance(), &EditorManager::editorsClosed,
this, &SessionManager::markSessionFileDirty);
-
- EditorManager::setWindowTitleAdditionHandler(&SessionManagerPrivate::windowTitleAddition);
- EditorManager::setSessionTitleHandler(&SessionManagerPrivate::sessionTitle);
}
SessionManager::~SessionManager()
{
+ emit sb_instance->aboutToUnloadSession(sb_d->m_sessionName);
+ delete sb_d->m_writer;
+ delete sb_d;
+ sb_d = nullptr;
+}
+
+ProjectManager::ProjectManager()
+{
+ m_instance = this;
+ d = new ProjectManagerPrivate;
+
+ connect(EditorManager::instance(), &EditorManager::editorCreated,
+ this, &ProjectManager::configureEditor);
+ connect(this, &ProjectManager::projectAdded,
+ EditorManager::instance(), &EditorManager::updateWindowTitles);
+ connect(this, &ProjectManager::projectRemoved,
+ EditorManager::instance(), &EditorManager::updateWindowTitles);
+ connect(this, &ProjectManager::projectDisplayNameChanged,
+ EditorManager::instance(), &EditorManager::updateWindowTitles);
+
+ EditorManager::setWindowTitleAdditionHandler(&ProjectManagerPrivate::windowTitleAddition);
+ EditorManager::setSessionTitleHandler(&ProjectManagerPrivate::sessionTitle);
+}
+
+ProjectManager::~ProjectManager()
+{
EditorManager::setWindowTitleAdditionHandler({});
EditorManager::setSessionTitleHandler({});
- emit m_instance->aboutToUnloadSession(d->m_sessionName);
- delete d->m_writer;
delete d;
d = nullptr;
}
SessionManager *SessionManager::instance()
{
+ return sb_instance;
+}
+
+ProjectManager *ProjectManager::instance()
+{
return m_instance;
}
bool SessionManager::isDefaultVirgin()
{
- return isDefaultSession(d->m_sessionName) && d->m_virginSession;
+ return isDefaultSession(sb_d->m_sessionName) && sb_d->m_virginSession;
}
bool SessionManager::isDefaultSession(const QString &session)
@@ -176,7 +213,7 @@ void SessionManager::saveActiveMode(Id mode)
setValue(QLatin1String("ActiveMode"), mode.toString());
}
-bool SessionManagerPrivate::recursiveDependencyCheck(const FilePath &newDep,
+bool ProjectManagerPrivate::recursiveDependencyCheck(const FilePath &newDep,
const FilePath &checkDep) const
{
if (newDep == checkDep)
@@ -198,7 +235,7 @@ bool SessionManagerPrivate::recursiveDependencyCheck(const FilePath &newDep,
* filenames when saving.
*/
-QList<Project *> SessionManager::dependencies(const Project *project)
+QList<Project *> ProjectManager::dependencies(const Project *project)
{
const FilePath proName = project->projectFilePath();
const FilePaths proDeps = d->m_depMap.value(proName);
@@ -215,7 +252,7 @@ QList<Project *> SessionManager::dependencies(const Project *project)
return projects;
}
-bool SessionManager::hasDependency(const Project *project, const Project *depProject)
+bool ProjectManager::hasDependency(const Project *project, const Project *depProject)
{
const FilePath proName = project->projectFilePath();
const FilePath depName = depProject->projectFilePath();
@@ -224,7 +261,7 @@ bool SessionManager::hasDependency(const Project *project, const Project *depPro
return proDeps.contains(depName);
}
-bool SessionManager::canAddDependency(const Project *project, const Project *depProject)
+bool ProjectManager::canAddDependency(const Project *project, const Project *depProject)
{
const FilePath newDep = project->projectFilePath();
const FilePath checkDep = depProject->projectFilePath();
@@ -232,7 +269,7 @@ bool SessionManager::canAddDependency(const Project *project, const Project *dep
return d->recursiveDependencyCheck(newDep, checkDep);
}
-bool SessionManager::addDependency(Project *project, Project *depProject)
+bool ProjectManager::addDependency(Project *project, Project *depProject)
{
const FilePath proName = project->projectFilePath();
const FilePath depName = depProject->projectFilePath();
@@ -251,7 +288,7 @@ bool SessionManager::addDependency(Project *project, Project *depProject)
return true;
}
-void SessionManager::removeDependency(Project *project, Project *depProject)
+void ProjectManager::removeDependency(Project *project, Project *depProject)
{
const FilePath proName = project->projectFilePath();
const FilePath depName = depProject->projectFilePath();
@@ -265,109 +302,18 @@ void SessionManager::removeDependency(Project *project, Project *depProject)
emit m_instance->dependencyChanged(project, depProject);
}
-bool SessionManager::isProjectConfigurationCascading()
+bool ProjectManager::isProjectConfigurationCascading()
{
return d->m_casadeSetActive;
}
-void SessionManager::setProjectConfigurationCascading(bool b)
+void ProjectManager::setProjectConfigurationCascading(bool b)
{
d->m_casadeSetActive = b;
- markSessionFileDirty();
-}
-
-void SessionManager::setActiveTarget(Project *project, Target *target, SetActive cascade)
-{
- QTC_ASSERT(project, return);
-
- if (project->isShuttingDown())
- return;
-
- project->setActiveTarget(target);
-
- if (!target) // never cascade setting no target
- return;
-
- if (cascade != SetActive::Cascade || !d->m_casadeSetActive)
- return;
-
- Utils::Id kitId = target->kit()->id();
- for (Project *otherProject : SessionManager::projects()) {
- if (otherProject == project)
- continue;
- if (Target *otherTarget = Utils::findOrDefault(otherProject->targets(),
- [kitId](Target *t) { return t->kit()->id() == kitId; }))
- otherProject->setActiveTarget(otherTarget);
- }
-}
-
-void SessionManager::setActiveBuildConfiguration(Target *target, BuildConfiguration *bc, SetActive cascade)
-{
- QTC_ASSERT(target, return);
- QTC_ASSERT(target->project(), return);
-
- if (target->project()->isShuttingDown() || target->isShuttingDown())
- return;
-
- target->setActiveBuildConfiguration(bc);
-
- if (!bc)
- return;
- if (cascade != SetActive::Cascade || !d->m_casadeSetActive)
- return;
-
- Utils::Id kitId = target->kit()->id();
- QString name = bc->displayName(); // We match on displayname
- for (Project *otherProject : SessionManager::projects()) {
- if (otherProject == target->project())
- continue;
- Target *otherTarget = otherProject->activeTarget();
- if (!otherTarget || otherTarget->kit()->id() != kitId)
- continue;
-
- for (BuildConfiguration *otherBc : otherTarget->buildConfigurations()) {
- if (otherBc->displayName() == name) {
- otherTarget->setActiveBuildConfiguration(otherBc);
- break;
- }
- }
- }
-}
-
-void SessionManager::setActiveDeployConfiguration(Target *target, DeployConfiguration *dc, SetActive cascade)
-{
- QTC_ASSERT(target, return);
- QTC_ASSERT(target->project(), return);
-
- if (target->project()->isShuttingDown() || target->isShuttingDown())
- return;
-
- target->setActiveDeployConfiguration(dc);
-
- if (!dc)
- return;
- if (cascade != SetActive::Cascade || !d->m_casadeSetActive)
- return;
-
- Utils::Id kitId = target->kit()->id();
- QString name = dc->displayName(); // We match on displayname
- for (Project *otherProject : SessionManager::projects()) {
- if (otherProject == target->project())
- continue;
- Target *otherTarget = otherProject->activeTarget();
- if (!otherTarget || otherTarget->kit()->id() != kitId)
- continue;
-
- for (DeployConfiguration *otherDc : otherTarget->deployConfigurations()) {
- if (otherDc->displayName() == name) {
- otherTarget->setActiveDeployConfiguration(otherDc);
- break;
- }
- }
- }
+ SessionManager::markSessionFileDirty();
}
-void SessionManager::setStartupProject(Project *startupProject)
+void ProjectManager::setStartupProject(Project *startupProject)
{
QTC_ASSERT((!startupProject && d->m_projects.isEmpty())
|| (startupProject && d->m_projects.contains(startupProject)), return);
@@ -385,17 +331,17 @@ void SessionManager::setStartupProject(Project *startupProject)
emit m_instance->startupProjectChanged(startupProject);
}
-Project *SessionManager::startupProject()
+Project *ProjectManager::startupProject()
{
return d->m_startupProject;
}
-Target *SessionManager::startupTarget()
+Target *ProjectManager::startupTarget()
{
return d->m_startupProject ? d->m_startupProject->activeTarget() : nullptr;
}
-BuildSystem *SessionManager::startupBuildSystem()
+BuildSystem *ProjectManager::startupBuildSystem()
{
Target *t = startupTarget();
return t ? t->buildSystem() : nullptr;
@@ -407,19 +353,19 @@ BuildSystem *SessionManager::startupBuildSystem()
*/
-RunConfiguration *SessionManager::startupRunConfiguration()
+RunConfiguration *ProjectManager::startupRunConfiguration()
{
Target *t = startupTarget();
return t ? t->activeRunConfiguration() : nullptr;
}
-void SessionManager::addProject(Project *pro)
+void ProjectManager::addProject(Project *pro)
{
QTC_ASSERT(pro, return);
QTC_CHECK(!pro->displayName().isEmpty());
QTC_CHECK(pro->id().isValid());
- d->m_virginSession = false;
+ sb_d->m_virginSession = false;
QTC_ASSERT(!d->m_projects.contains(pro), return);
d->m_projects.append(pro);
@@ -451,27 +397,27 @@ void SessionManager::addProject(Project *pro)
setStartupProject(pro);
}
-void SessionManager::removeProject(Project *project)
+void ProjectManager::removeProject(Project *project)
{
- d->m_virginSession = false;
+ sb_d->m_virginSession = false;
QTC_ASSERT(project, return);
removeProjects({project});
}
bool SessionManager::loadingSession()
{
- return d->m_loadingSession;
+ return sb_d->m_loadingSession;
}
-bool SessionManager::save()
+bool ProjectManager::save()
{
- emit m_instance->aboutToSaveSession();
+ emit sb_instance->aboutToSaveSession();
- const FilePath filePath = sessionNameToFileName(d->m_sessionName);
+ const FilePath filePath = SessionManager::sessionNameToFileName(sb_d->m_sessionName);
QVariantMap data;
// See the explanation at loadSession() for how we handle the implicit default session.
- if (isDefaultVirgin()) {
+ if (SessionManager::isDefaultVirgin()) {
if (filePath.exists()) {
PersistentSettingsReader reader;
if (!reader.load(filePath)) {
@@ -522,25 +468,25 @@ bool SessionManager::save()
data.insert(QLatin1String("EditorSettings"), EditorManager::saveState().toBase64());
}
- const auto end = d->m_values.constEnd();
+ const auto end = sb_d->m_values.constEnd();
QStringList keys;
- for (auto it = d->m_values.constBegin(); it != end; ++it) {
+ for (auto it = sb_d->m_values.constBegin(); it != end; ++it) {
data.insert(QLatin1String("value-") + it.key(), it.value());
keys << it.key();
}
data.insert(QLatin1String("valueKeys"), keys);
- if (!d->m_writer || d->m_writer->fileName() != filePath) {
- delete d->m_writer;
- d->m_writer = new PersistentSettingsWriter(filePath, "QtCreatorSession");
+ if (!sb_d->m_writer || sb_d->m_writer->fileName() != filePath) {
+ delete sb_d->m_writer;
+ sb_d->m_writer = new PersistentSettingsWriter(filePath, "QtCreatorSession");
}
- const bool result = d->m_writer->save(data, ICore::dialogParent());
+ const bool result = sb_d->m_writer->save(data, ICore::dialogParent());
if (result) {
- if (!isDefaultVirgin())
- d->m_sessionDateTimes.insert(activeSession(), QDateTime::currentDateTime());
+ if (!SessionManager::isDefaultVirgin())
+ sb_d->m_sessionDateTimes.insert(SessionManager::activeSession(), QDateTime::currentDateTime());
} else {
QMessageBox::warning(ICore::dialogParent(), Tr::tr("Error while saving session"),
- Tr::tr("Could not save session to file %1").arg(d->m_writer->fileName().toUserOutput()));
+ Tr::tr("Could not save session to file %1").arg(sb_d->m_writer->fileName().toUserOutput()));
}
return result;
@@ -549,34 +495,34 @@ bool SessionManager::save()
/*!
Closes all projects
*/
-void SessionManager::closeAllProjects()
+void ProjectManager::closeAllProjects()
{
removeProjects(projects());
}
-const QList<Project *> SessionManager::projects()
+const QList<Project *> ProjectManager::projects()
{
return d->m_projects;
}
-bool SessionManager::hasProjects()
+bool ProjectManager::hasProjects()
{
return d->hasProjects();
}
-bool SessionManager::hasProject(Project *p)
+bool ProjectManager::hasProject(Project *p)
{
return d->m_projects.contains(p);
}
-FilePaths SessionManagerPrivate::dependencies(const FilePath &proName) const
+FilePaths ProjectManagerPrivate::dependencies(const FilePath &proName) const
{
FilePaths result;
dependencies(proName, result);
return result;
}
-void SessionManagerPrivate::dependencies(const FilePath &proName, FilePaths &result) const
+void ProjectManagerPrivate::dependencies(const FilePath &proName, FilePaths &result) const
{
const FilePaths depends = m_depMap.value(proName);
@@ -587,17 +533,17 @@ void SessionManagerPrivate::dependencies(const FilePath &proName, FilePaths &res
result.append(proName);
}
-QString SessionManagerPrivate::sessionTitle(const FilePath &filePath)
+QString ProjectManagerPrivate::sessionTitle(const FilePath &filePath)
{
- if (SessionManager::isDefaultSession(d->m_sessionName)) {
+ if (SessionManager::isDefaultSession(sb_d->m_sessionName)) {
if (filePath.isEmpty()) {
// use single project's name if there is only one loaded.
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
if (projects.size() == 1)
return projects.first()->displayName();
}
} else {
- QString sessionName = d->m_sessionName;
+ QString sessionName = sb_d->m_sessionName;
if (sessionName.isEmpty())
sessionName = Tr::tr("Untitled");
return sessionName;
@@ -605,8 +551,8 @@ QString SessionManagerPrivate::sessionTitle(const FilePath &filePath)
return QString();
}
-QString SessionManagerPrivate::locationInProject(const FilePath &filePath) {
- const Project *project = SessionManager::projectForFile(filePath);
+QString ProjectManagerPrivate::locationInProject(const FilePath &filePath) {
+ const Project *project = ProjectManager::projectForFile(filePath);
if (!project)
return QString();
@@ -625,12 +571,12 @@ QString SessionManagerPrivate::locationInProject(const FilePath &filePath) {
return "(" + parentDir.toUserOutput() + " @ " + project->displayName() + ")";
}
-QString SessionManagerPrivate::windowTitleAddition(const FilePath &filePath)
+QString ProjectManagerPrivate::windowTitleAddition(const FilePath &filePath)
{
return filePath.isEmpty() ? QString() : locationInProject(filePath);
}
-FilePaths SessionManagerPrivate::dependenciesOrder() const
+FilePaths ProjectManagerPrivate::dependenciesOrder() const
{
QList<QPair<FilePath, FilePaths>> unordered;
FilePaths ordered;
@@ -669,7 +615,7 @@ FilePaths SessionManagerPrivate::dependenciesOrder() const
return ordered;
}
-QList<Project *> SessionManager::projectOrder(const Project *project)
+QList<Project *> ProjectManager::projectOrder(const Project *project)
{
QList<Project *> result;
@@ -691,13 +637,13 @@ QList<Project *> SessionManager::projectOrder(const Project *project)
return result;
}
-Project *SessionManager::projectForFile(const FilePath &fileName)
+Project *ProjectManager::projectForFile(const FilePath &fileName)
{
- if (Project * const project = Utils::findOrDefault(SessionManager::projects(),
+ if (Project * const project = Utils::findOrDefault(ProjectManager::projects(),
[&fileName](const Project *p) { return p->isKnownFile(fileName); })) {
return project;
}
- return Utils::findOrDefault(SessionManager::projects(),
+ return Utils::findOrDefault(ProjectManager::projects(),
[&fileName](const Project *p) {
for (const Target * const target : p->targets()) {
for (const BuildConfiguration * const bc : target->buildConfigurations()) {
@@ -709,13 +655,13 @@ Project *SessionManager::projectForFile(const FilePath &fileName)
});
}
-Project *SessionManager::projectWithProjectFilePath(const FilePath &filePath)
+Project *ProjectManager::projectWithProjectFilePath(const FilePath &filePath)
{
- return Utils::findOrDefault(SessionManager::projects(),
+ return Utils::findOrDefault(ProjectManager::projects(),
[&filePath](const Project *p) { return p->projectFilePath() == filePath; });
}
-void SessionManager::configureEditor(IEditor *editor, const QString &fileName)
+void ProjectManager::configureEditor(IEditor *editor, const QString &fileName)
{
if (auto textEditor = qobject_cast<TextEditor::BaseTextEditor*>(editor)) {
Project *project = projectForFile(Utils::FilePath::fromString(fileName));
@@ -725,7 +671,7 @@ void SessionManager::configureEditor(IEditor *editor, const QString &fileName)
}
}
-void SessionManager::configureEditors(Project *project)
+void ProjectManager::configureEditors(Project *project)
{
const QList<IDocument *> documents = DocumentModel::openedDocuments();
for (IDocument *document : documents) {
@@ -740,7 +686,7 @@ void SessionManager::configureEditors(Project *project)
}
}
-void SessionManager::removeProjects(const QList<Project *> &remove)
+void ProjectManager::removeProjects(const QList<Project *> &remove)
{
for (Project *pro : remove)
emit m_instance->aboutToRemoveProject(pro);
@@ -775,52 +721,52 @@ void SessionManager::removeProjects(const QList<Project *> &remove)
void SessionManager::setValue(const QString &name, const QVariant &value)
{
- if (d->m_values.value(name) == value)
+ if (sb_d->m_values.value(name) == value)
return;
- d->m_values.insert(name, value);
+ sb_d->m_values.insert(name, value);
}
QVariant SessionManager::value(const QString &name)
{
- auto it = d->m_values.constFind(name);
- return (it == d->m_values.constEnd()) ? QVariant() : *it;
+ auto it = sb_d->m_values.constFind(name);
+ return (it == sb_d->m_values.constEnd()) ? QVariant() : *it;
}
QString SessionManager::activeSession()
{
- return d->m_sessionName;
+ return sb_d->m_sessionName;
}
QStringList SessionManager::sessions()
{
- if (d->m_sessions.isEmpty()) {
+ if (sb_d->m_sessions.isEmpty()) {
// We are not initialized yet, so do that now
const FilePaths sessionFiles =
ICore::userResourcePath().dirEntries({{"*qws"}}, QDir::Time | QDir::Reversed);
const QVariantMap lastActiveTimes = ICore::settings()->value(LAST_ACTIVE_TIMES_KEY).toMap();
for (const FilePath &file : sessionFiles) {
const QString &name = file.completeBaseName();
- d->m_sessionDateTimes.insert(name, file.lastModified());
+ sb_d->m_sessionDateTimes.insert(name, file.lastModified());
const auto lastActiveTime = lastActiveTimes.find(name);
- d->m_lastActiveTimes.insert(name, lastActiveTime != lastActiveTimes.end()
+ sb_d->m_lastActiveTimes.insert(name, lastActiveTime != lastActiveTimes.end()
? lastActiveTime->toDateTime()
: file.lastModified());
if (name != QLatin1String(DEFAULT_SESSION))
- d->m_sessions << name;
+ sb_d->m_sessions << name;
}
- d->m_sessions.prepend(QLatin1String(DEFAULT_SESSION));
+ sb_d->m_sessions.prepend(QLatin1String(DEFAULT_SESSION));
}
- return d->m_sessions;
+ return sb_d->m_sessions;
}
QDateTime SessionManager::sessionDateTime(const QString &session)
{
- return d->m_sessionDateTimes.value(session);
+ return sb_d->m_sessionDateTimes.value(session);
}
QDateTime SessionManager::lastActiveTime(const QString &session)
{
- return d->m_lastActiveTimes.value(session);
+ return sb_d->m_lastActiveTimes.value(session);
}
FilePath SessionManager::sessionNameToFileName(const QString &session)
@@ -836,9 +782,9 @@ bool SessionManager::createSession(const QString &session)
{
if (sessions().contains(session))
return false;
- Q_ASSERT(d->m_sessions.size() > 0);
- d->m_sessions.insert(1, session);
- d->m_lastActiveTimes.insert(session, QDateTime::currentDateTime());
+ Q_ASSERT(sb_d->m_sessions.size() > 0);
+ sb_d->m_sessions.insert(1, session);
+ sb_d->m_lastActiveTimes.insert(session, QDateTime::currentDateTime());
return true;
}
@@ -847,7 +793,7 @@ bool SessionManager::renameSession(const QString &original, const QString &newNa
if (!cloneSession(original, newName))
return false;
if (original == activeSession())
- loadSession(newName);
+ ProjectManager::loadSession(newName);
emit instance()->sessionRenamed(original, newName);
return deleteSession(original);
}
@@ -873,10 +819,10 @@ bool SessionManager::confirmSessionDelete(const QStringList &sessions)
*/
bool SessionManager::deleteSession(const QString &session)
{
- if (!d->m_sessions.contains(session))
+ if (!sb_d->m_sessions.contains(session))
return false;
- d->m_sessions.removeOne(session);
- d->m_lastActiveTimes.remove(session);
+ sb_d->m_sessions.removeOne(session);
+ sb_d->m_lastActiveTimes.remove(session);
emit instance()->sessionRemoved(session);
FilePath sessionFile = sessionNameToFileName(session);
if (sessionFile.exists())
@@ -892,14 +838,14 @@ void SessionManager::deleteSessions(const QStringList &sessions)
bool SessionManager::cloneSession(const QString &original, const QString &clone)
{
- if (!d->m_sessions.contains(original))
+ if (!sb_d->m_sessions.contains(original))
return false;
FilePath sessionFile = sessionNameToFileName(original);
// If the file does not exist, we can still clone
if (!sessionFile.exists() || sessionFile.copyFile(sessionNameToFileName(clone))) {
- d->m_sessions.insert(1, clone);
- d->m_sessionDateTimes.insert(clone, sessionNameToFileName(clone).lastModified());
+ sb_d->m_sessions.insert(1, clone);
+ sb_d->m_sessionDateTimes.insert(clone, sessionNameToFileName(clone).lastModified());
return true;
}
return false;
@@ -914,7 +860,7 @@ void SessionManagerPrivate::restoreValues(const PersistentSettingsReader &reader
}
}
-void SessionManagerPrivate::restoreDependencies(const PersistentSettingsReader &reader)
+void ProjectManagerPrivate::restoreDependencies(const PersistentSettingsReader &reader)
{
QMap<QString, QVariant> depMap = reader.restoreValue(QLatin1String("ProjectDependencies")).toMap();
auto i = depMap.constBegin();
@@ -929,7 +875,7 @@ void SessionManagerPrivate::restoreDependencies(const PersistentSettingsReader &
}
}
-void SessionManagerPrivate::askUserAboutFailedProjects()
+void ProjectManagerPrivate::askUserAboutFailedProjects()
{
FilePaths failedProjects = m_failedProjects;
if (!failedProjects.isEmpty()) {
@@ -950,7 +896,7 @@ void SessionManagerPrivate::askUserAboutFailedProjects()
}
}
-void SessionManagerPrivate::restoreStartupProject(const PersistentSettingsReader &reader)
+void ProjectManagerPrivate::restoreStartupProject(const PersistentSettingsReader &reader)
{
const FilePath startupProject = FilePath::fromSettings(reader.restoreValue("StartupProject"));
if (!startupProject.isEmpty()) {
@@ -981,7 +927,7 @@ void SessionManagerPrivate::restoreEditors(const PersistentSettingsReader &reade
/*!
Loads a session, takes a session name (not filename).
*/
-void SessionManagerPrivate::restoreProjects(const FilePaths &fileList)
+void ProjectManagerPrivate::restoreProjects(const FilePaths &fileList)
{
// indirectly adds projects to session
// Keep projects that failed to load in the session!
@@ -1021,24 +967,24 @@ void SessionManagerPrivate::restoreProjects(const FilePaths &fileList)
* either the implicit or the explicit default session.
*
*/
-bool SessionManager::loadSession(const QString &session, bool initial)
+bool ProjectManager::loadSession(const QString &session, bool initial)
{
const bool loadImplicitDefault = session.isEmpty();
const bool switchFromImplicitToExplicitDefault = session == DEFAULT_SESSION
- && d->m_sessionName == DEFAULT_SESSION && !initial;
+ && sb_d->m_sessionName == DEFAULT_SESSION && !initial;
// Do nothing if we have that session already loaded,
// exception if the session is the default virgin session
// we still want to be able to load the default session
- if (session == d->m_sessionName && !isDefaultVirgin())
+ if (session == sb_d->m_sessionName && !SessionManager::isDefaultVirgin())
return true;
- if (!loadImplicitDefault && !sessions().contains(session))
+ if (!loadImplicitDefault && !SessionManager::sessions().contains(session))
return false;
FilePaths fileList;
// Try loading the file
- FilePath fileName = sessionNameToFileName(loadImplicitDefault ? DEFAULT_SESSION : session);
+ FilePath fileName = SessionManager::sessionNameToFileName(loadImplicitDefault ? DEFAULT_SESSION : session);
PersistentSettingsReader reader;
if (fileName.exists()) {
if (!reader.load(fileName)) {
@@ -1049,8 +995,8 @@ bool SessionManager::loadSession(const QString &session, bool initial)
}
if (loadImplicitDefault) {
- d->restoreValues(reader);
- emit m_instance->sessionLoaded(DEFAULT_SESSION);
+ sb_d->restoreValues(reader);
+ emit sb_instance->sessionLoaded(DEFAULT_SESSION);
return true;
}
@@ -1059,19 +1005,19 @@ bool SessionManager::loadSession(const QString &session, bool initial)
return true;
}
- d->m_loadingSession = true;
+ sb_d->m_loadingSession = true;
// Allow everyone to set something in the session and before saving
- emit m_instance->aboutToUnloadSession(d->m_sessionName);
+ emit sb_instance->aboutToUnloadSession(sb_d->m_sessionName);
if (!save()) {
- d->m_loadingSession = false;
+ sb_d->m_loadingSession = false;
return false;
}
// Clean up
if (!EditorManager::closeAllEditors()) {
- d->m_loadingSession = false;
+ sb_d->m_loadingSession = false;
return false;
}
@@ -1088,29 +1034,29 @@ bool SessionManager::loadSession(const QString &session, bool initial)
d->m_failedProjects.clear();
d->m_depMap.clear();
if (!switchFromImplicitToExplicitDefault)
- d->m_values.clear();
+ sb_d->m_values.clear();
d->m_casadeSetActive = false;
- d->m_sessionName = session;
- delete d->m_writer;
- d->m_writer = nullptr;
+ sb_d->m_sessionName = session;
+ delete sb_d->m_writer;
+ sb_d->m_writer = nullptr;
EditorManager::updateWindowTitles();
if (fileName.exists()) {
- d->m_virginSession = false;
+ sb_d->m_virginSession = false;
- ProgressManager::addTask(d->m_future.future(), Tr::tr("Loading Session"),
+ ProgressManager::addTask(sb_d->m_future.future(), Tr::tr("Loading Session"),
"ProjectExplorer.SessionFile.Load");
- d->m_future.setProgressRange(0, 1);
- d->m_future.setProgressValue(0);
+ sb_d->m_future.setProgressRange(0, 1);
+ sb_d->m_future.setProgressValue(0);
if (!switchFromImplicitToExplicitDefault)
- d->restoreValues(reader);
- emit m_instance->aboutToLoadSession(session);
+ sb_d->restoreValues(reader);
+ emit sb_instance->aboutToLoadSession(session);
// retrieve all values before the following code could change them again
- Id modeId = Id::fromSetting(value(QLatin1String("ActiveMode")));
+ Id modeId = Id::fromSetting(SessionManager::value(QLatin1String("ActiveMode")));
if (!modeId.isValid())
modeId = Id(Core::Constants::MODE_EDIT);
@@ -1118,21 +1064,21 @@ bool SessionManager::loadSession(const QString &session, bool initial)
if (c.isValid())
StyleHelper::setBaseColor(c);
- d->m_future.setProgressRange(0, projectPathsToLoad.count() + 1/*initialization above*/ + 1/*editors*/);
- d->m_future.setProgressValue(1);
+ sb_d->m_future.setProgressRange(0, projectPathsToLoad.count() + 1/*initialization above*/ + 1/*editors*/);
+ sb_d->m_future.setProgressValue(1);
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
d->restoreProjects(projectPathsToLoad);
- d->sessionLoadingProgress();
+ sb_d->sessionLoadingProgress();
d->restoreDependencies(reader);
d->restoreStartupProject(reader);
removeProjects(projectsToRemove); // only remove old projects now that the startup project is set!
- d->restoreEditors(reader);
+ sb_d->restoreEditors(reader);
- d->m_future.reportFinished();
- d->m_future = QFutureInterface<void>();
+ sb_d->m_future.reportFinished();
+ sb_d->m_future = QFutureInterface<void>();
// Fall back to Project mode if the startup project is unconfigured and
// use the mode saved in the session otherwise
@@ -1148,13 +1094,13 @@ bool SessionManager::loadSession(const QString &session, bool initial)
}
d->m_casadeSetActive = reader.restoreValue(QLatin1String("CascadeSetActive"), false).toBool();
- d->m_lastActiveTimes.insert(session, QDateTime::currentDateTime());
+ sb_d->m_lastActiveTimes.insert(session, QDateTime::currentDateTime());
- emit m_instance->sessionLoaded(session);
+ emit sb_instance->sessionLoaded(session);
// Starts a event loop, better do that at the very end
d->askUserAboutFailedProjects();
- d->m_loadingSession = false;
+ sb_d->m_loadingSession = false;
return true;
}
@@ -1174,14 +1120,14 @@ QString SessionManager::startupSession()
return ICore::settings()->value(Constants::STARTUPSESSION_KEY).toString();
}
-void SessionManager::reportProjectLoadingProgress()
+void ProjectManager::reportProjectLoadingProgress()
{
- d->sessionLoadingProgress();
+ sb_d->sessionLoadingProgress();
}
void SessionManager::markSessionFileDirty()
{
- d->m_virginSession = false;
+ sb_d->m_virginSession = false;
}
void SessionManagerPrivate::sessionLoadingProgress()
@@ -1190,9 +1136,9 @@ void SessionManagerPrivate::sessionLoadingProgress()
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
}
-FilePaths SessionManager::projectsForSessionName(const QString &session)
+FilePaths ProjectManager::projectsForSessionName(const QString &session)
{
- const FilePath fileName = sessionNameToFileName(session);
+ const FilePath fileName = SessionManager::sessionNameToFileName(session);
PersistentSettingsReader reader;
if (fileName.exists()) {
if (!reader.load(fileName)) {
@@ -1230,7 +1176,7 @@ void ProjectExplorerPlugin::testSessionSwitch()
QVERIFY(sessionSpec.projectFile.open());
sessionSpec.projectFile.write(proFileContents);
sessionSpec.projectFile.close();
- QVERIFY(SessionManager::loadSession(sessionSpec.name));
+ QVERIFY(ProjectManager::loadSession(sessionSpec.name));
const OpenProjectResult openResult
= ProjectExplorerPlugin::openProject(
FilePath::fromString(sessionSpec.projectFile.fileName()));
@@ -1239,20 +1185,20 @@ void ProjectExplorerPlugin::testSessionSwitch()
QVERIFY(openResult);
QCOMPARE(openResult.projects().count(), 1);
QVERIFY(openResult.project());
- QCOMPARE(SessionManager::projects().count(), 1);
+ QCOMPARE(ProjectManager::projects().count(), 1);
}
for (int i = 0; i < 30; ++i) {
- QVERIFY(SessionManager::loadSession("session1"));
+ QVERIFY(ProjectManager::loadSession("session1"));
QCOMPARE(SessionManager::activeSession(), "session1");
- QCOMPARE(SessionManager::projects().count(), 1);
- QVERIFY(SessionManager::loadSession("session2"));
+ QCOMPARE(ProjectManager::projects().count(), 1);
+ QVERIFY(ProjectManager::loadSession("session2"));
QCOMPARE(SessionManager::activeSession(), "session2");
- QCOMPARE(SessionManager::projects().count(), 1);
+ QCOMPARE(ProjectManager::projects().count(), 1);
}
- QVERIFY(SessionManager::loadSession("session1"));
- SessionManager::closeAllProjects();
- QVERIFY(SessionManager::loadSession("session2"));
- SessionManager::closeAllProjects();
+ QVERIFY(ProjectManager::loadSession("session1"));
+ ProjectManager::closeAllProjects();
+ QVERIFY(ProjectManager::loadSession("session2"));
+ ProjectManager::closeAllProjects();
QVERIFY(SessionManager::deleteSession("session1"));
QVERIFY(SessionManager::deleteSession("session2"));
}
diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h
index a29e478046b..6cab7b68db5 100644
--- a/src/plugins/projectexplorer/session.h
+++ b/src/plugins/projectexplorer/session.h
@@ -5,6 +5,8 @@
#include "projectexplorer_export.h"
+#include "projectmanager.h" // FIXME: Remove once dowstream is adjusted.
+
#include <utils/id.h>
#include <utils/persistentsettings.h>
@@ -12,25 +14,14 @@
#include <QString>
#include <QStringList>
-namespace Core { class IEditor; }
-
namespace ProjectExplorer {
-class Project;
-class Target;
-class BuildConfiguration;
-class BuildSystem;
-class DeployConfiguration;
-class RunConfiguration;
-
-enum class SetActive { Cascade, NoCascade };
-
class PROJECTEXPLORER_EXPORT SessionManager : public QObject
{
Q_OBJECT
public:
- explicit SessionManager(QObject *parent = nullptr);
+ SessionManager();
~SessionManager() override;
static SessionManager *instance();
@@ -52,39 +43,7 @@ public:
static bool cloneSession(const QString &original, const QString &clone);
static bool renameSession(const QString &original, const QString &newName);
- static bool loadSession(const QString &session, bool initial = false);
-
- static bool save();
- static void closeAllProjects();
-
- static void addProject(Project *project);
- static void removeProject(Project *project);
- static void removeProjects(const QList<Project *> &remove);
-
- static void setStartupProject(Project *startupProject);
-
- static QList<Project *> dependencies(const Project *project);
- static bool hasDependency(const Project *project, const Project *depProject);
- static bool canAddDependency(const Project *project, const Project *depProject);
- static bool addDependency(Project *project, Project *depProject);
- static void removeDependency(Project *project, Project *depProject);
-
- static bool isProjectConfigurationCascading();
- static void setProjectConfigurationCascading(bool b);
-
- static void setActiveTarget(Project *p, Target *t, SetActive cascade);
- static void setActiveBuildConfiguration(Target *t, BuildConfiguration *bc, SetActive cascade);
- static void setActiveDeployConfiguration(Target *t, DeployConfiguration *dc, SetActive cascade);
-
static Utils::FilePath sessionNameToFileName(const QString &session);
- static Project *startupProject();
- static Target *startupTarget();
- static BuildSystem *startupBuildSystem();
- static RunConfiguration *startupRunConfiguration();
-
- static const QList<Project *> projects();
- static bool hasProjects();
- static bool hasProject(Project *p);
static bool isDefaultVirgin();
static bool isDefaultSession(const QString &session);
@@ -93,44 +52,20 @@ public:
static void setValue(const QString &name, const QVariant &value);
static QVariant value(const QString &name);
- // NBS rewrite projectOrder (dependency management)
- static QList<Project *> projectOrder(const Project *project = nullptr);
-
- static Project *projectForFile(const Utils::FilePath &fileName);
- static Project *projectWithProjectFilePath(const Utils::FilePath &filePath);
-
- static Utils::FilePaths projectsForSessionName(const QString &session);
-
- static void reportProjectLoadingProgress();
static bool loadingSession();
+ static void markSessionFileDirty();
signals:
- void targetAdded(ProjectExplorer::Target *target);
- void targetRemoved(ProjectExplorer::Target *target);
- void projectAdded(ProjectExplorer::Project *project);
- void aboutToRemoveProject(ProjectExplorer::Project *project);
- void projectDisplayNameChanged(ProjectExplorer::Project *project);
- void projectRemoved(ProjectExplorer::Project *project);
-
- void startupProjectChanged(ProjectExplorer::Project *project);
-
void aboutToUnloadSession(QString sessionName);
void aboutToLoadSession(QString sessionName);
void sessionLoaded(QString sessionName);
void aboutToSaveSession();
- void dependencyChanged(ProjectExplorer::Project *a, ProjectExplorer::Project *b);
void sessionRenamed(const QString &oldName, const QString &newName);
void sessionRemoved(const QString &name);
- // for tests only
- void projectFinishedParsing(ProjectExplorer::Project *project);
-
private:
static void saveActiveMode(Utils::Id mode);
- static void configureEditor(Core::IEditor *editor, const QString &fileName);
- static void markSessionFileDirty();
- static void configureEditors(Project *project);
};
} // namespace ProjectExplorer
diff --git a/src/plugins/projectexplorer/sessionmodel.cpp b/src/plugins/projectexplorer/sessionmodel.cpp
index d8c9aa935e2..6e22c3b091d 100644
--- a/src/plugins/projectexplorer/sessionmodel.cpp
+++ b/src/plugins/projectexplorer/sessionmodel.cpp
@@ -4,6 +4,7 @@
#include "sessionmodel.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "session.h"
#include "sessiondialog.h"
@@ -122,10 +123,10 @@ QVariant SessionModel::data(const QModelIndex &index, int role) const
result = SessionManager::activeSession() == sessionName;
break;
case ProjectsPathRole:
- result = pathsWithTildeHomePath(SessionManager::projectsForSessionName(sessionName));
+ result = pathsWithTildeHomePath(ProjectManager::projectsForSessionName(sessionName));
break;
case ProjectsDisplayRole:
- result = pathsToBaseNames(SessionManager::projectsForSessionName(sessionName));
+ result = pathsToBaseNames(ProjectManager::projectsForSessionName(sessionName));
break;
case ShortcutRole: {
const Id sessionBase = SESSION_BASE_ID;
@@ -240,7 +241,7 @@ void SessionModel::renameSession(QWidget *parent, const QString &session)
void SessionModel::switchToSession(const QString &session)
{
- SessionManager::loadSession(session);
+ ProjectManager::loadSession(session);
emit sessionSwitched();
}
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index 8f227512eec..d2e59aab063 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -21,8 +21,8 @@
#include "projectexplorericons.h"
#include "projectexplorersettings.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "runconfiguration.h"
-#include "session.h"
#include <coreplugin/coreconstants.h>
@@ -120,10 +120,10 @@ Target::Target(Project *project, Kit *k, _constructor_tag) :
});
connect(this, &Target::parsingFinished, this, [this, project](bool success) {
- if (success && this == SessionManager::startupTarget())
+ if (success && this == ProjectManager::startupTarget())
updateDefaultRunConfigurations();
// For testing.
- emit SessionManager::instance()->projectFinishedParsing(project);
+ emit ProjectManager::instance()->projectFinishedParsing(project);
emit project->anyParsingFinished(this, success);
}, Qt::QueuedConnection); // Must wait for run configs to change their enabled state.
@@ -242,6 +242,70 @@ QString Target::activeBuildKey() const
return d->m_activeRunConfiguration->buildKey();
}
+void Target::setActiveBuildConfiguration(BuildConfiguration *bc, SetActive cascade)
+{
+ QTC_ASSERT(project(), return);
+
+ if (project()->isShuttingDown() || isShuttingDown())
+ return;
+
+ setActiveBuildConfiguration(bc);
+
+ if (!bc)
+ return;
+ if (cascade != SetActive::Cascade || !ProjectManager::isProjectConfigurationCascading())
+ return;
+
+ Id kitId = kit()->id();
+ QString name = bc->displayName(); // We match on displayname
+ for (Project *otherProject : ProjectManager::projects()) {
+ if (otherProject == project())
+ continue;
+ Target *otherTarget = otherProject->activeTarget();
+ if (!otherTarget || otherTarget->kit()->id() != kitId)
+ continue;
+
+ for (BuildConfiguration *otherBc : otherTarget->buildConfigurations()) {
+ if (otherBc->displayName() == name) {
+ otherTarget->setActiveBuildConfiguration(otherBc);
+ break;
+ }
+ }
+ }
+}
+
+void Target::setActiveDeployConfiguration(DeployConfiguration *dc, SetActive cascade)
+{
+ QTC_ASSERT(project(), return);
+
+ if (project()->isShuttingDown() || isShuttingDown())
+ return;
+
+ setActiveDeployConfiguration(dc);
+
+ if (!dc)
+ return;
+ if (cascade != SetActive::Cascade || !ProjectManager::isProjectConfigurationCascading())
+ return;
+
+ Id kitId = kit()->id();
+ QString name = dc->displayName(); // We match on displayname
+ for (Project *otherProject : ProjectManager::projects()) {
+ if (otherProject == project())
+ continue;
+ Target *otherTarget = otherProject->activeTarget();
+ if (!otherTarget || otherTarget->kit()->id() != kitId)
+ continue;
+
+ for (DeployConfiguration *otherDc : otherTarget->deployConfigurations()) {
+ if (otherDc->displayName() == name) {
+ otherTarget->setActiveDeployConfiguration(otherDc);
+ break;
+ }
+ }
+ }
+}
+
Utils::Id Target::id() const
{
return d->m_kit->id();
@@ -307,9 +371,9 @@ bool Target::removeBuildConfiguration(BuildConfiguration *bc)
if (activeBuildConfiguration() == bc) {
if (d->m_buildConfigurations.isEmpty())
- SessionManager::setActiveBuildConfiguration(this, nullptr, SetActive::Cascade);
+ setActiveBuildConfiguration(nullptr, SetActive::Cascade);
else
- SessionManager::setActiveBuildConfiguration(this, d->m_buildConfigurations.at(0), SetActive::Cascade);
+ setActiveBuildConfiguration(d->m_buildConfigurations.at(0), SetActive::Cascade);
}
emit removedBuildConfiguration(bc);
@@ -377,10 +441,9 @@ bool Target::removeDeployConfiguration(DeployConfiguration *dc)
if (activeDeployConfiguration() == dc) {
if (d->m_deployConfigurations.isEmpty())
- SessionManager::setActiveDeployConfiguration(this, nullptr, SetActive::Cascade);
+ setActiveDeployConfiguration(nullptr, SetActive::Cascade);
else
- SessionManager::setActiveDeployConfiguration(this, d->m_deployConfigurations.at(0),
- SetActive::Cascade);
+ setActiveDeployConfiguration(d->m_deployConfigurations.at(0), SetActive::Cascade);
}
ProjectExplorerPlugin::targetSelector()->removedDeployConfiguration(dc);
diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h
index 78f0b5f3b5b..aeca2fd9e0b 100644
--- a/src/plugins/projectexplorer/target.h
+++ b/src/plugins/projectexplorer/target.h
@@ -26,11 +26,13 @@ class Project;
class ProjectConfigurationModel;
class RunConfiguration;
+enum class SetActive : int { Cascade, NoCascade };
+
class TargetPrivate;
class PROJECTEXPLORER_EXPORT Target : public QObject
{
- friend class SessionManager; // for setActiveBuild and setActiveDeployConfiguration
+ friend class ProjectManager; // for setActiveBuild and setActiveDeployConfiguration
Q_OBJECT
public:
@@ -109,6 +111,9 @@ public:
QString activeBuildKey() const; // Build key of active run configuaration
+ void setActiveBuildConfiguration(BuildConfiguration *bc, SetActive cascade);
+ void setActiveDeployConfiguration(DeployConfiguration *dc, SetActive cascade);
+
signals:
void targetEnabled(bool);
void iconChanged();
diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp
index 6d8c81e634c..d2fdc3b43a8 100644
--- a/src/plugins/projectexplorer/targetsettingspanel.cpp
+++ b/src/plugins/projectexplorer/targetsettingspanel.cpp
@@ -12,9 +12,9 @@
#include "project.h"
#include "projectexplorericons.h"
#include "projectexplorertr.h"
+#include "projectmanager.h"
#include "projectwindow.h"
#include "runsettingspropertiespage.h"
-#include "session.h"
#include "target.h"
#include "targetsetuppage.h"
#include "task.h"
@@ -281,7 +281,7 @@ public:
QFont font = parent()->data(column, role).value<QFont>();
if (TargetItem *targetItem = parent()->currentTargetItem()) {
Target *t = targetItem->target();
- if (t && t->id() == m_kitId && m_project == SessionManager::startupProject())
+ if (t && t->id() == m_kitId && m_project == ProjectManager::startupProject())
font.setBold(true);
}
return font;
@@ -334,7 +334,7 @@ public:
// Go to Run page, when on Run previously etc.
TargetItem *previousItem = parent()->currentTargetItem();
m_currentChild = previousItem ? previousItem->m_currentChild : DefaultPage;
- SessionManager::setActiveTarget(m_project, target(), SetActive::Cascade);
+ m_project->setActiveTarget(target(), SetActive::Cascade);
parent()->setData(column, QVariant::fromValue(static_cast<TreeItem *>(this)),
ItemActivatedFromBelowRole);
}
@@ -346,7 +346,7 @@ public:
int child = indexOf(data.value<TreeItem *>());
QTC_ASSERT(child != -1, return false);
m_currentChild = child; // Triggered from sub-item.
- SessionManager::setActiveTarget(m_project, target(), SetActive::Cascade);
+ m_project->setActiveTarget(target(), SetActive::Cascade);
// Propagate Build/Run selection up.
parent()->setData(column, QVariant::fromValue(static_cast<TreeItem *>(this)),
ItemActivatedFromBelowRole);
@@ -355,7 +355,7 @@ public:
if (role == ItemActivatedFromAboveRole) {
// Usually programmatic activation, e.g. after opening the Project mode.
- SessionManager::setActiveTarget(m_project, target(), SetActive::Cascade);
+ m_project->setActiveTarget(target(), SetActive::Cascade);
return true;
}
return false;
@@ -377,7 +377,7 @@ public:
= menu->addAction(Tr::tr("Enable Kit for All Projects"));
enableForAllAction->setEnabled(isSelectable);
QObject::connect(enableForAllAction, &QAction::triggered, [kit] {
- for (Project * const p : SessionManager::projects()) {
+ for (Project * const p : ProjectManager::projects()) {
if (!p->target(kit))
p->addTargetForKit(kit);
}
@@ -411,7 +411,7 @@ public:
QAction *disableForAllAction = menu->addAction(Tr::tr("Disable Kit for All Projects"));
disableForAllAction->setEnabled(isSelectable);
QObject::connect(disableForAllAction, &QAction::triggered, [kit] {
- for (Project * const p : SessionManager::projects()) {
+ for (Project * const p : ProjectManager::projects()) {
Target * const t = p->target(kit);
if (!t)
continue;
diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp
index a17aa58c946..3b11c8f1471 100644
--- a/src/plugins/projectexplorer/targetsetuppage.cpp
+++ b/src/plugins/projectexplorer/targetsetuppage.cpp
@@ -658,7 +658,7 @@ bool TargetSetupPage::setupProject(Project *project)
if (m_importer)
activeTarget = m_importer->preferredTarget(project->targets());
if (activeTarget)
- SessionManager::setActiveTarget(project, activeTarget, SetActive::NoCascade);
+ project->setActiveTarget(activeTarget, SetActive::NoCascade);
return true;
}
diff --git a/src/plugins/python/pipsupport.cpp b/src/plugins/python/pipsupport.cpp
index 848184b462f..c23ae2d8649 100644
--- a/src/plugins/python/pipsupport.cpp
+++ b/src/plugins/python/pipsupport.cpp
@@ -10,7 +10,7 @@
#include <coreplugin/progressmanager/progressmanager.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/algorithm.h>
diff --git a/src/plugins/python/pythoneditor.cpp b/src/plugins/python/pythoneditor.cpp
index 6551facef50..f758ae3d9b6 100644
--- a/src/plugins/python/pythoneditor.cpp
+++ b/src/plugins/python/pythoneditor.cpp
@@ -19,7 +19,7 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <texteditor/textdocument.h>
@@ -152,7 +152,7 @@ void PythonEditorWidget::setUserDefinedPython(const Interpreter &interpreter)
QTC_ASSERT(pythonDocument, return);
FilePath documentPath = pythonDocument->filePath();
QTC_ASSERT(!documentPath.isEmpty(), return);
- if (Project *project = SessionManager::projectForFile(documentPath)) {
+ if (Project *project = ProjectManager::projectForFile(documentPath)) {
if (Target *target = project->activeTarget()) {
if (RunConfiguration *rc = target->activeRunConfiguration()) {
if (auto interpretersAspect= rc->aspect<InterpreterAspect>()) {
@@ -184,7 +184,7 @@ void PythonEditorWidget::updateInterpretersSelector()
disconnect(connection);
m_projectConnections.clear();
const FilePath documentPath = textDocument()->filePath();
- if (Project *project = SessionManager::projectForFile(documentPath)) {
+ if (Project *project = ProjectManager::projectForFile(documentPath)) {
m_projectConnections << connect(project,
&Project::activeTargetChanged,
this,
diff --git a/src/plugins/python/pythonlanguageclient.cpp b/src/plugins/python/pythonlanguageclient.cpp
index dde324dbd95..74edb153e12 100644
--- a/src/plugins/python/pythonlanguageclient.cpp
+++ b/src/plugins/python/pythonlanguageclient.cpp
@@ -23,7 +23,7 @@
#include <languageserverprotocol/workspace.h>
#include <projectexplorer/extracompiler.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <texteditor/textdocument.h>
diff --git a/src/plugins/python/pythonutils.cpp b/src/plugins/python/pythonutils.cpp
index 346c42d183d..86356050928 100644
--- a/src/plugins/python/pythonutils.cpp
+++ b/src/plugins/python/pythonutils.cpp
@@ -10,7 +10,7 @@
#include <coreplugin/messagemanager.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/algorithm.h>
@@ -31,9 +31,9 @@ static QHash<FilePath, FilePath> &userDefinedPythonsForDocument()
FilePath detectPython(const FilePath &documentPath)
{
Project *project = documentPath.isEmpty() ? nullptr
- : SessionManager::projectForFile(documentPath);
+ : ProjectManager::projectForFile(documentPath);
if (!project)
- project = SessionManager::startupProject();
+ project = ProjectManager::startupProject();
Environment env = Environment::systemEnvironment();
@@ -107,7 +107,7 @@ void openPythonRepl(QObject *parent, const FilePath &file, ReplType type)
{
static const auto workingDir = [](const FilePath &file) {
if (file.isEmpty()) {
- if (Project *project = SessionManager::startupProject())
+ if (Project *project = ProjectManager::startupProject())
return project->projectDirectory();
return FilePath::currentWorkingPath();
}
@@ -155,7 +155,7 @@ QString pythonName(const FilePath &pythonPath)
PythonProject *pythonProjectForFile(const FilePath &pythonFile)
{
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
if (auto pythonProject = qobject_cast<PythonProject *>(project)) {
if (pythonProject->isKnownFile(pythonFile))
return pythonProject;
diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
index 01a58753a20..3245b609bef 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
@@ -33,7 +33,7 @@
#include <projectexplorer/projectexplorericons.h>
#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qtsupport/qtsupportconstants.h>
@@ -60,7 +60,7 @@ static Node *currentEditorNode()
static QbsProject *currentEditorProject()
{
Core::IDocument *doc = Core::EditorManager::currentDocument();
- return doc ? qobject_cast<QbsProject *>(SessionManager::projectForFile(doc->filePath())) : nullptr;
+ return doc ? qobject_cast<QbsProject *>(ProjectManager::projectForFile(doc->filePath())) : nullptr;
}
class QbsProjectManagerPluginPrivate
@@ -226,13 +226,13 @@ void QbsProjectManagerPlugin::initialize()
connect(Core::EditorManager::instance(), &Core::EditorManager::currentEditorChanged,
this, &QbsProjectManagerPlugin::updateBuildActions);
- connect(SessionManager::instance(), &SessionManager::targetAdded,
+ connect(ProjectManager::instance(), &ProjectManager::targetAdded,
this, &QbsProjectManagerPlugin::targetWasAdded);
- connect(SessionManager::instance(), &SessionManager::targetRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::targetRemoved,
this, &QbsProjectManagerPlugin::updateBuildActions);
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &QbsProjectManagerPlugin::updateReparseQbsAction);
- connect(SessionManager::instance(), &SessionManager::projectAdded,
+ connect(ProjectManager::instance(), &ProjectManager::projectAdded,
this, [this](Project *project) {
auto qbsProject = qobject_cast<QbsProject *>(project);
connect(project, &Project::anyParsingStarted,
@@ -283,7 +283,7 @@ void QbsProjectManagerPlugin::updateContextActions(Node *node)
void QbsProjectManagerPlugin::updateReparseQbsAction()
{
- auto project = qobject_cast<QbsProject *>(SessionManager::startupProject());
+ auto project = qobject_cast<QbsProject *>(ProjectManager::startupProject());
m_reparseQbs->setEnabled(project
&& !BuildManager::isBuilding(project)
&& project && project->activeTarget()
@@ -342,7 +342,7 @@ void QbsProjectManagerPlugin::projectChanged(QbsProject *project)
{
auto qbsProject = qobject_cast<QbsProject *>(project);
- if (!qbsProject || qbsProject == SessionManager::startupProject())
+ if (!qbsProject || qbsProject == ProjectManager::startupProject())
updateReparseQbsAction();
if (!qbsProject || qbsProject == ProjectTree::currentProject())
@@ -537,7 +537,7 @@ void QbsProjectManagerPlugin::reparseSelectedProject()
void QbsProjectManagerPlugin::reparseCurrentProject()
{
- reparseProject(dynamic_cast<QbsProject *>(SessionManager::startupProject()));
+ reparseProject(dynamic_cast<QbsProject *>(ProjectManager::startupProject()));
}
void QbsProjectManagerPlugin::reparseProject(QbsProject *project)
diff --git a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
index b1427c84bae..8c094c557a8 100644
--- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
+++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
@@ -3,13 +3,13 @@
#include "librarydetailscontroller.h"
-#include "qmakebuildconfiguration.h"
#include "qmakeparsernodes.h"
#include "qmakeproject.h"
#include "qmakeprojectmanagertr.h"
+#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <utils/hostosinfo.h>
@@ -21,6 +21,7 @@
#include <QDir>
#include <QFileInfo>
#include <QGroupBox>
+#include <QLabel>
#include <QRadioButton>
#include <QTextStream>
@@ -868,7 +869,7 @@ QString PackageLibraryDetailsController::snippet() const
bool PackageLibraryDetailsController::isLinkPackageGenerated() const
{
- const Project *project = SessionManager::projectForFile(proFile());
+ const Project *project = ProjectManager::projectForFile(proFile());
if (!project)
return false;
@@ -1016,7 +1017,7 @@ void InternalLibraryDetailsController::updateProFile()
libraryDetailsWidget()->libraryComboBox->clear();
const QmakeProject *project
- = dynamic_cast<QmakeProject *>(SessionManager::projectForFile(proFile()));
+ = dynamic_cast<QmakeProject *>(ProjectManager::projectForFile(proFile()));
if (!project)
return;
@@ -1104,7 +1105,7 @@ QString InternalLibraryDetailsController::snippet() const
// the build directory of the active build configuration
QDir rootBuildDir = rootDir; // If the project is unconfigured use the project dir
- if (const Project *project = SessionManager::projectForFile(proFile())) {
+ if (const Project *project = ProjectManager::projectForFile(proFile())) {
if (ProjectExplorer::Target *t = project->activeTarget())
if (ProjectExplorer::BuildConfiguration *bc = t->activeBuildConfiguration())
rootBuildDir.setPath(bc->buildDirectory().toString());
diff --git a/src/plugins/qmakeprojectmanager/profileeditor.cpp b/src/plugins/qmakeprojectmanager/profileeditor.cpp
index 810d5d4f2e0..b492112db3d 100644
--- a/src/plugins/qmakeprojectmanager/profileeditor.cpp
+++ b/src/plugins/qmakeprojectmanager/profileeditor.cpp
@@ -7,18 +7,22 @@
#include "profilehighlighter.h"
#include "profilehoverhandler.h"
#include "qmakenodes.h"
-#include "qmakeproject.h"
#include "qmakeprojectmanagerconstants.h"
#include <coreplugin/coreplugintr.h>
+
#include <extensionsystem/pluginmanager.h>
+
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
+
#include <qtsupport/qtsupportconstants.h>
+
#include <texteditor/textdocument.h>
#include <texteditor/texteditoractionhandler.h>
+
#include <utils/fsengine/fileiconprovider.h>
#include <utils/qtcassert.h>
#include <utils/theme/theme.h>
@@ -65,7 +69,7 @@ QString ProFileEditorWidget::checkForPrfFile(const QString &baseName) const
const QmakePriFileNode *projectNode = nullptr;
// FIXME: Remove this check once project nodes are fully "static".
- for (const Project * const project : SessionManager::projects()) {
+ for (const Project * const project : ProjectManager::projects()) {
static const auto isParsing = [](const Project *project) {
for (const Target * const t : project->targets()) {
for (const BuildConfiguration * const bc : t->buildConfigurations()) {
diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp
index e557615507d..67d450b56f4 100644
--- a/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeprojectmanagerplugin.cpp
@@ -29,7 +29,7 @@
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
@@ -244,7 +244,7 @@ void QmakeProjectManagerPlugin::initialize()
connect(BuildManager::instance(), &BuildManager::buildStateChanged,
d, &QmakeProjectManagerPluginPrivate::buildStateChanged);
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
d, &QmakeProjectManagerPluginPrivate::projectChanged);
connect(ProjectTree::instance(), &ProjectTree::currentProjectChanged,
d, &QmakeProjectManagerPluginPrivate::projectChanged);
@@ -294,7 +294,7 @@ void QmakeProjectManagerPluginPrivate::projectChanged()
if (ProjectTree::currentProject())
m_previousStartupProject = qobject_cast<QmakeProject *>(ProjectTree::currentProject());
else
- m_previousStartupProject = qobject_cast<QmakeProject *>(SessionManager::startupProject());
+ m_previousStartupProject = qobject_cast<QmakeProject *>(ProjectManager::startupProject());
if (m_previousStartupProject) {
connect(m_previousStartupProject, &Project::activeTargetChanged,
@@ -366,7 +366,7 @@ void QmakeProjectManagerPluginPrivate::addLibraryImpl(const FilePath &filePath,
void QmakeProjectManagerPluginPrivate::runQMake()
{
- runQMakeImpl(SessionManager::startupProject(), nullptr);
+ runQMakeImpl(ProjectManager::startupProject(), nullptr);
}
void QmakeProjectManagerPluginPrivate::runQMakeContextMenu()
@@ -411,7 +411,7 @@ void QmakeProjectManagerPluginPrivate::buildFile()
FileNode *node = n ? n->asFileNode() : nullptr;
if (!node)
return;
- Project *project = SessionManager::projectForFile(file);
+ Project *project = ProjectManager::projectForFile(file);
if (!project)
return;
Target *target = project->activeTarget();
@@ -563,7 +563,7 @@ void QmakeProjectManagerPluginPrivate::enableBuildFileMenus(const FilePath &file
bool enabled = false;
if (Node *node = ProjectTree::nodeForFile(file)) {
- if (Project *project = SessionManager::projectForFile(file)) {
+ if (Project *project = ProjectManager::projectForFile(file)) {
if (const FileNode *fileNode = node->asFileNode()) {
const FileType type = fileNode->fileType();
visible = qobject_cast<QmakeProject *>(project)
diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexportdialog.cpp b/src/plugins/qmldesigner/assetexporterplugin/assetexportdialog.cpp
index f3460cbca81..e9b5ab7082b 100644
--- a/src/plugins/qmldesigner/assetexporterplugin/assetexportdialog.cpp
+++ b/src/plugins/qmldesigner/assetexporterplugin/assetexportdialog.cpp
@@ -11,7 +11,7 @@
#include <projectexplorer/task.h>
#include <projectexplorer/taskhub.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/fileutils.h>
#include <utils/outputformatter.h>
@@ -63,7 +63,7 @@ AssetExportDialog::AssetExportDialog(const Utils::FilePath &exportPath,
m_ui->exportPath->setExpectedKind(Utils::PathChooser::Kind::SaveFile);
m_ui->exportPath->setFilePath(
exportPath.pathAppended(
- ProjectExplorer::SessionManager::startupProject()->displayName() + ".metadata"
+ ProjectExplorer::ProjectManager::startupProject()->displayName() + ".metadata"
));
m_ui->exportPath->setPromptDialogTitle(tr("Choose Export File"));
m_ui->exportPath->setPromptDialogFilter(tr("Metadata file (*.metadata)"));
diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp b/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp
index d9167049a56..e1b95b75068 100644
--- a/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp
+++ b/src/plugins/qmldesigner/assetexporterplugin/assetexporter.cpp
@@ -13,7 +13,7 @@
#include "coreplugin/editormanager/editormanager.h"
#include "utils/qtcassert.h"
#include "utils/runextensions.h"
-#include "projectexplorer/session.h"
+#include "projectexplorer/projectmanager.h"
#include "projectexplorer/project.h"
#include <auxiliarydataproperties.h>
@@ -406,7 +406,7 @@ void AssetExporter::writeMetadata() const
m_currentState.change(ParsingState::WritingJson);
- auto const startupProject = ProjectExplorer::SessionManager::startupProject();
+ auto const startupProject = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(startupProject, return);
const QString projectName = startupProject->displayName();
diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp
index 2d6f6c7d80f..3ab1d1a6869 100644
--- a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp
+++ b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp
@@ -19,9 +19,9 @@
#include "coreplugin/documentmanager.h"
#include "qmldesigner/qmldesignerplugin.h"
#include "projectexplorer/projectexplorerconstants.h"
-#include "projectexplorer/session.h"
+#include "projectexplorer/projectmanager.h"
#include "projectexplorer/project.h"
-#include "projectexplorer/session.h"
+#include "projectexplorer/projectmanager.h"
#include "projectexplorer/taskhub.h"
#include "extensionsystem/pluginmanager.h"
@@ -54,8 +54,8 @@ AssetExporterPlugin::AssetExporterPlugin()
// Instantiate actions created by the plugin.
addActions();
- connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged,
+ connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged,
this, &AssetExporterPlugin::updateActions);
updateActions();
@@ -68,7 +68,7 @@ QString AssetExporterPlugin::pluginName() const
void AssetExporterPlugin::onExport()
{
- auto startupProject = ProjectExplorer::SessionManager::startupProject();
+ auto startupProject = ProjectExplorer::ProjectManager::startupProject();
if (!startupProject)
return;
@@ -97,7 +97,7 @@ void AssetExporterPlugin::addActions()
void AssetExporterPlugin::updateActions()
{
- auto project = ProjectExplorer::SessionManager::startupProject();
+ auto project = ProjectExplorer::ProjectManager::startupProject();
QAction* const exportAction = Core::ActionManager::command(Constants::EXPORT_QML)->action();
exportAction->setEnabled(project && !project->needsConfiguration());
}
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp
index 9792a6615a3..f9c44229899 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp
@@ -19,7 +19,7 @@
#include <nodelistproperty.h>
#include <projectexplorer/kit.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <rewriterview.h>
#include <sqlitedatabase.h>
diff --git a/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp b/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp
index 56ab654912e..1c68fdf0733 100644
--- a/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp
+++ b/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp
@@ -5,7 +5,7 @@
#include "designermcumanager.h"
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <QComboBox>
#include <QSettings>
@@ -14,7 +14,7 @@ namespace QmlDesigner {
static QString styleConfigFileName(const QString &qmlFileName)
{
- ProjectExplorer::Project *currentProject = ProjectExplorer::SessionManager::projectForFile(Utils::FilePath::fromString(qmlFileName));
+ ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile(Utils::FilePath::fromString(qmlFileName));
if (currentProject) {
const QList<Utils::FilePath> fileNames = currentProject->files(
diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp
index f0969bfabb0..ca1e288815e 100644
--- a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp
+++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp
@@ -20,7 +20,7 @@
#ifndef QMLDESIGNER_TEST
#include <projectexplorer/kit.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qtsupport/baseqtversion.h>
#include <qtsupport/qtkitinformation.h>
@@ -367,7 +367,7 @@ void ContentLibraryView::updateBundleMaterialsQuick3DVersion()
#ifndef QMLDESIGNER_TEST
if (hasImport && major == -1) {
// Import without specifying version, so we take the kit version
- auto target = ProjectExplorer::SessionManager::startupTarget();
+ auto target = ProjectExplorer::ProjectManager::startupTarget();
if (target) {
QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(target->kit());
if (qtVersion) {
diff --git a/src/plugins/qmldesigner/components/eventlist/eventlist.cpp b/src/plugins/qmldesigner/components/eventlist/eventlist.cpp
index 23e60dbda28..a0d7cc89815 100644
--- a/src/plugins/qmldesigner/components/eventlist/eventlist.cpp
+++ b/src/plugins/qmldesigner/components/eventlist/eventlist.cpp
@@ -8,7 +8,7 @@
#include "bindingproperty.h"
#include "metainfo.h"
#include "projectexplorer/project.h"
-#include "projectexplorer/session.h"
+#include "projectexplorer/projectmanager.h"
#include "qmldesignerplugin.h"
#include "signalhandlerproperty.h"
#include "utils/fileutils.h"
@@ -23,7 +23,7 @@ namespace QmlDesigner {
Utils::FilePath projectFilePath()
{
if (auto *doc = QmlDesignerPlugin::instance()->documentManager().currentDesignDocument()) {
- if (auto *proj = ProjectExplorer::SessionManager::projectForFile(doc->fileName()))
+ if (auto *proj = ProjectExplorer::ProjectManager::projectForFile(doc->fileName()))
return proj->projectDirectory();
}
return Utils::FilePath();
diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp
index efeea8aa36f..9c73789c91c 100644
--- a/src/plugins/qmldesigner/components/integration/designdocument.cpp
+++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp
@@ -20,7 +20,7 @@
#include <projectexplorer/projecttree.h>
#include <projectexplorer/project.h>
#include <projectexplorer/target.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/kit.h>
#include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtsupportconstants.h>
@@ -403,7 +403,7 @@ bool DesignDocument::isQtForMCUsProject() const
Utils::FilePath DesignDocument::projectFolder() const
{
- ProjectExplorer::Project *currentProject = ProjectExplorer::SessionManager::projectForFile(fileName());
+ ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile(fileName());
if (currentProject)
return currentProject->projectDirectory();
@@ -434,7 +434,7 @@ void DesignDocument::changeToInFileComponentModel(ComponentTextModifier *textMod
void DesignDocument::updateQrcFiles()
{
- ProjectExplorer::Project *currentProject = ProjectExplorer::SessionManager::projectForFile(fileName());
+ ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile(fileName());
if (currentProject) {
const auto srcFiles = currentProject->files(ProjectExplorer::Project::SourceFiles);
@@ -716,7 +716,7 @@ void DesignDocument::redo()
static Target *getActiveTarget(DesignDocument *designDocument)
{
- Project *currentProject = SessionManager::projectForFile(designDocument->fileName());
+ Project *currentProject = ProjectManager::projectForFile(designDocument->fileName());
if (!currentProject)
currentProject = ProjectTree::currentProject();
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
index 648ffdb56cc..df9f2737972 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
@@ -1,5 +1,6 @@
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
#include "itemlibraryassetimportdialog.h"
#include "ui_itemlibraryassetimportdialog.h"
@@ -13,7 +14,8 @@
#include "theme.h"
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+
#include <coreplugin/icore.h>
#include <QFileInfo>
@@ -322,7 +324,7 @@ void ItemLibraryAssetImportDialog::updateImport(const ModelNode &updateNode,
// Unable to find original scene source, launch file dialog to locate it
QString initialPath;
ProjectExplorer::Project *currentProject
- = ProjectExplorer::SessionManager::projectForFile(
+ = ProjectExplorer::ProjectManager::projectForFile(
Utils::FilePath::fromString(compFileName));
if (currentProject)
initialPath = currentProject->projectDirectory().toString();
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp
index 556d0c978fe..96b95f7949a 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp
@@ -13,7 +13,7 @@
#include <nodehints.h>
#include <nodemetainfo.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include "qmldesignerconstants.h"
#include "qmldesignerplugin.h"
#include <utils/algorithm.h>
@@ -336,7 +336,7 @@ void ItemLibraryModel::update(ItemLibraryInfo *itemLibraryInfo, Model *model)
DesignDocument *document = QmlDesignerPlugin::instance()->currentDesignDocument();
Utils::FilePath qmlFileName = document->fileName();
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(qmlFileName);
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(qmlFileName);
QString projectName = project ? project->displayName() : "";
QString materialBundlePrefix = QLatin1String(Constants::COMPONENT_BUNDLES_FOLDER).mid(1);
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
index 95b6476638d..aacbd9b1b53 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
@@ -14,7 +14,7 @@
#include <nodelistproperty.h>
#include <projectexplorer/kit.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <rewriterview.h>
#include <sqlitedatabase.h>
diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
index e6450d45627..2d4cd76cc4b 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp
@@ -29,7 +29,7 @@
#include <coreplugin/icore.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <utils/algorithm.h>
@@ -454,14 +454,14 @@ const ProjectExplorer::FileNode *NavigatorView::fileNodeForModelNode(const Model
{
QString filename = node.metaInfo().componentFileName();
Utils::FilePath filePath = Utils::FilePath::fromString(filename);
- ProjectExplorer::Project *currentProject = ProjectExplorer::SessionManager::projectForFile(
+ ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile(
filePath);
if (!currentProject) {
filePath = Utils::FilePath::fromString(node.model()->fileUrl().toLocalFile());
/* If the component does not belong to the project then we can fallback to the current file */
- currentProject = ProjectExplorer::SessionManager::projectForFile(filePath);
+ currentProject = ProjectExplorer::ProjectManager::projectForFile(filePath);
}
if (!currentProject)
return nullptr;
diff --git a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp
index 7164586fea4..02ffd84c93d 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp
@@ -15,7 +15,7 @@
#include <qmlmodelnodeproxy.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
static QString s_lastBrowserPath;
@@ -23,7 +23,7 @@ FileResourcesModel::FileResourcesModel(QObject *parent)
: QObject(parent)
, m_filter(QLatin1String("(*.*)"))
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(
QmlDesigner::DocumentManager::currentFilePath());
if (project) {
diff --git a/src/plugins/qmldesigner/documentmanager.cpp b/src/plugins/qmldesigner/documentmanager.cpp
index d2bf9eac514..9fdf4e41198 100644
--- a/src/plugins/qmldesigner/documentmanager.cpp
+++ b/src/plugins/qmldesigner/documentmanager.cpp
@@ -21,10 +21,11 @@
#include <coreplugin/vcsmanager.h>
#include <coreplugin/icore.h>
#include <coreplugin/messagebox.h>
-#include <projectexplorer/projectnodes.h>
+
#include <projectexplorer/project.h>
+#include <projectexplorer/projectmanager.h>
+#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <qmakeprojectmanager/qmakenodes.h>
#include <qmakeprojectmanager/qmakeproject.h>
@@ -335,11 +336,11 @@ Utils::FilePath DocumentManager::currentProjectDirPath()
Utils::FilePath qmlFileName = QmlDesignerPlugin::instance()->currentDesignDocument()->fileName();
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(qmlFileName);
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(qmlFileName);
if (project)
return project->projectDirectory();
- const QList projects = ProjectExplorer::SessionManager::projects();
+ const QList projects = ProjectExplorer::ProjectManager::projects();
for (auto p : projects) {
if (qmlFileName.startsWith(p->projectDirectory().toString()))
return p->projectDirectory();
@@ -402,7 +403,7 @@ void DocumentManager::findPathToIsoProFile(bool *iconResourceFileAlreadyExists,
QString *resourceFileProPath, const QString &isoIconsQrcFile)
{
Utils::FilePath qmlFileName = QmlDesignerPlugin::instance()->currentDesignDocument()->fileName();
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(qmlFileName);
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(qmlFileName);
ProjectExplorer::Node *node = ProjectExplorer::ProjectTree::nodeForFile(qmlFileName)->parentFolderNode();
ProjectExplorer::Node *iconQrcFileNode = nullptr;
@@ -492,7 +493,7 @@ bool DocumentManager::belongsToQmakeProject()
return false;
Utils::FilePath qmlFileName = QmlDesignerPlugin::instance()->currentDesignDocument()->fileName();
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(qmlFileName);
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::projectForFile(qmlFileName);
if (!project)
return false;
diff --git a/src/plugins/qmldesigner/generateresource.cpp b/src/plugins/qmldesigner/generateresource.cpp
index 1901a8e2ea1..8b00335ce33 100644
--- a/src/plugins/qmldesigner/generateresource.cpp
+++ b/src/plugins/qmldesigner/generateresource.cpp
@@ -12,8 +12,8 @@
#include <coreplugin/messagemanager.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmlprojectmanager/qmlprojectmanagerconstants.h>
@@ -223,16 +223,16 @@ void GenerateResource::generateMenuEntry(QObject *parent)
auto action = new QAction(QCoreApplication::translate("QmlDesigner::GenerateResource",
"Generate QRC Resource File..."),
parent);
- action->setEnabled(ProjectExplorer::SessionManager::startupProject() != nullptr);
+ action->setEnabled(ProjectExplorer::ProjectManager::startupProject() != nullptr);
// todo make it more intelligent when it gets enabled
- QObject::connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged, [action]() {
- action->setEnabled(ProjectExplorer::SessionManager::startupProject());
+ QObject::connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged, [action]() {
+ action->setEnabled(ProjectExplorer::ProjectManager::startupProject());
});
Core::Command *cmd = Core::ActionManager::registerAction(action, "QmlProject.CreateResource");
QObject::connect(action, &QAction::triggered, [] () {
- auto currentProject = ProjectExplorer::SessionManager::startupProject();
+ auto currentProject = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(currentProject, return);
const FilePath projectPath = currentProject->projectFilePath().parentDir();
@@ -331,16 +331,16 @@ void GenerateResource::generateMenuEntry(QObject *parent)
auto rccAction = new QAction(QCoreApplication::translate("QmlDesigner::GenerateResource",
"Generate Deployable Package..."),
parent);
- rccAction->setEnabled(ProjectExplorer::SessionManager::startupProject() != nullptr);
- QObject::connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged, [rccAction]() {
- rccAction->setEnabled(ProjectExplorer::SessionManager::startupProject());
+ rccAction->setEnabled(ProjectExplorer::ProjectManager::startupProject() != nullptr);
+ QObject::connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged, [rccAction]() {
+ rccAction->setEnabled(ProjectExplorer::ProjectManager::startupProject());
});
Core::Command *cmd2 = Core::ActionManager::registerAction(rccAction,
"QmlProject.CreateRCCResource");
QObject::connect(rccAction, &QAction::triggered, []() {
- auto currentProject = ProjectExplorer::SessionManager::startupProject();
+ auto currentProject = ProjectExplorer::ProjectManager::startupProject();
QTC_ASSERT(currentProject, return);
const FilePath projectPath = currentProject->projectFilePath().parentDir();
diff --git a/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp b/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
index e332f1d49c7..47174ba3d88 100644
--- a/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
+++ b/src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
@@ -9,7 +9,7 @@
#include <edit3d/edit3dviewconfig.h>
#include <itemlibraryimport.h>
#include <projectexplorer/kit.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <puppetenvironmentbuilder.h>
#include <qtsupport/baseqtversion.h>
@@ -109,7 +109,7 @@ QString ExternalDependencies::itemLibraryImportUserComponentsTitle() const
bool ExternalDependencies::isQt6Import() const
{
- auto target = ProjectExplorer::SessionManager::startupTarget();
+ auto target = ProjectExplorer::ProjectManager::startupTarget();
if (target) {
QtSupport::QtVersion *currentQtVersion = QtSupport::QtKitAspect::qtVersion(target->kit());
if (currentQtVersion && currentQtVersion->isValid()) {
@@ -122,7 +122,7 @@ bool ExternalDependencies::isQt6Import() const
bool ExternalDependencies::hasStartupTarget() const
{
- auto target = ProjectExplorer::SessionManager::startupTarget();
+ auto target = ProjectExplorer::ProjectManager::startupTarget();
if (target) {
QtSupport::QtVersion *currentQtVersion = QtSupport::QtKitAspect::qtVersion(target->kit());
if (currentQtVersion && currentQtVersion->isValid()) {
@@ -208,7 +208,7 @@ QString createFreeTypeOption(ProjectExplorer::Target *target)
PuppetStartData ExternalDependencies::puppetStartData(const Model &model) const
{
PuppetStartData data;
- auto target = ProjectExplorer::SessionManager::startupTarget();
+ auto target = ProjectExplorer::ProjectManager::startupTarget();
auto [workingDirectory, puppetPath] = qmlPuppetPaths(target, m_designerSettings);
data.puppetPath = puppetPath.toString();
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp
index 3fe639b5d8d..b8685ba700a 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.cpp
+++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp
@@ -54,7 +54,7 @@
#include <extensionsystem/pluginspec.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmljs/qmljsmodelmanagerinterface.h>
#include <sqlitelibraryinitializer.h>
@@ -347,7 +347,7 @@ ExtensionSystem::IPlugin::ShutdownFlag QmlDesignerPlugin::aboutToShutdown()
static QStringList allUiQmlFilesforCurrentProject(const Utils::FilePath &fileName)
{
QStringList list;
- ProjectExplorer::Project *currentProject = ProjectExplorer::SessionManager::projectForFile(fileName);
+ ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile(fileName);
if (currentProject) {
const QList<Utils::FilePath> fileNames = currentProject->files(ProjectExplorer::Project::SourceFiles);
@@ -363,7 +363,7 @@ static QStringList allUiQmlFilesforCurrentProject(const Utils::FilePath &fileNam
static QString projectPath(const Utils::FilePath &fileName)
{
QString path;
- ProjectExplorer::Project *currentProject = ProjectExplorer::SessionManager::projectForFile(fileName);
+ ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile(fileName);
if (currentProject)
path = currentProject->projectDirectory().toString();
diff --git a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
index e708e8ebf11..60363e5fbd1 100644
--- a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
+++ b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
@@ -6,7 +6,7 @@
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectstorage/filestatuscache.h>
#include <projectstorage/filesystem.h>
@@ -199,15 +199,15 @@ QmlDesignerProjectManager::QmlDesignerProjectManager(ExternalDependenciesInterfa
QObject::connect(editorManager, &::Core::EditorManager::editorsClosed, [&](const auto &editors) {
editorsClosed(editors);
});
- auto sessionManager = ::ProjectExplorer::SessionManager::instance();
+ auto sessionManager = ::ProjectExplorer::ProjectManager::instance();
QObject::connect(sessionManager,
- &::ProjectExplorer::SessionManager::projectAdded,
+ &::ProjectExplorer::ProjectManager::projectAdded,
[&](auto *project) { projectAdded(project); });
QObject::connect(sessionManager,
- &::ProjectExplorer::SessionManager::aboutToRemoveProject,
+ &::ProjectExplorer::ProjectManager::aboutToRemoveProject,
[&](auto *project) { aboutToRemoveProject(project); });
QObject::connect(sessionManager,
- &::ProjectExplorer::SessionManager::projectRemoved,
+ &::ProjectExplorer::ProjectManager::projectRemoved,
[&](auto *project) { projectRemoved(project); });
QObject::connect(&m_previewTimer,
@@ -428,7 +428,7 @@ QmlDesignerProjectManager::ImageCacheData *QmlDesignerProjectManager::imageCache
imageCacheData->nodeInstanceCollector.setTarget(target);
};
- if (auto project = ProjectExplorer::SessionManager::startupProject(); project) {
+ if (auto project = ProjectExplorer::ProjectManager::startupProject(); project) {
// TODO wrap in function in image cache data
m_imageCacheData->meshImageCollector.setTarget(project->activeTarget());
m_imageCacheData->nodeInstanceCollector.setTarget(project->activeTarget());
@@ -437,8 +437,8 @@ QmlDesignerProjectManager::ImageCacheData *QmlDesignerProjectManager::imageCache
this,
setTargetInImageCache);
}
- QObject::connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged,
+ QObject::connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged,
this,
[=](ProjectExplorer::Project *project) {
setTargetInImageCache(activeTarget(project));
diff --git a/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp b/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp
index a90c6240125..cba3411ead5 100644
--- a/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp
+++ b/src/plugins/qmldesigner/qmlpreviewplugin/qmlpreviewactions.cpp
@@ -13,7 +13,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/target.h>
@@ -36,7 +36,7 @@ static void handleAction(const SelectionContext &context)
if (context.view()->isAttached()) {
if (context.toggled()) {
bool skipDeploy = false;
- if (const Target *startupTarget = SessionManager::startupTarget()) {
+ if (const Target *startupTarget = ProjectManager::startupTarget()) {
const Kit *kit = startupTarget->kit();
if (kit
&& (kit->supportedPlatforms().contains(Android::Constants::ANDROID_DEVICE_TYPE)
@@ -241,10 +241,10 @@ QWidget *SwitchLanguageComboboxAction::createWidget(QWidget *parent)
}
}
};
- connect(ProjectExplorer::SessionManager::instance(), &ProjectExplorer::SessionManager::startupProjectChanged,
+ connect(ProjectExplorer::ProjectManager::instance(), &ProjectExplorer::ProjectManager::startupProjectChanged,
comboBox, refreshComboBoxFunction);
- if (auto project = SessionManager::startupProject())
+ if (auto project = ProjectManager::startupProject())
refreshComboBoxFunction(project);
// do this after refreshComboBoxFunction so we do not get currentLocaleChanged signals at initialization
diff --git a/src/plugins/qmljstools/qmljslocatordata.cpp b/src/plugins/qmljstools/qmljslocatordata.cpp
index 679a230e8e1..477447c9e36 100644
--- a/src/plugins/qmljstools/qmljslocatordata.cpp
+++ b/src/plugins/qmljstools/qmljslocatordata.cpp
@@ -4,7 +4,7 @@
#include "qmljslocatordata.h"
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <qmljs/qmljsmodelmanagerinterface.h>
#include <qmljs/qmljsutils.h>
@@ -40,10 +40,10 @@ LocatorData::LocatorData()
connect(manager, &ModelManagerInterface::aboutToRemoveFiles,
this, &LocatorData::onAboutToRemoveFiles);
- ProjectExplorer::SessionManager *session = ProjectExplorer::SessionManager::instance();
+ ProjectExplorer::ProjectManager *session = ProjectExplorer::ProjectManager::instance();
if (session)
connect(session,
- &ProjectExplorer::SessionManager::projectRemoved,
+ &ProjectExplorer::ProjectManager::projectRemoved,
this,
[this](ProjectExplorer::Project *) { m_entries.clear(); });
}
diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp
index da1d82b73d0..914a4f77945 100644
--- a/src/plugins/qmljstools/qmljsmodelmanager.cpp
+++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp
@@ -18,10 +18,11 @@
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
#include <projectexplorer/runconfiguration.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmljs/qmljsbind.h>
@@ -273,9 +274,9 @@ void ModelManager::delayedInitialization()
connect(cppModelManager, &CppEditor::CppModelManager::documentUpdated,
this, &ModelManagerInterface::maybeQueueCppQmlTypeUpdate, Qt::DirectConnection);
- connect(SessionManager::instance(), &SessionManager::projectRemoved,
+ connect(ProjectManager::instance(), &ProjectManager::projectRemoved,
this, &ModelManager::removeProjectInfo);
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &ModelManager::updateDefaultProjectInfo);
ViewerContext qbsVContext;
@@ -323,7 +324,7 @@ ModelManagerInterface::WorkingCopy ModelManager::workingCopyInternal() const
void ModelManager::updateDefaultProjectInfo()
{
// needs to be performed in the ui thread
- Project *currentProject = SessionManager::startupProject();
+ Project *currentProject = ProjectManager::startupProject();
setDefaultProject(containsProject(currentProject)
? projectInfo(currentProject)
: defaultProjectInfoForProject(currentProject, {}),
diff --git a/src/plugins/qmlpreview/qmlpreviewplugin.cpp b/src/plugins/qmlpreview/qmlpreviewplugin.cpp
index 6175eac2a2f..8803475d8a6 100644
--- a/src/plugins/qmlpreview/qmlpreviewplugin.cpp
+++ b/src/plugins/qmlpreview/qmlpreviewplugin.cpp
@@ -25,10 +25,10 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
#include <projectexplorer/runconfiguration.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <qmljs/qmljsdocument.h>
@@ -150,15 +150,15 @@ QmlPreviewPluginPrivate::QmlPreviewPluginPrivate(QmlPreviewPlugin *parent)
Constants::M_BUILDPROJECT);
QAction *action = new QAction(Tr::tr("QML Preview"), this);
action->setToolTip(Tr::tr("Preview changes to QML code live in your application."));
- action->setEnabled(SessionManager::startupProject() != nullptr);
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged, action,
+ action->setEnabled(ProjectManager::startupProject() != nullptr);
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged, action,
&QAction::setEnabled);
connect(action, &QAction::triggered, this, [this]() {
if (auto multiLanguageAspect = QmlProjectManager::QmlMultiLanguageAspect::current())
m_localeIsoCode = multiLanguageAspect->currentLocale();
bool skipDeploy = false;
- const Kit *kit = SessionManager::startupTarget()->kit();
- if (SessionManager::startupTarget() && kit)
+ const Kit *kit = ProjectManager::startupTarget()->kit();
+ if (ProjectManager::startupTarget() && kit)
skipDeploy = kit->supportedPlatforms().contains(Android::Constants::ANDROID_DEVICE_TYPE)
|| DeviceTypeKitAspect::deviceTypeId(kit) == Android::Constants::ANDROID_DEVICE_TYPE;
ProjectExplorerPlugin::runStartupProject(Constants::QML_PREVIEW_RUN_MODE, skipDeploy);
diff --git a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp
index 57088ad19bf..3aa935db74e 100644
--- a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp
+++ b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp
@@ -9,7 +9,7 @@
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmldebug/qmldebugcommandlinearguments.h>
diff --git a/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp b/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
index 396c8305680..e9f0b1a7807 100644
--- a/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
@@ -6,7 +6,7 @@
#include <projectexplorer/kit.h>
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/runconfiguration.h>
#include <qmljs/parser/qmljsast_p.h>
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp
index 579a870a4b0..dc33663e895 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp
@@ -39,8 +39,8 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
-#include <projectexplorer/session.h>
#include <qtsupport/qtkitinformation.h>
@@ -540,7 +540,7 @@ ProjectExplorer::RunControl *QmlProfilerTool::attachToWaitingApplication()
d->m_viewContainer->perspective()->select();
auto runControl = new RunControl(ProjectExplorer::Constants::QML_PROFILER_RUN_MODE);
- runControl->copyDataFromRunConfiguration(SessionManager::startupRunConfiguration());
+ runControl->copyDataFromRunConfiguration(ProjectManager::startupRunConfiguration());
auto profiler = new QmlProfilerRunner(runControl);
profiler->setServerUrl(serverUrl);
diff --git a/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp b/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp
index e01b6ab5ef3..ad787e05a5e 100644
--- a/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp
+++ b/src/plugins/qmlprofiler/tests/qmlprofilerdetailsrewriter_test.cpp
@@ -3,15 +3,16 @@
#include "qmlprofilerdetailsrewriter_test.h"
+#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildinfo.h>
#include <projectexplorer/customexecutablerunconfiguration.h>
-#include <projectexplorer/project.h>
-#include <projectexplorer/target.h>
+#include <projectexplorer/kitinformation.h>
#include <projectexplorer/kitmanager.h>
+#include <projectexplorer/project.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
-#include <projectexplorer/session.h>
-#include <projectexplorer/kitinformation.h>
-#include <projectexplorer/buildconfiguration.h>
+#include <projectexplorer/target.h>
+
#include <utils/filepath.h>
#include <QLibraryInfo>
@@ -157,15 +158,15 @@ void QmlProfilerDetailsRewriterTest::testPopulateFileFinder()
// Test that the rewriter will populate from available projects if given nullptr as parameter.
DummyProject *project1 = new DummyProject(":/nix.nix");
- ProjectExplorer::SessionManager::addProject(project1);
+ ProjectExplorer::ProjectManager::addProject(project1);
DummyProject *project2 = new DummyProject(":/qmlprofiler/tests/Test.qml");
- ProjectExplorer::SessionManager::addProject(project2);
+ ProjectExplorer::ProjectManager::addProject(project2);
m_rewriter.populateFileFinder(nullptr);
QCOMPARE(m_rewriter.getLocalFile("Test.qml"),
Utils::FilePath::fromString(":/qmlprofiler/tests/Test.qml"));
- ProjectExplorer::SessionManager::removeProject(project1);
- ProjectExplorer::SessionManager::removeProject(project2);
+ ProjectExplorer::ProjectManager::removeProject(project1);
+ ProjectExplorer::ProjectManager::removeProject(project2);
}
void QmlProfilerDetailsRewriterTest::seedRewriter()
@@ -196,11 +197,11 @@ void QmlProfilerDetailsRewriterTest::seedRewriter()
ProjectExplorer::SysRootKitAspect::setSysRoot(kit.get(), "/nowhere");
DummyProject *project = new DummyProject(Utils::FilePath::fromString(filename));
- ProjectExplorer::SessionManager::addProject(project);
+ ProjectExplorer::ProjectManager::addProject(project);
m_rewriter.populateFileFinder(project->addTargetForKit(kit.get()));
- ProjectExplorer::SessionManager::removeProject(project);
+ ProjectExplorer::ProjectManager::removeProject(project);
}
} // namespace Internal
diff --git a/src/plugins/qmlprojectmanager/cmakegen/cmakeprojectconverter.cpp b/src/plugins/qmlprojectmanager/cmakegen/cmakeprojectconverter.cpp
index 99995bc2abe..21a538c7c51 100644
--- a/src/plugins/qmlprojectmanager/cmakegen/cmakeprojectconverter.cpp
+++ b/src/plugins/qmlprojectmanager/cmakegen/cmakeprojectconverter.cpp
@@ -1,5 +1,6 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
#include "cmakeprojectconverter.h"
#include "cmakeprojectconverterdialog.h"
#include "generatecmakelists.h"
@@ -11,7 +12,7 @@
#include <coreplugin/icore.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmlprojectmanager/qmlprojectmanagerconstants.h>
@@ -41,10 +42,10 @@ void CmakeProjectConverter::generateMenuEntry(QObject *parent)
Core::Command *cmd = Core::ActionManager::registerAction(action, "QmlProject.ConvertToCmakeProject");
exportMenu->addAction(cmd, QmlProjectManager::Constants::G_EXPORT_CONVERT);
- action->setEnabled(isProjectConvertable(ProjectExplorer::SessionManager::startupProject()));
- QObject::connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged, [action]() {
- action->setEnabled(isProjectConvertable(ProjectExplorer::SessionManager::startupProject()));
+ action->setEnabled(isProjectConvertable(ProjectExplorer::ProjectManager::startupProject()));
+ QObject::connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged, [action]() {
+ action->setEnabled(isProjectConvertable(ProjectExplorer::ProjectManager::startupProject()));
});
}
@@ -83,7 +84,7 @@ bool CmakeProjectConverter::isProjectCurrentFormat(const ProjectExplorer::Projec
void CmakeProjectConverter::onConvertProject()
{
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
const QmlProjectManager::QmlProject *qmlProject =
qobject_cast<const QmlProjectManager::QmlProject*>(project);
if (qmlProject) {
diff --git a/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp b/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
index ef83206d982..e1124319196 100644
--- a/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
+++ b/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "generatecmakelists.h"
+
#include "generatecmakelistsconstants.h"
#include "cmakegeneratordialog.h"
#include "../qmlprojectmanagertr.h"
@@ -10,9 +11,9 @@
#include <coreplugin/actionmanager/actioncontainer.h>
#include <projectexplorer/buildsystem.h>
-#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmlprojectmanager/qmlmainfileaspect.h>
@@ -79,18 +80,18 @@ void generateMenuEntry(QObject *parent)
exportMenu->addAction(cmd, QmlProjectManager::Constants::G_EXPORT_GENERATE);
action->setEnabled(false);
- QObject::connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged,
+ QObject::connect(ProjectExplorer::ProjectManager::instance(),
+ &ProjectExplorer::ProjectManager::startupProjectChanged,
[action]() {
auto qmlProject = qobject_cast<QmlProject *>(
- ProjectExplorer::SessionManager::startupProject());
+ ProjectExplorer::ProjectManager::startupProject());
action->setEnabled(qmlProject != nullptr);
});
}
void onGenerateCmakeLists()
{
- FilePath rootDir = ProjectExplorer::SessionManager::startupProject()->projectDirectory();
+ FilePath rootDir = ProjectExplorer::ProjectManager::startupProject()->projectDirectory();
int projectDirErrors = isProjectCorrectlyFormed(rootDir);
if (projectDirErrors != NoError) {
@@ -246,7 +247,7 @@ const QString projectEnvironmentVariable(const QString &key)
{
QString value = {};
- auto *target = ProjectExplorer::SessionManager::startupProject()->activeTarget();
+ auto *target = ProjectExplorer::ProjectManager::startupProject()->activeTarget();
if (target && target->buildSystem()) {
auto buildSystem = qobject_cast<QmlProjectManager::QmlBuildSystem *>(target->buildSystem());
if (buildSystem) {
@@ -304,7 +305,7 @@ const char ADD_SUBDIR[] = "add_subdirectory(%1)\n";
void CmakeFileGenerator::generateMainCmake(const FilePath &rootDir)
{
//TODO startupProject() may be a terrible way to try to get "current project". It's not necessarily the same thing at all.
- QString projectName = ProjectExplorer::SessionManager::startupProject()->displayName();
+ QString projectName = ProjectExplorer::ProjectManager::startupProject()->displayName();
QString appName = projectName + "App";
QString fileSection = "";
@@ -523,7 +524,7 @@ bool CmakeFileGenerator::isDirBlacklisted(const FilePath &dir)
bool CmakeFileGenerator::includeFile(const FilePath &filePath)
{
if (m_checkFileIsInProject) {
- ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectExplorer::ProjectManager::startupProject();
if (!project->isKnownFile(filePath))
return false;
}
@@ -570,7 +571,7 @@ bool CmakeFileGenerator::generateMainCpp(const FilePath &dir)
bool envHeaderOk = true;
QString environment;
- auto *target = ProjectExplorer::SessionManager::startupProject()->activeTarget();
+ auto *target = ProjectExplorer::ProjectManager::startupProject()->activeTarget();
if (target && target->buildSystem()) {
auto buildSystem = qobject_cast<QmlProjectManager::QmlBuildSystem *>(target->buildSystem());
if (buildSystem) {
diff --git a/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp b/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp
index 8ae0efe3119..8cde4e2c222 100644
--- a/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp
+++ b/src/plugins/qmlprojectmanager/projectfilecontenttools.cpp
@@ -18,7 +18,7 @@ QRegularExpression qdsVerRegexp(R"x(qdsVersion: "(.*)")x");
const Utils::FilePaths rootCmakeFiles(ProjectExplorer::Project *project)
{
if (!project)
- project = ProjectExplorer::SessionManager::startupProject();
+ project = ProjectExplorer::ProjectManager::startupProject();
if (!project)
return {};
return project->projectDirectory().dirEntries({QList<QString>({"CMakeLists.txt"}), QDir::Files});
diff --git a/src/plugins/qmlprojectmanager/projectfilecontenttools.h b/src/plugins/qmlprojectmanager/projectfilecontenttools.h
index 843912eb7c8..3c3fcb5847e 100644
--- a/src/plugins/qmlprojectmanager/projectfilecontenttools.h
+++ b/src/plugins/qmlprojectmanager/projectfilecontenttools.h
@@ -6,7 +6,7 @@
#include "qmlprojectmanager_global.h"
#include <projectexplorer/projectmanager.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/fileutils.h>
diff --git a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp
index 4ca9f9aa626..db0001ac70f 100644
--- a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp
+++ b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp
@@ -10,8 +10,8 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/runcontrol.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
static bool isMultilanguagePresent()
@@ -114,7 +114,7 @@ void QmlMultiLanguageAspect::fromMap(const QVariantMap &map)
QmlMultiLanguageAspect *QmlMultiLanguageAspect::current()
{
- if (auto project = ProjectExplorer::SessionManager::startupProject())
+ if (auto project = ProjectExplorer::ProjectManager::startupProject())
return current(project);
return {};
}
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index c283ec73e31..f08b9c4bda7 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -23,7 +23,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qtsupport/baseqtversion.h>
@@ -97,7 +97,7 @@ QmlProject::QmlProject(const Utils::FilePath &fileName)
if (QmlProject::isQtDesignStudio()) {
if (allowOnlySingleProject()) {
EditorManager::closeAllDocuments();
- SessionManager::closeAllProjects();
+ ProjectManager::closeAllProjects();
}
m_openFileConnection
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index 3c156311b41..443d5478fc9 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -26,7 +26,7 @@
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
#include <projectexplorer/runcontrol.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmljs/qmljsmodelmanagerinterface.h>
@@ -181,7 +181,7 @@ const Utils::FilePath findQmlProjectUpwards(const Utils::FilePath &folder)
static bool findAndOpenProject(const Utils::FilePath &filePath)
{
ProjectExplorer::Project *project
- = ProjectExplorer::SessionManager::projectForFile(filePath);
+ = ProjectExplorer::ProjectManager::projectForFile(filePath);
if (project) {
if (project->projectFilePath().suffix() == "qmlproject") {
@@ -437,7 +437,7 @@ void QmlProjectPlugin::updateQmlLandingPageProjectInfo(const Utils::FilePath &pr
Utils::FilePath QmlProjectPlugin::projectFilePath()
{
- auto project = ProjectExplorer::SessionManager::startupProject();
+ auto project = ProjectExplorer::ProjectManager::startupProject();
const QmlProjectManager::QmlProject *qmlProject = qobject_cast<const QmlProjectManager::QmlProject*>(project);
if (qmlProject) {
return qmlProject->projectFilePath();
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
index 8e8527b32c0..e0b1e6a9b15 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
@@ -21,7 +21,7 @@
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/runconfigurationaspects.h>
#include <projectexplorer/runcontrol.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qtsupport/qtkitinformation.h>
@@ -274,7 +274,7 @@ void QmlProjectRunConfiguration::createQtVersionAspect()
if (!newTarget)
newTarget = project->addTargetForKit(kits.first());
- SessionManager::setActiveTarget(project, newTarget, SetActive::Cascade);
+ project->setActiveTarget(newTarget, SetActive::Cascade);
/* Reset the aspect. We changed the target and this aspect should not change. */
m_qtversionAspect->blockSignals(true);
diff --git a/src/plugins/qnx/qnxdebugsupport.cpp b/src/plugins/qnx/qnxdebugsupport.cpp
index cb3932daab5..d6ee8618980 100644
--- a/src/plugins/qnx/qnxdebugsupport.cpp
+++ b/src/plugins/qnx/qnxdebugsupport.cpp
@@ -21,8 +21,8 @@
#include <projectexplorer/kitchooser.h>
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/runconfigurationaspects.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
@@ -223,7 +223,7 @@ void showAttachToProcessDialog()
return;
// FIXME: That should be somehow related to the selected kit.
- auto runConfig = SessionManager::startupRunConfiguration();
+ auto runConfig = ProjectManager::startupRunConfiguration();
const int pid = dlg.currentProcess().processId;
// QString projectSourceDirectory = dlg.projectSource();
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index 6b1d64600f4..446f7d576a1 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -21,7 +21,8 @@
#include <projectexplorer/headerpath.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
#include <projectexplorer/toolchainmanager.h>
@@ -1542,10 +1543,10 @@ void QtVersion::populateQmlFileFinder(FileInProjectFinder *finder, const Target
// ... else try the session manager's global startup project ...
if (!startupProject)
- startupProject = SessionManager::startupProject();
+ startupProject = ProjectManager::startupProject();
// ... and if that is null, use the first project available.
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
QTC_CHECK(projects.isEmpty() || startupProject);
FilePath projectDirectory;
diff --git a/src/plugins/qtsupport/externaleditors.cpp b/src/plugins/qtsupport/externaleditors.cpp
index bed8b7618fa..ee3a3611031 100644
--- a/src/plugins/qtsupport/externaleditors.cpp
+++ b/src/plugins/qtsupport/externaleditors.cpp
@@ -8,8 +8,8 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
-#include <projectexplorer/session.h>
#include <qtsupport/qtkitinformation.h>
@@ -181,7 +181,7 @@ static bool getEditorLaunchData(const CommandForQtVersion &commandForQtVersion,
// As fallback check PATH
data->workingDirectory.clear();
QVector<QtSupport::QtVersion *> qtVersionsToCheck; // deduplicated after being filled
- if (const Project *project = SessionManager::projectForFile(filePath)) {
+ if (const Project *project = ProjectManager::projectForFile(filePath)) {
data->workingDirectory = project->projectDirectory();
// active kit
if (const Target *target = project->activeTarget()) {
diff --git a/src/plugins/qtsupport/qtsupportplugin.cpp b/src/plugins/qtsupport/qtsupportplugin.cpp
index c54c1bfc232..8a1c94bddca 100644
--- a/src/plugins/qtsupport/qtsupportplugin.cpp
+++ b/src/plugins/qtsupport/qtsupportplugin.cpp
@@ -24,8 +24,8 @@
#include <projectexplorer/jsonwizard/jsonwizardfactory.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <proparser/qmakeevaluator.h>
@@ -170,7 +170,7 @@ void QtSupportPlugin::extensionsInitialized()
});
static const auto activeQtVersion = []() -> const QtVersion * {
- ProjectExplorer::Project *project = SessionManager::startupProject();
+ ProjectExplorer::Project *project = ProjectManager::startupProject();
if (!project || !project->activeTarget())
return nullptr;
return QtKitAspect::qtVersion(project->activeTarget()->kit());
@@ -208,7 +208,7 @@ void QtSupportPlugin::extensionsInitialized()
const FilePath filePath = item.filePath();
if (filePath.isEmpty())
return links;
- const Project *project = SessionManager::projectForFile(filePath);
+ const Project *project = ProjectManager::projectForFile(filePath);
Target *target = project ? project->activeTarget() : nullptr;
QtVersion *qt = target ? QtKitAspect::qtVersion(target->kit()) : nullptr;
if (!qt)
diff --git a/src/plugins/scxmleditor/scxmleditordocument.cpp b/src/plugins/scxmleditor/scxmleditordocument.cpp
index 9c84910b2dd..e10c8759084 100644
--- a/src/plugins/scxmleditor/scxmleditordocument.cpp
+++ b/src/plugins/scxmleditor/scxmleditordocument.cpp
@@ -6,7 +6,7 @@
#include "scxmleditorconstants.h"
#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <qtsupport/qtkitinformation.h>
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
diff --git a/src/plugins/squish/squishfilehandler.cpp b/src/plugins/squish/squishfilehandler.cpp
index 956f9488227..918120a4063 100644
--- a/src/plugins/squish/squishfilehandler.cpp
+++ b/src/plugins/squish/squishfilehandler.cpp
@@ -15,8 +15,10 @@
#include <coreplugin/documentmanager.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h>
+
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h>
+
#include <utils/algorithm.h>
#include <utils/aspects.h>
#include <utils/layoutbuilder.h>
@@ -93,8 +95,7 @@ SquishFileHandler::SquishFileHandler(QObject *parent)
: QObject(parent)
{
m_instance = this;
- auto sessionManager = ProjectExplorer::SessionManager::instance();
- connect(sessionManager, &ProjectExplorer::SessionManager::sessionLoaded,
+ connect(ProjectExplorer::SessionManager::instance(), &ProjectExplorer::SessionManager::sessionLoaded,
this, &SquishFileHandler::onSessionLoaded);
}
diff --git a/src/plugins/todo/todoitemsprovider.cpp b/src/plugins/todo/todoitemsprovider.cpp
index 02790c64dfb..02ba71e2fcc 100644
--- a/src/plugins/todo/todoitemsprovider.cpp
+++ b/src/plugins/todo/todoitemsprovider.cpp
@@ -3,6 +3,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "todoitemsprovider.h"
+
#include "constants.h"
#include "cpptodoitemsscanner.h"
#include "qmljstodoitemsscanner.h"
@@ -13,9 +14,9 @@
#include <coreplugin/idocument.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <utils/algorithm.h>
@@ -182,8 +183,8 @@ void TodoItemsProvider::updateListTimeoutElapsed()
void TodoItemsProvider::setupStartupProjectBinding()
{
- m_startupProject = SessionManager::startupProject();
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ m_startupProject = ProjectManager::startupProject();
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &TodoItemsProvider::startupProjectChanged);
connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::fileListChanged,
this, &TodoItemsProvider::projectsFilesChanged);
diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp
index fc50b2ecf09..4daa04efcf6 100644
--- a/src/plugins/valgrind/callgrindtool.cpp
+++ b/src/plugins/valgrind/callgrindtool.cpp
@@ -47,8 +47,8 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorericons.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/taskhub.h>
#include <utils/fancymainwindow.h>
@@ -256,7 +256,7 @@ CallgrindToolPrivate::CallgrindToolPrivate()
menu->addAction(ActionManager::registerAction(action, CallgrindRemoteActionId),
Debugger::Constants::G_ANALYZER_REMOTE_TOOLS);
QObject::connect(action, &QAction::triggered, this, [this, action] {
- auto runConfig = SessionManager::startupRunConfiguration();
+ auto runConfig = ProjectManager::startupRunConfiguration();
if (!runConfig) {
showCannotStartDialog(action->text());
return;
diff --git a/src/plugins/valgrind/memcheckerrorview.cpp b/src/plugins/valgrind/memcheckerrorview.cpp
index 3bb8a66a02e..48e9afd8018 100644
--- a/src/plugins/valgrind/memcheckerrorview.cpp
+++ b/src/plugins/valgrind/memcheckerrorview.cpp
@@ -14,7 +14,7 @@
#include <coreplugin/editormanager/editormanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <utils/qtcassert.h>
#include <utils/icon.h>
diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp
index d4a5e4a6499..6129a0b4dbd 100644
--- a/src/plugins/valgrind/memchecktool.cpp
+++ b/src/plugins/valgrind/memchecktool.cpp
@@ -30,8 +30,8 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/runconfiguration.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
#include <projectexplorer/taskhub.h>
#include <projectexplorer/toolchain.h>
@@ -337,7 +337,7 @@ bool MemcheckErrorFilterProxyModel::filterAcceptsRow(int sourceRow, const QModel
// ALGORITHM: look at last five stack frames, if none of these is inside any open projects,
// assume this error was created by an external library
QSet<QString> validFolders;
- for (Project *project : SessionManager::projects()) {
+ for (Project *project : ProjectManager::projects()) {
validFolders << project->projectDirectory().toString();
const QList<Target *> targets = project->targets();
for (const Target *target : targets) {
@@ -676,7 +676,7 @@ MemcheckToolPrivate::MemcheckToolPrivate()
menu->addAction(ActionManager::registerAction(action, "Memcheck.Remote"),
Debugger::Constants::G_ANALYZER_REMOTE_TOOLS);
QObject::connect(action, &QAction::triggered, this, [this, action] {
- RunConfiguration *runConfig = SessionManager::startupRunConfiguration();
+ RunConfiguration *runConfig = ProjectManager::startupRunConfiguration();
if (!runConfig) {
showCannotStartDialog(action->text());
return;
@@ -718,7 +718,7 @@ void MemcheckToolPrivate::heobAction()
Abi abi;
bool hasLocalRc = false;
Kit *kit = nullptr;
- if (Target *target = SessionManager::startupTarget()) {
+ if (Target *target = ProjectManager::startupTarget()) {
if (RunConfiguration *rc = target->activeRunConfiguration()) {
kit = target->kit();
if (kit) {
@@ -940,7 +940,7 @@ void MemcheckToolPrivate::maybeActiveRunConfigurationChanged()
updateRunActions();
ValgrindBaseSettings *settings = nullptr;
- if (Project *project = SessionManager::startupProject())
+ if (Project *project = ProjectManager::startupProject())
if (Target *target = project->activeTarget())
if (RunConfiguration *rc = target->activeRunConfiguration())
settings = rc->currentSettings<ValgrindBaseSettings>(ANALYZER_VALGRIND_SETTINGS);
diff --git a/src/plugins/valgrind/suppressiondialog.cpp b/src/plugins/valgrind/suppressiondialog.cpp
index 08ed8ae5ff7..6273580e82d 100644
--- a/src/plugins/valgrind/suppressiondialog.cpp
+++ b/src/plugins/valgrind/suppressiondialog.cpp
@@ -12,9 +12,9 @@
#include "xmlprotocol/stack.h"
#include "xmlprotocol/frame.h"
-#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <utils/algorithm.h>
@@ -182,8 +182,8 @@ void SuppressionDialog::accept()
return;
// Add file to project if there is a project containing this file on the file system.
- if (!ProjectExplorer::SessionManager::projectForFile(path)) {
- for (ProjectExplorer::Project *p : ProjectExplorer::SessionManager::projects()) {
+ if (!ProjectExplorer::ProjectManager::projectForFile(path)) {
+ for (ProjectExplorer::Project *p : ProjectExplorer::ProjectManager::projects()) {
if (path.startsWith(p->projectDirectory().toString())) {
p->rootProjectNode()->addFiles({path});
break;
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index c73c14f9f66..26c19c7f91e 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -24,7 +24,7 @@
#include <projectexplorer/editorconfiguration.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <texteditor/textdocument.h>
#include <texteditor/textdocumentlayout.h>
@@ -1234,7 +1234,7 @@ static QTextCodec *findProjectCodec(const FilePath &dirPath)
{
typedef QList<ProjectExplorer::Project*> ProjectList;
// Try to find a project under which file tree the file is.
- const ProjectList projects = ProjectExplorer::SessionManager::projects();
+ const ProjectList projects = ProjectExplorer::ProjectManager::projects();
const ProjectExplorer::Project *p
= findOrDefault(projects, equal(&ProjectExplorer::Project::projectDirectory, dirPath));
return p ? p->editorConfiguration()->textCodec() : nullptr;
diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp
index b277a2d0680..dfd89842c52 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.cpp
+++ b/src/plugins/vcsbase/vcsbaseplugin.cpp
@@ -9,12 +9,14 @@
#include "vcsplugin.h"
#include <coreplugin/documentmanager.h>
+#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h>
#include <coreplugin/idocument.h>
-#include <coreplugin/editormanager/editormanager.h>
-#include <projectexplorer/projecttree.h>
+
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
+#include <projectexplorer/projecttree.h>
+
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
@@ -195,7 +197,7 @@ StateListener::StateListener(QObject *parent) : QObject(parent)
connect(ProjectTree::instance(), &ProjectTree::currentProjectChanged,
this, &StateListener::slotStateChanged);
- connect(SessionManager::instance(), &SessionManager::startupProjectChanged,
+ connect(ProjectManager::instance(), &ProjectManager::startupProjectChanged,
this, &StateListener::slotStateChanged);
EditorManager::setWindowTitleVcsTopicHandler(&StateListener::windowTitleVcsTopic);
@@ -213,7 +215,7 @@ QString StateListener::windowTitleVcsTopic(const FilePath &filePath)
searchPath = filePath.absolutePath();
} else {
// use single project's information if there is only one loaded.
- const QList<Project *> projects = SessionManager::projects();
+ const QList<Project *> projects = ProjectManager::projects();
if (projects.size() == 1)
searchPath = projects.first()->projectDirectory();
}
@@ -282,7 +284,7 @@ void StateListener::slotStateChanged()
IVersionControl *projectControl = nullptr;
Project *currentProject = ProjectTree::currentProject();
if (!currentProject)
- currentProject = SessionManager::startupProject();
+ currentProject = ProjectManager::startupProject();
if (currentProject) {
state.currentProjectPath = currentProject->projectDirectory();
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index eaa825adb10..23a41f363ea 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -37,7 +37,7 @@
#include <texteditor/texteditorsettings.h>
#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
+#include <projectexplorer/projectmanager.h>
#include <QDir>
#include <QFileInfo>
@@ -606,7 +606,7 @@ void VcsBaseSubmitEditor::filterUntrackedFilesOfProject(const FilePath &reposito
{
for (QStringList::iterator it = untrackedFiles->begin(); it != untrackedFiles->end(); ) {
const FilePath path = repositoryDirectory.resolvePath(*it).absoluteFilePath();
- if (ProjectExplorer::SessionManager::projectForFile(path))
+ if (ProjectExplorer::ProjectManager::projectForFile(path))
++it;
else
it = untrackedFiles->erase(it);