diff --git a/src/ViewModels/LauncherPage.cs b/src/ViewModels/LauncherPage.cs index 498c1865..b8138aca 100644 --- a/src/ViewModels/LauncherPage.cs +++ b/src/ViewModels/LauncherPage.cs @@ -59,7 +59,9 @@ namespace SourceGit.ViewModels public void StartPopup(Popup popup) { Popup = popup; - ProcessPopup(); + + if (popup.CanStartDirectly()) + ProcessPopup(); } public async void ProcessPopup() diff --git a/src/ViewModels/Popup.cs b/src/ViewModels/Popup.cs index 7475d829..98a12ca2 100644 --- a/src/ViewModels/Popup.cs +++ b/src/ViewModels/Popup.cs @@ -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 Sure() { return null; diff --git a/src/ViewModels/Push.cs b/src/ViewModels/Push.cs index 697a56fc..1f18b38e 100644 --- a/src/ViewModels/Push.cs +++ b/src/ViewModels/Push.cs @@ -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 Sure()