Commit Graph

78 Commits

Author SHA1 Message Date
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
e744840d07 Ensure old results are cleared from beatmap overlay on logout 2022-02-22 14:56:04 +09:00
Bartłomiej Dach
33ab356dc5
Fix expanded card content being clipped on beatmap listing overlay 2022-01-19 22:10:05 +01:00
Dean Herbert
39650ce7e9
Merge pull request #16307 from peppy/beatmap-listing-bottom-padding
Add padding to the bottom of the beatmap listing overlay to avoid hovered panels exceeding visible bounds
2022-01-04 14:14:42 +09:00
Bartłomiej Dach
de33b420ab
Add safety against performing operation on non-alive foundContent 2022-01-03 20:02:46 +01:00
Bartłomiej Dach
586f158920
Remove initial foundContent value
It always is replaced on the first search anyway, and just remains
forever in the overlay otherwise.
2022-01-03 19:52:42 +01:00
Bartłomiej Dach
6650a468e0
Fix and simplify very broken beatmap listing content swap-out logic
The beatmap listing content swap-out logic was already a source of
several problems, and several attempts of fixing it were made. But as it
turns out it was terminally broken in several aspects.

* The `BypassAutoSizeAxes` juggling was finicky and ugly, and didn't
  really look much different than an instant fade. Therefore, all fade
  durations and manipulations of `BypassAutoSizeAxes` are removed.

* The transform sequence juggling the `BypassAutoSizeAxes` manipulations
  was enqueued on the content which is being in the process of fading
  out. That was partially fixed in 25e38560, but as it turns out, that
  only works if `lastContent` is one of the two placeholder drawables
  (results not found / supporter required to use filter).

  It would not work if `lastContent` is a
  `ReverseChildIDFillFlowContainer` with cards from a previous search in
  it.
2022-01-03 19:51:46 +01:00
Bartłomiej Dach
ef9f56e585
Fix bad check if content is placeholder
The `lastContent == foundContent` check, last touched in a49a4329, is
terminally broken, as it would always be false. `foundContent` is
mutated when a new card load task is started in `onSearchFinished()`,
which is *before* the aforementioned check.

The code prior to a49a4329 was checking against the two static reused
placeholder drawables which was the correct check to apply, and this
commit reverts to using a variant of that check.
2022-01-03 19:51:20 +01:00
Bartłomiej Dach
97439c3df1
Rename method to reflect what it actually does 2022-01-03 19:30:17 +01:00
Dean Herbert
b9851b278d Add padding to the bottom of the beatmap listing overlay to avoid hovered panels exceeding visible bounds
Closes https://github.com/ppy/osu/issues/16120.
2022-01-03 13:18:28 +09:00
Dean Herbert
cc7089c3f4 Cancel more liberally 2021-12-24 19:00:09 +09:00
Dean Herbert
d602aebebb Add missing cancellation token and rename load task variable to match purpose 2021-12-24 18:58:31 +09:00
Bartłomiej Dach
a49a4329ee
Add capability to switch between card sizes 2021-12-23 15:55:37 +01:00
Bartłomiej Dach
d0427ec85f
Add support card size tab control to beatmap listing 2021-12-23 15:55:37 +01:00
Bartłomiej Dach
25e38560ce
Fix placeholder drawables on beatmap listing not always hiding correctly
`BeatmapListingOverlay.addContentToPlaceholder()`, in order to make
transitions between different beatmap listing content (whether it is
actual cards, or placeholders for no beatmaps found/supporter-specific
filters chosen), would set `BypassAutoSizeAxes = Y` on content as it is
fading out, to make the transition smoother. The property in question
was supposed to be getting restored to `None` on the next show.

In testing scenarios, it sometimes turned out that this wasn't the case,
therefore making the placeholders effectively not show - while they
were present and fully opaque, they would be the only child of
an auto-sized container with `BypassAutoSizeAxes = Y`, so the parent
auto-sized to a zero height, which logically follows from the premise,
but is not what was desired.

This in turn was caused by the fact that the `BypassAutoSizeAxes = Y`
set was scheduled, and sometimes it would be scheduled in such a way
that the drawable would cease to be present on the next frame due to its
alpha being past the cutoff point of 0.0001. Therefore the scheduled set
would not execute until the *next* time the placeholder was shown,
therefore causing the bug.

