Set menu de/activate handlers on tool form MenuStrips (fixes #2281)
these call methods on MainForm, which decides whether or not to pause/unpause
This commit is contained in:
parent
1c5f9fccb3
commit
8e72dddd41
|
@ -69,6 +69,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
/// <remarks>only referenced from <see cref="BookmarksBranchesBox"/></remarks>
|
||||
BitmapBuffer MakeScreenshotImage();
|
||||
|
||||
void MaybePauseFromMenuOpened();
|
||||
|
||||
void MaybeUnpauseFromMenuClosed();
|
||||
|
||||
void PauseEmulator();
|
||||
|
||||
/// <remarks>only referenced from <see cref="TAStudio"/></remarks>
|
||||
|
|
|
@ -2554,6 +2554,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void MainformMenu_MenuActivate(object sender, EventArgs e)
|
||||
{
|
||||
HandlePlatformMenus();
|
||||
MaybePauseFromMenuOpened();
|
||||
}
|
||||
|
||||
public void MaybePauseFromMenuOpened()
|
||||
{
|
||||
if (Config.PauseWhenMenuActivated)
|
||||
{
|
||||
_wasPaused = EmulatorPaused;
|
||||
|
@ -2562,7 +2567,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
private void MainformMenu_MenuDeactivate(object sender, EventArgs e)
|
||||
private void MainformMenu_MenuDeactivate(object sender, EventArgs e) => MaybeUnpauseFromMenuClosed();
|
||||
|
||||
public void MaybeUnpauseFromMenuClosed()
|
||||
{
|
||||
if (!_wasPaused)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
@ -130,5 +131,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
return Tools.IsOnScreen(topLeft);
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
if (MainMenuStrip != null)
|
||||
{
|
||||
MainMenuStrip.MenuActivate += (sender, args) => MainForm.MaybePauseFromMenuOpened();
|
||||
MainMenuStrip.MenuDeactivate += (sender, args) => MainForm.MaybeUnpauseFromMenuClosed();
|
||||
}
|
||||
base.OnLoad(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue