Added "Chars/sec" info to textbox in main window

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@170 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2010-11-28 08:44:08 +00:00
parent aa49241848
commit 3e74b7cc9f
8 changed files with 99 additions and 48 deletions

View File

@ -301,6 +301,7 @@
this.mergeWithNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.mergeWithNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItemWaveFormPlaySelection = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItemWaveFormPlaySelection = new System.Windows.Forms.ToolStripMenuItem();
this.labelCharactersPerSecond = new System.Windows.Forms.Label();
this.statusStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
@ -1331,6 +1332,7 @@
// //
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.labelCharactersPerSecond);
this.groupBox1.Controls.Add(this.labelAutoDuration); this.groupBox1.Controls.Add(this.labelAutoDuration);
this.groupBox1.Controls.Add(this.panelSingleLine); this.groupBox1.Controls.Add(this.panelSingleLine);
this.groupBox1.Controls.Add(this.labelTextLineTotal); this.groupBox1.Controls.Add(this.labelTextLineTotal);
@ -2948,6 +2950,16 @@
this.toolStripMenuItemWaveFormPlaySelection.Text = "Play selection"; this.toolStripMenuItemWaveFormPlaySelection.Text = "Play selection";
this.toolStripMenuItemWaveFormPlaySelection.Click += new System.EventHandler(this.toolStripMenuItemWaveFormPlaySelection_Click); this.toolStripMenuItemWaveFormPlaySelection.Click += new System.EventHandler(this.toolStripMenuItemWaveFormPlaySelection_Click);
// //
// labelCharactersPerSecond
//
this.labelCharactersPerSecond.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelCharactersPerSecond.Location = new System.Drawing.Point(1170, 12);
this.labelCharactersPerSecond.Name = "labelCharactersPerSecond";
this.labelCharactersPerSecond.Size = new System.Drawing.Size(177, 13);
this.labelCharactersPerSecond.TabIndex = 31;
this.labelCharactersPerSecond.Text = "labelCharactersPerSecond";
this.labelCharactersPerSecond.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// Main // Main
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -3288,6 +3300,7 @@
private System.Windows.Forms.ToolStripMenuItem underlineToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem underlineToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem colorToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem colorToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem fontNameToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem fontNameToolStripMenuItem;
private System.Windows.Forms.Label labelCharactersPerSecond;
} }
} }

View File

@ -140,6 +140,7 @@ namespace Nikse.SubtitleEdit.Forms
SetLanguage(Configuration.Settings.General.Language); SetLanguage(Configuration.Settings.General.Language);
labelTextLineLengths.Text = string.Empty; labelTextLineLengths.Text = string.Empty;
labelCharactersPerSecond.Text = string.Empty;
labelTextLineTotal.Text = string.Empty; labelTextLineTotal.Text = string.Empty;
labelStartTimeWarning.Text = string.Empty; labelStartTimeWarning.Text = string.Empty;
labelDurationWarning.Text = string.Empty; labelDurationWarning.Text = string.Empty;
@ -1309,8 +1310,9 @@ namespace Nikse.SubtitleEdit.Forms
textBoxListViewText.Text = string.Empty; textBoxListViewText.Text = string.Empty;
textBoxListViewText.Enabled = false; textBoxListViewText.Enabled = false;
labelTextLineLengths.Text = string.Empty; labelTextLineLengths.Text = string.Empty;
labelCharactersPerSecond.Text = string.Empty;
labelTextLineTotal.Text = string.Empty; labelTextLineTotal.Text = string.Empty;
if (mediaPlayer.VideoPlayer != null) if (mediaPlayer.VideoPlayer != null)
{ {
mediaPlayer.VideoPlayer.DisposeVideoPlayer(); mediaPlayer.VideoPlayer.DisposeVideoPlayer();
@ -3168,12 +3170,11 @@ namespace Nikse.SubtitleEdit.Forms
_subtitleListViewIndex = firstSelectedIndex; _subtitleListViewIndex = firstSelectedIndex;
_oldSelectedParagraph = new Paragraph(p); _oldSelectedParagraph = new Paragraph(p);
UpdateListViewTextInfo(p.Text); UpdateListViewTextInfo(p);
} }
} }
} }
private void SubtitleListview1_SelectedIndexChanged(object sender, EventArgs e) private void SubtitleListview1_SelectedIndexChanged(object sender, EventArgs e)
{ {
SubtitleListView1SelectedIndexChange(); SubtitleListView1SelectedIndexChange();
@ -3187,8 +3188,33 @@ namespace Nikse.SubtitleEdit.Forms
toolStripSelected.Text = string.Format(_language.XLinesSelected, SubtitleListview1.SelectedItems.Count); toolStripSelected.Text = string.Format(_language.XLinesSelected, SubtitleListview1.SelectedItems.Count);
} }
private void UpdateListViewTextInfo(string text) private void UpdateListViewTextCharactersPerSeconds(Paragraph paragraph)
{ {
string s = Utilities.RemoveHtmlTags(paragraph.Text).Replace(" ", string.Empty).Replace(Environment.NewLine, string.Empty);
if (paragraph.Duration.TotalSeconds > 0)
{
double charactersPerSecond = s.Length / paragraph.Duration.TotalSeconds;
if (charactersPerSecond > Configuration.Settings.General.SubtitleMaximumCharactersPerSeconds + 7)
labelCharactersPerSecond.ForeColor = System.Drawing.Color.Red;
else if (charactersPerSecond > Configuration.Settings.General.SubtitleMaximumCharactersPerSeconds)
labelCharactersPerSecond.ForeColor = System.Drawing.Color.Orange;
else
labelCharactersPerSecond.ForeColor = System.Drawing.Color.Black;
labelCharactersPerSecond.Text = string.Format(_language.CharactersPerSecond, charactersPerSecond);
}
else
{
labelCharactersPerSecond.ForeColor = System.Drawing.Color.Red;
labelCharactersPerSecond.Text = string.Format(_language.CharactersPerSecond, _languageGeneral.NotAvailable);
}
}
private void UpdateListViewTextInfo(Paragraph paragraph)
{
if (paragraph == null)
return;
string text = paragraph.Text;
labelTextLineLengths.Text = _languageGeneral.SingleLineLengths; labelTextLineLengths.Text = _languageGeneral.SingleLineLengths;
panelSingleLine.Left = labelTextLineLengths.Left + labelTextLineLengths.Width - 6; panelSingleLine.Left = labelTextLineLengths.Left + labelTextLineLengths.Width - 6;
Utilities.DisplayLineLengths(panelSingleLine, text); Utilities.DisplayLineLengths(panelSingleLine, text);
@ -3209,6 +3235,7 @@ namespace Nikse.SubtitleEdit.Forms
labelTextLineTotal.ForeColor = System.Drawing.Color.Red; labelTextLineTotal.ForeColor = System.Drawing.Color.Red;
labelTextLineTotal.Text = string.Format(_languageGeneral.TotalLengthXSplitLine, s.Length); labelTextLineTotal.Text = string.Format(_languageGeneral.TotalLengthXSplitLine, s.Length);
} }
UpdateListViewTextCharactersPerSeconds(paragraph);
} }
private void ButtonNextClick(object sender, EventArgs e) private void ButtonNextClick(object sender, EventArgs e)
@ -3280,10 +3307,10 @@ namespace Nikse.SubtitleEdit.Forms
if (_subtitleListViewIndex >= 0) if (_subtitleListViewIndex >= 0)
{ {
string text = textBoxListViewText.Text.TrimEnd(); string text = textBoxListViewText.Text.TrimEnd();
UpdateListViewTextInfo(text);
// update _subtitle + listview // update _subtitle + listview
_subtitle.Paragraphs[_subtitleListViewIndex].Text = text; _subtitle.Paragraphs[_subtitleListViewIndex].Text = text;
UpdateListViewTextInfo(_subtitle.Paragraphs[_subtitleListViewIndex]);
SubtitleListview1.SetText(_subtitleListViewIndex, text); SubtitleListview1.SetText(_subtitleListViewIndex, text);
_change = true; _change = true;
} }
@ -3478,7 +3505,7 @@ namespace Nikse.SubtitleEdit.Forms
{ {
labelDurationWarning.Text = _languageGeneral.Negative; labelDurationWarning.Text = _languageGeneral.Negative;
} }
} }
} }
} }
@ -3492,6 +3519,7 @@ namespace Nikse.SubtitleEdit.Forms
if (currentParagraph != null) if (currentParagraph != null)
{ {
UpdateOverlapErrors(timeUpDownStartTime.TimeCode); UpdateOverlapErrors(timeUpDownStartTime.TimeCode);
UpdateListViewTextCharactersPerSeconds(currentParagraph);
// update _subtitle + listview // update _subtitle + listview
currentParagraph.EndTime.TotalMilliseconds = currentParagraph.StartTime.TotalMilliseconds + ((double)numericUpDownDuration.Value * 1000.0); currentParagraph.EndTime.TotalMilliseconds = currentParagraph.StartTime.TotalMilliseconds + ((double)numericUpDownDuration.Value * 1000.0);
@ -3531,6 +3559,7 @@ namespace Nikse.SubtitleEdit.Forms
numericUpDownDuration.ValueChanged += NumericUpDownDurationValueChanged; numericUpDownDuration.ValueChanged += NumericUpDownDurationValueChanged;
UpdateOverlapErrors(timeUpDownStartTime.TimeCode); UpdateOverlapErrors(timeUpDownStartTime.TimeCode);
UpdateListViewTextCharactersPerSeconds(p);
if (_subtitle != null && _subtitle.Paragraphs.Count > 0) if (_subtitle != null && _subtitle.Paragraphs.Count > 0)
textBoxListViewText.Enabled = true; textBoxListViewText.Enabled = true;
} }

View File

@ -291,47 +291,47 @@
<data name="toolStripButtonReplace.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolStripButtonReplace.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
RK5CYII= RK5CYII=
</value> </value>
</data> </data>

View File

@ -636,6 +636,7 @@ namespace Nikse.SubtitleEdit.Logic
BeforeInsertSubtitleAtVideoPosition = "Before insert subtitle at video position", BeforeInsertSubtitleAtVideoPosition = "Before insert subtitle at video position",
BeforeSetStartTimeAndOffsetTheRest = "Before set start time and offset the rest", BeforeSetStartTimeAndOffsetTheRest = "Before set start time and offset the rest",
ContinueWithCurrentSpellCheck = "Continue with current spell check?", ContinueWithCurrentSpellCheck = "Continue with current spell check?",
CharactersPerSecond = "Chars/sec: {0:0.00}",
Menu = new LanguageStructure.Main.MainMenu Menu = new LanguageStructure.Main.MainMenu
{ {

View File

@ -569,6 +569,7 @@
public string BeforeInsertSubtitleAtVideoPosition { get; set; } public string BeforeInsertSubtitleAtVideoPosition { get; set; }
public string BeforeSetStartTimeAndOffsetTheRest { get; set; } public string BeforeSetStartTimeAndOffsetTheRest { get; set; }
public string ContinueWithCurrentSpellCheck { get; set; } public string ContinueWithCurrentSpellCheck { get; set; }
public string CharactersPerSecond { get; set; }
public class MainMenu public class MainMenu
{ {

View File

@ -220,6 +220,7 @@ namespace Nikse.SubtitleEdit.Logic
public bool StartInSourceView { get; set; } public bool StartInSourceView { get; set; }
public bool RemoveBlankLinesWhenOpening { get; set; } public bool RemoveBlankLinesWhenOpening { get; set; }
public int SubtitleLineMaximumLength { get; set; } public int SubtitleLineMaximumLength { get; set; }
public int SubtitleMaximumCharactersPerSeconds { get; set; }
public string SpellCheckLanguage { get; set; } public string SpellCheckLanguage { get; set; }
public string VideoPlayer { get; set; } public string VideoPlayer { get; set; }
public int VideoPlayerDefaultVolume { get; set; } public int VideoPlayerDefaultVolume { get; set; }
@ -263,6 +264,7 @@ namespace Nikse.SubtitleEdit.Logic
StartLoadLastFile = true; StartLoadLastFile = true;
StartRememberPositionAndSize = true; StartRememberPositionAndSize = true;
SubtitleLineMaximumLength = 65; SubtitleLineMaximumLength = 65;
SubtitleMaximumCharactersPerSeconds = 25;
SpellCheckLanguage = null; SpellCheckLanguage = null;
VideoPlayer = string.Empty; VideoPlayer = string.Empty;
VideoPlayerDefaultVolume = 50; VideoPlayerDefaultVolume = 50;
@ -547,6 +549,9 @@ namespace Nikse.SubtitleEdit.Logic
subNode = node.SelectSingleNode("SubtitleLineMaximumLength"); subNode = node.SelectSingleNode("SubtitleLineMaximumLength");
if (subNode != null) if (subNode != null)
settings.General.SubtitleLineMaximumLength = Convert.ToInt32(subNode.InnerText); settings.General.SubtitleLineMaximumLength = Convert.ToInt32(subNode.InnerText);
subNode = node.SelectSingleNode("SubtitleMaximumCharactersPerSeconds");
if (subNode != null)
settings.General.SubtitleMaximumCharactersPerSeconds = Convert.ToInt32(subNode.InnerText);
subNode = node.SelectSingleNode("SpellCheckLanguage"); subNode = node.SelectSingleNode("SpellCheckLanguage");
if (subNode != null) if (subNode != null)
settings.General.SpellCheckLanguage = subNode.InnerText; settings.General.SpellCheckLanguage = subNode.InnerText;
@ -853,6 +858,7 @@ namespace Nikse.SubtitleEdit.Logic
textWriter.WriteElementString("StartInSourceView", settings.General.StartInSourceView.ToString()); textWriter.WriteElementString("StartInSourceView", settings.General.StartInSourceView.ToString());
textWriter.WriteElementString("RemoveBlankLinesWhenOpening", settings.General.RemoveBlankLinesWhenOpening.ToString()); textWriter.WriteElementString("RemoveBlankLinesWhenOpening", settings.General.RemoveBlankLinesWhenOpening.ToString());
textWriter.WriteElementString("SubtitleLineMaximumLength", settings.General.SubtitleLineMaximumLength.ToString()); textWriter.WriteElementString("SubtitleLineMaximumLength", settings.General.SubtitleLineMaximumLength.ToString());
textWriter.WriteElementString("SubtitleMaximumCharactersPerSeconds", settings.General.SubtitleMaximumCharactersPerSeconds.ToString());
textWriter.WriteElementString("SpellCheckLanguage", settings.General.SpellCheckLanguage); textWriter.WriteElementString("SpellCheckLanguage", settings.General.SpellCheckLanguage);
textWriter.WriteElementString("VideoPlayer", settings.General.VideoPlayer); textWriter.WriteElementString("VideoPlayer", settings.General.VideoPlayer);
textWriter.WriteElementString("VideoPlayerDefaultVolume", settings.General.VideoPlayerDefaultVolume.ToString()); textWriter.WriteElementString("VideoPlayerDefaultVolume", settings.General.VideoPlayerDefaultVolume.ToString());

View File

@ -710,6 +710,7 @@ Fortsæt?</SubtitleAppendPrompt>
<BeforeInsertSubtitleAtVideoPosition>Før ny tekst ved aktuel video position</BeforeInsertSubtitleAtVideoPosition> <BeforeInsertSubtitleAtVideoPosition>Før ny tekst ved aktuel video position</BeforeInsertSubtitleAtVideoPosition>
<BeforeSetStartTimeAndOffsetTheRest>Før sæt start tid og juster resten</BeforeSetStartTimeAndOffsetTheRest> <BeforeSetStartTimeAndOffsetTheRest>Før sæt start tid og juster resten</BeforeSetStartTimeAndOffsetTheRest>
<ContinueWithCurrentSpellCheck>Fortsæt med aktuelle stavekontrol?</ContinueWithCurrentSpellCheck> <ContinueWithCurrentSpellCheck>Fortsæt med aktuelle stavekontrol?</ContinueWithCurrentSpellCheck>
<CharactersPerSecond>Bogstav/sek: {0:0.00}</CharactersPerSecond>
</Main> </Main>
<MatroskaSubtitleChooser> <MatroskaSubtitleChooser>
<Title>Vælg undertekst fra Matroska fil</Title> <Title>Vælg undertekst fra Matroska fil</Title>

Binary file not shown.