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)]
|
[BackgroundDependencyLoader(true)]
|
||||||
private void load(DirectOverlay direct, SettingsOverlay settings, OsuConfigManager config)
|
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);
|
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[]
|
AddRangeInternal(new Drawable[]
|
||||||
{
|
{
|
||||||
new ParallaxContainer
|
new ParallaxContainer
|
||||||
|
@ -241,7 +252,7 @@ public override void OnResuming(IScreen last)
|
||||||
|
|
||||||
public override bool OnExiting(IScreen next)
|
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()));
|
dialogOverlay.Push(new ConfirmExitDialog(confirmAndExit, () => exitConfirmOverlay.Abort()));
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue