mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-26 23:12:38 +02:00
Add re-split shortcuts to UI
+ keep format/frame rate/video when merging current/original
This commit is contained in:
parent
c701804b3c
commit
9494add57a
@ -2041,6 +2041,8 @@ can edit in same subtitle file (collaboration)</Information>
|
||||
<MainTextBoxSelectionToUpper>Selection to uppercase</MainTextBoxSelectionToUpper>
|
||||
<MainTextBoxToggleAutoDuration>Toggle auto duration</MainTextBoxToggleAutoDuration>
|
||||
<MainTextBoxAutoBreak>Auto break text</MainTextBoxAutoBreak>
|
||||
<MainTextBoxAutoBreakFromPos>Break at first space from cursor position</MainTextBoxAutoBreakFromPos>
|
||||
<MainTextBoxAutoBreakFromPosAndGoToNext>Break at first space from cursor position and go to next</MainTextBoxAutoBreakFromPosAndGoToNext>
|
||||
<MainTextBoxUnbreak>Unbreak text</MainTextBoxUnbreak>
|
||||
<MainFileSaveAll>Save all</MainFileSaveAll>
|
||||
<Miscellaneous>Misc.</Miscellaneous>
|
||||
|
@ -2334,6 +2334,8 @@ can edit in same subtitle file (collaboration)",
|
||||
MainTextBoxSelectionToUpper = "Selection to uppercase",
|
||||
MainTextBoxToggleAutoDuration = "Toggle auto duration",
|
||||
MainTextBoxAutoBreak = "Auto break text",
|
||||
MainTextBoxAutoBreakFromPos = "Break at first space from cursor position",
|
||||
MainTextBoxAutoBreakFromPosAndGoToNext = "Break at first space from cursor position and go to next",
|
||||
MainTextBoxUnbreak = "Unbreak text",
|
||||
MainFileSaveAll = "Save all",
|
||||
Miscellaneous = "Misc.",
|
||||
|
@ -5545,6 +5545,12 @@ namespace Nikse.SubtitleEdit.Core
|
||||
case "Settings/MainTextBoxAutoBreak":
|
||||
language.Settings.MainTextBoxAutoBreak = reader.Value;
|
||||
break;
|
||||
case "Settings/MainTextBoxAutoBreakFromPos":
|
||||
language.Settings.MainTextBoxAutoBreakFromPos = reader.Value;
|
||||
break;
|
||||
case "Settings/MainTextBoxAutoBreakFromPosAndGoToNext":
|
||||
language.Settings.MainTextBoxAutoBreakFromPosAndGoToNext = reader.Value;
|
||||
break;
|
||||
case "Settings/MainTextBoxUnbreak":
|
||||
language.Settings.MainTextBoxUnbreak = reader.Value;
|
||||
break;
|
||||
|
@ -2207,6 +2207,8 @@
|
||||
public string MainTextBoxSelectionToUpper { get; set; }
|
||||
public string MainTextBoxToggleAutoDuration { get; set; }
|
||||
public string MainTextBoxAutoBreak { get; set; }
|
||||
public string MainTextBoxAutoBreakFromPos { get; set; }
|
||||
public string MainTextBoxAutoBreakFromPosAndGoToNext { get; set; }
|
||||
public string MainTextBoxUnbreak { get; set; }
|
||||
public string MainFileSaveAll { get; set; }
|
||||
public string Miscellaneous { get; set; }
|
||||
|
@ -9267,18 +9267,28 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
else if (e.KeyData == _mainTextBoxBreakAtCursorPosition)
|
||||
{
|
||||
textBoxListViewText.Text = Utilities.ReSplit(textBoxListViewText.Text, textBoxListViewText.SelectionStart);
|
||||
var lines = textBoxListViewText.Text.SplitToLines();
|
||||
if (lines.Count > 0)
|
||||
var text = Utilities.ReSplit(textBoxListViewText.Text, textBoxListViewText.SelectionStart);
|
||||
if (text != textBoxListViewText.Text)
|
||||
{
|
||||
textBoxListViewText.SelectionStart = lines[0].Length;
|
||||
MakeHistoryForUndo(string.Format(_language.BeforeReplace, Configuration.Settings.Language.Settings.MainTextBoxAutoBreakFromPos));
|
||||
textBoxListViewText.Text = text;
|
||||
var lines = textBoxListViewText.Text.SplitToLines();
|
||||
if (lines.Count > 0)
|
||||
{
|
||||
textBoxListViewText.SelectionStart = lines[0].Length;
|
||||
}
|
||||
}
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (e.KeyData == _mainTextBoxBreakAtCursorPositionAndGoToNext)
|
||||
{
|
||||
textBoxListViewText.Text = Utilities.ReSplit(textBoxListViewText.Text, textBoxListViewText.SelectionStart);
|
||||
ButtonNextClick(null, null);
|
||||
var text = Utilities.ReSplit(textBoxListViewText.Text, textBoxListViewText.SelectionStart);
|
||||
if (text != textBoxListViewText.Text)
|
||||
{
|
||||
MakeHistoryForUndo(string.Format(_language.BeforeReplace, Configuration.Settings.Language.Settings.MainTextBoxAutoBreakFromPosAndGoToNext));
|
||||
textBoxListViewText.Text = text;
|
||||
ButtonNextClick(null, null);
|
||||
}
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (e.KeyData == _mainTextBoxUnbreak)
|
||||
@ -14203,6 +14213,10 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (ContinueNewOrExit())
|
||||
{
|
||||
var subtitle = new Subtitle();
|
||||
subtitle.WasLoadedWithFrameNumbers = _subtitle.WasLoadedWithFrameNumbers;
|
||||
var fr = CurrentFrameRate;
|
||||
var format = GetCurrentSubtitleFormat();
|
||||
var videoFileName = _videoFileName;
|
||||
foreach (var p in _subtitle.Paragraphs)
|
||||
{
|
||||
var newP = new Paragraph(p);
|
||||
@ -14216,12 +14230,21 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
RemoveAlternate(true);
|
||||
FileNew();
|
||||
SetCurrentFormat(format);
|
||||
toolStripComboBoxFrameRate.Text = fr.ToString();
|
||||
_subtitle = subtitle;
|
||||
_subtitleListViewIndex = -1;
|
||||
ShowSource();
|
||||
SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
|
||||
SubtitleListview1.SelectIndexAndEnsureVisible(0, true);
|
||||
|
||||
if (!string.IsNullOrEmpty(videoFileName))
|
||||
{
|
||||
OpenVideo(videoFileName);
|
||||
}
|
||||
if (IsFramesRelevant && CurrentFrameRate > 0)
|
||||
{
|
||||
_subtitle.CalculateFrameNumbersFromTimeCodesNoCheck(CurrentFrameRate);
|
||||
}
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
}
|
||||
|
@ -1078,8 +1078,8 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
AddNode(textBoxNode, language.MainTextBoxSelectionToUpper, nameof(Configuration.Settings.Shortcuts.MainTextBoxSelectionToUpper));
|
||||
AddNode(textBoxNode, language.MainTextBoxToggleAutoDuration, nameof(Configuration.Settings.Shortcuts.MainTextBoxToggleAutoDuration));
|
||||
AddNode(textBoxNode, language.MainTextBoxAutoBreak, nameof(Configuration.Settings.Shortcuts.MainTextBoxAutoBreak));
|
||||
//TODO: AddNode(textBoxNode, "Break at first space from cursor position", nameof(Configuration.Settings.Shortcuts.MainTextBoxBreakAtPosition));
|
||||
//TODO: AddNode(textBoxNode, "Break at first space from cursor position and go to next", nameof(Configuration.Settings.Shortcuts.MainTextBoxBreakAtPositionAndGoToNext));
|
||||
AddNode(textBoxNode, language.MainTextBoxAutoBreakFromPos, nameof(Configuration.Settings.Shortcuts.MainTextBoxBreakAtPosition));
|
||||
AddNode(textBoxNode, "Break at first space from cursor position and go to next", nameof(Configuration.Settings.Shortcuts.MainTextBoxBreakAtPositionAndGoToNext));
|
||||
AddNode(textBoxNode, language.MainTextBoxUnbreak, nameof(Configuration.Settings.Shortcuts.MainTextBoxUnbreak));
|
||||
if (textBoxNode.Nodes.Count > 0)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user