2015-09-19 09:28:36 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace Nikse.SubtitleEdit.Core.Forms.FixCommonErrors
|
|
|
|
|
{
|
|
|
|
|
public class FixDoubleGreaterThan : IFixCommonError
|
|
|
|
|
{
|
|
|
|
|
public void Fix(Subtitle subtitle, IFixCallbacks callbacks)
|
|
|
|
|
{
|
|
|
|
|
var language = Configuration.Settings.Language.FixCommonErrors;
|
|
|
|
|
string fixAction = language.FixDoubleGreaterThan;
|
|
|
|
|
int fixCount = 0;
|
|
|
|
|
for (int i = 0; i < subtitle.Paragraphs.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
Paragraph p = subtitle.Paragraphs[i];
|
|
|
|
|
if (callbacks.AllowFix(p, fixAction))
|
|
|
|
|
{
|
|
|
|
|
if (!p.Text.Contains(">>", StringComparison.Ordinal))
|
|
|
|
|
continue;
|
|
|
|
|
var text = p.Text;
|
|
|
|
|
var oldText = text;
|
|
|
|
|
if (!text.Contains(Environment.NewLine))
|
|
|
|
|
{
|
|
|
|
|
text = Helper.FixDoubleGreaterThanHelper(text);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var lines = text.SplitToLines();
|
2017-11-26 17:35:00 +01:00
|
|
|
|
for (int k = 0; k < lines.Count; k++)
|
2015-09-19 09:28:36 +02:00
|
|
|
|
{
|
|
|
|
|
lines[k] = Helper.FixDoubleGreaterThanHelper(lines[k]);
|
|
|
|
|
}
|
|
|
|
|
text = string.Join(Environment.NewLine, lines);
|
2016-02-05 21:08:02 +01:00
|
|
|
|
}
|
|
|
|
|
if (oldText != text)
|
|
|
|
|
{
|
|
|
|
|
fixCount++;
|
|
|
|
|
p.Text = text;
|
|
|
|
|
callbacks.AddFixToListView(p, fixAction, oldText, text);
|
2015-09-19 09:28:36 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
callbacks.UpdateFixStatus(fixCount, language.FixDoubleGreaterThan, language.XFixDoubleGreaterThan);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|