Skip to content

Commit

Permalink
Merge pull request #27541 from Joehuu/wrap-beatmap-listing-filters
Browse files Browse the repository at this point in the history
Wrap beatmap listing filters and match web spacing
  • Loading branch information
bdach authored Mar 11, 2024
2 parents 1ae8d34 + 09179f9 commit 2b40eff
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ public BeatmapListingSearchControl()
RelativeSizeAxes = Axes.X,
Direction = FillDirection.Vertical,
Padding = new MarginPadding { Horizontal = 10 },
Spacing = new Vector2(5),
Children = new Drawable[]
{
generalFilter = new BeatmapSearchGeneralFilterRow(),
Expand Down
44 changes: 11 additions & 33 deletions osu.Game/Overlays/BeatmapListing/BeatmapSearchFilterRow.cs
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
// 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.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osuTK;
using osu.Framework.Extensions.EnumExtensions;
using osu.Framework.Localisation;
using osu.Game.Graphics.Containers;

namespace osu.Game.Overlays.BeatmapListing
{
Expand Down Expand Up @@ -47,11 +45,10 @@ public BeatmapSearchFilterRow(LocalisableString header)
{
new[]
{
new OsuSpriteText
new OsuTextFlowContainer(t => t.Font = OsuFont.GetFont(size: 13))
{
Anchor = Anchor.BottomLeft,
Origin = Anchor.BottomLeft,
Font = OsuFont.GetFont(size: 13),
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Text = header
},
filter = CreateFilter()
Expand All @@ -69,10 +66,8 @@ protected partial class BeatmapSearchFilter : TabControl<T>
{
public BeatmapSearchFilter()
{
Anchor = Anchor.BottomLeft;
Origin = Anchor.BottomLeft;
RelativeSizeAxes = Axes.X;
Height = 15;
AutoSizeAxes = Axes.Y;

TabContainer.Spacing = new Vector2(10, 0);

Expand All @@ -83,33 +78,16 @@ public BeatmapSearchFilter()
}
}

[BackgroundDependencyLoader]
private void load(OverlayColourProvider colourProvider)
{
if (Dropdown is FilterDropdown fd)
fd.AccentColour = colourProvider.Light2;
}

protected override Dropdown<T> CreateDropdown() => new FilterDropdown();
protected override Dropdown<T> CreateDropdown() => null!;

protected override TabItem<T> CreateTabItem(T value) => new FilterTabItem<T>(value);

private partial class FilterDropdown : OsuTabDropdown<T>
protected override TabFillFlowContainer CreateTabFlow() => new TabFillFlowContainer
{
protected override DropdownHeader CreateHeader() => new FilterHeader
{
Anchor = Anchor.TopRight,
Origin = Anchor.TopRight
};

private partial class FilterHeader : OsuTabDropdownHeader
{
public FilterHeader()
{
Background.Height = 1;
}
}
}
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
AllowMultiline = true,
};
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,8 @@ protected partial class MultipleSelectionFilter : FillFlowContainer<MultipleSele
[BackgroundDependencyLoader]
private void load()
{
Anchor = Anchor.BottomLeft;
Origin = Anchor.BottomLeft;
RelativeSizeAxes = Axes.X;
Height = 15;
AutoSizeAxes = Axes.Y;
Spacing = new Vector2(10, 0);

AddRange(GetValues().Select(CreateTabItem));
Expand Down
2 changes: 0 additions & 2 deletions osu.Game/Overlays/BeatmapListing/FilterTabItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ public FilterTabItem(T value)
private void load()
{
AutoSizeAxes = Axes.Both;
Anchor = Anchor.BottomLeft;
Origin = Anchor.BottomLeft;
AddRangeInternal(new Drawable[]
{
text = new OsuSpriteText
Expand Down

0 comments on commit 2b40eff

Please sign in to comment.