diff --git a/osu-framework b/osu-framework index 2f03fae533..1f6a3c780f 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 2f03fae533293bf255a942569c07396f853378f3 +Subproject commit 1f6a3c780f9b24f3a0b25c90528835e32f35c087 diff --git a/osu.Game/Graphics/UserInterface/OsuTextBox.cs b/osu.Game/Graphics/UserInterface/OsuTextBox.cs new file mode 100644 index 0000000000..5041e7ded9 --- /dev/null +++ b/osu.Game/Graphics/UserInterface/OsuTextBox.cs @@ -0,0 +1,48 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.UserInterface; +using osu.Framework.Input; +using OpenTK.Graphics; + +namespace osu.Game.Graphics.UserInterface +{ + public class OsuTextBox : TextBox + { + public OsuTextBox() + { + Height = 40; + TextContainer.Height = 0.6f; + CornerRadius = 5; + } + + [BackgroundDependencyLoader] + private void load(OsuColour colour) + { + BorderColour = colour.Yellow; + } + + protected override bool OnFocus(InputState state) + { + BorderThickness = 3; + + return base.OnFocus(state); + } + + protected override void OnFocusLost(InputState state) + { + BorderThickness = 0; + + base.OnFocusLost(state); + } + } + + public class OsuPasswordTextBox : OsuTextBox + { + protected virtual char MaskCharacter => '*'; + + protected override Drawable AddCharacterToFlow(char c) => base.AddCharacterToFlow(MaskCharacter); + } +} diff --git a/osu.Game/Overlays/Options/General/LoginOptions.cs b/osu.Game/Overlays/Options/General/LoginOptions.cs index 03789c59c9..29a949edb8 100644 --- a/osu.Game/Overlays/Options/General/LoginOptions.cs +++ b/osu.Game/Overlays/Options/General/LoginOptions.cs @@ -89,9 +89,9 @@ namespace osu.Game.Overlays.Options.General Children = new Drawable[] { new SpriteText { Text = "Username" }, - username = new TextBox { Height = 20, RelativeSizeAxes = Axes.X, Text = api?.Username ?? string.Empty }, + username = new OsuTextBox { RelativeSizeAxes = Axes.X, Text = api?.Username ?? string.Empty }, new SpriteText { Text = "Password" }, - password = new PasswordTextBox { Height = 20, RelativeSizeAxes = Axes.X }, + password = new OsuPasswordTextBox { RelativeSizeAxes = Axes.X }, new OsuButton { RelativeSizeAxes = Axes.X, diff --git a/osu.Game/Overlays/Options/Online/InGameChatOptions.cs b/osu.Game/Overlays/Options/Online/InGameChatOptions.cs index 098fe39546..8a04d2cec3 100644 --- a/osu.Game/Overlays/Options/Online/InGameChatOptions.cs +++ b/osu.Game/Overlays/Options/Online/InGameChatOptions.cs @@ -43,13 +43,11 @@ namespace osu.Game.Overlays.Options.Online }, new SpriteText { Text = "Chat ignore list (space-seperated list)" }, chatIgnoreList = new TextBoxOption { - Height = 20, RelativeSizeAxes = Axes.X, Bindable = config.GetBindable(OsuConfig.IgnoreList) }, new SpriteText { Text = "Chat highlight words (space-seperated list)" }, chatHighlightWords = new TextBoxOption { - Height = 20, RelativeSizeAxes = Axes.X, Bindable = config.GetBindable(OsuConfig.HighlightWords) }, diff --git a/osu.Game/Overlays/Options/TextBoxOption.cs b/osu.Game/Overlays/Options/TextBoxOption.cs index c0ac08d149..6edd34e318 100644 --- a/osu.Game/Overlays/Options/TextBoxOption.cs +++ b/osu.Game/Overlays/Options/TextBoxOption.cs @@ -2,12 +2,13 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using osu.Framework.Configuration; -using osu.Framework.Graphics.UserInterface; - +using osu.Framework.Configuration; +using osu.Framework.Graphics.UserInterface; +using osu.Game.Graphics.UserInterface; + namespace osu.Game.Overlays.Options { - public class TextBoxOption : TextBox + public class TextBoxOption : OsuTextBox { private Bindable bindable; diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index a90fa2a8cb..6e00f895a9 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -67,6 +67,7 @@ +