mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
GO-19393: Select the first node in the tree of the recent projects
The recent projects of non-modal welcome screen does not contain the current project, which is actually the recent one. So instead, we should select the first visible node. GitOrigin-RevId: c12f54e5622d9bbd8d9b3f63c5be1b1c10dff86e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
51fb56b954
commit
35637e49c6
+1
-1
@@ -136,7 +136,7 @@ class WelcomeScreenLeftPanel(private val project: Project) : ProjectViewPane(pro
|
||||
treeBackground = null
|
||||
).apply {
|
||||
tree.emptyText.text = NonModalWelcomeScreenBundle.message("welcome.screen.no.recent.projects")
|
||||
selectLastOpenedProject()
|
||||
selectLastOpenedProjectOrTheFirstInTree()
|
||||
}
|
||||
|
||||
private fun createProjectSearchField(recentProjectTree: RecentProjectFilteringTree): SearchTextField =
|
||||
|
||||
+21
-2
@@ -192,9 +192,12 @@ class RecentProjectFilteringTree(
|
||||
}
|
||||
}
|
||||
|
||||
fun selectLastOpenedProject() {
|
||||
/**
|
||||
* @return true if the last opened project was selected
|
||||
*/
|
||||
fun selectLastOpenedProject(): Boolean {
|
||||
val recentProjectsManager = RecentProjectsManagerBase.getInstanceEx()
|
||||
val projectPath = recentProjectsManager.getLastOpenedProject() ?: return
|
||||
val projectPath = recentProjectsManager.getLastOpenedProject() ?: return false
|
||||
|
||||
val node = TreeUtil.findNode(root, Condition {
|
||||
when (val item = TreeUtil.getUserObject(RecentProjectTreeItem::class.java, it)) {
|
||||
@@ -206,7 +209,23 @@ class RecentProjectFilteringTree(
|
||||
|
||||
if (node != null) {
|
||||
TreeUtil.selectNode(tree, node)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
fun selectLastOpenedProjectOrTheFirstInTree(): Boolean {
|
||||
if (selectLastOpenedProject()) {
|
||||
return true
|
||||
}
|
||||
|
||||
val firstChild = root.firstChild
|
||||
if (firstChild != null) {
|
||||
TreeUtil.selectNode(tree, firstChild)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
private class ProjectActionMouseListener(
|
||||
|
||||
Reference in New Issue
Block a user