Add shortcuts for extending

This commit is contained in:
Martijn van Berkel (Flitskikker) 2020-04-01 00:10:08 +02:00
parent a859083d0f
commit 3096103571
10 changed files with 442 additions and 51 deletions

View File

@ -1184,6 +1184,8 @@ Go to "Options -> Settings -> Tools" to enter your Google translate API ke
<MergeSelectedLinesAsDialog>Merge selected lines as dialog</MergeSelectedLinesAsDialog> <MergeSelectedLinesAsDialog>Merge selected lines as dialog</MergeSelectedLinesAsDialog>
<MergeWithLineBefore>Merge with line before</MergeWithLineBefore> <MergeWithLineBefore>Merge with line before</MergeWithLineBefore>
<MergeWithLineAfter>Merge with line after</MergeWithLineAfter> <MergeWithLineAfter>Merge with line after</MergeWithLineAfter>
<ExtendToLineBefore>Extend to line before</ExtendToLineBefore>
<ExtendToLineAfter>Extend to line after</ExtendToLineAfter>
<RemoveFormatting>Remove formatting</RemoveFormatting> <RemoveFormatting>Remove formatting</RemoveFormatting>
<RemoveFormattingAll>Remove all formatting</RemoveFormattingAll> <RemoveFormattingAll>Remove all formatting</RemoveFormattingAll>
<RemoveFormattingBold>Remove bold</RemoveFormattingBold> <RemoveFormattingBold>Remove bold</RemoveFormattingBold>
@ -1988,6 +1990,10 @@ can edit in same subtitle file (collaboration)</Information>
<AdjustSetEndAndOffsetTheRest>Set end, offset the rest</AdjustSetEndAndOffsetTheRest> <AdjustSetEndAndOffsetTheRest>Set end, offset the rest</AdjustSetEndAndOffsetTheRest>
<AdjustSetEndAndOffsetTheRestAndGoToNext>Set end, offset the rest and go to next</AdjustSetEndAndOffsetTheRestAndGoToNext> <AdjustSetEndAndOffsetTheRestAndGoToNext>Set end, offset the rest and go to next</AdjustSetEndAndOffsetTheRestAndGoToNext>
<AdjustExtendCurrentSubtitle>Extend current line to next subtitle or max duration</AdjustExtendCurrentSubtitle> <AdjustExtendCurrentSubtitle>Extend current line to next subtitle or max duration</AdjustExtendCurrentSubtitle>
<AdjustExtendToNextSceneChange>Extend selected lines to next scene change (or next subtitle)</AdjustExtendToNextSceneChange>
<AdjustExtendToPreviousSceneChange>Extend selected lines to previous scene change (or previous subtitle)</AdjustExtendToPreviousSceneChange>
<AdjustExtendToNextSubtitle>Extend selected lines to next subtitle</AdjustExtendToNextSubtitle>
<AdjustExtendToPreviousSubtitle>Extend selected lines to previous subtitle</AdjustExtendToPreviousSubtitle>
<RecalculateDurationOfCurrentSubtitle>Re-calculate duration of current subtitle</RecalculateDurationOfCurrentSubtitle> <RecalculateDurationOfCurrentSubtitle>Re-calculate duration of current subtitle</RecalculateDurationOfCurrentSubtitle>
<MainCreateStartDownEndUp>Insert new subtitle at key-down, set end time at key-up</MainCreateStartDownEndUp> <MainCreateStartDownEndUp>Insert new subtitle at key-down, set end time at key-up</MainCreateStartDownEndUp>
<MergeDialog>Merge dialog (insert dashes)</MergeDialog> <MergeDialog>Merge dialog (insert dashes)</MergeDialog>
@ -2554,6 +2560,8 @@ Keep changes?</KeepChangesMessage>
<SplitAtCursor>Split at cursor</SplitAtCursor> <SplitAtCursor>Split at cursor</SplitAtCursor>
<MergeWithPrevious>Merge with previous</MergeWithPrevious> <MergeWithPrevious>Merge with previous</MergeWithPrevious>
<MergeWithNext>Merge with next</MergeWithNext> <MergeWithNext>Merge with next</MergeWithNext>
<ExtendToPrevious>Extend to previous</ExtendToPrevious>
<ExtendToNext>Extend to next</ExtendToNext>
<PlaySelection>Play selection</PlaySelection> <PlaySelection>Play selection</PlaySelection>
<ShowWaveformAndSpectrogram>Show waveform and spectrogram</ShowWaveformAndSpectrogram> <ShowWaveformAndSpectrogram>Show waveform and spectrogram</ShowWaveformAndSpectrogram>
<ShowWaveformOnly>Show waveform only</ShowWaveformOnly> <ShowWaveformOnly>Show waveform only</ShowWaveformOnly>

View File

@ -1698,6 +1698,8 @@ namespace Nikse.SubtitleEdit.Core
MergeSelectedLinesAsDialog = "Merge selected lines as dialog", MergeSelectedLinesAsDialog = "Merge selected lines as dialog",
MergeWithLineBefore = "Merge with line before", MergeWithLineBefore = "Merge with line before",
MergeWithLineAfter = "Merge with line after", MergeWithLineAfter = "Merge with line after",
ExtendToLineBefore = "Extend to line before",
ExtendToLineAfter = "Extend to line after",
RemoveFormatting = "Remove formatting", RemoveFormatting = "Remove formatting",
RemoveFormattingAll = "Remove all formatting", RemoveFormattingAll = "Remove all formatting",
RemoveFormattingItalic = "Remove italic", RemoveFormattingItalic = "Remove italic",
@ -2282,6 +2284,10 @@ can edit in same subtitle file (collaboration)",
AdjustSetEndAndOffsetTheRest = "Set end, offset the rest", AdjustSetEndAndOffsetTheRest = "Set end, offset the rest",
AdjustSetEndAndOffsetTheRestAndGoToNext = "Set end, offset the rest and go to next", AdjustSetEndAndOffsetTheRestAndGoToNext = "Set end, offset the rest and go to next",
AdjustExtendCurrentSubtitle = "Extend current line to next subtitle or max duration", AdjustExtendCurrentSubtitle = "Extend current line to next subtitle or max duration",
AdjustExtendToNextSceneChange = "Extend selected lines to next scene change (or next subtitle)",
AdjustExtendToPreviousSceneChange = "Extend selected lines to previous scene change (or previous subtitle)",
AdjustExtendToNextSubtitle = "Extend selected lines to next subtitle",
AdjustExtendToPreviousSubtitle = "Extend selected lines to previous subtitle",
RecalculateDurationOfCurrentSubtitle = "Re-calculate duration of current subtitle", RecalculateDurationOfCurrentSubtitle = "Re-calculate duration of current subtitle",
MainCreateStartDownEndUp = "Insert new subtitle at key-down, set end time at key-up", MainCreateStartDownEndUp = "Insert new subtitle at key-down, set end time at key-up",
MergeDialog = "Merge dialog (insert dashes)", MergeDialog = "Merge dialog (insert dashes)",
@ -2903,6 +2909,8 @@ Keep changes?",
SplitAtCursor = "Split at cursor", SplitAtCursor = "Split at cursor",
MergeWithPrevious = "Merge with previous", MergeWithPrevious = "Merge with previous",
MergeWithNext = "Merge with next", MergeWithNext = "Merge with next",
ExtendToPrevious = "Extend to previous",
ExtendToNext = "Extend to next",
PlaySelection = "Play selection", PlaySelection = "Play selection",
ShowWaveformAndSpectrogram = "Show waveform and spectrogram", ShowWaveformAndSpectrogram = "Show waveform and spectrogram",
ShowWaveformOnly = "Show waveform only", ShowWaveformOnly = "Show waveform only",

View File

@ -3937,6 +3937,12 @@ namespace Nikse.SubtitleEdit.Core
case "Main/Menu/ContextMenu/MergeWithLineAfter": case "Main/Menu/ContextMenu/MergeWithLineAfter":
language.Main.Menu.ContextMenu.MergeWithLineAfter = reader.Value; language.Main.Menu.ContextMenu.MergeWithLineAfter = reader.Value;
break; break;
case "Main/Menu/ContextMenu/ExtendToLineBefore":
language.Main.Menu.ContextMenu.ExtendToLineBefore = reader.Value;
break;
case "Main/Menu/ContextMenu/ExtendToLineAfter":
language.Main.Menu.ContextMenu.ExtendToLineAfter = reader.Value;
break;
case "Main/Menu/ContextMenu/RemoveFormatting": case "Main/Menu/ContextMenu/RemoveFormatting":
language.Main.Menu.ContextMenu.RemoveFormatting = reader.Value; language.Main.Menu.ContextMenu.RemoveFormatting = reader.Value;
break; break;
@ -5386,6 +5392,18 @@ namespace Nikse.SubtitleEdit.Core
case "Settings/AdjustExtendCurrentSubtitle": case "Settings/AdjustExtendCurrentSubtitle":
language.Settings.AdjustExtendCurrentSubtitle = reader.Value; language.Settings.AdjustExtendCurrentSubtitle = reader.Value;
break; break;
case "Settings/AdjustExtendToNextSceneChange":
language.Settings.AdjustExtendToNextSceneChange = reader.Value;
break;
case "Settings/AdjustExtendToPreviousSceneChange":
language.Settings.AdjustExtendToPreviousSceneChange = reader.Value;
break;
case "Settings/AdjustExtendToNextSubtitle":
language.Settings.AdjustExtendToNextSubtitle = reader.Value;
break;
case "Settings/AdjustExtendToPreviousSubtitle":
language.Settings.AdjustExtendToPreviousSubtitle = reader.Value;
break;
case "Settings/RecalculateDurationOfCurrentSubtitle": case "Settings/RecalculateDurationOfCurrentSubtitle":
language.Settings.RecalculateDurationOfCurrentSubtitle = reader.Value; language.Settings.RecalculateDurationOfCurrentSubtitle = reader.Value;
break; break;
@ -6904,6 +6922,12 @@ namespace Nikse.SubtitleEdit.Core
case "Waveform/MergeWithNext": case "Waveform/MergeWithNext":
language.Waveform.MergeWithNext = reader.Value; language.Waveform.MergeWithNext = reader.Value;
break; break;
case "Waveform/ExtendToPrevious":
language.Waveform.ExtendToPrevious = reader.Value;
break;
case "Waveform/ExtendToNext":
language.Waveform.ExtendToNext = reader.Value;
break;
case "Waveform/PlaySelection": case "Waveform/PlaySelection":
language.Waveform.PlaySelection = reader.Value; language.Waveform.PlaySelection = reader.Value;
break; break;

View File

@ -1551,6 +1551,8 @@
public string MergeSelectedLinesAsDialog { get; set; } public string MergeSelectedLinesAsDialog { get; set; }
public string MergeWithLineBefore { get; set; } public string MergeWithLineBefore { get; set; }
public string MergeWithLineAfter { get; set; } public string MergeWithLineAfter { get; set; }
public string ExtendToLineBefore { get; set; }
public string ExtendToLineAfter { get; set; }
public string RemoveFormatting { get; set; } public string RemoveFormatting { get; set; }
public string RemoveFormattingAll { get; set; } public string RemoveFormattingAll { get; set; }
public string RemoveFormattingBold { get; set; } public string RemoveFormattingBold { get; set; }
@ -2153,6 +2155,10 @@
public string AdjustSetEndAndOffsetTheRest { get; set; } public string AdjustSetEndAndOffsetTheRest { get; set; }
public string AdjustSetEndAndOffsetTheRestAndGoToNext { get; set; } public string AdjustSetEndAndOffsetTheRestAndGoToNext { get; set; }
public string AdjustExtendCurrentSubtitle { get; set; } public string AdjustExtendCurrentSubtitle { get; set; }
public string AdjustExtendToNextSceneChange { get; set; }
public string AdjustExtendToPreviousSceneChange { get; set; }
public string AdjustExtendToNextSubtitle { get; set; }
public string AdjustExtendToPreviousSubtitle { get; set; }
public string RecalculateDurationOfCurrentSubtitle { get; set; } public string RecalculateDurationOfCurrentSubtitle { get; set; }
public string MainCreateStartDownEndUp { get; set; } public string MainCreateStartDownEndUp { get; set; }
public string MergeDialog { get; set; } public string MergeDialog { get; set; }
@ -2770,6 +2776,8 @@
public string SplitAtCursor { get; set; } public string SplitAtCursor { get; set; }
public string MergeWithPrevious { get; set; } public string MergeWithPrevious { get; set; }
public string MergeWithNext { get; set; } public string MergeWithNext { get; set; }
public string ExtendToPrevious { get; set; }
public string ExtendToNext { get; set; }
public string PlaySelection { get; set; } public string PlaySelection { get; set; }
public string ShowWaveformAndSpectrogram { get; set; } public string ShowWaveformAndSpectrogram { get; set; }
public string ShowWaveformOnly { get; set; } public string ShowWaveformOnly { get; set; }

