mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Shortcut CreateSetEndAddNewAndGoToNew should only do something if sane duration
Related to #7560
This commit is contained in:
parent
f6f661c976
commit
a7b4aba4b0
@ -18555,24 +18555,25 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
int index = SubtitleListview1.SelectedItems[0].Index;
|
int index = SubtitleListview1.SelectedItems[0].Index;
|
||||||
MakeHistoryForUndoOnlyIfNotRecent(string.Format(_language.VideoControls.BeforeChangingTimeInWaveformX, "#" + _subtitle.Paragraphs[index].Number + " " + _subtitle.Paragraphs[index].Text));
|
|
||||||
|
|
||||||
var p = _subtitle.Paragraphs[index];
|
var p = _subtitle.Paragraphs[index];
|
||||||
p.EndTime = TimeCode.FromSeconds(videoPosition);
|
var videoTimeCode = TimeCode.FromSeconds(videoPosition);
|
||||||
if (p.DurationTotalMilliseconds - MinGapBetweenLines > Configuration.Settings.General.SubtitleMinimumDisplayMilliseconds)
|
var duration = videoTimeCode.TotalMilliseconds - p.StartTime.TotalMilliseconds - MinGapBetweenLines;
|
||||||
|
if (duration >= Configuration.Settings.General.SubtitleMinimumDisplayMilliseconds &&
|
||||||
|
duration <= Configuration.Settings.General.SubtitleMaximumDisplayMilliseconds)
|
||||||
{
|
{
|
||||||
var newEndTime = new TimeCode(p.EndTime.TotalMilliseconds - MinGapBetweenLines);
|
MakeHistoryForUndoOnlyIfNotRecent(string.Format(_language.VideoControls.BeforeChangingTimeInWaveformX, "#" + _subtitle.Paragraphs[index].Number + " " + _subtitle.Paragraphs[index].Text));
|
||||||
|
var newEndTime = new TimeCode(videoTimeCode.TotalMilliseconds - MinGapBetweenLines);
|
||||||
double charactersPerSecond = Utilities.GetCharactersPerSecond(new Paragraph(p) { EndTime = newEndTime });
|
double charactersPerSecond = Utilities.GetCharactersPerSecond(new Paragraph(p) { EndTime = newEndTime });
|
||||||
if (charactersPerSecond <= Configuration.Settings.General.SubtitleMaximumCharactersPerSeconds)
|
if (charactersPerSecond <= Configuration.Settings.General.SubtitleMaximumCharactersPerSeconds)
|
||||||
{
|
{
|
||||||
p.EndTime = newEndTime;
|
p.EndTime = newEndTime;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
SubtitleListview1.SetStartTimeAndDuration(index, _subtitle.Paragraphs[index], _subtitle.GetParagraphOrDefault(index + 1), _subtitle.GetParagraphOrDefault(index - 1));
|
SubtitleListview1.SetStartTimeAndDuration(index, _subtitle.Paragraphs[index], _subtitle.GetParagraphOrDefault(index + 1), _subtitle.GetParagraphOrDefault(index - 1));
|
||||||
SetDurationInSeconds(_subtitle.Paragraphs[index].DurationTotalSeconds);
|
SetDurationInSeconds(_subtitle.Paragraphs[index].DurationTotalSeconds);
|
||||||
ButtonInsertNewTextClick(null, null);
|
ButtonInsertNewTextClick(null, null);
|
||||||
UpdateSourceView();
|
UpdateSourceView();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_shortcuts.MainCreateStartDownEndUp == e.KeyData)
|
else if (_shortcuts.MainCreateStartDownEndUp == e.KeyData)
|
||||||
|
Loading…
Reference in New Issue
Block a user