From 3e7d93c788773c7f8194a5465ee0f46961432d76 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 14 Feb 2023 15:47:22 +0100 Subject: ProjectExplorer: Move some not-fully-session related bits ... out of SessionManager. The idea is to later move SessionManager into the Core plugin, which both is sensible conceptually and also prerequisite to merge the Bookmark plugin into TextEditor plugin. Currently, only the interface is split, as the load/save implemetations are non-mechanical to disentangle. Change-Id: I31631db3094ea192825a2ccaa6add6188662940b Reviewed-by: Eike Ziller Reviewed-by: --- src/plugins/projectexplorer/projectwindow.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/plugins/projectexplorer/projectwindow.cpp') diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index afe2b45e7e..e91dbf94fe 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); } } -- cgit v1.2.3 From 1d4228dfda8137920523c242c17e59451bcb937b Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 8 May 2023 19:01:49 +0200 Subject: ProjectExplorer: Prevent context menu on ProjectSelector The context menu on the ProjectSelector (outside the "SelectorTree") does not make much sense and pops up with an offset. Change-Id: I79aa3157e04b9d343077fdbc87b8f7cd891426b4 Reviewed-by: hjk Reviewed-by: --- src/plugins/projectexplorer/projectwindow.cpp | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/plugins/projectexplorer/projectwindow.cpp') diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 7baedc4df2..f44c5354fe 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -572,9 +572,6 @@ public: selectorView->setObjectName("ProjectSelector"); // Needed for dock widget state saving selectorView->setWindowTitle(Tr::tr("Project Selector")); selectorView->setAutoFillBackground(true); - selectorView->setContextMenuPolicy(Qt::CustomContextMenu); - connect(selectorView, &QWidget::customContextMenuRequested, - this, &ProjectWindowPrivate::openContextMenu); auto activeLabel = new QLabel(Tr::tr("Active Project")); QFont font = activeLabel->font(); -- cgit v1.2.3 From d6111f2e1d7a04e3c0c2ddf052745dd956c11712 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 16 May 2023 14:33:51 +0200 Subject: ProjectExplorer: Remove some pointerage around KitOptionsPage Change-Id: Ib1736a80739c6052372896bac03aa324fd807151 Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/projectwindow.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/plugins/projectexplorer/projectwindow.cpp') diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index f44c5354fe..6d51ada410 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -743,8 +743,7 @@ public: void handleManageKits() { if (ProjectItem *projectItem = m_projectsModel.rootItem()->childAt(0)) { - if (auto kitPage = KitOptionsPage::instance()) - kitPage->showKit(KitManager::kit(Id::fromSetting(projectItem->data(0, KitIdRole)))); + KitOptionsPage::showKit(KitManager::kit(Id::fromSetting(projectItem->data(0, KitIdRole)))); } ICore::showOptionsDialog(Constants::KITS_SETTINGS_PAGE_ID); } -- cgit v1.2.3