refactor<*>: rewrite all with AvaloniaUI

This commit is contained in:
leo 2024-02-06 15:08:37 +08:00
parent 0136904612
commit 2a62596999
521 changed files with 19780 additions and 23244 deletions

39
src/ViewModels/PushTag.cs Normal file
View file

@ -0,0 +1,39 @@
using System.Collections.Generic;
using System.Threading.Tasks;
namespace SourceGit.ViewModels {
public class PushTag : Popup {
public Models.Tag Target {
get;
private set;
}
public List<Models.Remote> Remotes {
get => _repo.Remotes;
}
public Models.Remote SelectedRemote {
get;
set;
}
public PushTag(Repository repo, Models.Tag target) {
_repo = repo;
Target = target;
SelectedRemote = _repo.Remotes[0];
View = new Views.PushTag() { DataContext = this };
}
public override Task<bool> Sure() {
_repo.SetWatcherEnabled(false);
return Task.Run(() => {
SetProgressDescription($"Pushing tag '{Target.Name}' to remote '{SelectedRemote.Name}' ...");
var succ = new Commands.Push(_repo.FullPath, SelectedRemote.Name, Target.Name, false).Exec();
CallUIThread(() => _repo.SetWatcherEnabled(true));
return succ;
});
}
private Repository _repo = null;
}
}