Last part of fix for Issue 170 - thx Salad.insalata :)

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@2133 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2013-10-06 13:27:56 +00:00
parent 4b163e88d6
commit ad5d3f5c19
4 changed files with 62 additions and 46 deletions

View File

@ -37,10 +37,10 @@
// //
this.maskedTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; this.maskedTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.maskedTextBox1.InsertKeyMode = System.Windows.Forms.InsertKeyMode.Overwrite; this.maskedTextBox1.InsertKeyMode = System.Windows.Forms.InsertKeyMode.Overwrite;
this.maskedTextBox1.Location = new System.Drawing.Point(4, 4); this.maskedTextBox1.Location = new System.Drawing.Point(4, 3);
this.maskedTextBox1.Mask = "00:00:00.000"; this.maskedTextBox1.Mask = "00:00:00.000";
this.maskedTextBox1.Name = "maskedTextBox1"; this.maskedTextBox1.Name = "maskedTextBox1";
this.maskedTextBox1.Size = new System.Drawing.Size(67, 13); this.maskedTextBox1.Size = new System.Drawing.Size(71, 13);
this.maskedTextBox1.TabIndex = 21; this.maskedTextBox1.TabIndex = 21;
this.maskedTextBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MaskedTextBox1KeyDown); this.maskedTextBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MaskedTextBox1KeyDown);
// //
@ -48,7 +48,7 @@
// //
this.numericUpDown1.Location = new System.Drawing.Point(2, 1); this.numericUpDown1.Location = new System.Drawing.Point(2, 1);
this.numericUpDown1.Name = "numericUpDown1"; this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(87, 20); this.numericUpDown1.Size = new System.Drawing.Size(91, 20);
this.numericUpDown1.TabIndex = 20; this.numericUpDown1.TabIndex = 20;
this.numericUpDown1.TabStop = false; this.numericUpDown1.TabStop = false;
// //
@ -61,7 +61,7 @@
this.Controls.Add(this.maskedTextBox1); this.Controls.Add(this.maskedTextBox1);
this.Controls.Add(this.numericUpDown1); this.Controls.Add(this.numericUpDown1);
this.Name = "TimeUpDown"; this.Name = "TimeUpDown";
this.Size = new System.Drawing.Size(92, 24); this.Size = new System.Drawing.Size(94, 24);
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();

View File

@ -62,10 +62,7 @@ namespace Nikse.SubtitleEdit.Controls
} }
else if (numericUpDown1.Value < NumericUpDownValue) else if (numericUpDown1.Value < NumericUpDownValue)
{ {
if (millisecs.Value - 100 > 0)
SetTotalMilliseconds(millisecs.Value - 100); SetTotalMilliseconds(millisecs.Value - 100);
else if (millisecs.Value > 0)
SetTotalMilliseconds(0);
} }
} }
else else
@ -101,10 +98,18 @@ namespace Nikse.SubtitleEdit.Controls
{ {
TimeSpan ts = TimeSpan.FromMilliseconds(milliseconds); TimeSpan ts = TimeSpan.FromMilliseconds(milliseconds);
if (Mode == TimeMode.HHMMSSMS) if (Mode == TimeMode.HHMMSSMS)
maskedTextBox1.Text = new TimeCode(ts).ToString(); {
if (Mode == TimeMode.HHMMSSMS && milliseconds < 0)
maskedTextBox1.Mask = "-00:00:00.000";
else else
maskedTextBox1.Mask = "00:00:00.000";
maskedTextBox1.Text = new TimeCode(ts).ToString();
}
else
{
maskedTextBox1.Text = new TimeCode(ts).ToString().Substring(0, 9) + string.Format("{0:00}", Logic.SubtitleFormats.SubtitleFormat.MillisecondsToFrames(ts.Milliseconds)); maskedTextBox1.Text = new TimeCode(ts).ToString().Substring(0, 9) + string.Format("{0:00}", Logic.SubtitleFormats.SubtitleFormat.MillisecondsToFrames(ts.Milliseconds));
} }
}
public double? GetTotalMilliseconds() public double? GetTotalMilliseconds()
{ {
@ -146,7 +151,10 @@ namespace Nikse.SubtitleEdit.Controls
if (Utilities.IsInteger(times[3])) if (Utilities.IsInteger(times[3]))
milliSeconds = int.Parse(times[3].PadRight(3, '0')); milliSeconds = int.Parse(times[3].PadRight(3, '0'));
return new TimeCode(hours, minutes, seconds, milliSeconds); var tc = new TimeCode(hours, minutes, seconds, milliSeconds);
if (times[0].StartsWith("-") && tc.TotalMilliseconds > 0)
tc.TotalMilliseconds = tc.TotalMilliseconds * -1;
return tc;
} }
} }
else else
@ -181,7 +189,9 @@ namespace Nikse.SubtitleEdit.Controls
} }
set set
{ {
if (Mode == TimeMode.HHMMSSMS) if (Mode == TimeMode.HHMMSSMS && value != null && value.TotalMilliseconds < 0)
maskedTextBox1.Mask = "-00:00:00.000";
else if (Mode == TimeMode.HHMMSSMS)
maskedTextBox1.Mask = "00:00:00.000"; maskedTextBox1.Mask = "00:00:00.000";
else else
maskedTextBox1.Mask = "00:00:00:00"; maskedTextBox1.Mask = "00:00:00:00";

View File

@ -12852,8 +12852,14 @@ namespace Nikse.SubtitleEdit.Forms
timeUpDownVideoPositionAdjust.Enabled = true; timeUpDownVideoPositionAdjust.Enabled = true;
} }
int index = ShowSubtitle(); int index = ShowSubtitle();
timeUpDownVideoPosition.TimeCode = new TimeCode(TimeSpan.FromMilliseconds(mediaPlayer.CurrentPosition * 1000.0));
timeUpDownVideoPositionAdjust.TimeCode = new TimeCode(TimeSpan.FromMilliseconds(mediaPlayer.CurrentPosition * 1000.0)); double pos = mediaPlayer.CurrentPosition * 1000.0;
if (timeUpDownVideoPosition.TimeCode.TotalMilliseconds != pos)
timeUpDownVideoPosition.TimeCode = new TimeCode(TimeSpan.FromMilliseconds(pos));
if (timeUpDownVideoPositionAdjust.TimeCode.TotalMilliseconds != pos)
timeUpDownVideoPositionAdjust.TimeCode = new TimeCode(TimeSpan.FromMilliseconds(pos));
mediaPlayer.RefreshProgressBar(); mediaPlayer.RefreshProgressBar();
trackBarWaveFormPosition.ValueChanged -= trackBarWaveFormPosition_ValueChanged; trackBarWaveFormPosition.ValueChanged -= trackBarWaveFormPosition_ValueChanged;