mirror of
https://github.com/osukey/osukey.git
synced 2025-05-09 23:57:18 +09:00
Add "explicit maps" search filter control
This commit is contained in:
parent
dd809df076
commit
249be461d5
@ -30,6 +30,8 @@ namespace osu.Game.Online.API.Requests
|
|||||||
|
|
||||||
public SearchPlayed Played { get; }
|
public SearchPlayed Played { get; }
|
||||||
|
|
||||||
|
public SearchExplicit Explicit { get; }
|
||||||
|
|
||||||
[CanBeNull]
|
[CanBeNull]
|
||||||
public IReadOnlyCollection<ScoreRank> Ranks { get; }
|
public IReadOnlyCollection<ScoreRank> Ranks { get; }
|
||||||
|
|
||||||
@ -50,7 +52,8 @@ namespace osu.Game.Online.API.Requests
|
|||||||
SearchLanguage language = SearchLanguage.Any,
|
SearchLanguage language = SearchLanguage.Any,
|
||||||
IReadOnlyCollection<SearchExtra> extra = null,
|
IReadOnlyCollection<SearchExtra> extra = null,
|
||||||
IReadOnlyCollection<ScoreRank> ranks = null,
|
IReadOnlyCollection<ScoreRank> ranks = null,
|
||||||
SearchPlayed played = SearchPlayed.Any)
|
SearchPlayed played = SearchPlayed.Any,
|
||||||
|
SearchExplicit explicitMaps = SearchExplicit.Hide)
|
||||||
{
|
{
|
||||||
this.query = string.IsNullOrEmpty(query) ? string.Empty : System.Uri.EscapeDataString(query);
|
this.query = string.IsNullOrEmpty(query) ? string.Empty : System.Uri.EscapeDataString(query);
|
||||||
this.ruleset = ruleset;
|
this.ruleset = ruleset;
|
||||||
@ -64,6 +67,7 @@ namespace osu.Game.Online.API.Requests
|
|||||||
Extra = extra;
|
Extra = extra;
|
||||||
Ranks = ranks;
|
Ranks = ranks;
|
||||||
Played = played;
|
Played = played;
|
||||||
|
Explicit = explicitMaps;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override WebRequest CreateWebRequest()
|
protected override WebRequest CreateWebRequest()
|
||||||
@ -93,6 +97,8 @@ namespace osu.Game.Online.API.Requests
|
|||||||
if (Played != SearchPlayed.Any)
|
if (Played != SearchPlayed.Any)
|
||||||
req.AddParameter("played", Played.ToString().ToLowerInvariant());
|
req.AddParameter("played", Played.ToString().ToLowerInvariant());
|
||||||
|
|
||||||
|
req.AddParameter("nsfw", Explicit == SearchExplicit.Show ? "true" : "false");
|
||||||
|
|
||||||
req.AddCursor(cursor);
|
req.AddCursor(cursor);
|
||||||
|
|
||||||
return req;
|
return req;
|
||||||
|
@ -141,6 +141,7 @@ namespace osu.Game.Overlays.BeatmapListing
|
|||||||
searchControl.Extra.CollectionChanged += (_, __) => queueUpdateSearch();
|
searchControl.Extra.CollectionChanged += (_, __) => queueUpdateSearch();
|
||||||
searchControl.Ranks.CollectionChanged += (_, __) => queueUpdateSearch();
|
searchControl.Ranks.CollectionChanged += (_, __) => queueUpdateSearch();
|
||||||
searchControl.Played.BindValueChanged(_ => queueUpdateSearch());
|
searchControl.Played.BindValueChanged(_ => queueUpdateSearch());
|
||||||
|
searchControl.Explicit.BindValueChanged(_ => queueUpdateSearch());
|
||||||
|
|
||||||
sortCriteria.BindValueChanged(_ => queueUpdateSearch());
|
sortCriteria.BindValueChanged(_ => queueUpdateSearch());
|
||||||
sortDirection.BindValueChanged(_ => queueUpdateSearch());
|
sortDirection.BindValueChanged(_ => queueUpdateSearch());
|
||||||
@ -193,7 +194,8 @@ namespace osu.Game.Overlays.BeatmapListing
|
|||||||
searchControl.Language.Value,
|
searchControl.Language.Value,
|
||||||
searchControl.Extra,
|
searchControl.Extra,
|
||||||
searchControl.Ranks,
|
searchControl.Ranks,
|
||||||
searchControl.Played.Value);
|
searchControl.Played.Value,
|
||||||
|
searchControl.Explicit.Value);
|
||||||
|
|
||||||
getSetsRequest.Success += response =>
|
getSetsRequest.Success += response =>
|
||||||
{
|
{
|
||||||
|
@ -42,6 +42,8 @@ namespace osu.Game.Overlays.BeatmapListing
|
|||||||
|
|
||||||
public Bindable<SearchPlayed> Played => playedFilter.Current;
|
public Bindable<SearchPlayed> Played => playedFilter.Current;
|
||||||
|
|
||||||
|
public Bindable<SearchExplicit> Explicit => explicitFilter.Current;
|
||||||
|
|
||||||
public BeatmapSetInfo BeatmapSet
|
public BeatmapSetInfo BeatmapSet
|
||||||
{
|
{
|
||||||
set
|
set
|
||||||
@ -65,6 +67,7 @@ namespace osu.Game.Overlays.BeatmapListing
|
|||||||
private readonly BeatmapSearchMultipleSelectionFilterRow<SearchExtra> extraFilter;
|
private readonly BeatmapSearchMultipleSelectionFilterRow<SearchExtra> extraFilter;
|
||||||
private readonly BeatmapSearchScoreFilterRow ranksFilter;
|
private readonly BeatmapSearchScoreFilterRow ranksFilter;
|
||||||
private readonly BeatmapSearchFilterRow<SearchPlayed> playedFilter;
|
private readonly BeatmapSearchFilterRow<SearchPlayed> playedFilter;
|
||||||
|
private readonly BeatmapSearchFilterRow<SearchExplicit> explicitFilter;
|
||||||
|
|
||||||
private readonly Box background;
|
private readonly Box background;
|
||||||
private readonly UpdateableBeatmapSetCover beatmapCover;
|
private readonly UpdateableBeatmapSetCover beatmapCover;
|
||||||
@ -125,7 +128,8 @@ namespace osu.Game.Overlays.BeatmapListing
|
|||||||
languageFilter = new BeatmapSearchFilterRow<SearchLanguage>(@"Language"),
|
languageFilter = new BeatmapSearchFilterRow<SearchLanguage>(@"Language"),
|
||||||
extraFilter = new BeatmapSearchMultipleSelectionFilterRow<SearchExtra>(@"Extra"),
|
extraFilter = new BeatmapSearchMultipleSelectionFilterRow<SearchExtra>(@"Extra"),
|
||||||
ranksFilter = new BeatmapSearchScoreFilterRow(),
|
ranksFilter = new BeatmapSearchScoreFilterRow(),
|
||||||
playedFilter = new BeatmapSearchFilterRow<SearchPlayed>(@"Played")
|
playedFilter = new BeatmapSearchFilterRow<SearchPlayed>(@"Played"),
|
||||||
|
explicitFilter = new BeatmapSearchFilterRow<SearchExplicit>(@"Explicit Maps"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
11
osu.Game/Overlays/BeatmapListing/SearchExplicit.cs
Normal file
11
osu.Game/Overlays/BeatmapListing/SearchExplicit.cs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// 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.
|
||||||
|
|
||||||
|
namespace osu.Game.Overlays.BeatmapListing
|
||||||
|
{
|
||||||
|
public enum SearchExplicit
|
||||||
|
{
|
||||||
|
Hide,
|
||||||
|
Show
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user