diff --git a/osu.Game.Tests/Visual/SongSelectV2/SongSelectTestScene.cs b/osu.Game.Tests/Visual/SongSelectV2/SongSelectTestScene.cs index 4ca6c5a549..ce5fa228c9 100644 --- a/osu.Game.Tests/Visual/SongSelectV2/SongSelectTestScene.cs +++ b/osu.Game.Tests/Visual/SongSelectV2/SongSelectTestScene.cs @@ -130,7 +130,7 @@ namespace osu.Game.Tests.Visual.SongSelectV2 SelectedMods.SetDefault(); Config.SetValue(OsuSetting.SongSelectSortingMode, SortMode.Title); - Config.SetValue(OsuSetting.SongSelectGroupingMode, GroupMode.All); + Config.SetValue(OsuSetting.SongSelectGroupingMode, GroupMode.NoGrouping); SongSelect = null!; }); diff --git a/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarousel.cs b/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarousel.cs index 21030e0b88..3e3c7504dd 100644 --- a/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarousel.cs +++ b/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarousel.cs @@ -33,7 +33,7 @@ namespace osu.Game.Tests.Visual.SongSelectV2 [Explicit] public void TestSorting() { - SortAndGroupBy(SortMode.Artist, GroupMode.All); + SortAndGroupBy(SortMode.Artist, GroupMode.NoGrouping); SortAndGroupBy(SortMode.Difficulty, GroupMode.Difficulty); SortAndGroupBy(SortMode.Artist, GroupMode.Artist); } diff --git a/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarouselNoGrouping.cs b/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarouselNoGrouping.cs index 3ca8773adb..904967c1f3 100644 --- a/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarouselNoGrouping.cs +++ b/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapCarouselNoGrouping.cs @@ -243,7 +243,7 @@ namespace osu.Game.Tests.Visual.SongSelectV2 AddBeatmaps(2, 3); WaitForDrawablePanels(); - SortAndGroupBy(SortMode.Difficulty, GroupMode.All); + SortAndGroupBy(SortMode.Difficulty, GroupMode.NoGrouping); WaitForFiltering(); AddUntilStep("standalone panels displayed", () => GetVisiblePanels().Any()); diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneTabControl.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneTabControl.cs index 94117ff7e3..bf75d07c2c 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneTabControl.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneTabControl.cs @@ -30,8 +30,8 @@ namespace osu.Game.Tests.Visual.UserInterface Position = new Vector2(275, 5) }); - filter.PinItem(GroupMode.All); - filter.PinItem(GroupMode.RecentlyPlayed); + filter.PinItem(GroupMode.NoGrouping); + filter.PinItem(GroupMode.LastPlayed); filter.Current.ValueChanged += grouping => { diff --git a/osu.Game/Configuration/OsuConfigManager.cs b/osu.Game/Configuration/OsuConfigManager.cs index 167e52ad0d..18d8f69918 100644 --- a/osu.Game/Configuration/OsuConfigManager.cs +++ b/osu.Game/Configuration/OsuConfigManager.cs @@ -47,7 +47,7 @@ namespace osu.Game.Configuration SetDefault(OsuSetting.DisplayStarsMinimum, 0.0, 0, 10, 0.1); SetDefault(OsuSetting.DisplayStarsMaximum, 10.1, 0, 10.1, 0.1); - SetDefault(OsuSetting.SongSelectGroupingMode, GroupMode.All); + SetDefault(OsuSetting.SongSelectGroupingMode, GroupMode.NoGrouping); SetDefault(OsuSetting.SongSelectSortingMode, SortMode.Title); SetDefault(OsuSetting.RandomSelectAlgorithm, RandomSelectAlgorithm.RandomPermutation); @@ -263,6 +263,10 @@ namespace osu.Game.Configuration if (RuntimeInfo.IsMobile) GetBindable(OsuSetting.UIScale).SetDefault(); } + + if (combined < 20250518) + // GroupMode.All, the previous default grouping mode, is made obsolete and to be removed in favour of GroupMode.NoGrouping. + GetBindable(OsuSetting.SongSelectGroupingMode).SetDefault(); } public override TrackedSettings CreateTrackedSettings() diff --git a/osu.Game/Screens/Select/Filter/GroupMode.cs b/osu.Game/Screens/Select/Filter/GroupMode.cs index d794c215a3..a560c155ae 100644 --- a/osu.Game/Screens/Select/Filter/GroupMode.cs +++ b/osu.Game/Screens/Select/Filter/GroupMode.cs @@ -1,14 +1,15 @@ // 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 System.ComponentModel; namespace osu.Game.Screens.Select.Filter { public enum GroupMode { - [Description("All")] - All, + [Description("No Grouping")] + NoGrouping, [Description("Artist")] Artist, @@ -37,19 +38,19 @@ namespace osu.Game.Screens.Select.Filter [Description("My Maps")] MyMaps, - [Description("No Grouping")] - NoGrouping, - [Description("Rank Achieved")] RankAchieved, [Description("Ranked Status")] RankedStatus, - [Description("Recently Played")] - RecentlyPlayed, + [Description("Last Played")] + LastPlayed, [Description("Title")] - Title + Title, + + [Obsolete($"Use {nameof(NoGrouping)} instead.")] // todo: remove in 20251018 + All, } } diff --git a/osu.Game/Screens/SelectV2/FilterControl.cs b/osu.Game/Screens/SelectV2/FilterControl.cs index 5845c36882..036e5c85ca 100644 --- a/osu.Game/Screens/SelectV2/FilterControl.cs +++ b/osu.Game/Screens/SelectV2/FilterControl.cs @@ -162,7 +162,9 @@ namespace osu.Game.Screens.SelectV2 groupDropdown = new ShearedDropdown("Group by") { RelativeSizeAxes = Axes.X, - Items = Enum.GetValues(), +#pragma warning disable CS0618 // Type or member is obsolete + Items = Enum.GetValues().Where(m => m != GroupMode.All), +#pragma warning restore CS0618 // Type or member is obsolete }, Empty(), collectionDropdown = new CollectionDropdown