TAStudio - convert to IToolFormAutoConfig

This commit is contained in:
adelikat 2015-01-01 18:10:07 +00:00
parent dbdc92e7e2
commit 6fb88a0105
5 changed files with 874 additions and 1040 deletions

View File

@ -342,11 +342,8 @@ namespace BizHawk.Client.Common
#endregion #endregion
// TAStudio Dialog // TAStudio Dialog
public ToolDialogSettings TAStudioSettings = new ToolDialogSettings();
public RecentFiles RecentTas = new RecentFiles(8); public RecentFiles RecentTas = new RecentFiles(8);
public TasStateManagerSettings DefaultTasProjSettings = new TasStateManagerSettings(); public TasStateManagerSettings DefaultTasProjSettings = new TasStateManagerSettings();
public bool AutoloadTAStudio = false;
public bool AutoloadTAStudioProject = false;
public bool TAStudioDrawInput = true; public bool TAStudioDrawInput = true;
public bool TAStudioAutoPause = true; public bool TAStudioAutoPause = true;
public bool TAStudioAutoRestoreLastPosition = false; public bool TAStudioAutoRestoreLastPosition = false;

View File

@ -372,11 +372,6 @@ namespace BizHawk.Client.EmuHawk
GlobalWin.Tools.LoadGameGenieEc(); GlobalWin.Tools.LoadGameGenieEc();
} }
if (Global.Config.AutoloadTAStudio)
{
GlobalWin.Tools.Load<TAStudio>();
}
if (Global.Config.AutoloadVirtualPad) if (Global.Config.AutoloadVirtualPad)
{ {
GlobalWin.Tools.Load<VirtualpadTool>(); GlobalWin.Tools.Load<VirtualpadTool>();

File diff suppressed because it is too large Load Diff

View File

@ -35,7 +35,7 @@ namespace BizHawk.Client.EmuHawk
{ {
RecentSubMenu.DropDownItems.Clear(); RecentSubMenu.DropDownItems.Clear();
RecentSubMenu.DropDownItems.AddRange( RecentSubMenu.DropDownItems.AddRange(
Global.Config.RecentTas.RecentMenu(DummyLoadProject)); Global.Config.RecentTas.RecentMenu(DummyLoadProject, true));
} }
private void NewTasMenuItem_Click(object sender, EventArgs e) private void NewTasMenuItem_Click(object sender, EventArgs e)
@ -533,7 +533,7 @@ namespace BizHawk.Client.EmuHawk
AutopauseAtEndOfMovieMenuItem.Checked = Global.Config.TAStudioAutoPause; AutopauseAtEndOfMovieMenuItem.Checked = Global.Config.TAStudioAutoPause;
EmptyNewMarkerNotesMenuItem.Checked = Global.Config.TAStudioEmptyMarkers; EmptyNewMarkerNotesMenuItem.Checked = Global.Config.TAStudioEmptyMarkers;
RotateMenuItem.ShortcutKeyDisplayString = TasView.RotateHotkeyStr;
} }
private void DrawInputByDraggingMenuItem_Click(object sender, EventArgs e) private void DrawInputByDraggingMenuItem_Click(object sender, EventArgs e)
@ -551,12 +551,6 @@ namespace BizHawk.Client.EmuHawk
Global.Config.TAStudioAutoPause ^= true; Global.Config.TAStudioAutoPause ^= true;
} }
private void RotateMenuItem_Click(object sender, EventArgs e)
{
TasView.HorizontalOrientation ^= true;
CurrentTasMovie.FlagChanges();
}
#endregion #endregion
#region Metadata #region Metadata
@ -611,49 +605,13 @@ namespace BizHawk.Client.EmuHawk
private void SettingsSubMenu_DropDownOpened(object sender, EventArgs e) private void SettingsSubMenu_DropDownOpened(object sender, EventArgs e)
{ {
SaveWindowPositionMenuItem.Checked = Global.Config.TAStudioSettings.SaveWindowPosition; RotateMenuItem.ShortcutKeyDisplayString = TasView.RotateHotkeyStr;
AutoloadMenuItem.Checked = Global.Config.AutoloadTAStudio;
AutoloadProjectMenuItem.Checked = Global.Config.AutoloadTAStudioProject;
AlwaysOnTopMenuItem.Checked = Global.Config.TAStudioSettings.TopMost;
FloatingWindowMenuItem.Checked = Global.Config.TAStudioSettings.FloatingWindow;
} }
private void AutoloadMenuItem_Click(object sender, EventArgs e) private void RotateMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.AutoloadTAStudio ^= true; TasView.HorizontalOrientation ^= true;
} CurrentTasMovie.FlagChanges();
private void AutoloadProjectMenuItem_Click(object sender, EventArgs e)
{
Global.Config.AutoloadTAStudioProject ^= true;
}
private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e)
{
Global.Config.TAStudioSettings.SaveWindowPosition ^= true;
}
private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e)
{
Global.Config.TAStudioSettings.TopMost ^= true;
TopMost = Global.Config.TAStudioSettings.TopMost;
}
private void FloatingWindowMenuItem_Click(object sender, EventArgs e)
{
Global.Config.TAStudioSettings.FloatingWindow ^= true;
RefreshFloatingWindowControl();
}
private void RestoreDefaultSettingsMenuItem_Click(object sender, EventArgs e)
{
Size = new Size(_defaultWidth, _defaultHeight);
Global.Config.TAStudioSettings.SaveWindowPosition = true;
Global.Config.TAStudioSettings.TopMost = false;
Global.Config.TAStudioSettings.FloatingWindow = false;
RefreshFloatingWindowControl();
} }
#endregion #endregion

View File

