Tastudio - make a new project called default.tasproj rather than gamename, only use gamename when suggesting a movie in a Open/SaveFileDialog

This commit is contained in:
adelikat 2014-10-18 15:50:12 +00:00
parent 2ba9d090ac
commit ceb79a4c26
3 changed files with 41 additions and 9 deletions

View File

@ -17,6 +17,8 @@ namespace BizHawk.Client.Common
private readonly TasStateManager StateManager;
public TasMovieMarkerList Markers { get; set; }
public const string DefaultProjectName = "default";
public TasMovie(string path) : base(path)
{
// TODO: how to call the default constructor AND the base(path) constructor? And is base(path) calling base() ?

View File

@ -18,9 +18,12 @@ namespace BizHawk.Client.EmuHawk
private void FileSubMenu_DropDownOpened(object sender, EventArgs e)
{
ToBk2MenuItem.Enabled =
SaveTASMenuItem.Enabled =
ToBk2MenuItem.Enabled =
!string.IsNullOrWhiteSpace(_currentTasMovie.Filename);
SaveTASMenuItem.Enabled =
!string.IsNullOrWhiteSpace(_currentTasMovie.Filename) &&
(_currentTasMovie.Filename != DefaultTasProjName());
}
private void RecentSubMenu_DropDownOpened(object sender, EventArgs e)
@ -30,11 +33,6 @@ namespace BizHawk.Client.EmuHawk
Global.Config.RecentTas.RecentMenu(DummyLoadProject));
}
private void DummyLoadProject(string path)
{
LoadProject(path);
}
private void NewTasMenuItem_Click(object sender, EventArgs e)
{
GlobalWin.OSD.AddMessage("new TAStudio session started");
@ -45,7 +43,13 @@ namespace BizHawk.Client.EmuHawk
{
if (AskSaveChanges())
{
var file = ToolHelpers.GetTasProjFileFromUser(_currentTasMovie.Filename);
var filename = _currentTasMovie.Filename;
if (string.IsNullOrWhiteSpace(filename) || filename == DefaultTasProjName())
{
filename = "";
}
var file = ToolHelpers.GetTasProjFileFromUser(filename);
if (file != null)
{
_currentTasMovie.Filename = file.FullName;
@ -83,13 +87,20 @@ namespace BizHawk.Client.EmuHawk
private void SaveAsTasMenuItem_Click(object sender, EventArgs e)
{
var file = ToolHelpers.GetTasProjSaveFileFromUser(_currentTasMovie.Filename);
var filename = _currentTasMovie.Filename;
if (string.IsNullOrWhiteSpace(filename) || filename == DefaultTasProjName())
{
filename = SuggestedTasProjName();
}
var file = ToolHelpers.GetTasProjSaveFileFromUser(filename);
if (file != null)
{
_currentTasMovie.Filename = file.FullName;
_currentTasMovie.Save();
Global.Config.RecentTas.Add(_currentTasMovie.Filename);
MessageStatusLabel.Text = Path.GetFileName(_currentTasMovie.Filename) + " saved.";
SetTextProperty();
}
}

View File

@ -107,7 +107,21 @@ namespace BizHawk.Client.EmuHawk
TasView.RowCount = 1;
}
/// <summary>
/// Used when starting a new project
/// </summary>
private static string DefaultTasProjName()
{
return Path.Combine(
PathManager.MakeAbsolutePath(Global.Config.PathEntries.MoviesPathFragment, null),
TasMovie.DefaultProjectName + "." + TasMovie.Extension);
}
/// <summary>
/// Used for things like SaveFile dialogs to suggest a name to the user
/// </summary>
/// <returns></returns>
private static string SuggestedTasProjName()
{
return Path.Combine(
PathManager.MakeAbsolutePath(Global.Config.PathEntries.MoviesPathFragment, null),
@ -133,6 +147,11 @@ namespace BizHawk.Client.EmuHawk
}
}
private void DummyLoadProject(string path)
{
LoadProject(path);
}
private string ClientSettingsForSave()
{
return TasView.UserSettingsSerialized();