1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Added setting to open new tabs on right instead of left

This commit is contained in:
blat-blatnik 2021-11-30 23:37:44 +01:00
parent c2ed0d4afe
commit 318cb6524d
4 changed files with 24 additions and 6 deletions

View file

@ -320,7 +320,7 @@ namespace Beefy.widgets
//tabbedView.mSharedData.mOpenNewWindowDelegate = mTabbedView.mSharedData.mOpenNewWindowDelegate;
tabbedView.SetRequestedSize(mTabbedView.mWidth, mTabbedView.mHeight);
mTabbedView.RemoveTab(this, false);
tabbedView.AddTab(this);
tabbedView.AddTab(this, 0);
float rootX;
float rootY;
@ -481,7 +481,7 @@ namespace Beefy.widgets
aTabButton.mWantWidth = width;
aTabButton.mHeight = mTabHeight;
aTabButton.mContent = content;
AddTab(aTabButton);
AddTab(aTabButton, 0);
return aTabButton;
}
@ -501,7 +501,7 @@ namespace Beefy.widgets
return bestIdx;
}
public virtual void AddTab(TabButton tabButton, int insertIdx = 0)
public virtual void AddTab(TabButton tabButton, int insertIdx)
{
AddWidget(tabButton);
mTabs.Insert(insertIdx, tabButton);

View file

@ -5840,7 +5840,7 @@ namespace IDE
newTabButton.mWantWidth = newTabButton.GetWantWidth();
newTabButton.mHeight = tabbedView.mTabHeight;
newTabButton.mContent = disassemblyPanel;
tabbedView.AddTab(newTabButton);
tabbedView.AddTab(newTabButton, GetTabInsertIndex(tabbedView));
newTabButton.mCloseClickedEvent.Add(new () => CloseDocument(disassemblyPanel));
newTabButton.Activate();
@ -5850,6 +5850,14 @@ namespace IDE
return disassemblyPanel;
}
int GetTabInsertIndex(TabbedView tabs)
{
if (mSettings.mUISettings.mInsertNewTabs == .RightOfExistingTabs)
return tabs.mTabs.Count;
else
return 0;
}
public class SourceViewTab : DarkTabbedView.DarkTabButton
{
public float GetWantWidth()
@ -6021,7 +6029,7 @@ namespace IDE
tabButton.mIsRightTab = false;
var darkTabbedView = (DarkTabbedView)tabButton.mTabbedView;
darkTabbedView.SetRightTab(null, false);
darkTabbedView.AddTab(tabButton);
darkTabbedView.AddTab(tabButton, GetTabInsertIndex(darkTabbedView));
tabButton.Activate();
}
@ -6397,7 +6405,7 @@ namespace IDE
tabbedView.SetRightTab(newTabButton);
}
else
tabbedView.AddTab(newTabButton);
tabbedView.AddTab(newTabButton, GetTabInsertIndex(tabbedView));
newTabButton.mCloseClickedEvent.Add(new () => DocumentCloseClicked(sourceViewPanel));
newTabButton.Activate(setFocus);
if ((setFocus) && (sourceViewPanel.mWidgetWindow != null))

View file

@ -416,8 +416,15 @@ namespace IDE
public class UISettings
{
public enum InsertNewTabsKind
{
LeftOfExistingTabs,
RightOfExistingTabs,
}
public Colors mColors = new .() ~ delete _;
public float mScale = 100;
public InsertNewTabsKind mInsertNewTabs = .LeftOfExistingTabs;
public List<String> mTheme = new .() ~ DeleteContainerAndItems!(_);
public void SetDefaults()
@ -557,6 +564,7 @@ namespace IDE
for (let str in mTheme)
sd.Add(str);
}
sd.Add("InsertNewTabs", mInsertNewTabs);
}
public void Deserialize(StructuredData sd)
@ -569,6 +577,7 @@ namespace IDE
sd.GetCurString(str);
mTheme.Add(str);
}
sd.Get("InsertNewTabs", ref mInsertNewTabs);
}
}

View file

@ -78,6 +78,7 @@ namespace IDE.ui
AddPropertiesItem(category, "Scale", "mScale");
AddPropertiesItem(category, "Theme", "mTheme");
AddPropertiesItem(category, "Insert New Tabs", "mInsertNewTabs");
category.Open(true, true);
}