feature: enhance the behaviour of closing the last tab

* If the last tab is an opened repository, go back to the welcome page
* If the last tab is welcome page, quit this app
This commit is contained in:
leo 2024-05-07 10:34:04 +08:00
parent 6cd550af4d
commit 37b5f5c083
2 changed files with 17 additions and 8 deletions

View file

@ -107,7 +107,22 @@ namespace SourceGit.ViewModels
{
if (Pages.Count == 1)
{
App.Quit();
var last = Pages[0];
if (last.Data is Repository repo)
{
Commands.AutoFetch.RemoveRepository(repo.FullPath);
repo.Close();
last.Node = new RepositoryNode() { Id = Guid.NewGuid().ToString() };
last.Data = new Welcome();
GC.Collect();
}
else
{
App.Quit();
}
return;
}