Let TAStudio take control of the Mainform StopMovie function

This commit is contained in:
adelikat 2014-07-10 19:51:36 +00:00
parent 5681368e13
commit 2ae2f5dce2
5 changed files with 27 additions and 7 deletions

View File

@ -2,6 +2,10 @@
{
public interface IControlMainform
{
bool WantsToControlReadOnly { get; }
void ToggleReadOnly();
bool WantsToCOntrolStopMovie { get; }
void StopMovie();
}
}

View File

@ -163,8 +163,15 @@ namespace BizHawk.Client.EmuHawk
public void StopMovie(bool saveChanges = true)
{
Global.MovieSession.StopMovie(saveChanges);
SetMainformMovieInfo();
if (IsSlave && _master.WantsToCOntrolStopMovie)
{
_master.StopMovie();
}
else
{
Global.MovieSession.StopMovie(saveChanges);
SetMainformMovieInfo();
}
}
}
}

View File

@ -1896,7 +1896,7 @@ namespace BizHawk.Client.EmuHawk
private void ToggleReadOnly()
{
if (IsSlave)
if (IsSlave && _master.WantsToControlReadOnly)
{
_master.ToggleReadOnly();
}

View File

@ -2,9 +2,17 @@
{
public partial class TAStudio : IControlMainform
{
public bool WantsToControlReadOnly { get { return true; } }
public void ToggleReadOnly()
{
GlobalWin.OSD.AddMessage("TAStudio does not allow manual readonly toggle");
}
public bool WantsToCOntrolStopMovie { get { return true; } }
public void StopMovie()
{
this.Focus();
NewTasMenuItem_Click(null, null);
}
}
}

View File

@ -46,7 +46,7 @@ namespace BizHawk.Client.EmuHawk
if (AskSave())
{
SaveConfigSettings();
GlobalWin.MainForm.StopMovie(saveChanges: true);
GlobalWin.MainForm.StopMovie(saveChanges: false);
DisengageTastudio();
}
else
@ -138,11 +138,12 @@ namespace BizHawk.Client.EmuHawk
PathManager.FilesystemSafeName(Global.Game) + "." + TasMovie.Extension);
}
private void StartSessionFromTasMovie()
private void StartNewTasMovie()
{
if (AskSave())
{
GlobalWin.MainForm.StartNewMovie(_tas, record: false);
NewTasMovie();
GlobalWin.MainForm.StartNewMovie(_tas, record: true);
RefreshDialog();
}
}
@ -295,7 +296,7 @@ namespace BizHawk.Client.EmuHawk
private void NewTasMenuItem_Click(object sender, EventArgs e)
{
GlobalWin.OSD.AddMessage("new TAStudio session started");
StartSessionFromTasMovie();
StartNewTasMovie();
}
private void OpenTasMenuItem_Click(object sender, EventArgs e)