From b37a06c0fe0ce05b6b82292219faeafd024c86e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= <dach.bartlomiej@gmail.com> Date: Wed, 11 Dec 2024 13:24:54 +0900 Subject: [PATCH] Hide "show playing rooms" toggle when in filter mode it doesn't make sense with --- .../Multiplayer/MultiplayerLoungeSubScreen.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerLoungeSubScreen.cs b/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerLoungeSubScreen.cs index 23216c86b2..303ba60875 100644 --- a/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerLoungeSubScreen.cs +++ b/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerLoungeSubScreen.cs @@ -2,7 +2,6 @@ // See the LICENCE file in the repository root for full licence text. using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using osu.Framework.Allocation; using osu.Framework.Bindables; @@ -48,7 +47,10 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer protected override IEnumerable<Drawable> CreateFilterControls() { - roomAccessTypeDropdown = new SlimEnumDropdown<RoomPermissionsFilter> + foreach (var control in base.CreateFilterControls()) + yield return control; + + yield return roomAccessTypeDropdown = new SlimEnumDropdown<RoomPermissionsFilter> { RelativeSizeAxes = Axes.None, Current = Config.GetBindable<RoomPermissionsFilter>(OsuSetting.MultiplayerRoomFilter), @@ -57,16 +59,17 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer roomAccessTypeDropdown.Current.BindValueChanged(_ => UpdateFilter()); - showInProgress = new OsuCheckbox + yield return showInProgress = new OsuCheckbox { LabelText = "Show playing rooms", RelativeSizeAxes = Axes.None, Width = 200, + Padding = new MarginPadding { Vertical = 5, }, Current = { Value = true } }; - showInProgress.Current.BindValueChanged(_ => UpdateFilter()); - return base.CreateFilterControls().Concat([roomAccessTypeDropdown, showInProgress]); + showInProgress.Current.BindValueChanged(_ => UpdateFilter()); + StatusDropdown.Current.BindValueChanged(_ => showInProgress.Alpha = StatusDropdown.Current.Value == RoomModeFilter.Open ? 1 : 0, true); } protected override FilterCriteria CreateFilterCriteria() @@ -74,7 +77,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer var criteria = base.CreateFilterCriteria(); criteria.Category = @"realtime"; criteria.Permissions = roomAccessTypeDropdown.Current.Value; - criteria.Status = showInProgress.Current.Value ? null : RoomStatusFilter.Idle; + criteria.Status = showInProgress.Current.Value && criteria.Mode == RoomModeFilter.Open ? null : RoomStatusFilter.Idle; return criteria; }