mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
Adding "CTRL UP/DOWN" tutorial for autocomplete
This commit is contained in:
parent
e65e4049fa
commit
5f84a7e4e3
3 changed files with 44 additions and 4 deletions
|
@ -34,6 +34,7 @@ namespace Beefy.theme.dark
|
||||||
public bool mHasClosed;
|
public bool mHasClosed;
|
||||||
public Insets mRelWidgetMouseInsets ~ delete _;
|
public Insets mRelWidgetMouseInsets ~ delete _;
|
||||||
public bool mAllowMouseInsideSelf;
|
public bool mAllowMouseInsideSelf;
|
||||||
|
public bool mRequireMouseInside;
|
||||||
|
|
||||||
public const float cShadowSize = 8;
|
public const float cShadowSize = 8;
|
||||||
|
|
||||||
|
@ -223,9 +224,8 @@ namespace Beefy.theme.dark
|
||||||
if (mWidgetWindow == null)
|
if (mWidgetWindow == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/*var lastMouseWidget = IDEApp.sApp.sLastMouseWidget;
|
if (!mRequireMouseInside)
|
||||||
if ((lastMouseWidget != null) && (lastMouseWidget != mRelWidget) && (lastMouseWidget.mWidgetWindow != mWidgetWindow))
|
return;
|
||||||
Close();*/
|
|
||||||
|
|
||||||
float rootX;
|
float rootX;
|
||||||
float rootY;
|
float rootY;
|
||||||
|
|
|
@ -631,6 +631,11 @@ namespace IDE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public struct TutorialsFinished
|
||||||
|
{
|
||||||
|
public bool mCtrlCursor;
|
||||||
|
}
|
||||||
|
|
||||||
public bool mLoadedSettings;
|
public bool mLoadedSettings;
|
||||||
|
|
||||||
public CompilerSettings mCompilerSettings = new .() ~ delete _;
|
public CompilerSettings mCompilerSettings = new .() ~ delete _;
|
||||||
|
@ -641,6 +646,7 @@ namespace IDE
|
||||||
public RecentFiles mRecentFiles = new RecentFiles() ~ delete _;
|
public RecentFiles mRecentFiles = new RecentFiles() ~ delete _;
|
||||||
public String mWakaTimeKey = new .() ~ delete _;
|
public String mWakaTimeKey = new .() ~ delete _;
|
||||||
public bool mEnableDevMode;
|
public bool mEnableDevMode;
|
||||||
|
public TutorialsFinished mTutorialsFinished = .();
|
||||||
|
|
||||||
public this()
|
public this()
|
||||||
{
|
{
|
||||||
|
@ -700,6 +706,11 @@ namespace IDE
|
||||||
sd.Add("EnableDevMode", mEnableDevMode);
|
sd.Add("EnableDevMode", mEnableDevMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using (sd.CreateObject("TutorialsFinished"))
|
||||||
|
{
|
||||||
|
sd.Add("CtrlCursor", mTutorialsFinished.mCtrlCursor);
|
||||||
|
}
|
||||||
|
|
||||||
String dataStr = scope String();
|
String dataStr = scope String();
|
||||||
sd.ToTOML(dataStr);
|
sd.ToTOML(dataStr);
|
||||||
gApp.SafeWriteTextFile(path, dataStr);
|
gApp.SafeWriteTextFile(path, dataStr);
|
||||||
|
@ -749,6 +760,11 @@ namespace IDE
|
||||||
sd.Get("WakaTimeKey", mWakaTimeKey);
|
sd.Get("WakaTimeKey", mWakaTimeKey);
|
||||||
sd.Get("EnableDevMode", ref mEnableDevMode);
|
sd.Get("EnableDevMode", ref mEnableDevMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using (sd.Open("TutorialsFinished"))
|
||||||
|
{
|
||||||
|
sd.Get("CtrlCursor", ref mTutorialsFinished.mCtrlCursor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Apply()
|
public void Apply()
|
||||||
|
|
|
@ -2722,6 +2722,28 @@ namespace IDE.ui
|
||||||
{
|
{
|
||||||
mIgnoreKeyChar = false;
|
mIgnoreKeyChar = false;
|
||||||
|
|
||||||
|
if (((keyCode == .Up) || (keyCode == .Down)) &&
|
||||||
|
(mAutoComplete != null) && (mAutoComplete.IsShowing()) && (mAutoComplete.mListWindow != null) &&
|
||||||
|
(!mAutoComplete.IsInPanel()) &&
|
||||||
|
(!gApp.mSettings.mTutorialsFinished.mCtrlCursor))
|
||||||
|
{
|
||||||
|
if (mWidgetWindow.IsKeyDown(.Control))
|
||||||
|
{
|
||||||
|
if ((DarkTooltipManager.sTooltip != null) && (!DarkTooltipManager.sTooltip.mRequireMouseInside))
|
||||||
|
DarkTooltipManager.CloseTooltip();
|
||||||
|
gApp.mSettings.mTutorialsFinished.mCtrlCursor = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GetTextCoordAtCursor(var cursorX, var cursorY);
|
||||||
|
|
||||||
|
let tooltip = DarkTooltipManager.ShowTooltip("Hold CTRL when using UP and DOWN", this, cursorX - GS!(24), cursorY - GS!(40));
|
||||||
|
if (tooltip != null)
|
||||||
|
tooltip.mRequireMouseInside = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*if (keyCode == .Tilde)
|
/*if (keyCode == .Tilde)
|
||||||
{
|
{
|
||||||
Thread.Sleep(300);
|
Thread.Sleep(300);
|
||||||
|
@ -2847,7 +2869,9 @@ namespace IDE.ui
|
||||||
int prevTextLength = mData.mTextLength;
|
int prevTextLength = mData.mTextLength;
|
||||||
base.KeyDown(keyCode, isRepeat);
|
base.KeyDown(keyCode, isRepeat);
|
||||||
|
|
||||||
if (mAutoComplete != null)
|
if ((mAutoComplete != null) &&
|
||||||
|
(keyCode != .Control) &&
|
||||||
|
(keyCode != .Shift))
|
||||||
{
|
{
|
||||||
mAutoComplete.MarkDirty();
|
mAutoComplete.MarkDirty();
|
||||||
bool isCursorInRange = prevCursorPos == CursorTextPos;
|
bool isCursorInRange = prevCursorPos == CursorTextPos;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue