Git push: preselect the first commit in the commit list.

This commit is contained in:
Kirill Likhodedov
2011-11-15 20:26:56 +03:00
parent fc239567e1
commit f766ca2847
@@ -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);