Fix by ensuring that the placeholder drawables are always present if
their schedulers have any tasks enqueued, on top of the usual checks of
alpha and scale performed via the base implementation.
2021-12-22 15:05:23 +01:00
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal} 2021-12-21 08:26:21 +01:00
Bartłomiej Dach
999bba439f
Clarify usages of reverse child ID flow with inline comments 2021-12-06 21:02:40 +01:00
Bartłomiej Dach
af10223ac4
Add reverse fill flows & depth specs at usage sites for correct Z-ordering 2021-12-05 20:07:46 +01:00
Bartłomiej Dach
0f9ebe3d5d
Use beatmap cards in beatmap listing overlay 2021-11-25 22:30:46 +01:00
Dean Herbert
a16c8f1ebc Update all beatmap overlay views to use APIBeatmap/APIBeatmapSet 2021-10-29 18:50:55 +09:00
Bartłomiej Dach
b9c127c07e
Improve content transitions in beatmap listing 2021-09-11 22:37:36 +02:00
Dean Herbert
0522500a57 Fix a couple of merge oversights 2021-07-01 19:45:17 +09:00
Dean Herbert
31dbc7798b Merge branch 'master' into linkify-metadata 2021-07-01 19:41:33 +09:00
Bartłomiej Dach
9061ab0a27 Update/reword comments in listing overlay 2021-06-26 20:42:13 +02:00
Bartłomiej Dach
b56dd7ff25 Fix naming and xmldocs in new beatmap search result structures 2021-06-26 20:35:07 +02:00
JimmyC7834
27735eeedb fixed code 2021-06-24 13:45:38 +08:00
JimmyC7834
0d17fb4259 fixed code 2021-06-22 13:53:21 +08:00
JimmyC7834
b162da5ee0 minor code change 2021-06-21 15:47:47 +08:00
JimmyC7834
22cc1e1452 fixed code style base on code analysis 2021-06-21 15:31:47 +08:00
JimmyC7834
3367456304 fixed SupporterRequiredDrawable style 2021-06-21 14:30:54 +08:00
JimmyC7834
0707642b76 fixed SupporterRequiredDrawable 2021-06-21 14:25:20 +08:00
JimmyC7834
d0a8b74823 fixed filter text order 2021-06-20 21:28:57 +08:00
JimmyC7834
996503eb2d fixed filter text display, added visual tests 2021-06-20 21:23:54 +08:00
JimmyC7834
42fdfbb9a1 added visual tests 2021-06-20 17:17:07 +08:00
JimmyC7834
27da3dc75a added supporter-only-filter content 2021-06-19 20:54:24 +08:00
smoogipoo
4c5268694e Localise some of the BeatmapListingOverlay 2021-06-16 13:46:13 +09:00
Dean Herbert
178d88bcf1 Change BackgroundColour into a property 2021-02-09 18:32:44 +09:00
Dean Herbert
3206c7cbae
Merge branch 'master' into overlay-header-refactor 2021-02-09 18:20:07 +09:00
Salman Ahmed
93bb2611d6 Merge branch 'fix-beatmap-listing' into fix-beatmap-listing-2 2021-01-26 09:43:49 +03:00
Dean Herbert
ca0242debe Tidy up logic to correctly expire in cases where expiry is expected 2021-01-26 15:42:48 +09:00
Salman Ahmed
0d8d0d6852 Apply alternative way of fixing 2021-01-26 01:03:29 +03:00
Salman Ahmed
c317d60169 Add offline test scene for beatmap listing overlay 2021-01-26 00:03:20 +03:00
Salman Ahmed
75d6dbdbb7 Fix beatmap listing placeholder potentially getting disposed 2021-01-26 00:03:20 +03:00
Salman Ahmed
9efce5717f Fix beatmap listing placeholder disappearing on second time display 2021-01-26 00:03:20 +03:00
Andrei Zavatski
6e34ab5d15 Rename WebOverlay to OnlineOverlay 2021-01-18 11:13:38 +03:00
Andrei Zavatski
27ffc98445 Implement WebOverlay component 2021-01-18 10:48:12 +03:00
Dean Herbert
54982dcdd7 Refactor LoadingLayer to avoid applying effects to external drawables
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.

This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.

The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).

I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
Dean Herbert
a2ef3aa21a Force beatmap listing overlay's textbox back on screen when a key is pressed
Not the cleanest solution, but works for now. Will eventually be
replaced after the header is updated to reflect the latest designs
(which keeps it on screen in all cases).

Closes https://github.com/ppy/osu/issues/10703.
2020-11-10 16:26:30 +09:00
Dean Herbert
7bcbac6f45 Move header setting to FullscreenOverlay 2020-09-03 16:34:58 +09:00
Dean Herbert
c836c9319b Combine pagination logic into BeatmapListingFilterControl 2020-05-14 15:35:11 +09:00