1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-22 01:12:56 +08:00
Commit Graph

332 Commits

Author SHA1 Message Date
Dean Herbert
a393bbe8f7 Remove direct drawable storage from carousel models 2020-10-13 17:37:33 +09:00
Dean Herbert
73c238fae3 Add the ability to search for local beatmaps via online IDs
Closes #10470.
2020-10-10 21:34:11 +09:00
smoogipoo
43525614ad Store raw BeatmapCollection in filter control 2020-09-09 23:10:21 +09:00
smoogipoo
0360f7d845 Move CollectionManager to OsuGame 2020-09-09 15:39:15 +09:00
smoogipoo
4ddf5f054b Rename BeatmapCollectionManager -> CollectionManager 2020-09-09 15:31:08 +09:00
smoogipoo
a5e1e8d043 Rename More... to Manage... 2020-09-08 18:57:18 +09:00
smoogipoo
ae022d7559 Show all items in dropdown, set global max height 2020-09-08 18:55:53 +09:00
Dean Herbert
8b770626fa Add missing '...' from some popup menu items 2020-09-08 12:18:08 +09:00
Dean Herbert
b15bbc882a Move items up in menu 2020-09-08 12:04:35 +09:00
Dean Herbert
3e5ea6c42f Change "Add to" to "Collections"
Doesn't make send to be 'add to' when it can also remove
2020-09-08 12:00:00 +09:00
smoogipoo
98e9c4dc25 General refactorings 2020-09-07 21:08:48 +09:00
smoogipoo
4b4dd02942 Make collection name a bindable 2020-09-05 04:43:59 +09:00
smoogipoo
345fb9d8e0 Rename classes 2020-09-05 03:55:43 +09:00
smoogipoo
ebd11ae0b7 Add a collection management dialog 2020-09-05 03:52:07 +09:00
smoogipoo
d363a5d164 Add basic ordering 2020-09-02 21:19:15 +09:00
smoogipoo
094ddecc95 Add dropdowns to carousel items 2020-09-02 21:08:31 +09:00
smoogipoo
9dde37fe40 Hook up collection filter 2020-09-02 20:25:42 +09:00
smoogipoo
b10b99a670 Change method signatures to remove tracked/untracked 2020-07-24 13:52:43 +09:00
smoogipoo
76284a0f01 Move cancellation out of condition 2020-07-23 23:18:51 +09:00
smoogipoo
107b5ca4f2 Add support for bindable retrieval 2020-07-21 23:13:04 +09:00
smoogipoo
9a52058a7a Update carousel beatmap SR on mod/ruleset changes 2020-07-16 21:08:24 +09:00
Dean Herbert
f989f1aa00 Change event flow to avoid firing store delete events on update 2020-05-27 16:08:47 +09:00
Dean Herbert
052ad79fc6 Convert dangerous events to IBindables 2020-05-19 16:44:22 +09:00
smoogipoo
401c516503 Expose searchable terms from beatmap info instead 2020-05-07 13:04:08 +09:00
smoogipoo
5186da8412 Fix potential song select nullref 2020-05-07 11:37:04 +09:00
Dean Herbert
03a74a4320 Apply same conditional check changes to DrawableCarouselBeatmapSet 2020-04-16 12:13:26 +09:00
Dean Herbert
c4caf38feb Simplify menu item checks (and add for other items) 2020-04-16 12:10:20 +09:00
Joehu
e2b28bfe88 Hide edit context menu item in multiplayer song select 2020-04-15 18:17:12 -07:00
Dean Herbert
abea7b5299 Tidy up function passing, naming, ordering etc. 2020-04-11 17:13:35 +09:00
Endrik Tombak
deaf24f141 Fix oversight on null 2020-04-09 19:30:40 +03:00
Endrik Tombak
35f97dfc75 Style changes 2020-04-09 18:59:18 +03:00
Endrik Tombak
f40bdcd34e Initial rewrite, moving API logic to SongSelect 2020-04-09 18:47:28 +03:00
Dean Herbert
260de77304
Merge branch 'master' into select-recommended 2020-04-09 15:30:35 +09:00
smoogipoo
ed3e0a01e1 Re-namespace into song select 2020-04-07 15:31:22 +09:00
Santeri Nogelainen
1e8badb14a Move all logic to TopLocalRank and remove CarouselBeatmapRank 2020-04-04 22:28:36 +03:00
Santeri Nogelainen
faa2b49be4 Fix namespace for CarouselBeatmapRank, make UpdateableRank in TopLocalRank readonly 2020-03-28 18:13:39 +02:00
Santeri Nogelainen
1c711147f3 Move all carousel rank logic into separate classes (TopLocalRank and CarouselBeatmapRank) 2020-03-28 17:22:01 +02:00
Endrik Tombak
ee112c6f50 Move and change logic 2020-03-26 18:42:08 +02:00
Endrik Tombak
2f5dc93d61 Select recommended difficulty 2020-03-26 00:19:54 +02:00
Dean Herbert
8f9e97b4cc Fix carousel not remembering last selection correctly 2020-03-19 18:07:39 +09:00
Dean Herbert
9bb3a6c677 Merge branch 'master' into click-group-difficulty-icons 2020-03-16 12:01:09 +09:00
Dean Herbert
d6be8eec0c Merge branch 'master' into click-disabled-difficulty-icons 2020-03-16 11:30:57 +09:00
Dean Herbert
3f8b454ff4
Reword comment to match new filtering behaviour
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-13 10:01:28 +09:00
Dean Herbert
6e11c3014c Allow grouped difficulty icons to be clicked 2020-03-12 18:42:08 +09:00
Dean Herbert
ce5d01ed19 Allow filtered difficulty icons to be clicked 2020-03-12 18:42:08 +09:00
Dean Herbert
fc058f8896 Remove unnecessary this. prefix 2020-03-12 18:03:18 +09:00
Dean Herbert
933a8ffc8a Add test coverage 2020-03-12 17:10:51 +09:00
Dean Herbert
63edcddaf1 Apply ruleset filter in all cases (even when bypassing filter for selection purposes) 2020-03-12 15:06:26 +09:00
Dan Balasescu
9119e32f63
Merge branch 'master' into better-filter-bypass 2020-03-11 13:37:55 +09:00
Dean Herbert
ed837d3115 Use framework extension method for FromHex 2020-03-11 10:18:41 +09:00
Dean Herbert
a2d3f20409
Merge branch 'master' into better-filter-bypass 2020-03-11 02:55:14 +09:00
Dean Herbert
979988235d Increase flexibility of StarCounter component 2020-03-08 15:56:22 +09:00
Dean Herbert
332f56a7f8 Fix nullref in tests 2020-03-05 20:34:24 +09:00
Dean Herbert
f8776a0be4 Display all difficulties from overriding selection 2020-03-04 22:59:49 +09:00
Dean Herbert
a62550b323 Reapply filters on next change after a forced beatmap display 2020-03-04 20:14:18 +09:00
smoogipoo
7ad6ad0bb0 Remove hacks that bypassed layout shortcomings 2020-02-27 13:32:23 +09:00
Dean Herbert
cd666166d5
Merge pull request #7809 from voidedWarranties/proposal-difficulty-icon-select
Allow selecting/playing a specific difficulty using the beatmapset difficulty icons
2020-02-21 10:24:12 +09:00
voidedWarranties
8c81f1e684 Move CarouselBeatmap access to private, test using indices 2020-02-15 17:51:55 -08:00
voidedWarranties
8e1ecddb1d Add testing 2020-02-14 17:23:24 -08:00
recapitalverb
c46d828716 Preserve permitNulls 2020-02-14 20:59:51 +07:00
recapitalverb
10798aeab3 Fix code formatting 2020-02-14 20:30:27 +07:00
recapitalverb
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
voidedWarranties
368e6f9579 Use CarouselBeatmap.State to select 2020-02-13 17:47:16 -08:00
voidedWarranties
c871f07d2e Use CarouselBeatmap action to select beatmap 2020-02-13 17:14:46 -08:00
voidedWarranties
ad0de27964 Safer dependency injection and accessibility levels 2020-02-12 22:11:26 -08:00
voidedWarranties
f8b69fe632 Remove unnecessary carousel variable, fix code formatting 2020-02-12 20:11:39 -08:00
voidedWarranties
b126c00292 Use dependency loader to get SongSelect instance 2020-02-12 19:05:08 -08:00
voidedWarranties
2901ec9f26 Select specific difficulties using their icons 2020-02-11 20:05:26 -08:00
Dean Herbert
66fb72cd8a Fix song select not showing active beatmap if it is filtered by local criteria 2020-02-10 16:59:54 +09:00
smoogipoo
9e0e7be8d0 Modernise filter implementation 2020-01-24 18:57:17 +09:00
smoogipoo
12cc97ca31 Merge remote-tracking branch 'origin/master' into star-filtering
# Conflicts:
#	osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapCarousel.cs
#	osu.Game/Screens/Select/Carousel/CarouselBeatmap.cs
#	osu.Game/Screens/Select/FilterControl.cs
#	osu.Game/Screens/Select/FilterCriteria.cs
2020-01-24 18:30:52 +09:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Huo Yaoyuan
caf3f774ba CA1309: compare strings correctly. 2019-12-17 13:00:15 +08:00
Dean Herbert
48287459a0 Optimise filters to avoid property retrieval
Also reduces number of instantiations of SearchableTerms array in the case of multiple criteria terms.
2019-12-05 01:52:22 +09:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
Bartłomiej Dach
c181edaedf Replace manual comparer implementation
Replace manually-implemented CriteriaComparer with a call to
Comparer<T>.Create() to decrease verbosity.
2019-10-28 15:07:36 +01:00
Bartłomiej Dach
c8d3dd0e5a Make carousel item sorting stable
Migrate beatmap carousel item sorting from List<T>.Sort()
to IEnumerable<T>.OrderBy(), as the second variant is documented to be
a stable sorting algorithm. This allows for eliminating unnecessary
movement of carousel items occurring whenever any set of items is tied
when changing sorting criteria.
2019-10-27 23:14:14 +01:00
Dean Herbert
f15953d65c Fix carousel including filtered difficulties in sort comparisons 2019-10-07 15:17:03 +09:00
Bartłomiej Dach
b262ba13cd Add creator= and artist= filters
To match stable, add creator= and artist= filters to the beatmap
carousel on song select screen. Contrary to stable, this implementation
supports phrase queries with spaces within using double quotes.

