mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
parent
9449255610
commit
707fe11c56
@ -1028,6 +1028,8 @@ namespace Nikse.SubtitleEdit.Core
|
||||
public string MainTextBoxSplitAtCursor { get; set; }
|
||||
public string MainTextBoxMoveLastWordDown { get; set; }
|
||||
public string MainTextBoxMoveFirstWordFromNextUp { get; set; }
|
||||
public string MainTextBoxMoveLastWordDownCurrent { get; set; }
|
||||
public string MainTextBoxMoveFirstWordUpCurrent { get; set; }
|
||||
public string MainTextBoxSelectionToLower { get; set; }
|
||||
public string MainTextBoxSelectionToUpper { get; set; }
|
||||
public string MainTextBoxToggleAutoDuration { get; set; }
|
||||
@ -3061,6 +3063,12 @@ namespace Nikse.SubtitleEdit.Core
|
||||
subNode = node.SelectSingleNode("MainTextBoxMoveFirstWordFromNextUp");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainTextBoxMoveFirstWordFromNextUp = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainTextBoxMoveLastWordDownCurrent");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainTextBoxMoveLastWordDownCurrent = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainTextBoxMoveFirstWordUpCurrent");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainTextBoxMoveFirstWordUpCurrent = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainTextBoxSelectionToLower");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainTextBoxSelectionToLower = subNode.InnerText;
|
||||
@ -3903,6 +3911,8 @@ namespace Nikse.SubtitleEdit.Core
|
||||
textWriter.WriteElementString("MainTextBoxSplitAtCursor", settings.Shortcuts.MainTextBoxSplitAtCursor);
|
||||
textWriter.WriteElementString("MainTextBoxMoveLastWordDown", settings.Shortcuts.MainTextBoxMoveLastWordDown);
|
||||
textWriter.WriteElementString("MainTextBoxMoveFirstWordFromNextUp", settings.Shortcuts.MainTextBoxMoveFirstWordFromNextUp);
|
||||
textWriter.WriteElementString("MainTextBoxMoveLastWordDownCurrent", settings.Shortcuts.MainTextBoxMoveLastWordDownCurrent);
|
||||
textWriter.WriteElementString("MainTextBoxMoveFirstWordUpCurrent", settings.Shortcuts.MainTextBoxMoveFirstWordUpCurrent);
|
||||
textWriter.WriteElementString("MainTextBoxSelectionToLower", settings.Shortcuts.MainTextBoxSelectionToLower);
|
||||
textWriter.WriteElementString("MainTextBoxSelectionToUpper", settings.Shortcuts.MainTextBoxSelectionToUpper);
|
||||
textWriter.WriteElementString("MainTextBoxToggleAutoDuration", settings.Shortcuts.MainTextBoxToggleAutoDuration);
|
||||
|
@ -167,6 +167,8 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
private Keys _mainTextBoxSplitAtCursor = Keys.None;
|
||||
private Keys _mainTextBoxMoveLastWordDown = Keys.None;
|
||||
private Keys _mainTextBoxMoveFirstWordFromNextUp = Keys.None;
|
||||
private Keys _mainTextBoxMoveLastWordDownCurrent = Keys.None;
|
||||
private Keys _mainTextBoxMoveFirstWordUpCurrent = Keys.None;
|
||||
private Keys _mainTextBoxSelectionToLower = Keys.None;
|
||||
private Keys _mainTextBoxSelectionToUpper = Keys.None;
|
||||
private Keys _mainTextBoxToggleAutoDuration = Keys.None;
|
||||
@ -12264,6 +12266,16 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
MoveFirstWordInNextUp();
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if ((textBoxListViewText.Focused || (SubtitleListview1.Focused && SubtitleListview1.SelectedItems.Count == 1) || (audioVisualizer.Focused && SubtitleListview1.SelectedItems.Count == 1)) && _mainTextBoxMoveLastWordDownCurrent == e.KeyData)
|
||||
{
|
||||
MoveWordUpDownInCurrent(true);
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if ((textBoxListViewText.Focused || (SubtitleListview1.Focused && SubtitleListview1.SelectedItems.Count == 1) || (audioVisualizer.Focused && SubtitleListview1.SelectedItems.Count == 1)) && _mainTextBoxMoveFirstWordUpCurrent == e.KeyData)
|
||||
{
|
||||
MoveWordUpDownInCurrent(false);
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (_mainAutoCalcCurrentDuration == e.KeyData && (tabControlButtons.SelectedTab == tabPageAdjust || tabControlButtons.SelectedTab == tabPageCreate))
|
||||
{
|
||||
e.SuppressKeyPress = true;
|
||||
@ -12534,6 +12546,59 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
// put new entries above tabs
|
||||
}
|
||||
|
||||
private void MoveWordUpDownInCurrent(bool down)
|
||||
{
|
||||
int firstIndex = FirstSelectedIndex;
|
||||
if (firstIndex < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var p = _subtitle.GetParagraphOrDefault(firstIndex);
|
||||
if (p == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var lines = p.Text.SplitToLines();
|
||||
if (lines.Count == 1)
|
||||
{
|
||||
lines.Add(string.Empty);
|
||||
}
|
||||
if (lines.Count != 2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var line1Words = lines[0].Split(' ').ToList();
|
||||
var line2Words = lines[1].Split(' ').ToList();
|
||||
if (down)
|
||||
{
|
||||
if (line1Words.Count > 0)
|
||||
{
|
||||
line2Words.Insert(0, line1Words[line1Words.Count - 1]);
|
||||
line1Words.RemoveAt(line1Words.Count - 1);
|
||||
}
|
||||
}
|
||||
else // up
|
||||
{
|
||||
if (line2Words.Count > 0)
|
||||
{
|
||||
line1Words.Add(line2Words[0]);
|
||||
line2Words.RemoveAt(0);
|
||||
}
|
||||
}
|
||||
var newText = (string.Join(" ", line1Words.ToArray()).Trim() + Environment.NewLine +
|
||||
string.Join(" ", line2Words.ToArray()).Trim()).Trim();
|
||||
if (newText != p.Text)
|
||||
{
|
||||
MakeHistoryForUndo(_language.BeforeLineUpdatedInListView);
|
||||
p.Text = newText;
|
||||
SubtitleListview1.SetText(firstIndex, p.Text);
|
||||
textBoxListViewText.Text = p.Text;
|
||||
}
|
||||
}
|
||||
|
||||
private void MoveStartCurrent(int ms)
|
||||
{
|
||||
var i = _subtitleListViewIndex;
|
||||
@ -16172,6 +16237,8 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
_mainTextBoxSplitAtCursor = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxSplitAtCursor);
|
||||
_mainTextBoxMoveLastWordDown = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxMoveLastWordDown);
|
||||
_mainTextBoxMoveFirstWordFromNextUp = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxMoveFirstWordFromNextUp);
|
||||
_mainTextBoxMoveLastWordDownCurrent = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxMoveLastWordDownCurrent);
|
||||
_mainTextBoxMoveFirstWordUpCurrent = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxMoveFirstWordUpCurrent);
|
||||
_mainTextBoxSelectionToLower = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxSelectionToLower);
|
||||
_mainTextBoxSelectionToUpper = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxSelectionToUpper);
|
||||
_mainTextBoxToggleAutoDuration = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxToggleAutoDuration);
|
||||
|
Loading…
Reference in New Issue
Block a user