mirror of
https://github.com/ppy/osu.git
synced 2025-03-01 15:33:21 +08:00
Allow popovers to be closed via back button press
Closes https://github.com/ppy/osu/issues/14669.
This commit is contained in:
parent
3865988e48
commit
344bf2ab7c
@ -4,14 +4,17 @@
|
|||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Framework.Graphics.Effects;
|
using osu.Framework.Graphics.Effects;
|
||||||
using osu.Framework.Graphics.UserInterface;
|
using osu.Framework.Graphics.UserInterface;
|
||||||
|
using osu.Framework.Input.Bindings;
|
||||||
|
using osu.Game.Input.Bindings;
|
||||||
using osu.Game.Overlays;
|
using osu.Game.Overlays;
|
||||||
using osuTK;
|
using osuTK;
|
||||||
|
|
||||||
namespace osu.Game.Graphics.UserInterfaceV2
|
namespace osu.Game.Graphics.UserInterfaceV2
|
||||||
{
|
{
|
||||||
public class OsuPopover : Popover
|
public class OsuPopover : Popover, IKeyBindingHandler<GlobalAction>
|
||||||
{
|
{
|
||||||
private const float fade_duration = 250;
|
private const float fade_duration = 250;
|
||||||
private const double scale_duration = 500;
|
private const double scale_duration = 500;
|
||||||
@ -51,5 +54,24 @@ namespace osu.Game.Graphics.UserInterfaceV2
|
|||||||
this.ScaleTo(0.7f, scale_duration, Easing.OutQuint);
|
this.ScaleTo(0.7f, scale_duration, Easing.OutQuint);
|
||||||
this.FadeOut(fade_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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user