The quote handling is not entirely correct (can't nest), but quotes
should rarely happen within names, and it is an edge case of an edge
case - leaving best-effort as is. Test coverage also included.
2019-09-22 00:20:55 +02:00
smoogipoo
7683f7ff23 Make OnlineStatus use OptionalRange 2019-09-19 17:12:07 +09:00
smoogipoo
0915a94470 Make BeatDivisor use OptionalRange 2019-09-19 16:53:27 +09:00
Dean Herbert
92556db9cd Add query-based filter modes to song select search field 2019-09-19 02:48:28 +09:00
smoogipoo
a87a1e6031 Don't redraw certain buffered containers on scale change 2019-09-04 19:38:12 +09:00
smoogipoo
6368189d46 Refactor 2019-08-27 11:59:25 +09:00
Andrei Zavatski
9321f20884 Move arrow to the first line 2019-08-26 14:32:27 +03:00
Andrei Zavatski
fd0f42eee4 Fix filtered grouped difficulty items in DrawableCarouselBeatmapSet aren't hidden on first load 2019-08-26 14:11:24 +03:00
Dean Herbert
9881d3677d Simplify icon creation 2019-08-25 12:05:46 +09:00
Dean Herbert
ef397434f6 use GroupBy instead of Distinct+FindAll 2019-08-25 12:00:06 +09:00
Dean Herbert
a19a9b90ed Simplify group filter display 2019-08-25 11:39:26 +09:00
iiSaLMaN
8ccbe84f67 Loop on distinct rulesets of beatmap instead of all 2019-08-24 01:30:33 +03:00
iiSaLMaN
87340061e1 Add logic to create grouped difficulty icons in carousel beatmap set 2019-08-24 00:06:28 +03:00
Dean Herbert
7bf430afd5 Add padding back to difficulty icons on carousel 2019-08-21 21:16:06 +09:00
Dean Herbert
48716f8f2b Update framework 2019-08-21 13:29:50 +09:00
Dean Herbert
f355cff8bc Apply reviews 2019-08-15 12:11:54 +09:00
Dean Herbert
7e74953784 Merge remote-tracking branch 'upstream/master' into difficulty-icon-tooltip 2019-08-15 11:54:59 +09:00
iiSaLMaN
38bc652bf2 Remove sorting by length for beatmaps 2019-07-09 17:02:51 +03:00
iiSaLMaN
e0c1fb7818 Compare by milliseconds for length 2019-07-09 14:47:54 +03:00
iiSaLMaN
129899f419 Add a BPM property in BeatmapInfo 2019-07-08 10:43:35 +03:00
iiSaLMaN
90d5484818 Return BPM back to OnlineInfo
Revert commit of "Move BPM out of OnlineInfo"
2019-07-08 09:10:41 +03:00
iiSaLMaN
729f0901f7 Move Length out of OnlineInfo 2019-07-07 20:25:36 +03:00
iiSaLMaN
3ea9629daf Move BPM out of OnlineInfo 2019-07-07 20:11:44 +03:00
iiSaLMaN
b4ef64fa61 Add sorting by Length 2019-07-07 18:26:56 +03:00
iiSaLMaN
188c80374e Add sorting by BPM 2019-07-07 18:14:23 +03:00
Ganendra Afrasya
d540565197
Merge branch 'master' into difficulty-icon-tooltip 2019-06-22 11:54:00 +07:00
Dan Balasescu
8ab7a8641b
Add comment for why it's not a fill flow 2019-06-21 12:42:35 +09:00
David Zhao
65c84428cc Fix position of gradient in beatmap carousel 2019-06-20 15:05:15 +09:00
Dean Herbert
d0a452cdf9 Show tooltips for beatmap set panels 2019-06-20 01:10:03 +09:00
smoogipoo
a6dc5606bc Allow beatmapsets to be sorted by date added 2019-06-05 18:17:43 +09:00
Dean Herbert
4ca34bd5e8 Update osu! in line with audio subsystem refactor 2019-05-28 17:06:01 +09:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
Dean Herbert
d40177f97c
Merge branch 'master' into drawnode-composability 2019-04-27 18:41:19 +09:00
smoogipoo
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
smoogipoo
772bef91fa Merge remote-tracking branch 'Joehuu/master' into drawnode-composability
# Conflicts:
#	osu.Game.Rulesets.Osu/UI/Cursor/OsuCursorContainer.cs
2019-04-08 23:01:12 +09:00
Samuel Van Allen
bb516da5b6 Removed redundant empty argument list 2019-04-03 22:57:05 +08:00
Samuel Van Allen
3660924441 Trimmed whitespace 2019-04-03 22:40:20 +08:00
Samuel Van Allen
4d60f6fb6a Use collection initializer and added missing blank line 2019-04-03 22:37:50 +08:00
Samuel Van Allen
73c7c6c316 Hides "Details" button when OnlineBeatmapID is null 2019-04-03 21:44:36 +08:00
smoogipoo
a56e29347f Adjust namespaces 2019-04-02 14:51:28 +09:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
Dean Herbert
c496f6e56b Fix usages of OnLoadComplete 2019-03-17 13:44:20 +09:00
Dean Herbert
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
Dean Herbert
3015d40f8f
Merge branch 'master' into osu-fontusage 2019-02-22 18:09:23 +09:00
Dean Herbert
3fe4b8fd1c Update variable names
Also cleans up some weird code
2019-02-22 17:51:39 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f Update with framework bindable changes 2019-02-21 18:56:34 +09:00
smoogipoo
dbfa95b9e7 Made medium the default font weight 2019-02-20 16:52:36 +09:00
smoogipoo
a2aa3ec5cb Adjust sprite texts in-line with framework changes 2019-02-20 15:03:20 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert
eec5afa382 Change inspection and add redundant parenthesis to appease codefactor 2018-12-15 16:37:37 +09:00
Dean Herbert
3892454ecc Improve the way text search works at song select 2018-12-15 16:34:48 +09:00
Dean Herbert
4433346a1f
Merge branch 'master' into star-filtering 2018-12-14 20:19:59 +09:00
smoogipoo
f27bd3ef3e OpenTK -> osuTK 2018-11-20 17:14:59 +09:00
Unknown
d83ce7e4bb don't allow null values in FilterCriteria, ensure values in test instead 2018-10-19 12:22:10 +02:00
Unknown
11dad7bf74 filter beatmaps by star range 2018-10-10 16:46:02 +02:00
ekrctb
99fc04c8af Change signature to new event handler 2018-10-02 12:02:47 +09:00
Dean Herbert
37f3035437 Merge remote-tracking branch 'upstream/master' into update-framework 2018-09-20 18:39:48 +09:00
smoogipoo
62135c39aa Cleanup 2018-09-20 12:56:39 +09:00
smoogipoo
7b8094d731 Move text size/padding out of constructor 2018-09-20 12:53:45 +09:00
smoogipoo
28f31540c4 Apply changes in-line with framework localisation changes 2018-09-19 14:07:46 +09:00
Unknown
5414ce9932 add StatusPill to BeatmapInfoWedge and DrawabelCarouselBeatmapSet 2018-09-13 10:18:20 +02:00
Dean Herbert
c23b9b61a8 Simplify implementation in line with framework improvements 2018-09-06 17:28:08 +09:00
Dean Herbert
e63f60231a Optimise carousel memory usage by unloading off-screen panels 2018-09-06 13:31:37 +09:00
Dean Herbert
03084aa04b Revert async changes 2018-08-31 07:07:10 +09:00
smoogipoo
e7a5816d27 Use GetAsync for all samples 2018-08-27 17:30:16 +09:00
Dean Herbert
1b456fd716 Fix a potential InvalidOperationException when entering song select
Closes #3052.
2018-07-23 13:11:06 +02:00
Dean Herbert
0f37758314 Update framework 2018-07-21 16:21:53 +09:00
Dean Herbert
54e53f7190 Fix player getting loaded when exiting song select 2018-05-30 15:48:20 +09:00
Dean Herbert
3886e75959 Fix potentially missing group headers in beatmap carousel 2018-04-24 01:52:25 +09:00
Dean Herbert
2d1cef79d6 Fix instability in carousel item sorting 2018-04-23 19:01:01 +09:00
Dean Herbert
1728dd6502 Make BeatmapSetOverlay accept nulls everywhere 2018-04-18 16:42:09 +09:00
Dean Herbert
f62677222c Merge remote-tracking branch 'upstream/master' into naoey-show-beatmap-id 2018-04-18 13:08:53 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
naoey
7482d5986a
Add a loading state to BeatmapSetOverlay.
- Handle null value in header and info sections
- Add item to context menu for carousel beatmaps to show details
2018-04-04 21:46:31 +05:30
smoogipoo
69e2d4fd22 Make CarouselRoot a nested class 2018-04-02 15:24:08 +09:00
smoogipoo
82a847b820 Extract random selection logic into CarouselRoot 2018-04-02 15:16:10 +09:00
Endrik Tombak
7e30375443 Use selectNextRandom instead 2018-03-30 10:46:46 +03:00
Endrik Tombak
3f65e3a7e3 Make selection at random when last was null 2018-03-30 00:15:32 +03:00
Shane Woolcock
d603d032d5 Inlined delete beatmap dialog 2018-02-13 16:26:05 +10:30
Shane Woolcock
8d313486b3 Add a confirmation dialog to the Delete option in the beatmap context menu 2018-02-13 00:40:34 +10:30
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo
5eb2dc3d64 Cleanup some possible CI errors
Not sure why these aren't being detected on master right now - they should be...
2018-01-05 01:20:24 +09:00
Dean Herbert
e0f23a056a Fix crash from being able to perform selection after entering play mode
Closes #1757
2017-12-28 21:07:19 +09:00
Dean Herbert
052badc1bd Add a right-click context option to carousel panels to view online beatmap details 2017-12-21 19:42:44 +09:00
Dean Herbert
b2cd32eb95 Move children to CarouselGroup 2017-12-18 11:57:13 +09:00
Dean Herbert
4e46565f6e Remove todo 2017-12-18 11:25:02 +09:00
Dean Herbert
b21c22085d Make more things private 2017-12-18 11:13:16 +09:00
Dean Herbert
dfd7787b15 Move more overhead from ctor to BDL 2017-12-18 07:58:48 +09:00
Dean Herbert
c10288541c Avoid redundant IndexOf calls 2017-12-18 07:58:34 +09:00
Dean Herbert
54cc6fadf9 Greatly improve performance when many hidden panels are on-screen 2017-12-17 05:57:50 +09:00
Dean Herbert
5d7413f19c Improve performance with large numbers of panels visible 2017-12-17 04:30:56 +09:00
Dean Herbert
c02ce16f47 Remove unnecessary capture 2017-12-17 03:04:57 +09:00
Dean Herbert
d27047f94d Remove logging 2017-12-17 03:04:37 +09:00
Dean Herbert
29a8ade59f Rename "Hidden" to "Collapsed" 2017-12-16 23:56:14 +09:00
Dean Herbert
bd9056c709 Better choose new selection when multiple items are removed including current 2017-12-16 17:32:21 +09:00
Dean Herbert
3c406662ed Ensure correct selection after deletion of currently selected
Also fixes a lot of bad interactions and simplifies further.
2017-12-16 16:18:44 +09:00
Dean Herbert
a8a2c233a0 Add tests for (and fix) removal of last item in carousel 2017-12-16 00:33:09 +09:00
Dean Herbert
acfdd32783 Move DrawableCarouselBeatmap initialisation to BDL
oops
2017-12-15 18:38:09 +09:00
Dean Herbert
67f05977ea Add sorting support 2017-12-15 14:36:51 +09:00
Dean Herbert
b4b2f12116 Add support for adding/removing items
Tests accompany of course
2017-12-15 14:36:51 +09:00
Dean Herbert
1b85952441 Cleanup and basic TestCase 2017-12-15 14:36:51 +09:00
Dean Herbert
99b00143eb More clean-ups and event bindings 2017-12-15 14:36:51 +09:00
Dean Herbert
78dd975a35 Initial carousel infrastructue changes 2017-12-15 14:36:51 +09:00