Hooked up comment editor/viewer to play movie and context menu, various tweaks to movie code, more progress implemented comment loading/editing/saving

This commit is contained in:
andres.delikat 2011-07-04 02:50:38 +00:00
parent 384a4a61b6
commit a95ffcf2f9
8 changed files with 108 additions and 32 deletions

View File

@ -225,6 +225,7 @@
this.loadLastMovieToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.makeMovieBackupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.viewSubtitlesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.viewCommentsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator19 = new System.Windows.Forms.ToolStripSeparator();
this.undoLoadstateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.undoSavestateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -282,7 +283,7 @@
//
this.openROMToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.OpenFile;
this.openROMToolStripMenuItem.Name = "openROMToolStripMenuItem";
this.openROMToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.openROMToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.openROMToolStripMenuItem.Text = "Open ROM";
this.openROMToolStripMenuItem.Click += new System.EventHandler(this.openROMToolStripMenuItem_Click);
//
@ -295,7 +296,7 @@
this.autoloadMostRecentToolStripMenuItem});
this.recentROMToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Recent;
this.recentROMToolStripMenuItem.Name = "recentROMToolStripMenuItem";
this.recentROMToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.recentROMToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.recentROMToolStripMenuItem.Text = "Recent ROM";
this.recentROMToolStripMenuItem.DropDownOpened += new System.EventHandler(this.recentROMToolStripMenuItem_DropDownOpened);
//
@ -328,14 +329,14 @@
//
this.closeROMToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Close;
this.closeROMToolStripMenuItem.Name = "closeROMToolStripMenuItem";
this.closeROMToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.closeROMToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.closeROMToolStripMenuItem.Text = "&Close ROM";
this.closeROMToolStripMenuItem.Click += new System.EventHandler(this.closeROMToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(149, 6);
this.toolStripMenuItem1.Size = new System.Drawing.Size(142, 6);
//
// saveStateToolStripMenuItem
//
@ -353,7 +354,7 @@
this.toolStripSeparator6,
this.saveNamedStateToolStripMenuItem});
this.saveStateToolStripMenuItem.Name = "saveStateToolStripMenuItem";
this.saveStateToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.saveStateToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.saveStateToolStripMenuItem.Text = "Save State";
this.saveStateToolStripMenuItem.DropDownOpened += new System.EventHandler(this.saveStateToolStripMenuItem_DropDownOpened);
//
@ -455,7 +456,7 @@
this.toolStripSeparator7,
this.loadNamedStateToolStripMenuItem});
this.loadStateToolStripMenuItem.Name = "loadStateToolStripMenuItem";
this.loadStateToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.loadStateToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.loadStateToolStripMenuItem.Text = "Load State";
this.loadStateToolStripMenuItem.DropDownOpened += new System.EventHandler(this.loadStateToolStripMenuItem_DropDownOpened);
//
@ -560,7 +561,7 @@
this.saveToCurrentSlotToolStripMenuItem,
this.loadCurrentSlotToolStripMenuItem});
this.saveSlotToolStripMenuItem.Name = "saveSlotToolStripMenuItem";
this.saveSlotToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.saveSlotToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.saveSlotToolStripMenuItem.Text = "SaveSlot";
this.saveSlotToolStripMenuItem.DropDownOpened += new System.EventHandler(this.saveSlotToolStripMenuItem_DropDownOpened);
//
@ -670,7 +671,7 @@
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(149, 6);
this.toolStripMenuItem2.Size = new System.Drawing.Size(142, 6);
//
// movieToolStripMenuItem
//
@ -686,7 +687,7 @@
this.bindSavestatesToMoviesToolStripMenuItem,
this.automaticallyBackupMoviesToolStripMenuItem});
this.movieToolStripMenuItem.Name = "movieToolStripMenuItem";
this.movieToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.movieToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.movieToolStripMenuItem.Text = "Movie";
this.movieToolStripMenuItem.DropDownOpened += new System.EventHandler(this.movieToolStripMenuItem_DropDownOpened);
//
@ -794,7 +795,7 @@
this.screenshotF12ToolStripMenuItem,
this.screenshotAsToolStripMenuItem});
this.screenshotToolStripMenuItem.Name = "screenshotToolStripMenuItem";
this.screenshotToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.screenshotToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.screenshotToolStripMenuItem.Text = "Screenshot";
//
// screenshotF12ToolStripMenuItem
@ -815,13 +816,13 @@
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(149, 6);
this.toolStripSeparator4.Size = new System.Drawing.Size(142, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
this.exitToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.exitToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.exitToolStripMenuItem.Text = "Exit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
@ -1057,7 +1058,7 @@
//
this.controllersToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.GameController;
this.controllersToolStripMenuItem.Name = "controllersToolStripMenuItem";
this.controllersToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.controllersToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.controllersToolStripMenuItem.Text = "&Controllers...";
this.controllersToolStripMenuItem.Click += new System.EventHandler(this.controllersToolStripMenuItem_Click);
//
@ -1065,7 +1066,7 @@
//
this.hotkeysToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.HotKeys;
this.hotkeysToolStripMenuItem.Name = "hotkeysToolStripMenuItem";
this.hotkeysToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.hotkeysToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.hotkeysToolStripMenuItem.Text = "&Hotkeys...";
this.hotkeysToolStripMenuItem.Click += new System.EventHandler(this.hotkeysToolStripMenuItem_Click);
//
@ -1073,7 +1074,7 @@
//
this.messagesToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.MessageConfig;
this.messagesToolStripMenuItem.Name = "messagesToolStripMenuItem";
this.messagesToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.messagesToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.messagesToolStripMenuItem.Text = "&Messages...";
this.messagesToolStripMenuItem.Click += new System.EventHandler(this.messagesToolStripMenuItem_Click);
//
@ -1081,7 +1082,7 @@
//
this.pathsToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.CopyFolderHS;
this.pathsToolStripMenuItem.Name = "pathsToolStripMenuItem";
this.pathsToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.pathsToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.pathsToolStripMenuItem.Text = "Paths...";
this.pathsToolStripMenuItem.Click += new System.EventHandler(this.pathsToolStripMenuItem_Click);
//
@ -1089,14 +1090,14 @@
//
this.soundToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.AudioHS;
this.soundToolStripMenuItem.Name = "soundToolStripMenuItem";
this.soundToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.soundToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.soundToolStripMenuItem.Text = "&Sound...";
this.soundToolStripMenuItem.Click += new System.EventHandler(this.soundToolStripMenuItem_Click);
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(149, 6);
this.toolStripSeparator9.Size = new System.Drawing.Size(146, 6);
//
// gUIToolStripMenuItem
//
@ -1111,7 +1112,7 @@
this.singleInstanceModeToolStripMenuItem,
this.enableContextMenuToolStripMenuItem});
this.gUIToolStripMenuItem.Name = "gUIToolStripMenuItem";
this.gUIToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.gUIToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.gUIToolStripMenuItem.Text = "GUI";
this.gUIToolStripMenuItem.DropDownOpened += new System.EventHandler(this.gUIToolStripMenuItem_DropDownOpened);
//
@ -1202,7 +1203,7 @@
this.miSpeed150,
this.miSpeed200});
this.frameSkipToolStripMenuItem.Name = "frameSkipToolStripMenuItem";
this.frameSkipToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.frameSkipToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.frameSkipToolStripMenuItem.Text = "Speed/Skip";
this.frameSkipToolStripMenuItem.DropDownOpened += new System.EventHandler(this.frameSkipToolStripMenuItem_DropDownOpened);
//
@ -1345,13 +1346,13 @@
// toolStripSeparator10
//
this.toolStripSeparator10.Name = "toolStripSeparator10";
this.toolStripSeparator10.Size = new System.Drawing.Size(149, 6);
this.toolStripSeparator10.Size = new System.Drawing.Size(146, 6);
//
// saveConfigToolStripMenuItem
//
this.saveConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Save;
this.saveConfigToolStripMenuItem.Name = "saveConfigToolStripMenuItem";
this.saveConfigToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.saveConfigToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.saveConfigToolStripMenuItem.Text = "Save Config";
this.saveConfigToolStripMenuItem.Click += new System.EventHandler(this.saveConfigToolStripMenuItem_Click);
//
@ -1359,7 +1360,7 @@
//
this.loadConfigToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.LoadConfig;
this.loadConfigToolStripMenuItem.Name = "loadConfigToolStripMenuItem";
this.loadConfigToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.loadConfigToolStripMenuItem.Size = new System.Drawing.Size(149, 22);
this.loadConfigToolStripMenuItem.Text = "Load Config";
//
// toolsToolStripMenuItem
@ -1740,6 +1741,7 @@
this.loadLastMovieToolStripMenuItem,
this.makeMovieBackupToolStripMenuItem,
this.viewSubtitlesToolStripMenuItem,
this.viewCommentsToolStripMenuItem,
this.toolStripSeparator19,
this.undoLoadstateToolStripMenuItem,
this.undoSavestateToolStripMenuItem,
@ -1747,7 +1749,7 @@
this.screenshotToolStripMenuItem1,
this.closeROMToolStripMenuItem1});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(179, 286);
this.contextMenuStrip1.Size = new System.Drawing.Size(179, 330);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
this.contextMenuStrip1.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.contextMenuStrip1_Closing);
//
@ -1814,6 +1816,13 @@
this.viewSubtitlesToolStripMenuItem.Text = "View Subtitles";
this.viewSubtitlesToolStripMenuItem.Click += new System.EventHandler(this.viewSubtitlesToolStripMenuItem_Click);
//
// viewCommentsToolStripMenuItem
//
this.viewCommentsToolStripMenuItem.Name = "viewCommentsToolStripMenuItem";
this.viewCommentsToolStripMenuItem.Size = new System.Drawing.Size(178, 22);
this.viewCommentsToolStripMenuItem.Text = "View Comments";
this.viewCommentsToolStripMenuItem.Click += new System.EventHandler(this.viewCommentsToolStripMenuItem_Click);
//
// toolStripSeparator19
//
this.toolStripSeparator19.Name = "toolStripSeparator19";
@ -2086,6 +2095,7 @@
private System.Windows.Forms.ToolStripStatusLabel StatusSlot8;
private System.Windows.Forms.ToolStripStatusLabel StatusSlot9;
private System.Windows.Forms.ToolStripStatusLabel StatusSlot10;
private System.Windows.Forms.ToolStripMenuItem viewCommentsToolStripMenuItem;
}
}

