mirror of https://github.com/ppy/osu
Always show exit confirmation when closing via alt-f4 or window control
This commit is contained in:
parent
433df52c7b
commit
636582e089
|
@ -69,11 +69,22 @@ public class MainMenu : OsuScreen
|
|||
[BackgroundDependencyLoader(true)]
|
||||
private void load(DirectOverlay direct, SettingsOverlay settings, OsuConfigManager config)
|
||||
{
|
||||
if (host.CanExit)
|
||||
AddInternal(exitConfirmOverlay = new ExitConfirmOverlay { Action = this.Exit });
|
||||
|
||||
holdDelay = config.GetBindable<int>(OsuSetting.UIHoldActivationDelay);
|
||||
|
||||
if (host.CanExit)
|
||||
{
|
||||
AddInternal(exitConfirmOverlay = new ExitConfirmOverlay
|
||||
{
|
||||
Action = () =>
|
||||
{
|
||||
if (holdDelay.Value > 0)
|
||||
confirmAndExit();
|
||||
else
|
||||
this.Exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
AddRangeInternal(new Drawable[]
|
||||
{
|
||||
new ParallaxContainer
|
||||
|
@ -241,7 +252,7 @@ public override void OnResuming(IScreen last)
|
|||
|
||||
public override bool OnExiting(IScreen next)
|
||||
{
|
||||
if (holdDelay.Value == 0 && !exitConfirmed && dialogOverlay != null && !(dialogOverlay.CurrentDialog is ConfirmExitDialog))
|
||||
if (!exitConfirmed && dialogOverlay != null && !(dialogOverlay.CurrentDialog is ConfirmExitDialog))
|
||||
{
|
||||
dialogOverlay.Push(new ConfirmExitDialog(confirmAndExit, () => exitConfirmOverlay.Abort()));
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue