diff --git a/src/ui/Features/Tools/BeautifyTimeCodes/BeautifyTimeCodesViewModel.cs b/src/ui/Features/Tools/BeautifyTimeCodes/BeautifyTimeCodesViewModel.cs index 2c989bbabc6..0de9295752a 100644 --- a/src/ui/Features/Tools/BeautifyTimeCodes/BeautifyTimeCodesViewModel.cs +++ b/src/ui/Features/Tools/BeautifyTimeCodes/BeautifyTimeCodesViewModel.cs @@ -96,13 +96,9 @@ private void UpdatePreview() return; } - // Build a Subtitle and run the full libse beautifier — it reads the profile - // directly from Configuration.Settings.BeautifyTimeCodes. - var subtitle = new Subtitle(); - foreach (var p in _allSubtitles.Select(p => p.Paragraph!).OrderBy(p => p.StartTime.TotalMilliseconds)) - { - subtitle.Paragraphs.Add(new Paragraph(p)); - } + // Build a Subtitle from the current row values and run the full libse + // beautifier — it reads the profile directly from Configuration.Settings.BeautifyTimeCodes. + var subtitle = BuildSubtitleFromRows(); var beautifier = new Core.Forms.TimeCodesBeautifier(subtitle, _frameRate, new List(), _shotChanges); beautifier.Beautify(); @@ -595,11 +591,7 @@ private void Ok() _timerUpdatePreview.Stop(); // Apply final beautification to commit the result back to _allSubtitles - var subtitle = new Subtitle(); - foreach (var p in _allSubtitles.Select(p => p.Paragraph!).OrderBy(p => p.StartTime.TotalMilliseconds)) - { - subtitle.Paragraphs.Add(new Paragraph(p)); - } + var subtitle = BuildSubtitleFromRows(); var beautifier = new Core.Forms.TimeCodesBeautifier(subtitle, _frameRate, new List(), _shotChanges); beautifier.Beautify(); @@ -628,6 +620,17 @@ public List GetBeautifiedSubtitles() return new List(_allSubtitles); } + private Subtitle BuildSubtitleFromRows() + { + var subtitle = new Subtitle(); + foreach (var p in _allSubtitles.Select(p => p.ToParagraph()).OrderBy(p => p.StartTime.TotalMilliseconds)) + { + subtitle.Paragraphs.Add(p); + } + + return subtitle; + } + internal void OnKeyDown(KeyEventArgs e) { if (e.Key == Key.Escape)