View File

@ -803,6 +803,7 @@ namespace BizHawk.MultiClient
contextMenuStrip1.Items[12].Visible = false;
contextMenuStrip1.Items[13].Visible = false;
contextMenuStrip1.Items[14].Visible = false;
contextMenuStrip1.Items[15].Visible = false;
}
else
{
@ -818,7 +819,8 @@ namespace BizHawk.MultiClient
contextMenuStrip1.Items[6].Visible = true;
contextMenuStrip1.Items[7].Visible = false;
contextMenuStrip1.Items[8].Visible = false;
contextMenuStrip1.Items[9].Visible = true;
contextMenuStrip1.Items[9].Visible = false;
contextMenuStrip1.Items[10].Visible = true;
}
else
{
@ -829,22 +831,25 @@ namespace BizHawk.MultiClient
contextMenuStrip1.Items[7].Visible = true;
contextMenuStrip1.Items[8].Visible = true;
contextMenuStrip1.Items[9].Visible = true;
contextMenuStrip1.Items[10].Visible = true;
if (ReadOnly == true)
{
contextMenuStrip1.Items[8].Text = "View Subtitles";
contextMenuStrip1.Items[9].Text = "View Comments";
}
else
{
contextMenuStrip1.Items[8].Text = "Edit Subtitles";
contextMenuStrip1.Items[9].Text = "Edit Comments";
}
}
contextMenuStrip1.Items[10].Visible = true;
contextMenuStrip1.Items[11].Visible = true;
contextMenuStrip1.Items[12].Visible = true;
contextMenuStrip1.Items[13].Visible = true;
contextMenuStrip1.Items[14].Visible = true;
contextMenuStrip1.Items[15].Visible = true;
}
if (Global.Config.RecentRoms.Length() == 0)

View File

@ -2393,5 +2393,15 @@ namespace BizHawk.MultiClient
private void StatusSlot8_Click(object sender, EventArgs e) { LoadState("QuickSave8"); }
private void StatusSlot9_Click(object sender, EventArgs e) { LoadState("QuickSave9"); }
private void StatusSlot10_Click(object sender, EventArgs e) { LoadState("QuickSave0"); }
private void viewCommentsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) return;
EditCommentsForm c = new EditCommentsForm();
c.ReadOnly = ReadOnly;
c.GetMovie(UserMovie);
c.ShowDialog();
}
}
}

View File

@ -163,11 +163,24 @@ namespace BizHawk.MultiClient
item.SubItems.Add(kvp.Value);
DetailsView.Items.Add(item);
}
if (MovieList[x].HasComments())
button1.Enabled = true;
else
button1.Enabled = false;
if (MovieList[x].Subtitles.Count() > 0)
button2.Enabled = true;
else
button2.Enabled = false;
}
private void button1_Click(object sender, EventArgs e)
{
//TODO: a comments viewer/editor
//TODO: check for selected index first!
EditCommentsForm c = new EditCommentsForm();
c.ReadOnly = true;
c.GetMovie(MovieList[MovieView.SelectedIndices[0]]);
c.Show();
}
private void button2_Click(object sender, EventArgs e)

