OCR: Clear logs from current line and forward when starting OCR

This commit is contained in:
Nikolaj Olsson 2020-05-13 15:35:43 +02:00
parent 7afef59b7a
commit efbf2494f1
3 changed files with 30 additions and 7 deletions

View File

@ -5113,7 +5113,9 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
_fromMenuItem = false;
_abort = false;
_autoBreakLines = checkBoxAutoBreakLines.Checked;
listBoxUnknownWords.Items.Clear();
CleanLogsGreaterThanOrEqualTo(numericUpDownStartNumber.Value);
int max = GetSubtitleCount();
if ((_ocrMethodIndex == _ocrMethodTesseract4 || _ocrMethodIndex == _ocrMethodTesseract302) &&
@ -5200,6 +5202,33 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
mainOcrTimer_Tick(null, null);
}
private void CleanLogsGreaterThanOrEqualTo(decimal value)
{
var start = (int)Math.Round(value);
CleanLogGreaterThanOrEqualTo(listBoxUnknownWords, start);
CleanLogGreaterThanOrEqualTo(listBoxLog, start);
CleanLogGreaterThanOrEqualTo(listBoxLogSuggestions, start);
}
private void CleanLogGreaterThanOrEqualTo(ListBox listBox, int start)
{
listBox.BeginUpdate();
for (int i = listBox.Items.Count-1; i> 0; i--)
{
var text = listBox.Items[i].ToString();
var idx = text.IndexOf(':');
if (idx > 0)
{
var num = text.Substring(0, idx).TrimStart('#');
if (int.TryParse(num, out var n) && n >= start)
{
listBox.Items.RemoveAt(i);
}
}
}
listBox.EndUpdate();
}
private void InitializeTopAlign()
{
_captureTopAlign = toolStripMenuItemCaptureTopAlign.Checked;

View File

@ -966,7 +966,6 @@
this.buttonAbort.TabIndex = 4;
this.buttonAbort.Text = "&Abort";
this.buttonAbort.UseVisualStyleBackColor = true;
this.buttonAbort.Click += new System.EventHandler(this.buttonAbort_Click);
//
// checkBoxItalic
//

View File

@ -303,10 +303,5 @@ namespace Nikse.SubtitleEdit.Forms.Ocr
{
TaskbarList.StopBlink(_vobSubForm);
}
private void buttonAbort_Click(object sender, EventArgs e)
{
}
}
}