1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 09:07:25 +08:00

Merge pull request #18063 from GSculerlor/split-searchbox

Split `SearchTextBox` implementation for reusability
This commit is contained in:
Dean Herbert 2022-05-03 14:12:44 +09:00 committed by GitHub
commit 04fb0f5e63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 31 additions and 18 deletions

View File

@ -0,0 +1,26 @@
// 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.Graphics;
using osu.Framework.Graphics.Sprites;
using osuTK;
namespace osu.Game.Graphics.UserInterface
{
public class BasicSearchTextBox : SearchTextBox
{
public BasicSearchTextBox()
{
Add(new SpriteIcon
{
Icon = FontAwesome.Solid.Search,
Origin = Anchor.CentreRight,
Anchor = Anchor.CentreRight,
Margin = new MarginPadding { Right = 10 },
Size = new Vector2(20),
});
TextFlow.Padding = new MarginPadding { Right = 35 };
}
}
}

View File

@ -1,12 +1,9 @@
// 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.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input;
using osu.Framework.Input.Events;
using osu.Game.Resources.Localisation.Web;
using osuTK;
using osuTK.Input;
namespace osu.Game.Graphics.UserInterface
@ -18,16 +15,6 @@ namespace osu.Game.Graphics.UserInterface
public SearchTextBox()
{
Height = 35;
Add(new SpriteIcon
{
Icon = FontAwesome.Solid.Search,
Origin = Anchor.CentreRight,
Anchor = Anchor.CentreRight,
Margin = new MarginPadding { Right = 10 },
Size = new Vector2(20),
});
TextFlow.Padding = new MarginPadding { Right = 35 };
PlaceholderText = HomeStrings.SearchPlaceholder;
}

View File

@ -6,7 +6,7 @@ namespace osu.Game.Graphics.UserInterface
/// <summary>
/// A <see cref="SearchTextBox"/> which does not handle left/right arrow keys for seeking.
/// </summary>
public class SeekLimitedSearchTextBox : SearchTextBox
public class SeekLimitedSearchTextBox : BasicSearchTextBox
{
public override bool HandleLeftRightArrows => false;
}

View File

@ -163,7 +163,7 @@ namespace osu.Game.Overlays.BeatmapListing
public void TakeFocus() => textBox.TakeFocus();
private class BeatmapSearchTextBox : SearchTextBox
private class BeatmapSearchTextBox : BasicSearchTextBox
{
/// <summary>
/// Any time the text box receives key events (even while masked).

View File

@ -181,7 +181,7 @@ namespace osu.Game.Overlays.Chat.Selection
base.PopOut();
}
private class HeaderSearchTextBox : SearchTextBox
private class HeaderSearchTextBox : BasicSearchTextBox
{
[BackgroundDependencyLoader]
private void load()

View File

@ -56,7 +56,7 @@ namespace osu.Game.Overlays.Music
Collection = collectionDropdown.Current.Value?.Collection
};
public class FilterTextBox : SearchTextBox
public class FilterTextBox : BasicSearchTextBox
{
protected override bool AllowCommit => true;

View File

@ -129,7 +129,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
{
RelativeSizeAxes = Axes.X,
Height = Header.HEIGHT,
Child = searchTextBox = new SearchTextBox
Child = searchTextBox = new BasicSearchTextBox
{
Anchor = Anchor.CentreRight,
Origin = Anchor.CentreRight,