View File

@ -1,4 +1,4 @@
namespace BizHawk.MultiClient.movie
namespace BizHawk.MultiClient
{
partial class EditCommentsForm
{

View File

@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace BizHawk.MultiClient.movie
namespace BizHawk.MultiClient
{
public partial class EditCommentsForm : Form
{
@ -40,7 +40,12 @@ namespace BizHawk.MultiClient.movie
{
if (!ReadOnly)
{
for (int x = 0; x < CommentGrid.Rows.Count - 1; x++)
{
DataGridViewCell c = CommentGrid.Rows[x].Cells[0];
selectedMovie.AddComment("comment " + c.ToString());
}
selectedMovie.WriteMovie();
}
this.Close();
}
@ -49,9 +54,10 @@ namespace BizHawk.MultiClient.movie
{
selectedMovie = m;
List<string> comments = m.GetComments();
for (int x = 0; x < c.Count; x++)
for (int x = 0; x < comments.Count; x++)
{
DataGridViewCell c = CommentGrid.Rows[x].Cells[0];
CommentGrid.Rows.Add();
c.Value = comments[x];
}
}

View File

@ -66,6 +66,7 @@ namespace BizHawk.MultiClient
s.Message = c.Value.ToString();
selectedMovie.Subtitles.AddSubtitle(s);
}
selectedMovie.WriteMovie();
}
this.Close();
}

View File

@ -281,10 +281,19 @@ namespace BizHawk.MultiClient
str = ParseHeader(str, MovieHeader.AUTHOR);
Header.AddHeaderLine(MovieHeader.AUTHOR, str);
}
else if (str.Contains(MovieHeader.GUID))
{
str = ParseHeader(str, MovieHeader.GUID);
Header.AddHeaderLine(MovieHeader.GUID, str);
}
else if (str.StartsWith("subtitle") || str.StartsWith("sub"))
{
Subtitles.AddSubtitle(str);
}
else if (str.StartsWith("comment"))
{
Header.Comments.Add(str);
}
else if (str[0] == '|')
{
Log.AddFrame(str);
@ -354,10 +363,19 @@ namespace BizHawk.MultiClient
str = ParseHeader(str, MovieHeader.AUTHOR);
Header.AddHeaderLine(MovieHeader.AUTHOR, str);
}
else if (str.Contains(MovieHeader.GUID))
{
str = ParseHeader(str, MovieHeader.GUID);
Header.AddHeaderLine(MovieHeader.GUID, str);
}
else if (str.StartsWith("subtitle") || str.StartsWith("sub"))
{
Subtitles.AddSubtitle(str);
}
else if (str.StartsWith("comment"))
{
Header.Comments.Add(str.Substring(8, str.Length - 8));
}
else if (str[0] == '|')
{
int line = str.Length + 1;
@ -710,5 +728,18 @@ namespace BizHawk.MultiClient
{
return Header.Comments;
}
public bool HasComments()
{
if (Header.Comments.Count > 0)
return true;
else
return false;
}
public void AddComment(string comment)
{
Header.Comments.Add(comment);
}
}
}