1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 20:13:21 +08:00
Commit Graph

28 Commits

Author SHA1 Message Date
Dean Herbert
6ac1c799bd
Fix SettingsToolboxGroup allocating excessively due to missing cache validation 2024-01-09 18:34:20 +09:00
Dean Herbert
a02556d2fa Move hover logic to SettingsToolboxGroup to avoid expanded state clash 2023-01-17 14:43:22 +09:00
Salman Ahmed
7d8aff8f7e Fix settings toolbox group not animating on expansion 2023-01-05 14:35:57 +03:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dean Herbert
6b42f1931a Remove autosize easing in SettingsToolboxGroup
It just feels like unnecessary motion.
2022-10-18 15:01:26 +09:00
Dean Herbert
32c3e35762 Change background colour to a lighter tint to avoid clash with slider bars 2022-10-14 19:38:27 +09:00
Dean Herbert
2404bb42b9 Use 10% alpha rather than 0% when toolbox is not hovered 2022-10-14 19:33:49 +09:00
Dean Herbert
a93c350ca8 Start settings panels without background visible 2022-10-13 17:11:56 +09:00
Dean Herbert
6608ada925 Fix test failures due to missing colour provider dependency 2022-10-13 17:05:11 +09:00
Dean Herbert
0f4a2a6059 Improve feel of settings toolbox group 2022-10-13 16:36:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Salman Ahmed
96ea4ee7b3 Add explanatory comment 2022-05-09 23:49:05 +03:00
Salman Ahmed
702c6ae658 Fix SettingsToolboxGroup not clearing transforms before updating autosize 2022-05-09 13:49:31 +03:00
Bartłomiej Dach
e9d52aa954
Remove not-accessed field 2022-05-06 13:09:37 +02:00
Bartłomiej Dach
a915b7333c
Remove unused using directive 2022-05-06 13:08:54 +02:00
Dean Herbert
88c190f3e3 Change colour denoting expanded state to be gray rather than yellow
I always found the yellow colour very non-descript in this case. Gray
seems to work better?
2022-05-06 19:45:17 +09:00
Dean Herbert
b432885e5f Tidy up ordering of SettingsToolboxGroup 2022-05-06 19:39:09 +09:00
Dean Herbert
59add66632 Remove unnecessary autosize workaround (was fixed long ago) 2022-05-06 19:39:00 +09:00
Dean Herbert
949e30c4b4 Remove auto-expansion of individual toolbox groups when parent expanding container expands 2022-05-06 19:36:41 +09:00
Salman Ahmed
717ddbba4e Fix skin components toolbox not autosizing properly 2022-03-10 16:30:20 +03:00
Dean Herbert
9c43500ad3 Add ability for player loading screen settings to scroll
As we add more items here this is going to become necessary. Until the design no doubt gets changed.
2022-03-03 16:23:31 +09:00
Dean Herbert
b9d9fc56af Move files to UI namespace 2022-02-14 17:51:39 +09:00
Salman Ahmed
326f12f847 Add IExpandable support for SettingsToolboxGroup 2022-01-23 05:41:16 +03:00
Bartłomiej Dach
8f744c99ee
Fix settings toolbox toggle button starting in incorrect state
While displaying replays, the colour of the toolbox toggle button would
not match the actual state of the rest of the toolbox, i.e. both buttons
would be white, even though the "playback settings" section was expanded
and as such should have a yellow toggle button.

In the case of the replay player, the failure scenario was as follows:

1. `SettingsToolboxGroup` calls `updateExpanded()` in its BDL to update
   the initial state of the toolbox, including the toggle button
   colour, by adding a colour fade transform.

2. An ancestor of both the toolbox groups - `PlayerSettingsOverlay`,
   which is a `VisibilityContainer` - calls `FinishTransforms(true)` in
   its `LoadCompleteAsync()`, therefore instantly applying the colour
   from point (1) to the toggle button instantly.

3. However, `IconButton` inherits from `OsuAnimatedButton`. And
   `OsuAnimatedButton` changes its colour in `LoadComplete()`, therefore
   undoing the instant application from point (2).

This conjunction of circumstances is instrumental to reproducing the
bug, because if the `FinishTransforms(true)` call wasn't there, point
(3) wouldn't matter - the transform would get applied at some
indeterminate point in the future, ignoring the write from
`OsuAnimatedButton`.

As for the fix, move the `updateExpanded()` call in
`SettingsToolboxGroup` to `LoadComplete()` to avoid the above
unfortunate order. Applying initial visual state in `LoadComplete()` is
the idiomatic style of doing things these days anyhow.
2022-01-06 20:45:56 +01:00
Dean Herbert
e02863f780 Avoid accessing DrawWidth from invalidation 2022-01-07 01:24:30 +09:00
Dean Herbert
5aca2dd4ce Hide header text when it won't fit in the toolbox group 2022-01-06 23:08:50 +09:00
Dean Herbert
cea9cab4dc Use ExpandingButtonContainer in editor composer 2022-01-06 21:10:45 +09:00
Dean Herbert
5baaf356aa Split out SettingsToolboxGroup from PlayerSettingsGroup 2022-01-06 21:05:00 +09:00