mirror of
https://fastgit.cc/github.com/sourcegit-scm/sourcegit
synced 2026-04-25 03:12:21 +08:00
refactor: rewrite submodule to support IsDirty state (#339)
This commit is contained in:
@@ -136,7 +136,7 @@ namespace SourceGit.ViewModels
|
||||
private set => SetProperty(ref _visibleTags, value);
|
||||
}
|
||||
|
||||
public List<string> Submodules
|
||||
public List<Models.Submodule> Submodules
|
||||
{
|
||||
get => _submodules;
|
||||
private set => SetProperty(ref _submodules, value);
|
||||
@@ -778,6 +778,9 @@ namespace SourceGit.ViewModels
|
||||
public void RefreshSubmodules()
|
||||
{
|
||||
var submodules = new Commands.QuerySubmodules(_fullpath).Result();
|
||||
if (_watcher != null)
|
||||
_watcher.UpdateSubmodules(submodules);
|
||||
|
||||
Dispatcher.UIThread.Invoke(() => Submodules = submodules);
|
||||
}
|
||||
|
||||
@@ -1992,7 +1995,7 @@ namespace SourceGit.ViewModels
|
||||
private List<Models.Worktree> _worktrees = new List<Models.Worktree>();
|
||||
private List<Models.Tag> _tags = new List<Models.Tag>();
|
||||
private List<Models.Tag> _visibleTags = new List<Models.Tag>();
|
||||
private List<string> _submodules = new List<string>();
|
||||
private List<Models.Submodule> _submodules = new List<Models.Submodule>();
|
||||
private bool _includeUntracked = true;
|
||||
|
||||
private InProgressContext _inProgressContext = null;
|
||||
|
||||
@@ -7,8 +7,9 @@ namespace SourceGit.ViewModels
|
||||
{
|
||||
public List<string> Submodules
|
||||
{
|
||||
get => _repo.Submodules;
|
||||
}
|
||||
get;
|
||||
private set;
|
||||
} = new List<string>();
|
||||
|
||||
public string SelectedSubmodule
|
||||
{
|
||||
@@ -43,7 +44,11 @@ namespace SourceGit.ViewModels
|
||||
public UpdateSubmodules(Repository repo)
|
||||
{
|
||||
_repo = repo;
|
||||
SelectedSubmodule = repo.Submodules.Count > 0 ? repo.Submodules[0] : string.Empty;
|
||||
|
||||
foreach (var submodule in _repo.Submodules)
|
||||
Submodules.Add(submodule.Path);
|
||||
|
||||
SelectedSubmodule = Submodules.Count > 0 ? Submodules[0] : string.Empty;
|
||||
View = new Views.UpdateSubmodules() { DataContext = this };
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user