Fix always getting a "movie was written to disk" message when stopping a movie, will now only say so if it actually was saved to disk

This commit is contained in:
adelikat 2014-09-27 23:44:59 +00:00
parent 1dc789eb02
commit 734b8338bc
4 changed files with 14 additions and 5 deletions

View File

@ -195,8 +195,8 @@ namespace BizHawk.Client.Common
if (Movie.IsActive)
{
Movie.Stop(saveChanges);
if (saveChanges)
var result = Movie.Stop(saveChanges);
if (result)
{
Output(Path.GetFileName(Movie.Filename) + " written to disk.");
}

View File

@ -55,18 +55,22 @@ namespace BizHawk.Client.Common
Save();
}
public void Stop(bool saveChanges = true)
public bool Stop(bool saveChanges = true)
{
bool saved = false;
if (saveChanges)
{
if (_mode == Moviemode.Record || (IsActive && Changes))
{
Save();
saved = true;
}
}
Changes = false;
_mode = Moviemode.Inactive;
return saved;
}
public void FinishedMode()

View File

@ -77,18 +77,22 @@ namespace BizHawk.Client.Common
Save();
}
public void Stop(bool saveChanges = true)
public bool Stop(bool saveChanges = true)
{
bool saved = false;
if (saveChanges)
{
if (_mode == Moviemode.Record || _changes)
{
Save();
saved = true;
}
}
_changes = false;
_mode = Moviemode.Inactive;
return saved;
}
public void FinishedMode()

View File

@ -145,7 +145,8 @@ namespace BizHawk.Client.Common
/// The saveChanges flag will tell the movie to save its contents to disk
/// </summary>
/// <param name="saveChanges">if true, will save to disk</param>
void Stop(bool saveChanges = true);
/// <returns>Whether or not the movie was saved</returns>
bool Stop(bool saveChanges = true);
/// <summary>
/// Switches to record mode