fix: add a new interface CanStartDirectly and move this check to StartPopup (#956)

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-02-07 11:56:30 +08:00
parent 8ed7a99923
commit 9a36e652e6
No known key found for this signature in database
3 changed files with 11 additions and 4 deletions

View file

@ -59,7 +59,9 @@ namespace SourceGit.ViewModels
public void StartPopup(Popup popup)
{
Popup = popup;
ProcessPopup();
if (popup.CanStartDirectly())
ProcessPopup();
}
public async void ProcessPopup()

View file

@ -29,7 +29,7 @@ namespace SourceGit.ViewModels
}
[UnconditionalSuppressMessage("AssemblyLoadTrimming", "IL2026:RequiresUnreferencedCode")]
public virtual bool Check()
public bool Check()
{
if (HasErrors)
return false;
@ -37,6 +37,11 @@ namespace SourceGit.ViewModels
return !HasErrors;
}
public virtual bool CanStartDirectly()
{
return true;
}
public virtual Task<bool> Sure()
{
return null;

View file

@ -152,9 +152,9 @@ namespace SourceGit.ViewModels
View = new Views.Push() { DataContext = this };
}
public override bool Check()
public override bool CanStartDirectly()
{
return base.Check() && !string.IsNullOrEmpty(_selectedRemoteBranch?.Head);
return !string.IsNullOrEmpty(_selectedRemoteBranch?.Head);
}
public override Task<bool> Sure()