fix: new created branch expanded state is not remembered
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions

This commit is contained in:
leo 2025-01-06 10:41:41 +08:00
parent 68210d8a3e
commit 65e820e4d5
No known key found for this signature in database

View file

@ -126,13 +126,18 @@ namespace SourceGit.ViewModels
CallUIThread(() => CallUIThread(() =>
{ {
if (succ && CheckoutAfterCreated && _repo.HistoriesFilterMode == Models.FilterMode.Included) if (succ && CheckoutAfterCreated)
{ {
var fake = new Models.Branch() { IsLocal = true, FullName = $"refs/heads/{_name}" }; var fake = new Models.Branch() { IsLocal = true, FullName = $"refs/heads/{_name}" };
if (BasedOn is Models.Branch based && !based.IsLocal) if (BasedOn is Models.Branch based && !based.IsLocal)
fake.Upstream = based.FullName; fake.Upstream = based.FullName;
_repo.SetBranchFilterMode(fake, Models.FilterMode.Included, true, false); var folderEndIdx = fake.FullName.LastIndexOf('/');
if (folderEndIdx > 10)
_repo.Settings.ExpandedBranchNodesInSideBar.Add(fake.FullName.Substring(0, folderEndIdx));
if (_repo.HistoriesFilterMode == Models.FilterMode.Included)
_repo.SetBranchFilterMode(fake, Models.FilterMode.Included, true, false);
} }
_repo.MarkBranchesDirtyManually(); _repo.MarkBranchesDirtyManually();