View File

@ -1555,6 +1555,10 @@ $HorzAlign = Center
public string MainAdjustStartXMsForward { get; set; } public string MainAdjustStartXMsForward { get; set; }
public string MainAdjustEndXMsBack { get; set; } public string MainAdjustEndXMsBack { get; set; }
public string MainAdjustEndXMsForward { get; set; } public string MainAdjustEndXMsForward { get; set; }
public string MainAdjustExtendToNextSceneChange { get; set; }
public string MainAdjustExtendToPreviousSceneChange { get; set; }
public string MainAdjustExtendToNextSubtitle { get; set; }
public string MainAdjustExtendToPreviousSubtitle { get; set; }
public string MainInsertAfter { get; set; } public string MainInsertAfter { get; set; }
public string MainTextBoxAutoBreak { get; set; } public string MainTextBoxAutoBreak { get; set; }
public string MainTextBoxBreakAtPosition { get; set; } public string MainTextBoxBreakAtPosition { get; set; }
@ -1698,6 +1702,10 @@ $HorzAlign = Center
WaveformSearchSilenceForward = string.Empty; WaveformSearchSilenceForward = string.Empty;
WaveformSearchSilenceBack = string.Empty; WaveformSearchSilenceBack = string.Empty;
WaveformAddTextHere = "Return"; WaveformAddTextHere = "Return";
MainAdjustExtendToNextSceneChange = string.Empty;
MainAdjustExtendToPreviousSceneChange = string.Empty;
MainAdjustExtendToNextSubtitle = "Control+Shift+E";
MainAdjustExtendToPreviousSubtitle = "Alt+Shift+E";
} }
} }
@ -6125,6 +6133,30 @@ $HorzAlign = Center
settings.Shortcuts.MainAdjustEndXMsForward = subNode.InnerText; settings.Shortcuts.MainAdjustEndXMsForward = subNode.InnerText;
} }
subNode = node.SelectSingleNode("MainAdjustExtendToNextSceneChange");
if (subNode != null)
{
settings.Shortcuts.MainAdjustExtendToNextSceneChange = subNode.InnerText;
}
subNode = node.SelectSingleNode("MainAdjustExtendToPreviousSceneChange");
if (subNode != null)
{
settings.Shortcuts.MainAdjustExtendToPreviousSceneChange = subNode.InnerText;
}
subNode = node.SelectSingleNode("MainAdjustExtendToNextSubtitle");
if (subNode != null)
{
settings.Shortcuts.MainAdjustExtendToNextSubtitle = subNode.InnerText;
}
subNode = node.SelectSingleNode("MainAdjustExtendToPreviousSubtitle");
if (subNode != null)
{
settings.Shortcuts.MainAdjustExtendToPreviousSubtitle = subNode.InnerText;
}
subNode = node.SelectSingleNode("MainInsertAfter"); subNode = node.SelectSingleNode("MainInsertAfter");
if (subNode != null) if (subNode != null)
{ {
@ -7279,6 +7311,10 @@ $HorzAlign = Center
textWriter.WriteElementString("MainAdjustStartXMsForward", settings.Shortcuts.MainAdjustStartXMsForward); textWriter.WriteElementString("MainAdjustStartXMsForward", settings.Shortcuts.MainAdjustStartXMsForward);
textWriter.WriteElementString("MainAdjustEndXMsBack", settings.Shortcuts.MainAdjustEndXMsBack); textWriter.WriteElementString("MainAdjustEndXMsBack", settings.Shortcuts.MainAdjustEndXMsBack);
textWriter.WriteElementString("MainAdjustEndXMsForward", settings.Shortcuts.MainAdjustEndXMsForward); textWriter.WriteElementString("MainAdjustEndXMsForward", settings.Shortcuts.MainAdjustEndXMsForward);
textWriter.WriteElementString("MainAdjustExtendToNextSceneChange", settings.Shortcuts.MainAdjustExtendToNextSceneChange);
textWriter.WriteElementString("MainAdjustExtendToPreviousSceneChange", settings.Shortcuts.MainAdjustExtendToPreviousSceneChange);
textWriter.WriteElementString("MainAdjustExtendToNextSubtitle", settings.Shortcuts.MainAdjustExtendToNextSubtitle);
textWriter.WriteElementString("MainAdjustExtendToPreviousSubtitle", settings.Shortcuts.MainAdjustExtendToPreviousSubtitle);
textWriter.WriteElementString("MainInsertAfter", settings.Shortcuts.MainInsertAfter); textWriter.WriteElementString("MainInsertAfter", settings.Shortcuts.MainInsertAfter);
textWriter.WriteElementString("MainTextBoxAutoBreak", settings.Shortcuts.MainTextBoxAutoBreak); textWriter.WriteElementString("MainTextBoxAutoBreak", settings.Shortcuts.MainTextBoxAutoBreak);
textWriter.WriteElementString("MainTextBoxBreakAtPosition", settings.Shortcuts.MainTextBoxBreakAtPosition); textWriter.WriteElementString("MainTextBoxBreakAtPosition", settings.Shortcuts.MainTextBoxBreakAtPosition);

View File

@ -431,6 +431,8 @@
this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView(); this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
this.imageListBookmarks = new System.Windows.Forms.ImageList(this.components); this.imageListBookmarks = new System.Windows.Forms.ImageList(this.components);
this.groupBoxEdit = new System.Windows.Forms.GroupBox(); this.groupBoxEdit = new System.Windows.Forms.GroupBox();
this.labelAlternateSingleLinePixels = new System.Windows.Forms.Label();
this.labelSingleLinePixels = new System.Windows.Forms.Label();
this.panelBookmark = new System.Windows.Forms.Panel(); this.panelBookmark = new System.Windows.Forms.Panel();
this.labelBookmark = new System.Windows.Forms.Label(); this.labelBookmark = new System.Windows.Forms.Label();
this.pictureBoxBookmark = new System.Windows.Forms.PictureBox(); this.pictureBoxBookmark = new System.Windows.Forms.PictureBox();
@ -509,8 +511,12 @@
this.imageListPlayRate = new System.Windows.Forms.ImageList(this.components); this.imageListPlayRate = new System.Windows.Forms.ImageList(this.components);
this.timerTextUndo = new System.Windows.Forms.Timer(this.components); this.timerTextUndo = new System.Windows.Forms.Timer(this.components);
this.timerAlternateTextUndo = new System.Windows.Forms.Timer(this.components); this.timerAlternateTextUndo = new System.Windows.Forms.Timer(this.components);
this.labelSingleLinePixels = new System.Windows.Forms.Label(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.labelAlternateSingleLinePixels = new System.Windows.Forms.Label(); this.extendAfterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extendBeforeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.extendToNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extendToPreviousToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
@ -2410,6 +2416,9 @@
this.toolStripMenuItemMergeDialog, this.toolStripMenuItemMergeDialog,
this.mergeBeforeToolStripMenuItem, this.mergeBeforeToolStripMenuItem,
this.mergeAfterToolStripMenuItem, this.mergeAfterToolStripMenuItem,
this.toolStripSeparator4,
this.extendBeforeToolStripMenuItem,
this.extendAfterToolStripMenuItem,
this.toolStripSeparator8, this.toolStripSeparator8,
this.removeFormattinglToolStripMenuItem, this.removeFormattinglToolStripMenuItem,
this.boldToolStripMenuItem, this.boldToolStripMenuItem,
@ -2436,7 +2445,7 @@
this.changeCasingForSelectedLinesToolStripMenuItem, this.changeCasingForSelectedLinesToolStripMenuItem,
this.toolStripMenuItemSaveSelectedLines}); this.toolStripMenuItemSaveSelectedLines});
this.contextMenuStripListview.Name = "contextMenuStripListview"; this.contextMenuStripListview.Name = "contextMenuStripListview";
this.contextMenuStripListview.Size = new System.Drawing.Size(285, 892); this.contextMenuStripListview.Size = new System.Drawing.Size(285, 964);
this.contextMenuStripListview.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.MenuClosed); this.contextMenuStripListview.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.MenuClosed);
this.contextMenuStripListview.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListviewOpening); this.contextMenuStripListview.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListviewOpening);
this.contextMenuStripListview.Opened += new System.EventHandler(this.MenuOpened); this.contextMenuStripListview.Opened += new System.EventHandler(this.MenuOpened);
@ -3888,6 +3897,9 @@
this.mergeWithPreviousToolStripMenuItem, this.mergeWithPreviousToolStripMenuItem,
this.mergeWithNextToolStripMenuItem, this.mergeWithNextToolStripMenuItem,
this.toolStripSeparator11, this.toolStripSeparator11,
this.extendToPreviousToolStripMenuItem,
this.extendToNextToolStripMenuItem,
this.toolStripSeparator6,
this.toolStripMenuItemWaveformPlaySelection, this.toolStripMenuItemWaveformPlaySelection,
this.toolStripSeparator24, this.toolStripSeparator24,
this.showWaveformAndSpectrogramToolStripMenuItem, this.showWaveformAndSpectrogramToolStripMenuItem,
@ -3900,7 +3912,7 @@
this.seekSilenceToolStripMenuItem, this.seekSilenceToolStripMenuItem,
this.insertSubtitleHereToolStripMenuItem}); this.insertSubtitleHereToolStripMenuItem});
this.contextMenuStripWaveform.Name = "contextMenuStripWaveform"; this.contextMenuStripWaveform.Name = "contextMenuStripWaveform";
this.contextMenuStripWaveform.Size = new System.Drawing.Size(275, 396); this.contextMenuStripWaveform.Size = new System.Drawing.Size(275, 446);
this.contextMenuStripWaveform.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.contextMenuStripWaveform_Closing); this.contextMenuStripWaveform.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.contextMenuStripWaveform_Closing);
this.contextMenuStripWaveform.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripWaveformOpening); this.contextMenuStripWaveform.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripWaveformOpening);
// //
@ -4197,6 +4209,26 @@
this.groupBoxEdit.TabIndex = 1; this.groupBoxEdit.TabIndex = 1;
this.groupBoxEdit.TabStop = false; this.groupBoxEdit.TabStop = false;
// //
// labelAlternateSingleLinePixels
//
this.labelAlternateSingleLinePixels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelAlternateSingleLinePixels.AutoSize = true;
this.labelAlternateSingleLinePixels.Location = new System.Drawing.Point(870, 94);
this.labelAlternateSingleLinePixels.Name = "labelAlternateSingleLinePixels";
this.labelAlternateSingleLinePixels.Size = new System.Drawing.Size(62, 13);
this.labelAlternateSingleLinePixels.TabIndex = 43;
this.labelAlternateSingleLinePixels.Text = "AltSinLinPix";
//
// labelSingleLinePixels
//
this.labelSingleLinePixels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelSingleLinePixels.AutoSize = true;
this.labelSingleLinePixels.Location = new System.Drawing.Point(427, 94);
this.labelSingleLinePixels.Name = "labelSingleLinePixels";
this.labelSingleLinePixels.Size = new System.Drawing.Size(105, 13);
this.labelSingleLinePixels.TabIndex = 42;
this.labelSingleLinePixels.Text = "labelSingleLinePixels";
//
// panelBookmark // panelBookmark
// //
this.panelBookmark.BackColor = System.Drawing.Color.LemonChiffon; this.panelBookmark.BackColor = System.Drawing.Color.LemonChiffon;
@ -4952,25 +4984,43 @@
this.timerAlternateTextUndo.Interval = 700; this.timerAlternateTextUndo.Interval = 700;
this.timerAlternateTextUndo.Tick += new System.EventHandler(this.TimerAlternateTextUndoTick); this.timerAlternateTextUndo.Tick += new System.EventHandler(this.TimerAlternateTextUndoTick);
// //
// labelSingleLinePixels // toolStripSeparator4
// //
this.labelSingleLinePixels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.toolStripSeparator4.Name = "toolStripSeparator4";
this.labelSingleLinePixels.AutoSize = true; this.toolStripSeparator4.Size = new System.Drawing.Size(281, 6);
this.labelSingleLinePixels.Location = new System.Drawing.Point(427, 94);
this.labelSingleLinePixels.Name = "labelSingleLinePixels";
this.labelSingleLinePixels.Size = new System.Drawing.Size(105, 13);
this.labelSingleLinePixels.TabIndex = 42;
this.labelSingleLinePixels.Text = "labelSingleLinePixels";
// //
// labelAlternateSingleLinePixels // extendAfterToolStripMenuItem
// //
this.labelAlternateSingleLinePixels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.extendAfterToolStripMenuItem.Name = "extendAfterToolStripMenuItem";
this.labelAlternateSingleLinePixels.AutoSize = true; this.extendAfterToolStripMenuItem.Size = new System.Drawing.Size(284, 22);
this.labelAlternateSingleLinePixels.Location = new System.Drawing.Point(870, 94); this.extendAfterToolStripMenuItem.Text = "Extend to line after";
this.labelAlternateSingleLinePixels.Name = "labelAlternateSingleLinePixels"; this.extendAfterToolStripMenuItem.Click += new System.EventHandler(this.ExtendAfterToolStripMenuItemClick);
this.labelAlternateSingleLinePixels.Size = new System.Drawing.Size(62, 13); //
this.labelAlternateSingleLinePixels.TabIndex = 43; // extendBeforeToolStripMenuItem
this.labelAlternateSingleLinePixels.Text = "AltSinLinPix"; //
this.extendBeforeToolStripMenuItem.Name = "extendBeforeToolStripMenuItem";
this.extendBeforeToolStripMenuItem.Size = new System.Drawing.Size(284, 22);
this.extendBeforeToolStripMenuItem.Text = "Extend to line before";
this.extendBeforeToolStripMenuItem.Click += new System.EventHandler(this.ExtendBeforeToolStripMenuItemClick);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(271, 6);
//
// extendToNextToolStripMenuItem
//
this.extendToNextToolStripMenuItem.Name = "extendToNextToolStripMenuItem";
this.extendToNextToolStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.extendToNextToolStripMenuItem.Text = "Extend to next";
this.extendToNextToolStripMenuItem.Click += new System.EventHandler(this.extendToNextToolStripMenuItem_Click);
//
// extendToPreviousToolStripMenuItem
//
this.extendToPreviousToolStripMenuItem.Name = "extendToPreviousToolStripMenuItem";
this.extendToPreviousToolStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.extendToPreviousToolStripMenuItem.Text = "Extend to previous";
this.extendToPreviousToolStripMenuItem.Click += new System.EventHandler(this.extendToPreviousToolStripMenuItem_Click);
// //
// Main // Main
// //
@ -5527,5 +5577,11 @@
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemRuby; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemRuby;
private System.Windows.Forms.Label labelSingleLinePixels; private System.Windows.Forms.Label labelSingleLinePixels;
private System.Windows.Forms.Label labelAlternateSingleLinePixels; private System.Windows.Forms.Label labelAlternateSingleLinePixels;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripMenuItem extendBeforeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem extendAfterToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem extendToPreviousToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem extendToNextToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
} }
} }

