1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-17 23:56:05 +02:00

Merge pull request #1252 from blat-blatnik/OpenTabsOnRight

[IDE] Added setting to open new tabs on right instead of left
This commit is contained in:
Brian Fiete 2021-12-06 09:39:49 -08:00 committed by GitHub
commit 9f57be150e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 29 additions and 10 deletions

View file

@ -5807,7 +5807,7 @@ namespace IDE
TabbedView.TabButton SetupTab(TabbedView tabView, String name, float width, Widget content, bool ownsContent) // 2
{
TabbedView.TabButton tabButton = tabView.AddTab(name, width, content, ownsContent);
TabbedView.TabButton tabButton = tabView.AddTab(name, width, content, ownsContent, GetTabInsertIndex(tabView));
if ((var panel = content as Panel) && (var darkTabButton = tabButton as DarkTabbedView.DarkTabButton))
{
darkTabButton.mTabWidthOffset = panel.TabWidthOffset;
@ -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()
@ -425,6 +432,7 @@ namespace IDE
DeleteAndNullify!(mColors);
mColors = new .();
mScale = 100;
mInsertNewTabs = .LeftOfExistingTabs;
ClearAndDeleteItems(mTheme);
}
@ -557,6 +565,7 @@ namespace IDE
for (let str in mTheme)
sd.Add(str);
}
sd.Add("InsertNewTabs", mInsertNewTabs);
}
public void Deserialize(StructuredData sd)
@ -569,6 +578,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);
}