osu/osu.Game/Overlays/Chat/ChatTextBox.cs
Dean Herbert 34ffc51c51 Avoid clearing chat overlay textbox when pressing "back" key binding
Generally this is expected behaviour for usages of focused text boxes
(ie. to clear search content), but not so much here.

Addresses https://github.com/ppy/osu/discussions/19403#discussioncomment-3230395.
2022-08-02 13:56:03 +09:00

40 lines
1.1 KiB
C#

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Bindables;
using osu.Game.Graphics.UserInterface;
using osu.Game.Resources.Localisation.Web;
namespace osu.Game.Overlays.Chat
{
public class ChatTextBox : FocusedTextBox
{
public readonly BindableBool ShowSearch = new BindableBool();
public override bool HandleLeftRightArrows => !ShowSearch.Value;
protected override bool ClearTextOnBackKey => false;
protected override void LoadComplete()
{
base.LoadComplete();
ShowSearch.BindValueChanged(change =>
{
bool showSearch = change.NewValue;
PlaceholderText = showSearch ? HomeStrings.SearchPlaceholder : ChatStrings.InputPlaceholder;
Text = string.Empty;
}, true);
}
protected override void Commit()
{
if (ShowSearch.Value)
return;
base.Commit();
}
}
}