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

Added AutocompleteRequireControl setting

This commit is contained in:
MineGame159 2020-06-05 16:31:23 +02:00
parent 862c15241a
commit 2574f4dec5
3 changed files with 29 additions and 23 deletions

View file

@ -309,6 +309,7 @@ namespace IDE
public float mUIScale = 100; public float mUIScale = 100;
public Colors mColors = new .() ~ delete _; public Colors mColors = new .() ~ delete _;
public AutoCompleteShowKind mAutoCompleteShowKind = .PanelIfVisible; public AutoCompleteShowKind mAutoCompleteShowKind = .PanelIfVisible;
public bool mAutoCompleteRequireControl = true;
public bool mAutoCompleteRequireTab = false; public bool mAutoCompleteRequireTab = false;
public bool mAutoCompleteOnEnter = true; public bool mAutoCompleteOnEnter = true;
public bool mAutoCompleteShowDocumentation = true; public bool mAutoCompleteShowDocumentation = true;
@ -331,6 +332,7 @@ namespace IDE
sd.Add("FontSize", mFontSize); sd.Add("FontSize", mFontSize);
sd.Add("UIScale", mUIScale); sd.Add("UIScale", mUIScale);
sd.Add("AutoCompleteShowKind", mAutoCompleteShowKind); sd.Add("AutoCompleteShowKind", mAutoCompleteShowKind);
sd.Add("AutoCompleteRequireControl", mAutoCompleteRequireControl);
sd.Add("AutoCompleteRequireTab", mAutoCompleteRequireTab); sd.Add("AutoCompleteRequireTab", mAutoCompleteRequireTab);
sd.Add("AutoCompleteOnEnter", mAutoCompleteOnEnter); sd.Add("AutoCompleteOnEnter", mAutoCompleteOnEnter);
sd.Add("AutoCompleteShowDocumentation", mAutoCompleteShowDocumentation); sd.Add("AutoCompleteShowDocumentation", mAutoCompleteShowDocumentation);
@ -359,6 +361,7 @@ namespace IDE
sd.Get("FontSize", ref mFontSize); sd.Get("FontSize", ref mFontSize);
sd.Get("UIScale", ref mUIScale); sd.Get("UIScale", ref mUIScale);
sd.Get("AutoCompleteShowKind", ref mAutoCompleteShowKind); sd.Get("AutoCompleteShowKind", ref mAutoCompleteShowKind);
sd.Get("AutoCompleteRequireControl", ref mAutoCompleteRequireControl);
sd.Get("AutoCompleteRequireTab", ref mAutoCompleteRequireTab); sd.Get("AutoCompleteRequireTab", ref mAutoCompleteRequireTab);
sd.Get("AutoCompleteOnEnter", ref mAutoCompleteOnEnter); sd.Get("AutoCompleteOnEnter", ref mAutoCompleteOnEnter);
sd.Get("AutoCompleteShowDocumentation", ref mAutoCompleteShowDocumentation); sd.Get("AutoCompleteShowDocumentation", ref mAutoCompleteShowDocumentation);

View file

@ -77,6 +77,7 @@ namespace IDE.ui
AddPropertiesItem(category, "Font Size", "mFontSize"); AddPropertiesItem(category, "Font Size", "mFontSize");
AddPropertiesItem(category, "UI Scale", "mUIScale"); AddPropertiesItem(category, "UI Scale", "mUIScale");
AddPropertiesItem(category, "Autocomplete", "mAutoCompleteShowKind"); AddPropertiesItem(category, "Autocomplete", "mAutoCompleteShowKind");
AddPropertiesItem(category, "Autocomplete Require Control", "mAutoCompleteRequireControl");
AddPropertiesItem(category, "Autocomplete Require Tab", "mAutoCompleteRequireTab"); AddPropertiesItem(category, "Autocomplete Require Tab", "mAutoCompleteRequireTab");
AddPropertiesItem(category, "Autocomplete on Enter", "mAutoCompleteOnEnter"); AddPropertiesItem(category, "Autocomplete on Enter", "mAutoCompleteOnEnter");
AddPropertiesItem(category, "Autocomplete Show Documentation", "mAutoCompleteShowDocumentation"); AddPropertiesItem(category, "Autocomplete Show Documentation", "mAutoCompleteShowDocumentation");

View file

@ -2811,30 +2811,32 @@ namespace IDE.ui
mSelection = null; mSelection = null;
} }
if (((keyCode == KeyCode.Up) || (keyCode == KeyCode.Down) || (keyCode == KeyCode.PageUp) || (keyCode == KeyCode.PageDown)) && if (((keyCode == KeyCode.Up) || (keyCode == KeyCode.Down) || (keyCode == KeyCode.PageUp) || (keyCode == KeyCode.PageDown)))
(mWidgetWindow.IsKeyDown(KeyCode.Control)))
{ {
if (mAutoComplete != null) if (!gApp.mSettings.mEditorSettings.mAutoCompleteRequireControl || mWidgetWindow.IsKeyDown(KeyCode.Control))
{ {
if (mAutoComplete.mAutoCompleteListWidget != null) if (mAutoComplete != null)
{ {
int32 pageSize = (int32)(mAutoComplete.mAutoCompleteListWidget.mScrollContentContainer.mHeight / mAutoComplete.mAutoCompleteListWidget.mItemSpacing - 0.5f); if (mAutoComplete.mAutoCompleteListWidget != null)
int32 moveDir = 0; {
switch (keyCode) int32 pageSize = (int32)(mAutoComplete.mAutoCompleteListWidget.mScrollContentContainer.mHeight / mAutoComplete.mAutoCompleteListWidget.mItemSpacing - 0.5f);
{ int32 moveDir = 0;
case KeyCode.Up: moveDir = -1; break; switch (keyCode)
case KeyCode.Down: moveDir = 1; break; {
case KeyCode.PageUp: moveDir = -pageSize; break; case KeyCode.Up: moveDir = -1; break;
case KeyCode.PageDown: moveDir = pageSize; break; case KeyCode.Down: moveDir = 1; break;
default: case KeyCode.PageUp: moveDir = -pageSize; break;
} case KeyCode.PageDown: moveDir = pageSize; break;
mAutoComplete.mAutoCompleteListWidget.SelectDirection(moveDir); default:
} }
else if (mAutoComplete.mInvokeWidget != null) mAutoComplete.mAutoCompleteListWidget.SelectDirection(moveDir);
{ }
mAutoComplete.mInvokeWidget.SelectDirection(((keyCode == KeyCode.Up) || (keyCode == KeyCode.PageUp)) ? -1 : 1); else if (mAutoComplete.mInvokeWidget != null)
} {
} mAutoComplete.mInvokeWidget.SelectDirection(((keyCode == KeyCode.Up) || (keyCode == KeyCode.PageUp)) ? -1 : 1);
}
}
}
// Disabled window-scroll code for ctrl+up/ctrl+down when autocomplete is not up // Disabled window-scroll code for ctrl+up/ctrl+down when autocomplete is not up
return; return;