From f766ca2847b322e6e5bf5f4f165154ba326fc65e Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 15 Nov 2011 20:26:56 +0300 Subject: [PATCH] Git push: preselect the first commit in the commit list. --- plugins/git4idea/src/git4idea/push/GitPushLog.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/git4idea/src/git4idea/push/GitPushLog.java b/plugins/git4idea/src/git4idea/push/GitPushLog.java index 9a01cbd60a8c..7f6da09eef71 100644 --- a/plugins/git4idea/src/git4idea/push/GitPushLog.java +++ b/plugins/git4idea/src/git4idea/push/GitPushLog.java @@ -41,10 +41,7 @@ import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeNode; -import javax.swing.tree.TreeSelectionModel; +import javax.swing.tree.*; import java.awt.*; import java.util.*; import java.util.List; @@ -144,12 +141,20 @@ class GitPushLog extends JPanel implements TypeSafeDataProvider { myTreeModel.nodeStructureChanged(myRootNode); myTree.setModel(myTreeModel); // TODO: why doesn't it repaint otherwise? TreeUtil.expandAll(myTree); + selectFirstCommit(); } finally { TREE_CONSTRUCTION_LOCK.writeLock().unlock(); } } + private void selectFirstCommit() { + DefaultMutableTreeNode firstLeaf = myRootNode.getFirstLeaf(); + if (firstLeaf != null) { + myTree.setSelectionPath(new TreePath(firstLeaf.getPath())); + } + } + private void createNodes(@NotNull GitCommitsByRepoAndBranch commits) { for (GitRepository repository : GitUtil.sortRepositories(commits.getRepositories())) { GitCommitsByBranch commitsByBranch = commits.get(repository);