1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-01 12:12:54 +08:00

Allow popovers to be closed via back button press

Closes https://github.com/ppy/osu/issues/14669.
This commit is contained in:
Dean Herbert 2021-09-10 02:15:30 +09:00
parent 3865988e48
commit 344bf2ab7c

View File

@ -4,14 +4,17 @@
using JetBrains.Annotations;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Effects;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.Bindings;
using osu.Game.Input.Bindings;
using osu.Game.Overlays;
using osuTK;
namespace osu.Game.Graphics.UserInterfaceV2
{
public class OsuPopover : Popover
public class OsuPopover : Popover, IKeyBindingHandler<GlobalAction>
{
private const float fade_duration = 250;
private const double scale_duration = 500;
@ -51,5 +54,24 @@ namespace osu.Game.Graphics.UserInterfaceV2
this.ScaleTo(0.7f, scale_duration, Easing.OutQuint);
this.FadeOut(fade_duration, Easing.OutQuint);
}
public bool OnPressed(GlobalAction action)
{
if (State.Value == Visibility.Hidden)
return false;
if (action == GlobalAction.Back)
{
Hide();
return true;
}
return false;
}
public void OnReleased(GlobalAction action)
{
throw new System.NotImplementedException();
}
}
}