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 public interface IControlMainform
{ {
bool WantsToControlReadOnly { get; }
void ToggleReadOnly(); void ToggleReadOnly();
bool WantsToCOntrolStopMovie { get; }
void StopMovie();
} }
} }

View File

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

View File

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

View File

@ -2,9 +2,17 @@
{ {
public partial class TAStudio : IControlMainform public partial class TAStudio : IControlMainform
{ {
public bool WantsToControlReadOnly { get { return true; } }
public void ToggleReadOnly() public void ToggleReadOnly()
{ {
GlobalWin.OSD.AddMessage("TAStudio does not allow manual readonly toggle"); 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()) if (AskSave())
{ {
SaveConfigSettings(); SaveConfigSettings();
GlobalWin.MainForm.StopMovie(saveChanges: true); GlobalWin.MainForm.StopMovie(saveChanges: false);
DisengageTastudio(); DisengageTastudio();
} }
else else
@ -138,11 +138,12 @@ namespace BizHawk.Client.EmuHawk
PathManager.FilesystemSafeName(Global.Game) + "." + TasMovie.Extension); PathManager.FilesystemSafeName(Global.Game) + "." + TasMovie.Extension);
} }
private void StartSessionFromTasMovie() private void StartNewTasMovie()
{ {
if (AskSave()) if (AskSave())
{ {
GlobalWin.MainForm.StartNewMovie(_tas, record: false); NewTasMovie();
GlobalWin.MainForm.StartNewMovie(_tas, record: true);
RefreshDialog(); RefreshDialog();
} }
} }
@ -295,7 +296,7 @@ namespace BizHawk.Client.EmuHawk
private void NewTasMenuItem_Click(object sender, EventArgs e) private void NewTasMenuItem_Click(object sender, EventArgs e)
{ {
GlobalWin.OSD.AddMessage("new TAStudio session started"); GlobalWin.OSD.AddMessage("new TAStudio session started");
StartSessionFromTasMovie(); StartNewTasMovie();
} }
private void OpenTasMenuItem_Click(object sender, EventArgs e) private void OpenTasMenuItem_Click(object sender, EventArgs e)