From 9a36e652e685d8025d332702fd72a7b0f51e9d6f Mon Sep 17 00:00:00 2001 From: leo Date: Fri, 7 Feb 2025 11:56:30 +0800 Subject: [PATCH] fix: add a new interface `CanStartDirectly` and move this check to `StartPopup` (#956) Signed-off-by: leo --- src/ViewModels/LauncherPage.cs | 4 +++- src/ViewModels/Popup.cs | 7 ++++++- src/ViewModels/Push.cs | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) 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()