diff --git a/platform/platform-impl/src/com/intellij/ide/RecentProjectListActionProvider.kt b/platform/platform-impl/src/com/intellij/ide/RecentProjectListActionProvider.kt index da2416019bf4..01cef481367f 100644 --- a/platform/platform-impl/src/com/intellij/ide/RecentProjectListActionProvider.kt +++ b/platform/platform-impl/src/com/intellij/ide/RecentProjectListActionProvider.kt @@ -4,6 +4,7 @@ package com.intellij.ide import com.intellij.ide.impl.ProjectUtil import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.components.service +import com.intellij.openapi.project.Project import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.util.text.StringUtil import com.intellij.util.containers.ContainerUtil @@ -93,6 +94,13 @@ open class RecentProjectListActionProvider { return ReopenProjectAction(path, projectName, displayName) } + /** + * Returns true if action corresponds to specified project + */ + open fun isCurrentProjectAction(project: Project, action: ReopenProjectAction): Boolean { + return StringUtil.equals(action.projectPath, project.basePath) + } + private fun getDuplicateProjectNames(openedPaths: Set, recentPaths: Collection): Set { val names = mutableSetOf() val duplicates = mutableSetOf() diff --git a/platform/platform-impl/src/com/intellij/ide/actions/RecentProjectsGroup.java b/platform/platform-impl/src/com/intellij/ide/actions/RecentProjectsGroup.java index 1a8d0913958d..0e88a2733ca1 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/RecentProjectsGroup.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/RecentProjectsGroup.java @@ -34,9 +34,10 @@ public class RecentProjectsGroup extends ActionGroup implements DumbAware { return actions.toArray(EMPTY_ARRAY); } + RecentProjectListActionProvider provider = RecentProjectListActionProvider.getInstance(); List list = new ArrayList<>(); for (AnAction action : actions) { - if (!(action instanceof ReopenProjectAction) || !StringUtil.equals(((ReopenProjectAction)action).getProjectPath(), project.getBasePath())) { + if (!(action instanceof ReopenProjectAction) || !provider.isCurrentProjectAction(project, (ReopenProjectAction)action)) { list.add(action); } }