From 619d843e244aa26ff8d1edc225e6928981006865 Mon Sep 17 00:00:00 2001 From: Nikolay Rykunov Date: Wed, 20 Jul 2022 17:47:17 +0200 Subject: [PATCH] [welcome screen] IDEA-297659: Expand tree in same edt event rebuildTree is called on invokeLater, so tree can be expanded later that may prevent to select proper node or even to tree jump GitOrigin-RevId: c6189e58ca978397ab9e59f8cc768f8ee4cf0c25 --- .../recentProjects/RecentProjectFilteringTree.kt | 6 +----- .../recentProjects/RecentProjectPanelComponentFactory.kt | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectFilteringTree.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectFilteringTree.kt index b8e148b7d7ac..4dfe5fc25154 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectFilteringTree.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectFilteringTree.kt @@ -113,10 +113,6 @@ internal class RecentProjectFilteringTree( override fun createNode(item: RecentProjectTreeItem): DefaultMutableTreeNode = DefaultMutableTreeNode(item) - override fun rebuildTree() { - expandGroups() - } - override fun createSpeedSearch(searchTextField: SearchTextField): SpeedSearchSupply = object : FilteringSpeedSearch(searchTextField) {} override fun installSearchField(): SearchTextField { @@ -159,7 +155,7 @@ internal class RecentProjectFilteringTree( return RecentProjectPanel.FilePathChecker(treeUpdater, recentProjects.map { it.projectPath }) } - private fun expandGroups() { + internal fun expandGroups() { for (child in root.children()) { val treeNode = child as DefaultMutableTreeNode val item = treeNode.userObject diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectPanelComponentFactory.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectPanelComponentFactory.kt index 72948d23e247..33b48b308f26 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectPanelComponentFactory.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/recentProjects/RecentProjectPanelComponentFactory.kt @@ -26,6 +26,7 @@ internal object RecentProjectPanelComponentFactory { val tree = Tree() val filteringTree = RecentProjectFilteringTree(tree, parentDisposable, collectors).apply { installSearchField() + expandGroups() } ApplicationManager.getApplication().messageBus.connect(parentDisposable).apply {