mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 10:12:54 +08:00
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 @@ namespace osu.Game.Screens.Menu
|
||||
[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 @@ namespace osu.Game.Screens.Menu
|
||||
|
||||
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
Block a user