From a3f29625587fd0cb52c8d4042dd1b48f82d62db2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Wed, 25 May 2022 22:12:09 +0200 Subject: [PATCH] Disable "deselect all mods" button if none are selected --- osu.Game/Overlays/Mods/DeselectAllModsButton.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/osu.Game/Overlays/Mods/DeselectAllModsButton.cs b/osu.Game/Overlays/Mods/DeselectAllModsButton.cs index 39009c8656..8288d34c95 100644 --- a/osu.Game/Overlays/Mods/DeselectAllModsButton.cs +++ b/osu.Game/Overlays/Mods/DeselectAllModsButton.cs @@ -15,11 +15,27 @@ namespace osu.Game.Overlays.Mods { public class DeselectAllModsButton : ShearedButton, IKeyBindingHandler { + private readonly Bindable> selectedMods = new Bindable>(); + public DeselectAllModsButton(ModSelectOverlay modSelectOverlay) : base(ModSelectOverlay.BUTTON_WIDTH) { Text = CommonStrings.DeselectAll; Action = modSelectOverlay.DeselectAll; + + selectedMods.BindTo(modSelectOverlay.SelectedMods); + } + + protected override void LoadComplete() + { + base.LoadComplete(); + + selectedMods.BindValueChanged(_ => updateEnabledState(), true); + } + + private void updateEnabledState() + { + Enabled.Value = selectedMods.Value.Any(); } public bool OnPressed(KeyBindingPressEvent e)