1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 12:32:20 +02:00

Added Sync with Workspace Panel option

This commit is contained in:
Brian Fiete 2021-02-03 12:48:04 -08:00
parent c3238272d0
commit 3f68473fe1
6 changed files with 54 additions and 0 deletions

View file

@ -117,6 +117,10 @@ namespace Beefy.widgets
return (KeyCode)c;
if ((c >= 'a') && (c <= 'a'))
return (KeyCode)(c.ToUpper);
if (c == '[')
return (KeyCode)LBracket;
if (c == ']')
return (KeyCode)RBracket;
}
if (str.StartsWith("0x"))
@ -137,6 +141,21 @@ namespace Beefy.widgets
return;
}
char8 c = 0;
switch (this)
{
case LBracket:
c = '[';
case RBracket:
c = ']';
default:
}
if (c != 0)
{
strBuffer.Append(c);
return;
}
int buffStart = strBuffer.Length;
base.ToString(strBuffer);
if ((strBuffer.Length > buffStart) && (strBuffer[buffStart].IsDigit))

View file

@ -288,6 +288,7 @@ namespace IDE
Add("Step Out", new => gApp.[Friend]StepOut);
Add("Step Over", new => gApp.[Friend]StepOver);
Add("Stop Debugging", new => gApp.[Friend]StopRunning);
Add("Sync With Workspace Panel", new => gApp.[Friend]SyncWithWorkspacePanel);
Add("Tab First", new => gApp.[Friend]TabFirst);
Add("Tab Last", new => gApp.[Friend]TabLast);
Add("Tab Next", new => gApp.[Friend]TabNext);

View file

@ -4900,6 +4900,13 @@ namespace IDE
return activePanel.mParent as DarkTabbedView;
}
void SyncWithWorkspacePanel()
{
var activeSourceViewPanel = GetActiveSourceViewPanel();
if (activeSourceViewPanel != null)
activeSourceViewPanel.SyncWithWorkspacePanel();
}
[IDECommand]
void TabFirst()
{
@ -13537,6 +13544,7 @@ namespace IDE
[Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern bool MessageBeep(MessageBeepType type);
#endif
}
static

View file

@ -599,6 +599,7 @@ namespace IDE
public bool mFreeCursorMovement;
public FileRecoveryKind mEnableFileRecovery = .Yes;
public bool mFormatOnSave = false;
public bool mSyncWithWorkspacePanel = false;
public void Serialize(StructuredData sd)
{
@ -623,6 +624,7 @@ namespace IDE
sd.Add("FreeCursorMovement", mFreeCursorMovement);
sd.Add("EnableFileRecovery", mEnableFileRecovery);
sd.Add("FormatOnSave", mFormatOnSave);
sd.Add("SyncWithWorkspacePanel", mSyncWithWorkspacePanel);
}
public void Deserialize(StructuredData sd)
@ -651,6 +653,7 @@ namespace IDE
sd.Get("FreeCursorMovement", ref mFreeCursorMovement);
sd.GetEnum<FileRecoveryKind>("EnableFileRecovery", ref mEnableFileRecovery);
sd.Get("FormatOnSave", ref mFormatOnSave);
sd.Get("SyncWithWorkspacePanel", ref mSyncWithWorkspacePanel);
}
public void SetDefaults()
@ -796,6 +799,7 @@ namespace IDE
Add("Step Out", "Shift+F11");
Add("Step Over", "F10");
Add("Stop Debugging", "Shift+F5");
Add("Sync With Workspace Panel", "Ctrl+[, S");
Add("Tab First", "Ctrl+Alt+Home");
Add("Tab Last", "Ctrl+Alt+End");
Add("Tab Next", "Ctrl+Alt+PageDown");

View file

@ -124,6 +124,7 @@ namespace IDE.ui
AddPropertiesItem(category, "Free Cursor Movement", "mFreeCursorMovement");
AddPropertiesItem(category, "Enable File Recovery", "mEnableFileRecovery");
AddPropertiesItem(category, "Format on Save", "mFormatOnSave");
AddPropertiesItem(category, "Sync with Workspace Panel", "mSyncWithWorkspacePanel");
category.Open(true, true);
}

View file

@ -2445,6 +2445,22 @@ namespace IDE.ui
return false;
}
public void SyncWithWorkspacePanel()
{
if (gApp.mProjectPanel.[Friend]mProjectToListViewMap.TryGet(mProjectSource, var matchKey, var projectListViewItem))
{
var checkLVItem = projectListViewItem.mParentItem;
while (checkLVItem != null)
{
checkLVItem.Open(true);
checkLVItem = (ProjectListViewItem)checkLVItem.mParentItem;
}
projectListViewItem.mListView.GetRoot().SelectItemExclusively(projectListViewItem);
projectListViewItem.mListView.EnsureItemVisible(projectListViewItem, false);
}
}
public override void EditGotFocus()
{
if (mFilePath != null)
@ -2488,6 +2504,11 @@ namespace IDE.ui
gApp.mLastActiveSourceViewPanel = this;
gApp.mLastActivePanel = this;
if ((gApp.mSettings.mEditorSettings.mSyncWithWorkspacePanel) && (mProjectSource != null))
{
SyncWithWorkspacePanel();
}
}
public override void EditLostFocus()