diff --git a/osu.Game/Overlays/Chat/Selection/ChannelSelectionOverlay.cs b/osu.Game/Overlays/Chat/Selection/ChannelSelectionOverlay.cs
index b46ca6b040..be9ecc6746 100644
--- a/osu.Game/Overlays/Chat/Selection/ChannelSelectionOverlay.cs
+++ b/osu.Game/Overlays/Chat/Selection/ChannelSelectionOverlay.cs
@@ -22,7 +22,7 @@ namespace osu.Game.Overlays.Chat.Selection
{
public class ChannelSelectionOverlay : WaveOverlayContainer
{
- public const float WIDTH_PADDING = 170;
+ public new const float WIDTH_PADDING = 170;
private const float transition_duration = 500;
diff --git a/osu.Game/Overlays/SearchableList/SearchableListFilterControl.cs b/osu.Game/Overlays/SearchableList/SearchableListFilterControl.cs
index e0163b5b0c..1990674aa9 100644
--- a/osu.Game/Overlays/SearchableList/SearchableListFilterControl.cs
+++ b/osu.Game/Overlays/SearchableList/SearchableListFilterControl.cs
@@ -36,7 +36,7 @@ namespace osu.Game.Overlays.SearchableList
///
/// The amount of padding added to content (does not affect background or tab control strip).
///
- protected virtual float ContentHorizontalPadding => SearchableListOverlay.WIDTH_PADDING;
+ protected virtual float ContentHorizontalPadding => WaveOverlayContainer.WIDTH_PADDING;
protected SearchableListFilterControl()
{
diff --git a/osu.Game/Overlays/SearchableList/SearchableListHeader.cs b/osu.Game/Overlays/SearchableList/SearchableListHeader.cs
deleted file mode 100644
index 66fedf0a56..0000000000
--- a/osu.Game/Overlays/SearchableList/SearchableListHeader.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
-// See the LICENCE file in the repository root for full licence text.
-
-using System;
-using osuTK;
-using osuTK.Graphics;
-using osu.Framework.Allocation;
-using osu.Framework.Graphics;
-using osu.Framework.Graphics.Containers;
-using osu.Game.Graphics;
-using osu.Framework.Graphics.Shapes;
-using osu.Framework.Graphics.Sprites;
-
-namespace osu.Game.Overlays.SearchableList
-{
- public abstract class SearchableListHeader : Container
- where T : struct, Enum
- {
- public readonly HeaderTabControl Tabs;
-
- protected abstract Color4 BackgroundColour { get; }
- protected abstract T DefaultTab { get; }
- protected abstract Drawable CreateHeaderText();
- protected abstract IconUsage Icon { get; }
-
- protected SearchableListHeader()
- {
- RelativeSizeAxes = Axes.X;
- Height = 90;
-
- Children = new Drawable[]
- {
- new Box
- {
- RelativeSizeAxes = Axes.Both,
- Colour = BackgroundColour,
- },
- new Container
- {
- RelativeSizeAxes = Axes.Both,
- Padding = new MarginPadding { Left = SearchableListOverlay.WIDTH_PADDING, Right = SearchableListOverlay.WIDTH_PADDING },
- Children = new Drawable[]
- {
- new FillFlowContainer
- {
- Anchor = Anchor.CentreLeft,
- Origin = Anchor.BottomLeft,
- Position = new Vector2(-35f, 5f),
- AutoSizeAxes = Axes.Both,
- Direction = FillDirection.Horizontal,
- Spacing = new Vector2(10f, 0f),
- Children = new[]
- {
- new SpriteIcon
- {
- Size = new Vector2(25),
- Icon = Icon,
- },
- CreateHeaderText(),
- },
- },
- Tabs = new HeaderTabControl
- {
- Anchor = Anchor.BottomLeft,
- Origin = Anchor.BottomLeft,
- RelativeSizeAxes = Axes.X,
- },
- },
- },
- };
-
- Tabs.Current.Value = DefaultTab;
- Tabs.Current.TriggerChange();
- }
-
- [BackgroundDependencyLoader]
- private void load(OsuColour colours)
- {
- Tabs.StripColour = colours.Green;
- }
- }
-}
diff --git a/osu.Game/Overlays/SearchableList/SearchableListOverlay.cs b/osu.Game/Overlays/SearchableList/SearchableListOverlay.cs
deleted file mode 100644
index da2066e677..0000000000
--- a/osu.Game/Overlays/SearchableList/SearchableListOverlay.cs
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
-// See the LICENCE file in the repository root for full licence text.
-
-using System;
-using osuTK.Graphics;
-using osu.Framework.Graphics;
-using osu.Framework.Graphics.Containers;
-using osu.Framework.Graphics.Shapes;
-using osu.Framework.Input.Events;
-using osu.Game.Graphics.Backgrounds;
-using osu.Game.Graphics.Cursor;
-
-namespace osu.Game.Overlays.SearchableList
-{
- public abstract class SearchableListOverlay : FullscreenOverlay
- {
- public const float WIDTH_PADDING = 80;
-
- protected SearchableListOverlay(OverlayColourScheme colourScheme)
- : base(colourScheme)
- {
- }
- }
-
- public abstract class SearchableListOverlay : SearchableListOverlay
- where THeader : struct, Enum
- where TTab : struct, Enum
- where TCategory : struct, Enum
- {
- private readonly Container scrollContainer;
-
- protected new readonly SearchableListHeader Header;
- protected readonly SearchableListFilterControl Filter;
- protected readonly FillFlowContainer ScrollFlow;
-
- protected abstract Color4 BackgroundColour { get; }
- protected abstract Color4 TrianglesColourLight { get; }
- protected abstract Color4 TrianglesColourDark { get; }
- protected abstract SearchableListHeader CreateHeader();
- protected abstract SearchableListFilterControl CreateFilterControl();
-
- protected SearchableListOverlay(OverlayColourScheme colourScheme)
- : base(colourScheme)
- {
- Children = new Drawable[]
- {
- new Box
- {
- RelativeSizeAxes = Axes.Both,
- Colour = BackgroundColour,
- },
- new Container
- {
- RelativeSizeAxes = Axes.Both,
- Masking = true,
- Children = new[]
- {
- new Triangles
- {
- RelativeSizeAxes = Axes.Both,
- TriangleScale = 5,
- ColourLight = TrianglesColourLight,
- ColourDark = TrianglesColourDark,
- },
- },
- },
- scrollContainer = new Container
- {
- RelativeSizeAxes = Axes.Both,
- Child = new OsuContextMenuContainer
- {
- RelativeSizeAxes = Axes.Both,
- Masking = true,
- Child = new OverlayScrollContainer
- {
- RelativeSizeAxes = Axes.Both,
- ScrollbarVisible = false,
- Child = ScrollFlow = new FillFlowContainer
- {
- RelativeSizeAxes = Axes.X,
- AutoSizeAxes = Axes.Y,
- Padding = new MarginPadding { Horizontal = 10, Bottom = 50 },
- Direction = FillDirection.Vertical,
- },
- },
- },
- },
- new FillFlowContainer
- {
- RelativeSizeAxes = Axes.X,
- AutoSizeAxes = Axes.Y,
- Direction = FillDirection.Vertical,
- Children = new Drawable[]
- {
- Header = CreateHeader(),
- Filter = CreateFilterControl(),
- },
- },
- };
- }
-
- protected override void Update()
- {
- base.Update();
-
- scrollContainer.Padding = new MarginPadding { Top = Header.Height + Filter.Height };
- }
-
- protected override void OnFocus(FocusEvent e)
- {
- Filter.Search.TakeFocus();
- }
-
- protected override void PopIn()
- {
- base.PopIn();
-
- Filter.Search.HoldFocus = true;
- }
-
- protected override void PopOut()
- {
- base.PopOut();
-
- Filter.Search.HoldFocus = false;
- }
- }
-}
diff --git a/osu.Game/Overlays/WaveOverlayContainer.cs b/osu.Game/Overlays/WaveOverlayContainer.cs
index 5c87096dd4..d0fa9987d5 100644
--- a/osu.Game/Overlays/WaveOverlayContainer.cs
+++ b/osu.Game/Overlays/WaveOverlayContainer.cs
@@ -14,6 +14,8 @@ namespace osu.Game.Overlays
protected override bool BlockNonPositionalInput => true;
protected override Container Content => Waves;
+ public const float WIDTH_PADDING = 80;
+
protected override bool StartHidden => true;
protected WaveOverlayContainer()
diff --git a/osu.Game/Screens/Multi/Header.cs b/osu.Game/Screens/Multi/Header.cs
index 653cb3791a..cd8695286b 100644
--- a/osu.Game/Screens/Multi/Header.cs
+++ b/osu.Game/Screens/Multi/Header.cs
@@ -11,8 +11,8 @@ using osu.Framework.Graphics.UserInterface;
using osu.Framework.Screens;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
-using osu.Game.Overlays.SearchableList;
using osu.Game.Graphics.Sprites;
+using osu.Game.Overlays;
using osuTK;
using osuTK.Graphics;
@@ -42,7 +42,7 @@ namespace osu.Game.Screens.Multi
Anchor = Anchor.CentreLeft,
Origin = Anchor.CentreLeft,
RelativeSizeAxes = Axes.Both,
- Padding = new MarginPadding { Left = SearchableListOverlay.WIDTH_PADDING + OsuScreen.HORIZONTAL_OVERFLOW_PADDING },
+ Padding = new MarginPadding { Left = WaveOverlayContainer.WIDTH_PADDING + OsuScreen.HORIZONTAL_OVERFLOW_PADDING },
Children = new Drawable[]
{
title = new MultiHeaderTitle
diff --git a/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs b/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs
index f9c5fd13a4..a1e99c83b2 100644
--- a/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs
+++ b/osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs
@@ -12,7 +12,6 @@ using osu.Game.Graphics.Containers;
using osu.Game.Graphics.UserInterface;
using osu.Game.Online.Multiplayer;
using osu.Game.Overlays;
-using osu.Game.Overlays.SearchableList;
using osu.Game.Screens.Multi.Lounge.Components;
using osu.Game.Screens.Multi.Match;
@@ -102,8 +101,8 @@ namespace osu.Game.Screens.Multi.Lounge
content.Padding = new MarginPadding
{
Top = Filter.DrawHeight,
- Left = SearchableListOverlay.WIDTH_PADDING - DrawableRoom.SELECTION_BORDER_WIDTH + HORIZONTAL_OVERFLOW_PADDING,
- Right = SearchableListOverlay.WIDTH_PADDING + HORIZONTAL_OVERFLOW_PADDING,
+ Left = WaveOverlayContainer.WIDTH_PADDING - DrawableRoom.SELECTION_BORDER_WIDTH + HORIZONTAL_OVERFLOW_PADDING,
+ Right = WaveOverlayContainer.WIDTH_PADDING + HORIZONTAL_OVERFLOW_PADDING,
};
}
diff --git a/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs b/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs
index 49a0fc434b..caefc194b1 100644
--- a/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs
+++ b/osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs
@@ -14,7 +14,7 @@ using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
using osu.Game.Online.Multiplayer;
-using osu.Game.Overlays.SearchableList;
+using osu.Game.Overlays;
using osuTK;
using osuTK.Graphics;
@@ -117,7 +117,7 @@ namespace osu.Game.Screens.Multi.Match.Components
{
new Container
{
- Padding = new MarginPadding { Horizontal = SearchableListOverlay.WIDTH_PADDING },
+ Padding = new MarginPadding { Horizontal = WaveOverlayContainer.WIDTH_PADDING },
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Children = new Drawable[]