mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-20 11:44:59 +00:00
Making local detached branch HEAD as the first item below folders
This commit is contained in:
parent
4750ad0d07
commit
b0c00340a8
3 changed files with 21 additions and 7 deletions
|
@ -7,6 +7,7 @@ namespace SourceGit.ViewModels
|
|||
{
|
||||
public enum BranchTreeNodeType
|
||||
{
|
||||
DetachedHead,
|
||||
Remote,
|
||||
Folder,
|
||||
Branch,
|
||||
|
@ -45,6 +46,11 @@ namespace SourceGit.ViewModels
|
|||
{
|
||||
get => Type == BranchTreeNodeType.Branch;
|
||||
}
|
||||
|
||||
public bool IsDetachedHead
|
||||
{
|
||||
get => Type == BranchTreeNodeType.DetachedHead;
|
||||
}
|
||||
|
||||
public bool IsCurrent
|
||||
{
|
||||
|
@ -170,11 +176,11 @@ namespace SourceGit.ViewModels
|
|||
start = sepIdx + 1;
|
||||
sepIdx = branch.Name.IndexOf('/', start);
|
||||
}
|
||||
|
||||
|
||||
lastFolder.Children.Add(new BranchTreeNode()
|
||||
{
|
||||
Name = Path.GetFileName(branch.Name),
|
||||
Type = BranchTreeNodeType.Branch,
|
||||
Type = branch.isHead ? BranchTreeNodeType.DetachedHead : BranchTreeNodeType.Branch,
|
||||
Backend = branch,
|
||||
IsExpanded = false,
|
||||
IsFiltered = isFiltered,
|
||||
|
@ -185,14 +191,16 @@ namespace SourceGit.ViewModels
|
|||
{
|
||||
nodes.Sort((l, r) =>
|
||||
{
|
||||
if (l.Type == BranchTreeNodeType.DetachedHead)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (l.Type == r.Type)
|
||||
{
|
||||
return l.Name.CompareTo(r.Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
return (int)l.Type - (int)r.Type;
|
||||
}
|
||||
|
||||
return (int)l.Type - (int)r.Type;
|
||||
});
|
||||
|
||||
foreach (var node in nodes)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue