code_review: PR #1007

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-02-20 09:34:03 +08:00
parent cbc2e46beb
commit 0e1dfba7ef
No known key found for this signature in database

View file

@ -109,7 +109,7 @@ namespace SourceGit.ViewModels
if (_isLoadingData) if (_isLoadingData)
return; return;
VisibleUnstaged = GetVisibleUnstagedChanges(); VisibleUnstaged = GetVisibleUnstagedChanges(_unstaged);
SelectedUnstaged = []; SelectedUnstaged = [];
} }
} }
@ -284,9 +284,7 @@ namespace SourceGit.ViewModels
} }
} }
_unstaged = unstaged; var visibleUnstaged = GetVisibleUnstagedChanges(unstaged);
var visibleUnstaged = GetVisibleUnstagedChanges();
var selectedUnstaged = new List<Models.Change>(); var selectedUnstaged = new List<Models.Change>();
foreach (var c in visibleUnstaged) foreach (var c in visibleUnstaged)
{ {
@ -307,7 +305,7 @@ namespace SourceGit.ViewModels
_isLoadingData = true; _isLoadingData = true;
HasUnsolvedConflicts = hasConflict; HasUnsolvedConflicts = hasConflict;
VisibleUnstaged = visibleUnstaged; VisibleUnstaged = visibleUnstaged;
OnPropertyChanged(nameof(Unstaged)); Unstaged = unstaged;
Staged = staged; Staged = staged;
SelectedUnstaged = selectedUnstaged; SelectedUnstaged = selectedUnstaged;
SelectedStaged = selectedStaged; SelectedStaged = selectedStaged;
@ -1459,14 +1457,14 @@ namespace SourceGit.ViewModels
} }
} }
private List<Models.Change> GetVisibleUnstagedChanges() private List<Models.Change> GetVisibleUnstagedChanges(List<Models.Change> unstaged)
{ {
if (string.IsNullOrEmpty(_unstagedFilter)) if (string.IsNullOrEmpty(_unstagedFilter))
return _unstaged; return unstaged;
var visible = new List<Models.Change>(); var visible = new List<Models.Change>();
foreach (var c in _unstaged) foreach (var c in unstaged)
{ {
if (c.Path.Contains(_unstagedFilter, StringComparison.OrdinalIgnoreCase)) if (c.Path.Contains(_unstagedFilter, StringComparison.OrdinalIgnoreCase))
visible.Add(c); visible.Add(c);