@ -16,7 +16,7 @@ using BizHawk.Client.EmuHawk.ToolExtensions;
namespace BizHawk.Client.EmuHawk namespace BizHawk.Client.EmuHawk
{ {
public partial class TAStudio : Form, IToolForm, IControlMainform public partial class TAStudio : Form, IToolFormAutoConfig, IControlMainform
{ {
// TODO: UI flow that conveniently allows to start from savestate // TODO: UI flow that conveniently allows to start from savestate
private const string MarkerColumnName = "MarkerColumn"; private const string MarkerColumnName = "MarkerColumn";
@ -24,8 +24,6 @@ namespace BizHawk.Client.EmuHawk
private readonly List<TasClipboardEntry> _tasClipboard = new List<TasClipboardEntry>(); private readonly List<TasClipboardEntry> _tasClipboard = new List<TasClipboardEntry>();
private int _defaultWidth;
private int _defaultHeight;
private MovieEndAction _originalEndAction; // The movie end behavior selected by the user (that is overridden by TAStudio) private MovieEndAction _originalEndAction; // The movie end behavior selected by the user (that is overridden by TAStudio)
private Dictionary<string, string> GenerateColumnNames() private Dictionary<string, string> GenerateColumnNames()
{ {
@ -51,8 +49,6 @@ namespace BizHawk.Client.EmuHawk
TasView.QueryItemText += TasView_QueryItemText; TasView.QueryItemText += TasView_QueryItemText;
TasView.QueryItemBkColor += TasView_QueryItemBkColor; TasView.QueryItemBkColor += TasView_QueryItemBkColor;
TasView.QueryItemIcon += TasView_QueryItemIcon; TasView.QueryItemIcon += TasView_QueryItemIcon;
TopMost = Global.Config.TAStudioSettings.TopMost;
TasView.InputPaintingMode = Global.Config.TAStudioDrawInput; TasView.InputPaintingMode = Global.Config.TAStudioDrawInput;
TasView.PointedCellChanged += TasView_PointedCellChanged; TasView.PointedCellChanged += TasView_PointedCellChanged;
TasView.MultiSelect = true; TasView.MultiSelect = true;
@ -278,30 +274,6 @@ namespace BizHawk.Client.EmuHawk
} }
} }
private void LoadConfigSettings()
{
_defaultWidth = Size.Width;
_defaultHeight = Size.Height;
if (Global.Config.TAStudioSettings.UseWindowPosition)
{
Location = Global.Config.TAStudioSettings.WindowPosition;
}
if (Global.Config.TAStudioSettings.UseWindowSize)
{
Size = Global.Config.TAStudioSettings.WindowSize;
}
}
private void SaveConfigSettings()
{
Global.Config.TAStudioSettings.Wndx = Location.X;
Global.Config.TAStudioSettings.Wndy = Location.Y;
Global.Config.TAStudioSettings.Width = Right - Left;
Global.Config.TAStudioSettings.Height = Bottom - Top;
}
private void StartAtNearestFrameAndEmulate(int frame) private void StartAtNearestFrameAndEmulate(int frame)
{ {
CurrentTasMovie.SwitchToPlay(); CurrentTasMovie.SwitchToPlay();
@ -364,11 +336,6 @@ namespace BizHawk.Client.EmuHawk
SplicerStatusLabel.Text = message; SplicerStatusLabel.Text = message;
} }
private void RefreshFloatingWindowControl()
{
Owner = Global.Config.TAStudioSettings.FloatingWindow ? null : GlobalWin.MainForm;
}
public void CallAddMarkerPopUp(int? frame = null) public void CallAddMarkerPopUp(int? frame = null)
{ {
var markerFrame = frame ?? TasView.LastSelectedIndex ?? Emulator.Frame; var markerFrame = frame ?? TasView.LastSelectedIndex ?? Emulator.Frame;
@ -527,7 +494,6 @@ namespace BizHawk.Client.EmuHawk
private void Tastudio_Load(object sender, EventArgs e) private void Tastudio_Load(object sender, EventArgs e)
{ {
InitializeOnLoad(); InitializeOnLoad();
LoadConfigSettings();
SetColumnsFromCurrentStickies(); SetColumnsFromCurrentStickies();
if (VersionInfo.DeveloperBuild) if (VersionInfo.DeveloperBuild)
@ -571,7 +537,7 @@ namespace BizHawk.Client.EmuHawk
} }
// Start Scenario 3: No movie, but user wants to autload their last project // Start Scenario 3: No movie, but user wants to autload their last project
else if (Global.Config.AutoloadTAStudioProject && !string.IsNullOrEmpty(Global.Config.RecentTas.MostRecent)) else if (Global.Config.RecentTas.AutoLoad && !string.IsNullOrEmpty(Global.Config.RecentTas.MostRecent))
{ {
var result = LoadProject(Global.Config.RecentTas.MostRecent); var result = LoadProject(Global.Config.RecentTas.MostRecent);
if (!result) if (!result)
@ -600,7 +566,6 @@ namespace BizHawk.Client.EmuHawk
if (AskSaveChanges()) if (AskSaveChanges())
{ {
WantsToControlStopMovie = false; WantsToControlStopMovie = false;
SaveConfigSettings();
GlobalWin.MainForm.StopMovie(saveChanges: false); GlobalWin.MainForm.StopMovie(saveChanges: false);
DisengageTastudio(); DisengageTastudio();
} }
@ -610,12 +575,6 @@ namespace BizHawk.Client.EmuHawk
} }
} }
protected override void OnShown(EventArgs e)
{
RefreshFloatingWindowControl();
base.OnShown(e);
}
/// <summary> /// <summary>
/// This method is called everytime the Changes property is toggled on a TasMovie instance. /// This method is called everytime the Changes property is toggled on a TasMovie instance.
/// </summary> /// </summary>