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.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.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.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MaskedTextBox1KeyDown);
//
@ -48,7 +48,7 @@
//
this.numericUpDown1.Location = new System.Drawing.Point(2, 1);
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.TabStop = false;
//
@ -61,7 +61,7 @@
this.Controls.Add(this.maskedTextBox1);
this.Controls.Add(this.numericUpDown1);
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();
this.ResumeLayout(false);
this.PerformLayout();

View File

@ -62,10 +62,7 @@ namespace Nikse.SubtitleEdit.Controls
}
else if (numericUpDown1.Value < NumericUpDownValue)
{
if (millisecs.Value - 100 > 0)
SetTotalMilliseconds(millisecs.Value - 100);
else if (millisecs.Value > 0)
SetTotalMilliseconds(0);
}
}
else
@ -101,10 +98,18 @@ namespace Nikse.SubtitleEdit.Controls
{
TimeSpan ts = TimeSpan.FromMilliseconds(milliseconds);
if (Mode == TimeMode.HHMMSSMS)
maskedTextBox1.Text = new TimeCode(ts).ToString();
{
if (Mode == TimeMode.HHMMSSMS && milliseconds < 0)
maskedTextBox1.Mask = "-00:00:00.000";
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));
}
}
public double? GetTotalMilliseconds()
{
@ -146,7 +151,10 @@ namespace Nikse.SubtitleEdit.Controls
if (Utilities.IsInteger(times[3]))
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
@ -181,7 +189,9 @@ namespace Nikse.SubtitleEdit.Controls
}
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";
else
maskedTextBox1.Mask = "00:00:00:00";

View File

@ -12852,8 +12852,14 @@ namespace Nikse.SubtitleEdit.Forms
timeUpDownVideoPositionAdjust.Enabled = true;
}
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();
trackBarWaveFormPosition.ValueChanged -= trackBarWaveFormPosition_ValueChanged;