Trying to make FixCommonErrors always select correct line in subtitle list view when clicking on a item in the top fix list view - thx Mike :)

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@1941 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2013-07-18 06:17:30 +00:00
parent a86710122a
commit 60bc42f30d
3 changed files with 17 additions and 13 deletions

View File

@ -361,7 +361,7 @@ namespace Nikse.SubtitleEdit.Controls
int i = 0;
foreach (Paragraph paragraph in paragraphs)
{
Add(paragraph, i.ToString(CultureInfo.InvariantCulture));
Add(paragraph);
if (DisplayExtraFromExtra && IsExtraColumnVisible && Items[i].SubItems.Count > ColumnIndexExtra)
Items[i].SubItems[ColumnIndexExtra].Text = paragraph.Extra;
SyntaxColorLine(paragraphs, i, paragraph);
@ -385,7 +385,7 @@ namespace Nikse.SubtitleEdit.Controls
int i = 0;
foreach (Paragraph paragraph in paragraphs)
{
Add(paragraph, i.ToString(CultureInfo.InvariantCulture));
Add(paragraph);
Paragraph alternate = Utilities.GetOriginalParagraph(i, paragraph, paragraphsAlternate);
if (alternate != null)
SetAlternateText(i, alternate.Text);
@ -492,9 +492,9 @@ namespace Nikse.SubtitleEdit.Controls
}
}
private void Add(Paragraph paragraph, string tag)
private void Add(Paragraph paragraph)
{
var item = new ListViewItem(paragraph.Number.ToString()) {Tag = tag};
var item = new ListViewItem(paragraph.Number.ToString()) {Tag = paragraph };
ListViewItem.ListViewSubItem subItem;
if (Configuration.Settings != null && Configuration.Settings.General.UseTimeFormatHHMMSSFF)

View File

@ -4563,24 +4563,24 @@ namespace Nikse.SubtitleEdit.Forms
if (listViewFixes.SelectedItems.Count > 0)
{
var p = (Paragraph)listViewFixes.SelectedItems[0].Tag;
int index = _originalSubtitle.GetIndex(p);
if (index >= 0)
{
for (int i = 0; i < index; i++)
{
if (_deleteIndices.Contains(i))
index++;
}
if (index >= 0 && index < subtitleListView1.Items.Count)
int index = -1;
foreach (ListViewItem lvi in subtitleListView1.Items)
{
Paragraph p2 = lvi.Tag as Paragraph;
if (p.ID == p2.ID)
{
index = lvi.Index;
if (index - 1 > 0)
subtitleListView1.EnsureVisible(index - 1);
if (index + 1 < subtitleListView1.Items.Count)
subtitleListView1.EnsureVisible(index + 1);
subtitleListView1.SelectedIndexChanged -= SubtitleListView1SelectedIndexChanged;
subtitleListView1.SelectNone();
subtitleListView1.SelectedIndexChanged += SubtitleListView1SelectedIndexChanged;
subtitleListView1.Items[index].Selected = true;
subtitleListView1.EnsureVisible(index);
return;
}
}
}

View File

@ -402,6 +402,10 @@ namespace Nikse.SubtitleEdit.Logic
for (int i = 0; i < _paragraphs.Count; i++)
{
if (p.ID == _paragraphs[i].ID)
return i;
if (i < _paragraphs.Count -1 && p.ID == _paragraphs[i + 1].ID)
return i+1;
if (p.StartTime.TotalMilliseconds == _paragraphs[i].StartTime.TotalMilliseconds &&
p.EndTime.TotalMilliseconds == _paragraphs[i].EndTime.TotalMilliseconds)
return i;