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,6 +59,8 @@ namespace SourceGit.ViewModels
public void StartPopup(Popup popup) public void StartPopup(Popup popup)
{ {
Popup = popup; Popup = popup;
if (popup.CanStartDirectly())
ProcessPopup(); ProcessPopup();
} }

View file

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

View file

@ -152,9 +152,9 @@ namespace SourceGit.ViewModels
View = new Views.Push() { DataContext = this }; 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() public override Task<bool> Sure()