1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-30 01:49:56 +08:00
Commit Graph

6 Commits

  • Refactor ShearedButton to allow easier relative sizing (#36802)
    This commit rearranges the contents of `ShearedButtons` to be more
    independent of each other in regards to sizing. Thanks to that, the
    custom logic related to enabling autosizing is no longer necessary.
    Witdh and height are no longer set via the constructor, and can be
    freely configured using the initializer syntax.
    
    Additionally, this allows the button to use relative sizing without
    having to resort to any hackery with `Size` (this will come in handy for
    me when implementing the new footer on multiplayer screens).
    
    Given that most of the `ShearedButton`s currently in use set their width
    explicitly, I did not set `AutoSizeAxes = Axes.X` like it would be by
    default previously. Instead it is set on the only two such buttons (show
    converts/selected mods on ssv2). I suppose it might be a good idea to
    have it set that by default if no `Width` is specified, as right now
    it'll just not show anything.
    
    Also I've set the margin on the text field by default in all cases
    instead of only when autosizing like how it was previously, since
    otherwise it would be a pain to set that on each button instance when
    needed. I've checked all affected components and could not find any text
    overflowing issues that this could cause.
    
    ---------
    
    Co-authored-by: Dean Herbert <pe@ppy.sh>
  • Abstract out WizardOverlay for multi-step wizard type screens
    To be used in the editor, for the beatmap submission wizard.
    
    I've recently been on record for hating "abstract" as a rationale to do
    anything, but seeing this commit ~3 months after I originally made it,
    it still feels okay to do for me in this particular case. I think the
    abstraction is loose enough, makes sense from a code reuse and UX
    consistency standpoint, and doesn't seem to leak any particular
    implementation details. That said, it is both a huge diffstat and also
    potentially controversial, which is why I'm PRing first separately.