protected void LoadInTree(IEnumerable<IGitItem> items, TreeNodeCollection node)
{
var sortedItems = items.OrderBy(gi => gi, new GitFileTreeComparer());
foreach (var item in sortedItems)
{
var subNode = node.Add(item.Name);
subNode.Tag = item;
var gitItem = item as GitItem;
if (gitItem == null)
subNode.Nodes.Add(new TreeNode());
else
{
if (gitItem.IsTree)
{
subNode.ImageIndex = 1;
subNode.SelectedImageIndex = 1;
subNode.Nodes.Add(new TreeNode());
}
else
if (gitItem.IsCommit)
{
subNode.ImageIndex = 2;
subNode.SelectedImageIndex = 2;
subNode.Text = item.Name + " (Submodule)";
}
}
}
}