mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-28 06:52:35 +01:00
More paste lin waveform
This commit is contained in:
parent
568b0ba7e1
commit
45230b3dd2
@ -569,7 +569,7 @@ namespace Nikse.SubtitleEdit.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InsertParagraphInCorrectTimeOrder(Paragraph newParagraph)
|
public int InsertParagraphInCorrectTimeOrder(Paragraph newParagraph)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < Paragraphs.Count; i++)
|
for (int i = 0; i < Paragraphs.Count; i++)
|
||||||
{
|
{
|
||||||
@ -577,10 +577,11 @@ namespace Nikse.SubtitleEdit.Core
|
|||||||
if (newParagraph.StartTime.TotalMilliseconds < p.StartTime.TotalMilliseconds)
|
if (newParagraph.StartTime.TotalMilliseconds < p.StartTime.TotalMilliseconds)
|
||||||
{
|
{
|
||||||
Paragraphs.Insert(i, newParagraph);
|
Paragraphs.Insert(i, newParagraph);
|
||||||
return;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Paragraphs.Add(newParagraph);
|
Paragraphs.Add(newParagraph);
|
||||||
|
return Paragraphs.Count - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Paragraph GetFirstParagrapOrDefaultByTime(double milliseconds)
|
public Paragraph GetFirstParagrapOrDefaultByTime(double milliseconds)
|
||||||
|
@ -668,7 +668,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
if (tmp.Paragraphs[0].StartTime.TotalMilliseconds > videoPositionInMilliseconds)
|
if (tmp.Paragraphs[0].StartTime.TotalMilliseconds > videoPositionInMilliseconds)
|
||||||
{
|
{
|
||||||
var c = tmp.Paragraphs[0].StartTime.TotalMilliseconds - videoPositionInMilliseconds;
|
var c = tmp.Paragraphs[0].StartTime.TotalMilliseconds - videoPositionInMilliseconds;
|
||||||
tmp.AddTimeToAllParagraphs(TimeSpan.FromMilliseconds(c));
|
tmp.AddTimeToAllParagraphs(TimeSpan.FromMilliseconds(-c));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -692,7 +692,33 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (tmp.Paragraphs.Count > 0)
|
if (tmp.Paragraphs.Count > 0)
|
||||||
{
|
{
|
||||||
PasteInsertSubtitle(tmp);
|
MakeHistoryForUndo(_language.BeforeInsertLine);
|
||||||
|
var selectIndices = new List<int>();
|
||||||
|
for (int i = 0; i < tmp.Paragraphs.Count; i++)
|
||||||
|
{
|
||||||
|
var p = tmp.Paragraphs[i];
|
||||||
|
var idx = _subtitle.InsertParagraphInCorrectTimeOrder(p);
|
||||||
|
selectIndices.Add(idx);
|
||||||
|
if (_subtitleAlternate != null && Configuration.Settings.General.AllowEditOfOriginalSubtitle && SubtitleListview1.IsAlternateTextColumnVisible)
|
||||||
|
{
|
||||||
|
var original = Utilities.GetOriginalParagraph(idx + i + 1, p, _subtitleAlternate.Paragraphs);
|
||||||
|
if (original == null)
|
||||||
|
{
|
||||||
|
_subtitleAlternate.InsertParagraphInCorrectTimeOrder(new Paragraph(string.Empty, p.StartTime.TotalMilliseconds, p.EndTime.TotalMilliseconds));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_subtitle.Renumber();
|
||||||
|
}
|
||||||
|
|
||||||
|
SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
|
||||||
|
SubtitleListview1.BeginUpdate();
|
||||||
|
SubtitleListview1.SelectIndexAndEnsureVisible(selectIndices[0], true);
|
||||||
|
foreach (var selectIndex in selectIndices)
|
||||||
|
{
|
||||||
|
SubtitleListview1.Items[selectIndex].Selected = true;
|
||||||
|
}
|
||||||
|
SubtitleListview1.EndUpdate();
|
||||||
|
|
||||||
if (_subtitleListViewIndex >= 0)
|
if (_subtitleListViewIndex >= 0)
|
||||||
{
|
{
|
||||||
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
|
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
|
||||||
@ -719,7 +745,6 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
{ // inserting between two subtitle... with overlapping codes
|
{ // inserting between two subtitle... with overlapping codes
|
||||||
addMs = lastParagraph.EndTime.TotalMilliseconds - tmp.Paragraphs[0].StartTime.TotalMilliseconds + Configuration.Settings.General.MinimumMillisecondsBetweenLines;
|
addMs = lastParagraph.EndTime.TotalMilliseconds - tmp.Paragraphs[0].StartTime.TotalMilliseconds + Configuration.Settings.General.MinimumMillisecondsBetweenLines;
|
||||||
}
|
}
|
||||||
|
|
||||||
var selectIndices = new List<int>();
|
var selectIndices = new List<int>();
|
||||||
for (int i = 0; i < tmp.Paragraphs.Count; i++)
|
for (int i = 0; i < tmp.Paragraphs.Count; i++)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user