From de0bbae17e78aeec1b860725717288d4afc3a8c4 Mon Sep 17 00:00:00 2001 From: niksedk Date: Fri, 20 Jan 2023 17:51:49 +0100 Subject: [PATCH] Remove karoke tags when mergning lines - thx MMT :) --- src/ui/Forms/Main.cs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/ui/Forms/Main.cs b/src/ui/Forms/Main.cs index c4c8b7b05..379ab92cd 100644 --- a/src/ui/Forms/Main.cs +++ b/src/ui/Forms/Main.cs @@ -12240,6 +12240,8 @@ namespace Nikse.SubtitleEdit.Forms addText = RemoveAssStartAlignmentTag(addText); } + addText = RemoveAssaKarokeTag(addText); + if (breakMode == BreakMode.UnbreakNoSpace) { sb.Append(addText); @@ -12647,7 +12649,7 @@ namespace Nikse.SubtitleEdit.Forms private static string RemoveAssStartAlignmentTag(string text) { var s = text.TrimStart(); - if (s.StartsWith("{\\an") && s.Length > 5 && s[5] == '}') + if (s.StartsWith("{\\an", StringComparison.Ordinal) && s.Length > 5 && s[5] == '}') { s = s.Remove(0, 6); } @@ -12655,6 +12657,18 @@ namespace Nikse.SubtitleEdit.Forms return s; } + private static string RemoveAssaKarokeTag(string text) + { + var s = text.TrimStart(); + var end = s.IndexOf('}'); + if (end > 5 && end < 9 && s.StartsWith("{\\k", StringComparison.Ordinal)) + { + s = s.Remove(0, end + 1); + } + + return s; + } + private void UpdateStartTimeInfo(TimeCode startTime) { if (_subtitle.Paragraphs.Count > 0 && SubtitleListview1.SelectedItems.Count > 0 && startTime != null) @@ -19892,7 +19906,7 @@ namespace Nikse.SubtitleEdit.Forms { var pre = string.Empty; var s = SplitStartTags(line, ref pre); - if (!line.StartsWith("-")) + if (!line.StartsWith('-')) { sb.Append(pre).Append("- ").AppendLine(s); } @@ -24017,8 +24031,8 @@ namespace Nikse.SubtitleEdit.Forms public void RunTranslateSearch(Action act) { string text; - if (!string.IsNullOrWhiteSpace(textBoxSearchWord.Text) && - !textBoxListViewText.Focused && + if (!string.IsNullOrWhiteSpace(textBoxSearchWord.Text) && + !textBoxListViewText.Focused && !textBoxListViewTextOriginal.Focused) { text = textBoxSearchWord.Text;