From 65097fddc154808e06546d53595b3f5fe786e01a Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Sun, 12 May 2019 22:34:36 +0900 Subject: [PATCH 1/2] Hide music controller when exiting via Alt-F4 Closes #4764. --- osu.Game/OsuGame.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index 7b2a8184d1..a431802a1d 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -147,12 +147,17 @@ namespace osu.Game /// /// Close all game-wide overlays. /// - /// Whether the toolbar should also be hidden. - public void CloseAllOverlays(bool toolbar = true) + /// Whether the toolbar (and accompanying controls) should also be hidden. + public void CloseAllOverlays(bool hideToolbarElements = true) { foreach (var overlay in overlays) overlay.State = Visibility.Hidden; - if (toolbar) Toolbar.State = Visibility.Hidden; + + if (hideToolbarElements) + { + Toolbar.State = Visibility.Hidden; + musicController.State = Visibility.Hidden; + } } private DependencyContainer dependencies; From ec5b024fa605bce0706d0f608b1dcb2dfade6691 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 14 May 2019 18:34:25 +0900 Subject: [PATCH 2/2] Define toolbarElements --- osu.Game/OsuGame.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index c1004ce5eb..1f4b78f5fb 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -99,6 +99,8 @@ namespace osu.Game private readonly List overlays = new List(); + private readonly List toolbarElements = new List(); + private readonly List visibleBlockingOverlays = new List(); // todo: move this to SongSelect once Screen has the ability to unsuspend. @@ -142,8 +144,8 @@ namespace osu.Game if (hideToolbarElements) { - Toolbar.State = Visibility.Hidden; - musicController.State = Visibility.Hidden; + foreach (var overlay in toolbarElements) + overlay.State = Visibility.Hidden; } } @@ -420,7 +422,11 @@ namespace osu.Game CloseAllOverlays(false); menuScreen?.MakeCurrent(); }, - }, topMostOverlayContent.Add); + }, d => + { + topMostOverlayContent.Add(d); + toolbarElements.Add(d); + }); loadComponentSingleFile(volume = new VolumeOverlay(), leftFloatingOverlayContent.Add); loadComponentSingleFile(new OnScreenDisplay(), Add, true); @@ -455,7 +461,11 @@ namespace osu.Game GetToolbarHeight = () => ToolbarOffset, Anchor = Anchor.TopRight, Origin = Anchor.TopRight, - }, rightFloatingOverlayContent.Add, true); + }, d => + { + rightFloatingOverlayContent.Add(d); + toolbarElements.Add(d); + }, true); loadComponentSingleFile(new AccountCreationOverlay(), topMostOverlayContent.Add, true); loadComponentSingleFile(new DialogOverlay(), topMostOverlayContent.Add, true);