From bf5fa3356a2868e6e94339cfcded493701913804 Mon Sep 17 00:00:00 2001 From: "andres.delikat" Date: Mon, 4 Jul 2011 01:23:32 +0000 Subject: [PATCH] Edit Subtitles form - Save subtitles on exit --- .../movie/EditSubtitlesForm.cs | 24 +++++++++++++++++++ BizHawk.MultiClient/movie/SubtitleList.cs | 5 ++++ 2 files changed, 29 insertions(+) diff --git a/BizHawk.MultiClient/movie/EditSubtitlesForm.cs b/BizHawk.MultiClient/movie/EditSubtitlesForm.cs index 733a78b4e6..caa831e1ae 100644 --- a/BizHawk.MultiClient/movie/EditSubtitlesForm.cs +++ b/BizHawk.MultiClient/movie/EditSubtitlesForm.cs @@ -12,6 +12,11 @@ namespace BizHawk.MultiClient public partial class EditSubtitlesForm : Form { public bool ReadOnly; + private Movie selectedMovie = new Movie(); + + //TODO: Tooltips on cells explaining format + //TODO: Parse hex on color when saving + //TODO: try/catch on parsing int public EditSubtitlesForm() { @@ -42,12 +47,31 @@ namespace BizHawk.MultiClient if (!ReadOnly) { //Save subtitles to movie object & write to disk + for (int x = 0; x < SubGrid.Rows.Count - 1; x++) + { + Subtitle s = new Subtitle(); + DataGridViewCell c = SubGrid.Rows[x].Cells[0]; + //TODO: try/catch parsing + s.Frame = int.Parse(c.Value.ToString()); + c = SubGrid.Rows[x].Cells[1]; + s.X = int.Parse(c.Value.ToString()); + c = SubGrid.Rows[x].Cells[2]; + s.Y = int.Parse(c.Value.ToString()); + c = SubGrid.Rows[x].Cells[3]; + s.Duration = int.Parse(c.Value.ToString()); + c = SubGrid.Rows[x].Cells[4]; + s.Color = uint.Parse(c.Value.ToString()); + c = SubGrid.Rows[x].Cells[5]; + s.Message = c.Value.ToString(); + selectedMovie.Subtitles.AddSubtitle(s); + } } this.Close(); } public void GetMovie(Movie m) { + selectedMovie = m; SubtitleList subs = new SubtitleList(m); if (subs.Count() == 0) return; diff --git a/BizHawk.MultiClient/movie/SubtitleList.cs b/BizHawk.MultiClient/movie/SubtitleList.cs index 7af9f57a79..eb3d09b5bd 100644 --- a/BizHawk.MultiClient/movie/SubtitleList.cs +++ b/BizHawk.MultiClient/movie/SubtitleList.cs @@ -116,5 +116,10 @@ namespace BizHawk.MultiClient return true; } + + public void AddSubtitle(Subtitle s) + { + subs.Add(s); + } } }