mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-21 20:24:59 +00:00
refactor: custom renderer for launcher tab bar
This commit is contained in:
parent
bfea573d4b
commit
1241539260
6 changed files with 112 additions and 47 deletions
|
@ -24,10 +24,7 @@ namespace SourceGit.ViewModels
|
|||
set
|
||||
{
|
||||
if (SetProperty(ref _activePage, value))
|
||||
{
|
||||
PopupHost.Active = value;
|
||||
UpdateTabSplitterVisible();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -69,9 +66,7 @@ namespace SourceGit.ViewModels
|
|||
|
||||
var lastActiveIdx = Preference.Instance.LastActiveTabIdx;
|
||||
if (lastActiveIdx >= 0 && lastActiveIdx < Pages.Count)
|
||||
{
|
||||
ActivePage = Pages[lastActiveIdx];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -161,13 +156,11 @@ namespace SourceGit.ViewModels
|
|||
ActivePage = Pages[removeIdx == Pages.Count - 1 ? removeIdx - 1 : removeIdx + 1];
|
||||
CloseRepositoryInTab(page);
|
||||
Pages.RemoveAt(removeIdx);
|
||||
UpdateTabSplitterVisible();
|
||||
}
|
||||
else if (removeIdx + 1 == activeIdx)
|
||||
{
|
||||
CloseRepositoryInTab(page);
|
||||
Pages.RemoveAt(removeIdx);
|
||||
UpdateTabSplitterVisible();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -365,13 +358,6 @@ namespace SourceGit.ViewModels
|
|||
page.Data = null;
|
||||
}
|
||||
|
||||
private void UpdateTabSplitterVisible()
|
||||
{
|
||||
var activePageIdx = ActivePage == null ? -1 : Pages.IndexOf(ActivePage);
|
||||
for (int i = 0; i < Pages.Count; i++)
|
||||
Pages[i].IsTabSplitterVisible = (activePageIdx != i && activePageIdx != i + 1);
|
||||
}
|
||||
|
||||
private LauncherPage _activePage = null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue