From 9d2efbcf0276db2a05dcbf8cb55f00af0091aef3 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Tue, 17 Jun 2025 16:09:42 +0200 Subject: [PATCH] IJPL-188586 toolbox: respect the 'canOpenProject' flag GitOrigin-RevId: 8c10f150cb5447c8f27474cae5bbfd0ceb26a913 --- .../projectActions/OpenSelectedProjectsAction.kt | 5 ++++- .../welcomeScreen/recentProjects/RecentProjectTreeItem.kt | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/projectActions/OpenSelectedProjectsAction.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/projectActions/OpenSelectedProjectsAction.kt index d451d3865a26..70ee2582c818 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/projectActions/OpenSelectedProjectsAction.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/projectActions/OpenSelectedProjectsAction.kt @@ -38,7 +38,10 @@ class OpenSelectedProjectsAction : RecentProjectsWelcomeScreenActionBase() { } if (ActionPlaces.WELCOME_SCREEN == event.place) { - presentation.isEnabledAndVisible = items.all { item -> item is RecentProjectItem || item is ProjectsGroupItem || item is ProviderRecentProjectItem } + presentation.isEnabledAndVisible = items.all { item -> + item is RecentProjectItem || item is ProjectsGroupItem || + item is ProviderRecentProjectItem && item.canOpenProject() + } when { items.size == 1 && items.first() is ProjectsGroupItem -> presentation.setText( IdeBundle.messagePointer("action.presentation.OpenSelectedProjectsAction.text.open.all.projects.in.group") diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt index 9e2cc3f3d457..de2eddbe696d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectTreeItem.kt @@ -158,6 +158,10 @@ internal data class ProviderRecentProjectItem( val progressText: String? get() = recentProject.status.progressText val additionalActions: List get() = recentProject.additionalActions + fun canOpenProject() : Boolean { + return recentProject.canOpenProject() + } + fun openProject(actionEvent: AnActionEvent) { recentProject.openProject(actionEvent) }