Hopefully fixed "File open crash" + fixed a few problems for subtitles based on frames (thx Hakkı)

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@349 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2011-02-25 15:37:05 +00:00
parent 5d43465a75
commit d46e1094f1
4 changed files with 47 additions and 10 deletions

View File

@ -1630,7 +1630,7 @@
this.fixCommonErrorsInSelectedLinesToolStripMenuItem, this.fixCommonErrorsInSelectedLinesToolStripMenuItem,
this.changeCasingForSelectedLinesToolStripMenuItem}); this.changeCasingForSelectedLinesToolStripMenuItem});
this.contextMenuStripListview.Name = "contextMenuStripListview"; this.contextMenuStripListview.Name = "contextMenuStripListview";
this.contextMenuStripListview.Size = new System.Drawing.Size(276, 584); this.contextMenuStripListview.Size = new System.Drawing.Size(276, 562);
this.contextMenuStripListview.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListviewOpening); this.contextMenuStripListview.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListviewOpening);
// //
// toolStripMenuItemDelete // toolStripMenuItemDelete

View File

@ -105,7 +105,7 @@ namespace Nikse.SubtitleEdit.Forms
if (versionInfo.Length >= 3 && versionInfo[2] != "0") if (versionInfo.Length >= 3 && versionInfo[2] != "0")
_title += "." + versionInfo[2]; _title += "." + versionInfo[2];
} }
return _title + " RC3"; return _title + " RC4";
} }
} }
@ -974,7 +974,7 @@ namespace Nikse.SubtitleEdit.Forms
openFileDialog1.Title = _languageGeneral.OpenSubtitle; openFileDialog1.Title = _languageGeneral.OpenSubtitle;
openFileDialog1.FileName = string.Empty; openFileDialog1.FileName = string.Empty;
openFileDialog1.Filter = Utilities.GetOpenDialogFiler(); openFileDialog1.Filter = Utilities.GetOpenDialogFiler();
if (openFileDialog1.ShowDialog(this) == DialogResult.OK) if (openFileDialog1.ShowDialog(this) == DialogResult.OK) // sometimes crashes... why??
{ {
OpenSubtitle(openFileDialog1.FileName, null); OpenSubtitle(openFileDialog1.FileName, null);
} }
@ -2377,6 +2377,8 @@ namespace Nikse.SubtitleEdit.Forms
if (textBoxSource.Text.Trim().Length > 0) if (textBoxSource.Text.Trim().Length > 0)
{ {
SubtitleFormat format = _subtitle.ReloadLoadSubtitle(new List<string>(textBoxSource.Lines), null); SubtitleFormat format = _subtitle.ReloadLoadSubtitle(new List<string>(textBoxSource.Lines), null);
if (format.IsFrameBased)
_subtitle.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
_sourceViewChange = false; _sourceViewChange = false;
if (format == null) if (format == null)
{ {
@ -3450,7 +3452,10 @@ namespace Nikse.SubtitleEdit.Forms
newParagraph.EndTime.TotalMilliseconds = 3000; newParagraph.EndTime.TotalMilliseconds = 3000;
} }
if (GetCurrentSubtitleFormat().IsFrameBased) if (GetCurrentSubtitleFormat().IsFrameBased)
{
newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
newParagraph.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
if (Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleAlternate != null && _subtitleAlternate.Paragraphs.Count > 0) if (Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleAlternate != null && _subtitleAlternate.Paragraphs.Count > 0)
{ {
@ -3522,7 +3527,10 @@ namespace Nikse.SubtitleEdit.Forms
newParagraph.EndTime.TotalMilliseconds = 3000; newParagraph.EndTime.TotalMilliseconds = 3000;
} }
if (GetCurrentSubtitleFormat().IsFrameBased) if (GetCurrentSubtitleFormat().IsFrameBased)
{
newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
newParagraph.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
if (Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleAlternate != null && _subtitleAlternate.Paragraphs.Count > 0) if (Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleAlternate != null && _subtitleAlternate.Paragraphs.Count > 0)
{ {
@ -3935,7 +3943,15 @@ namespace Nikse.SubtitleEdit.Forms
else else
{ {
if (GetCurrentSubtitleFormat().IsFrameBased) if (GetCurrentSubtitleFormat().IsFrameBased)
{
if (currentParagraph != null)
{
currentParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
currentParagraph.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
newParagraph.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
_subtitle.Paragraphs.Insert(firstSelectedIndex + 1, newParagraph); _subtitle.Paragraphs.Insert(firstSelectedIndex + 1, newParagraph);
_subtitle.Renumber(startNumber); _subtitle.Renumber(startNumber);
SubtitleListview1.Fill(_subtitle, _subtitleAlternate); SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
@ -4139,7 +4155,10 @@ namespace Nikse.SubtitleEdit.Forms
p.StartTime = startTime; p.StartTime = startTime;
SubtitleListview1.SetStartTime(_subtitleListViewIndex, p); SubtitleListview1.SetStartTime(_subtitleListViewIndex, p);
if (GetCurrentSubtitleFormat().IsFrameBased) if (GetCurrentSubtitleFormat().IsFrameBased)
{
p.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); p.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
p.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
} }
} }
@ -4208,6 +4227,12 @@ namespace Nikse.SubtitleEdit.Forms
} }
} }
if (GetCurrentSubtitleFormat().IsFrameBased)
{
currentParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
currentParagraph.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
MakeHistoryForUndoWhenNoMoreChanges(string.Format(_language.DisplayTimeAdjustedX, "#" + currentParagraph.Number + ": " + oldDuration + " -> " + currentParagraph.Duration.ToString())); MakeHistoryForUndoWhenNoMoreChanges(string.Format(_language.DisplayTimeAdjustedX, "#" + currentParagraph.Number + ": " + oldDuration + " -> " + currentParagraph.Duration.ToString()));
} }
} }
@ -4504,7 +4529,10 @@ namespace Nikse.SubtitleEdit.Forms
foreach (Paragraph p in typewriter.TypewriterParagraphs) foreach (Paragraph p in typewriter.TypewriterParagraphs)
{ {
if (isframeBased) if (isframeBased)
{
p.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); p.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
p.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
_subtitle.Paragraphs.Insert(index, p); _subtitle.Paragraphs.Insert(index, p);
index++; index++;
} }
@ -4545,7 +4573,10 @@ namespace Nikse.SubtitleEdit.Forms
foreach (Paragraph kp in karaoke.MakeAnimation(p)) foreach (Paragraph kp in karaoke.MakeAnimation(p))
{ {
if (isframeBased) if (isframeBased)
{
p.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); p.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
p.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
_subtitle.Paragraphs.Insert(index, kp); _subtitle.Paragraphs.Insert(index, kp);
index++; index++;
} }
@ -6943,10 +6974,13 @@ namespace Nikse.SubtitleEdit.Forms
} }
// create and insert // create and insert
var newPararaph = new Paragraph("", totalMilliseconds, totalMilliseconds + 2000); var newParagraph = new Paragraph("", totalMilliseconds, totalMilliseconds + 2000);
if (GetCurrentSubtitleFormat().IsFrameBased) if (GetCurrentSubtitleFormat().IsFrameBased)
newPararaph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); {
_subtitle.Paragraphs.Insert(index, newPararaph); newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
newParagraph.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
_subtitle.Paragraphs.Insert(index, newParagraph);
_subtitleListViewIndex = -1; _subtitleListViewIndex = -1;
_subtitle.Renumber(startNumber); _subtitle.Renumber(startNumber);
@ -6956,7 +6990,7 @@ namespace Nikse.SubtitleEdit.Forms
textBoxListViewText.Focus(); textBoxListViewText.Focus();
timerAutoDuration.Start(); timerAutoDuration.Start();
ShowStatus(string.Format(_language.VideoControls.NewTextInsertAtX, newPararaph.StartTime.ToShortString())); ShowStatus(string.Format(_language.VideoControls.NewTextInsertAtX, newParagraph.StartTime.ToShortString()));
} }
private void timerAutoDuration_Tick(object sender, EventArgs e) private void timerAutoDuration_Tick(object sender, EventArgs e)
@ -7727,7 +7761,10 @@ namespace Nikse.SubtitleEdit.Forms
// create and insert // create and insert
if (GetCurrentSubtitleFormat().IsFrameBased) if (GetCurrentSubtitleFormat().IsFrameBased)
{
newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate); newParagraph.CalculateFrameNumbersFromTimeCodes(CurrentFrameRate);
newParagraph.CalculateTimeCodesFromFrameNumbers(CurrentFrameRate);
}
_subtitle.Paragraphs.Insert(index, newParagraph); _subtitle.Paragraphs.Insert(index, newParagraph);
_subtitleListViewIndex = -1; _subtitleListViewIndex = -1;

View File

@ -684,7 +684,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2
CAAAAk1TRnQBSQFMAgEBAgEAAfgBAgH4AQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CAAAAk1TRnQBSQFMAgEBAgEAARgBAwEYAQMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -1061,7 +1061,7 @@ namespace Nikse.SubtitleEdit.Logic
sb.Append("*" + ext + ";"); sb.Append("*" + ext + ";");
} }
} }
sb.Append("*" + new Pac().Extension + ";"); sb.Append("*" + new Pac().Extension);
sb.Append("|" + Configuration.Settings.Language.General.AllFiles + "|*.*"); sb.Append("|" + Configuration.Settings.Language.General.AllFiles + "|*.*");
return sb.ToString(); return sb.ToString();
} }