View File

@ -776,6 +776,9 @@ namespace Nikse.SubtitleEdit.Forms
mergeWithPreviousToolStripMenuItem.Visible = false; mergeWithPreviousToolStripMenuItem.Visible = false;
mergeWithNextToolStripMenuItem.Visible = false; mergeWithNextToolStripMenuItem.Visible = false;
toolStripSeparator11.Visible = false; toolStripSeparator11.Visible = false;
extendToPreviousToolStripMenuItem.Visible = false;
extendToNextToolStripMenuItem.Visible = false;
toolStripSeparator6.Visible = false;
toolStripMenuItemWaveformPlaySelection.Visible = false; toolStripMenuItemWaveformPlaySelection.Visible = false;
toolStripSeparator24.Visible = false; toolStripSeparator24.Visible = false;
if (audioVisualizer.GetSceneChangeIndex(e.Seconds) >= 0) if (audioVisualizer.GetSceneChangeIndex(e.Seconds) >= 0)
@ -904,6 +907,9 @@ namespace Nikse.SubtitleEdit.Forms
mergeWithPreviousToolStripMenuItem.Visible = true; mergeWithPreviousToolStripMenuItem.Visible = true;
mergeWithNextToolStripMenuItem.Visible = true; mergeWithNextToolStripMenuItem.Visible = true;
toolStripSeparator11.Visible = true; toolStripSeparator11.Visible = true;
extendToPreviousToolStripMenuItem.Visible = true;
extendToNextToolStripMenuItem.Visible = true;
toolStripSeparator6.Visible = true;
toolStripMenuItemWaveformPlaySelection.Visible = true; toolStripMenuItemWaveformPlaySelection.Visible = true;
toolStripSeparator24.Visible = true; toolStripSeparator24.Visible = true;
if (audioVisualizer.GetSceneChangeIndex(e.Seconds) >= 0) if (audioVisualizer.GetSceneChangeIndex(e.Seconds) >= 0)
@ -975,6 +981,9 @@ namespace Nikse.SubtitleEdit.Forms
splitToolStripMenuItem1.Visible = false; splitToolStripMenuItem1.Visible = false;
mergeWithPreviousToolStripMenuItem.Visible = false; mergeWithPreviousToolStripMenuItem.Visible = false;
mergeWithNextToolStripMenuItem.Visible = false; mergeWithNextToolStripMenuItem.Visible = false;
extendToPreviousToolStripMenuItem.Visible = false;
extendToNextToolStripMenuItem.Visible = false;
toolStripSeparator6.Visible = false;
contextMenuStripWaveform.Show(MousePosition.X, MousePosition.Y); contextMenuStripWaveform.Show(MousePosition.X, MousePosition.Y);
} }
@ -1538,6 +1547,8 @@ namespace Nikse.SubtitleEdit.Forms
toolStripMenuItemMergeDialog.Text = _language.Menu.ContextMenu.MergeSelectedLinesAsDialog; toolStripMenuItemMergeDialog.Text = _language.Menu.ContextMenu.MergeSelectedLinesAsDialog;
mergeBeforeToolStripMenuItem.Text = _language.Menu.ContextMenu.MergeWithLineBefore; mergeBeforeToolStripMenuItem.Text = _language.Menu.ContextMenu.MergeWithLineBefore;
mergeAfterToolStripMenuItem.Text = _language.Menu.ContextMenu.MergeWithLineAfter; mergeAfterToolStripMenuItem.Text = _language.Menu.ContextMenu.MergeWithLineAfter;
extendBeforeToolStripMenuItem.Text = _language.Menu.ContextMenu.ExtendToLineBefore;
extendAfterToolStripMenuItem.Text = _language.Menu.ContextMenu.ExtendToLineAfter;
removeFormattinglToolStripMenuItem.Text = _language.Menu.ContextMenu.RemoveFormatting; removeFormattinglToolStripMenuItem.Text = _language.Menu.ContextMenu.RemoveFormatting;
removeAllFormattingsToolStripMenuItem.Text = _language.Menu.ContextMenu.RemoveFormattingAll; removeAllFormattingsToolStripMenuItem.Text = _language.Menu.ContextMenu.RemoveFormattingAll;
removeBoldToolStripMenuItem.Text = _language.Menu.ContextMenu.RemoveFormattingBold; removeBoldToolStripMenuItem.Text = _language.Menu.ContextMenu.RemoveFormattingBold;
@ -1674,6 +1685,8 @@ namespace Nikse.SubtitleEdit.Forms
splitToolStripMenuItem1.Text = languageWaveform.Split; splitToolStripMenuItem1.Text = languageWaveform.Split;
mergeWithPreviousToolStripMenuItem.Text = languageWaveform.MergeWithPrevious; mergeWithPreviousToolStripMenuItem.Text = languageWaveform.MergeWithPrevious;
mergeWithNextToolStripMenuItem.Text = languageWaveform.MergeWithNext; mergeWithNextToolStripMenuItem.Text = languageWaveform.MergeWithNext;
extendToPreviousToolStripMenuItem.Text = languageWaveform.ExtendToPrevious;
extendToNextToolStripMenuItem.Text = languageWaveform.ExtendToNext;
toolStripMenuItemWaveformPlaySelection.Text = languageWaveform.PlaySelection; toolStripMenuItemWaveformPlaySelection.Text = languageWaveform.PlaySelection;
showWaveformAndSpectrogramToolStripMenuItem.Text = languageWaveform.ShowWaveformAndSpectrogram; showWaveformAndSpectrogramToolStripMenuItem.Text = languageWaveform.ShowWaveformAndSpectrogram;
showOnlyWaveformToolStripMenuItem.Text = languageWaveform.ShowWaveformOnly; showOnlyWaveformToolStripMenuItem.Text = languageWaveform.ShowWaveformOnly;
@ -10263,6 +10276,16 @@ namespace Nikse.SubtitleEdit.Forms
} }
} }
private void ExtendBeforeToolStripMenuItemClick(object sender, EventArgs e)
{
}
private void ExtendAfterToolStripMenuItemClick(object sender, EventArgs e)
{
}
private static string ChangeAllLinesTagsToSingleTag(string text, string tag) private static string ChangeAllLinesTagsToSingleTag(string text, string tag)
{ {
if (!text.Contains("<" + tag + ">")) if (!text.Contains("<" + tag + ">"))
@ -14423,6 +14446,26 @@ namespace Nikse.SubtitleEdit.Forms
FindPrevious(); FindPrevious();
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
} }
else if (_shortcuts.MainAdjustExtendToNextSubtitle == e.KeyData)
{
ExtendSelectedLinesToNextLine();
e.SuppressKeyPress = true;
}
else if (_shortcuts.MainAdjustExtendToPreviousSubtitle == e.KeyData)
{
ExtendSelectedLinesToPreviousLine();
e.SuppressKeyPress = true;
}
else if (_shortcuts.MainAdjustExtendToNextSceneChange == e.KeyData)
{
ExtendSelectedLinesToNextSceneChange();
e.SuppressKeyPress = true;
}
else if (_shortcuts.MainAdjustExtendToPreviousSceneChange == e.KeyData)
{
ExtendSelectedLinesToPreviousSceneChange();
e.SuppressKeyPress = true;
}
//TABS: Create / adjust / translate //TABS: Create / adjust / translate
@ -14634,6 +14677,178 @@ namespace Nikse.SubtitleEdit.Forms
// put new entries above tabs // put new entries above tabs
} }
private void ExtendSelectedLinesToNextLine()
{
var historyAdded = false;
foreach (ListViewItem selectedItem in SubtitleListview1.SelectedItems)
{
var idx = selectedItem.Index;
var p = _subtitle.Paragraphs[idx];
var next = _subtitle.GetParagraphOrDefault(idx + 1);
if (next != null)
{
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToNextSubtitle));
historyAdded = true;
}
p.EndTime.TotalMilliseconds = next.StartTime.TotalMilliseconds - Configuration.Settings.General.MinimumMillisecondsBetweenLines;
}
if (_subtitleAlternate != null && Configuration.Settings.General.AllowEditOfOriginalSubtitle)
{
var original = Utilities.GetOriginalParagraph(idx, p, _subtitleAlternate.Paragraphs);
if (original != null)
{
var originalNext = _subtitleAlternate.GetParagraphOrDefault(_subtitleAlternate.GetIndex(original) + 1);
if (originalNext != null)
{
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToNextSubtitle));
historyAdded = true;
}
original.EndTime.TotalMilliseconds = originalNext.StartTime.TotalMilliseconds - Configuration.Settings.General.MinimumMillisecondsBetweenLines;
}
}
}
RefreshSelectedParagraph();
}
}
private void ExtendSelectedLinesToPreviousLine()
{
var historyAdded = false;
foreach (ListViewItem selectedItem in SubtitleListview1.SelectedItems)
{
var idx = selectedItem.Index;
var p = _subtitle.Paragraphs[idx];
var previous = _subtitle.GetParagraphOrDefault(idx - 1);
if (previous != null)
{
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToPreviousSubtitle));
historyAdded = true;
}
p.StartTime.TotalMilliseconds = previous.EndTime.TotalMilliseconds + Configuration.Settings.General.MinimumMillisecondsBetweenLines;
}
if (_subtitleAlternate != null)
{
var original = Utilities.GetOriginalParagraph(idx, p, _subtitleAlternate.Paragraphs);
if (original != null)
{
var originalPrevious = _subtitleAlternate.GetParagraphOrDefault(_subtitleAlternate.GetIndex(original) - 1);
if (originalPrevious != null)
{
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToPreviousSubtitle));
historyAdded = true;
}
original.StartTime.TotalMilliseconds = originalPrevious.EndTime.TotalMilliseconds + Configuration.Settings.General.MinimumMillisecondsBetweenLines;
}
}
}
RefreshSelectedParagraph();
}
}
private void ExtendSelectedLinesToNextSceneChange()
{
var historyAdded = false;
foreach (ListViewItem selectedItem in SubtitleListview1.SelectedItems)
{
var idx = selectedItem.Index;
var p = _subtitle.Paragraphs[idx];
List<double> nextSceneChanges = audioVisualizer.SceneChanges.Count > 0 ? audioVisualizer.SceneChanges.Where(x => x > p.EndTime.TotalSeconds + 0.01).ToList() : new List<double>();
if (nextSceneChanges.Count > 0)
{
var next = _subtitle.GetParagraphOrDefault(idx + 1);
double nearestSceneChange = nextSceneChanges.Aggregate((x, y) => Math.Abs(x - p.EndTime.TotalSeconds) < Math.Abs(y - p.EndTime.TotalSeconds) ? x : y);
double nearestStartTimeWithGap = next != null ? next.StartTime.TotalMilliseconds - Configuration.Settings.General.MinimumMillisecondsBetweenLines : Double.MaxValue;
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToNextSceneChange));
historyAdded = true;
}
p.EndTime.TotalMilliseconds = Math.Min(nearestSceneChange * 1000, nearestStartTimeWithGap);
if (_subtitleAlternate != null && Configuration.Settings.General.AllowEditOfOriginalSubtitle)
{
var original = Utilities.GetOriginalParagraph(idx, p, _subtitleAlternate.Paragraphs);
if (original != null)
{
var originalNext = _subtitleAlternate.GetParagraphOrDefault(_subtitleAlternate.GetIndex(original) + 1);
double nearestOriginalStartTimeWithGap = originalNext != null ? originalNext.StartTime.TotalMilliseconds - Configuration.Settings.General.MinimumMillisecondsBetweenLines : Double.MaxValue;
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToNextSceneChange));
historyAdded = true;
}
original.EndTime.TotalMilliseconds = Math.Min(nearestSceneChange * 1000, nearestOriginalStartTimeWithGap);
}
}
}
RefreshSelectedParagraph();
}
}
private void ExtendSelectedLinesToPreviousSceneChange()
{
var historyAdded = false;
foreach (ListViewItem selectedItem in SubtitleListview1.SelectedItems)
{
var idx = selectedItem.Index;
var p = _subtitle.Paragraphs[idx];
List<double> previousSceneChanges = audioVisualizer.SceneChanges.Count > 0 ? audioVisualizer.SceneChanges.Where(x => x < p.StartTime.TotalSeconds - 0.01).ToList() : new List<double>();
if (previousSceneChanges.Count > 0)
{
var previous = _subtitle.GetParagraphOrDefault(idx - 1);
double nearestSceneChange = previousSceneChanges.Aggregate((x, y) => Math.Abs(x - p.StartTime.TotalSeconds) < Math.Abs(y - p.StartTime.TotalSeconds) ? x : y);
double nearestEndTimeWithGap = previous != null ? previous.EndTime.TotalMilliseconds + Configuration.Settings.General.MinimumMillisecondsBetweenLines : -9999;
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToPreviousSceneChange));
historyAdded = true;
}
p.StartTime.TotalMilliseconds = Math.Max(nearestSceneChange * 1000, nearestEndTimeWithGap);
if (_subtitleAlternate != null && Configuration.Settings.General.AllowEditOfOriginalSubtitle)
{
var original = Utilities.GetOriginalParagraph(idx, p, _subtitleAlternate.Paragraphs);
if (original != null)
{
var originalPrevious = _subtitleAlternate.GetParagraphOrDefault(_subtitleAlternate.GetIndex(original) - 1);
double nearestOriginalEndTimeWithGap = originalPrevious != null ? originalPrevious.EndTime.TotalMilliseconds + Configuration.Settings.General.MinimumMillisecondsBetweenLines : -9999;
if (!historyAdded)
{
MakeHistoryForUndo(string.Format(_language.BeforeX, Configuration.Settings.Language.Settings.AdjustExtendToPreviousSceneChange));
historyAdded = true;
}
original.StartTime.TotalMilliseconds = Math.Max(nearestSceneChange * 1000, nearestOriginalEndTimeWithGap);
}
}
}
RefreshSelectedParagraph();
}
}
private void AutoGuessStartTime(int index) private void AutoGuessStartTime(int index)
{ {
var p = _subtitle.GetParagraphOrDefault(index); var p = _subtitle.GetParagraphOrDefault(index);
@ -20476,6 +20691,30 @@ namespace Nikse.SubtitleEdit.Forms
audioVisualizer.Invalidate(); audioVisualizer.Invalidate();
} }
private void extendToPreviousToolStripMenuItem_Click(object sender, EventArgs e)
{
int index = _subtitle.GetIndex(audioVisualizer.RightClickedParagraph);
if (index >= 0)
{
SubtitleListview1.SelectIndexAndEnsureVisible(index, true);
ExtendSelectedLinesToPreviousLine();
}
audioVisualizer.Invalidate();
}
private void extendToNextToolStripMenuItem_Click(object sender, EventArgs e)
{
int index = _subtitle.GetIndex(audioVisualizer.RightClickedParagraph);
if (index >= 0)
{
SubtitleListview1.SelectIndexAndEnsureVisible(index, true);
ExtendSelectedLinesToNextLine();
}
audioVisualizer.Invalidate();
}
private void buttonWaveformZoomIn_Click(object sender, EventArgs e) private void buttonWaveformZoomIn_Click(object sender, EventArgs e)
{ {
if (audioVisualizer.WavePeaks != null && audioVisualizer.Visible) if (audioVisualizer.WavePeaks != null && audioVisualizer.Visible)

View File

@ -338,36 +338,36 @@
<data name="toolStripButtonFixCommonErrors.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolStripButtonFixCommonErrors.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
RGFPzKWfAAAAAElFTkSuQmCC AABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="toolStripButtonRemoveTextForHi.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolStripButtonRemoveTextForHi.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -705,7 +705,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2
CAAAAk1TRnQBSQFMAgEBAgEAATgBJwE4AScBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CAAAAk1TRnQBSQFMAgEBAgEAAVABJwFQAScBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -1268,6 +1268,10 @@ namespace Nikse.SubtitleEdit.Forms
AddNode(createAndAdjustNode, string.Format(language.AdjustEndXMsBack, Configuration.Settings.Tools.MoveStartEndMs), nameof(Configuration.Settings.Shortcuts.MainAdjustEndXMsBack)); AddNode(createAndAdjustNode, string.Format(language.AdjustEndXMsBack, Configuration.Settings.Tools.MoveStartEndMs), nameof(Configuration.Settings.Shortcuts.MainAdjustEndXMsBack));
AddNode(createAndAdjustNode, string.Format(language.AdjustEndXMsForward, Configuration.Settings.Tools.MoveStartEndMs), nameof(Configuration.Settings.Shortcuts.MainAdjustEndXMsForward)); AddNode(createAndAdjustNode, string.Format(language.AdjustEndXMsForward, Configuration.Settings.Tools.MoveStartEndMs), nameof(Configuration.Settings.Shortcuts.MainAdjustEndXMsForward));
AddNode(createAndAdjustNode, language.RecalculateDurationOfCurrentSubtitle, nameof(Configuration.Settings.Shortcuts.GeneralAutoCalcCurrentDuration)); AddNode(createAndAdjustNode, language.RecalculateDurationOfCurrentSubtitle, nameof(Configuration.Settings.Shortcuts.GeneralAutoCalcCurrentDuration));
AddNode(createAndAdjustNode, language.AdjustExtendToNextSceneChange, nameof(Configuration.Settings.Shortcuts.MainAdjustExtendToNextSceneChange));
AddNode(createAndAdjustNode, language.AdjustExtendToPreviousSceneChange, nameof(Configuration.Settings.Shortcuts.MainAdjustExtendToPreviousSceneChange));
AddNode(createAndAdjustNode, language.AdjustExtendToNextSubtitle, nameof(Configuration.Settings.Shortcuts.MainAdjustExtendToNextSubtitle));
AddNode(createAndAdjustNode, language.AdjustExtendToPreviousSubtitle, nameof(Configuration.Settings.Shortcuts.MainAdjustExtendToPreviousSubtitle));
if (createAndAdjustNode.Nodes.Count > 0) if (createAndAdjustNode.Nodes.Count > 0)
{ {
_shortcuts.Nodes.Add(createAndAdjustNode); _shortcuts.Nodes.Add(createAndAdjustNode);

View File

@ -97,6 +97,10 @@ namespace Nikse.SubtitleEdit.Logic
public Keys MainAdjustAdjustStartXMsForward { get; set; } public Keys MainAdjustAdjustStartXMsForward { get; set; }
public Keys MainAdjustAdjustEndXMsBack { get; set; } public Keys MainAdjustAdjustEndXMsBack { get; set; }
public Keys MainAdjustAdjustEndXMsForward { get; set; } public Keys MainAdjustAdjustEndXMsForward { get; set; }
public Keys MainAdjustExtendToNextSceneChange { get; set; }
public Keys MainAdjustExtendToPreviousSceneChange { get; set; }
public Keys MainAdjustExtendToNextSubtitle { get; set; }
public Keys MainAdjustExtendToPreviousSubtitle { get; set; }
public Keys MainInsertAfter { get; set; } public Keys MainInsertAfter { get; set; }
public Keys MainInsertBefore { get; set; } public Keys MainInsertBefore { get; set; }
public Keys MainTextBoxAutoBreak { get; set; } public Keys MainTextBoxAutoBreak { get; set; }
@ -258,6 +262,10 @@ namespace Nikse.SubtitleEdit.Logic
MainAdjustAdjustStartXMsForward = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustStartXMsForward); MainAdjustAdjustStartXMsForward = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustStartXMsForward);
MainAdjustAdjustEndXMsBack = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustEndXMsBack); MainAdjustAdjustEndXMsBack = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustEndXMsBack);
MainAdjustAdjustEndXMsForward = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustEndXMsForward); MainAdjustAdjustEndXMsForward = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustEndXMsForward);
MainAdjustExtendToNextSceneChange = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustExtendToNextSceneChange);
MainAdjustExtendToPreviousSceneChange = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustExtendToPreviousSceneChange);
MainAdjustExtendToNextSubtitle = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustExtendToNextSubtitle);
MainAdjustExtendToPreviousSubtitle = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainAdjustExtendToPreviousSubtitle);
MainInsertAfter = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainInsertAfter); MainInsertAfter = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainInsertAfter);
MainInsertBefore = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainInsertBefore); MainInsertBefore = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainInsertBefore);
MainTextBoxAutoBreak = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxAutoBreak); MainTextBoxAutoBreak = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxAutoBreak);