1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-07-04 23:36:00 +02:00

IDE - Close All Except / Close Tabs

This commit is contained in:
Brian Fiete 2020-09-11 17:47:38 -07:00
parent 7f3ab3878f
commit 8d934192c0
4 changed files with 52 additions and 21 deletions

View file

@ -257,16 +257,17 @@ namespace Beefy.theme.dark
mTabbedView.mAutoClose = !mTabbedView.mAutoClose;
});
menuItem = menu.AddItem("Close");
menuItem.mOnMenuItemSelected.Add(new (evt) =>
{
let prevAutoClose = mTabbedView.mAutoClose;
mTabbedView.mAutoClose = true;
var tabs = scope List<TabButton>();
for (var tab in mTabbedView.mTabs)
tabs.Add(tab);
void CloseTabs(bool autoClose, bool closeCurrent)
{
let prevAutoClose = mTabbedView.mAutoClose;
mTabbedView.mAutoClose = autoClose;
var tabs = scope List<TabButton>();
for (var tab in mTabbedView.mTabs)
tabs.Add(tab);
if (tabs.IsEmpty)
if (tabs.IsEmpty)
{
if (autoClose)
{
if (var dockingFrame = mTabbedView.mParent as DockingFrame)
{
@ -274,12 +275,35 @@ namespace Beefy.theme.dark
BFApp.sApp.DeferDelete(mTabbedView);
}
}
else
}
else
{
for (var tab in tabs)
{
for (var tab in tabs)
tab.mCloseClickedEvent();
if ((!closeCurrent) && (tab.mIsActive))
continue;
tab.mCloseClickedEvent();
}
mTabbedView.mAutoClose = prevAutoClose;
}
mTabbedView.mAutoClose = prevAutoClose;
}
menuItem = menu.AddItem("Close");
menuItem.mOnMenuItemSelected.Add(new (evt) =>
{
CloseTabs(true, true);
});
menuItem = menu.AddItem("Close Tabs");
menuItem.mOnMenuItemSelected.Add(new (evt) =>
{
CloseTabs(false, true);
});
menuItem = menu.AddItem("Close Tabs Except Current");
menuItem.mOnMenuItemSelected.Add(new (evt) =>
{
CloseTabs(false, false);
});
menu.AddItem();