diff --git a/Source/Editor/GUI/Input/SearchBox.cs b/Source/Editor/GUI/Input/SearchBox.cs index 8ffd0874a..994ef14b1 100644 --- a/Source/Editor/GUI/Input/SearchBox.cs +++ b/Source/Editor/GUI/Input/SearchBox.cs @@ -49,6 +49,12 @@ namespace FlaxEditor.GUI.Input ClearSearchButton.LocalY += 2; ClearSearchButton.LocalX -= 2; ClearSearchButton.Clicked += Clear; + ClearSearchButton.HoverBegin += () => + { + _changeCursor = false; + Cursor = CursorType.Default; + }; + ClearSearchButton.HoverEnd += () => _changeCursor = true; TextChanged += () => ClearSearchButton.Visible = !string.IsNullOrEmpty(Text); } diff --git a/Source/Engine/UI/GUI/Common/TextBoxBase.cs b/Source/Engine/UI/GUI/Common/TextBoxBase.cs index 12760c176..fb130bf18 100644 --- a/Source/Engine/UI/GUI/Common/TextBoxBase.cs +++ b/Source/Engine/UI/GUI/Common/TextBoxBase.cs @@ -114,6 +114,11 @@ namespace FlaxEngine.GUI /// protected float _animateTime; + /// + /// If the cursor should change to an IBeam + /// + protected bool _changeCursor = true; + /// /// Event fired when text gets changed /// @@ -1131,7 +1136,7 @@ namespace FlaxEngine.GUI /// public override void OnMouseEnter(Float2 location) { - if (_isEditing) + if (_isEditing && _changeCursor) Cursor = CursorType.IBeam; base.OnMouseEnter(location); @@ -1159,8 +1164,8 @@ namespace FlaxEngine.GUI // Modify selection end SetSelection(_selectionStart, currentIndex); } - - if (Cursor == CursorType.Default && _isEditing) + + if (Cursor == CursorType.Default && _isEditing && _changeCursor) Cursor = CursorType.IBeam; } @@ -1191,7 +1196,7 @@ namespace FlaxEngine.GUI SetSelection(hitPos); } - if (Cursor == CursorType.Default) + if (Cursor == CursorType.Default && _changeCursor) Cursor = CursorType.IBeam; return true; @@ -1200,6 +1205,8 @@ namespace FlaxEngine.GUI if (button == MouseButton.Left && !IsFocused) { Focus(); + if (_changeCursor) + Cursor = CursorType.IBeam; return true; }