mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-22 02:45:00 +00:00
refactor: now all filesystem related trees/lists are sorted in case-insensitive mode
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
c3c7d32167
commit
5494093261
6 changed files with 22 additions and 19 deletions
|
@ -270,12 +270,7 @@ namespace SourceGit.Views
|
|||
foreach (var obj in objects)
|
||||
_tree.Add(new ViewModels.RevisionFileTreeNode { Backend = obj });
|
||||
|
||||
_tree.Sort((l, r) =>
|
||||
{
|
||||
if (l.IsFolder == r.IsFolder)
|
||||
return string.Compare(l.Name, r.Name, StringComparison.Ordinal);
|
||||
return l.IsFolder ? -1 : 1;
|
||||
});
|
||||
SortNodes(_tree);
|
||||
|
||||
var topTree = new List<ViewModels.RevisionFileTreeNode>();
|
||||
MakeRows(topTree, _tree, 0);
|
||||
|
@ -341,13 +336,7 @@ namespace SourceGit.Views
|
|||
foreach (var obj in objects)
|
||||
node.Children.Add(new ViewModels.RevisionFileTreeNode() { Backend = obj });
|
||||
|
||||
node.Children.Sort((l, r) =>
|
||||
{
|
||||
if (l.IsFolder == r.IsFolder)
|
||||
return Models.NumericSort.Compare(l.Name, r.Name);
|
||||
return l.IsFolder ? -1 : 1;
|
||||
});
|
||||
|
||||
SortNodes(node.Children);
|
||||
return node.Children;
|
||||
}
|
||||
|
||||
|
@ -365,6 +354,16 @@ namespace SourceGit.Views
|
|||
}
|
||||
}
|
||||
|
||||
private void SortNodes(List<ViewModels.RevisionFileTreeNode> nodes)
|
||||
{
|
||||
nodes.Sort((l, r) =>
|
||||
{
|
||||
if (l.IsFolder == r.IsFolder)
|
||||
return Models.NumericSort.Compare(l.Name, r.Name);
|
||||
return l.IsFolder ? -1 : 1;
|
||||
});
|
||||
}
|
||||
|
||||
private List<ViewModels.RevisionFileTreeNode> _tree = [];
|
||||
private AvaloniaList<ViewModels.RevisionFileTreeNode> _rows = [];
|
||||
private bool _disableSelectionChangingEvent = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue