mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-26 05:02:36 +01:00
Added more customizable shortcuts incl. new waveform vertical zoom shortcut + some minor fixes
git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@723 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
parent
1e42a8ecd1
commit
79a9fc8bd0
@ -1060,15 +1060,11 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
{
|
||||
if (e.Modifiers == Keys.None && e.KeyCode == Keys.Add)
|
||||
{
|
||||
ZoomFactor = ZoomFactor + 0.1;
|
||||
if (OnZoomedChanged != null)
|
||||
OnZoomedChanged.Invoke(null, null);
|
||||
ZoomIn();
|
||||
}
|
||||
else if (e.Modifiers == Keys.None && e.KeyCode == Keys.Subtract)
|
||||
{
|
||||
ZoomFactor = ZoomFactor - 0.1;
|
||||
if (OnZoomedChanged != null)
|
||||
OnZoomedChanged.Invoke(null, null);
|
||||
ZoomOut();
|
||||
}
|
||||
else if (e.Modifiers == Keys.None && e.KeyCode == Keys.Z)
|
||||
{
|
||||
@ -1098,6 +1094,20 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
}
|
||||
}
|
||||
|
||||
public void ZoomIn()
|
||||
{
|
||||
ZoomFactor = ZoomFactor + 0.1;
|
||||
if (OnZoomedChanged != null)
|
||||
OnZoomedChanged.Invoke(null, null);
|
||||
}
|
||||
|
||||
public void ZoomOut()
|
||||
{
|
||||
ZoomFactor = ZoomFactor - 0.1;
|
||||
if (OnZoomedChanged != null)
|
||||
OnZoomedChanged.Invoke(null, null);
|
||||
}
|
||||
|
||||
void WaveForm_MouseWheel(object sender, MouseEventArgs e)
|
||||
{
|
||||
int delta = e.Delta;
|
||||
|
89
src/Forms/ChangeCasingNames.Designer.cs
generated
89
src/Forms/ChangeCasingNames.Designer.cs
generated
@ -40,12 +40,13 @@
|
||||
this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader8 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.labelXLinesSelected = new System.Windows.Forms.Label();
|
||||
this.groupBoxNames.SuspendLayout();
|
||||
this.groupBoxLinesFound.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
//
|
||||
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.buttonOK.Location = new System.Drawing.Point(570, 559);
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
@ -54,9 +55,9 @@
|
||||
this.buttonOK.Text = "&OK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.ButtonOkClick);
|
||||
//
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
//
|
||||
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.buttonCancel.Location = new System.Drawing.Point(651, 559);
|
||||
@ -65,11 +66,11 @@
|
||||
this.buttonCancel.TabIndex = 15;
|
||||
this.buttonCancel.Text = "C&ancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//
|
||||
// groupBoxNames
|
||||
//
|
||||
this.groupBoxNames.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
//
|
||||
this.groupBoxNames.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBoxNames.Controls.Add(this.listViewNames);
|
||||
this.groupBoxNames.Location = new System.Drawing.Point(5, 9);
|
||||
this.groupBoxNames.Name = "groupBoxNames";
|
||||
@ -77,11 +78,11 @@
|
||||
this.groupBoxNames.TabIndex = 12;
|
||||
this.groupBoxNames.TabStop = false;
|
||||
this.groupBoxNames.Text = "Names found in subtitle";
|
||||
//
|
||||
//
|
||||
// listViewNames
|
||||
//
|
||||
this.listViewNames.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
//
|
||||
this.listViewNames.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.listViewNames.CheckBoxes = true;
|
||||
this.listViewNames.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1,
|
||||
@ -96,22 +97,22 @@
|
||||
this.listViewNames.UseCompatibleStateImageBehavior = false;
|
||||
this.listViewNames.View = System.Windows.Forms.View.Details;
|
||||
this.listViewNames.SelectedIndexChanged += new System.EventHandler(this.ListViewNamesSelectedIndexChanged);
|
||||
//
|
||||
//
|
||||
// columnHeader1
|
||||
//
|
||||
//
|
||||
this.columnHeader1.Text = "Enabled";
|
||||
this.columnHeader1.Width = 70;
|
||||
//
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
//
|
||||
this.columnHeader2.Text = "Name";
|
||||
this.columnHeader2.Width = 620;
|
||||
//
|
||||
//
|
||||
// groupBoxLinesFound
|
||||
//
|
||||
this.groupBoxLinesFound.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
//
|
||||
this.groupBoxLinesFound.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBoxLinesFound.Controls.Add(this.listViewFixes);
|
||||
this.groupBoxLinesFound.Location = new System.Drawing.Point(5, 283);
|
||||
this.groupBoxLinesFound.Name = "groupBoxLinesFound";
|
||||
@ -119,12 +120,12 @@
|
||||
this.groupBoxLinesFound.TabIndex = 13;
|
||||
this.groupBoxLinesFound.TabStop = false;
|
||||
this.groupBoxLinesFound.Text = "Lines found: {0}";
|
||||
//
|
||||
//
|
||||
// listViewFixes
|
||||
//
|
||||
this.listViewFixes.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
//
|
||||
this.listViewFixes.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.listViewFixes.CheckBoxes = true;
|
||||
this.listViewFixes.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader4,
|
||||
@ -139,32 +140,44 @@
|
||||
this.listViewFixes.TabIndex = 9;
|
||||
this.listViewFixes.UseCompatibleStateImageBehavior = false;
|
||||
this.listViewFixes.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
this.listViewFixes.SelectedIndexChanged += new System.EventHandler(this.listViewFixes_SelectedIndexChanged);
|
||||
//
|
||||
// columnHeader4
|
||||
//
|
||||
//
|
||||
this.columnHeader4.Text = "Apply";
|
||||
this.columnHeader4.Width = 45;
|
||||
//
|
||||
//
|
||||
// columnHeader5
|
||||
//
|
||||
//
|
||||
this.columnHeader5.Text = "Line#";
|
||||
this.columnHeader5.Width = 61;
|
||||
//
|
||||
//
|
||||
// columnHeader7
|
||||
//
|
||||
//
|
||||
this.columnHeader7.Text = "Before";
|
||||
this.columnHeader7.Width = 292;
|
||||
//
|
||||
//
|
||||
// columnHeader8
|
||||
//
|
||||
//
|
||||
this.columnHeader8.Text = "After";
|
||||
this.columnHeader8.Width = 292;
|
||||
//
|
||||
//
|
||||
// labelXLinesSelected
|
||||
//
|
||||
this.labelXLinesSelected.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.labelXLinesSelected.AutoSize = true;
|
||||
this.labelXLinesSelected.Location = new System.Drawing.Point(5, 559);
|
||||
this.labelXLinesSelected.Name = "labelXLinesSelected";
|
||||
this.labelXLinesSelected.Size = new System.Drawing.Size(78, 13);
|
||||
this.labelXLinesSelected.TabIndex = 16;
|
||||
this.labelXLinesSelected.Text = "XLinesSelected";
|
||||
//
|
||||
// ChangeCasingNames
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 17F);
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(736, 589);
|
||||
this.Controls.Add(this.labelXLinesSelected);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.Controls.Add(this.groupBoxNames);
|
||||
@ -181,6 +194,7 @@
|
||||
this.groupBoxNames.ResumeLayout(false);
|
||||
this.groupBoxLinesFound.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@ -198,5 +212,6 @@
|
||||
private System.Windows.Forms.ColumnHeader columnHeader5;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader7;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader8;
|
||||
private System.Windows.Forms.Label labelXLinesSelected;
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
public ChangeCasingNames()
|
||||
{
|
||||
InitializeComponent();
|
||||
labelXLinesSelected.Text = string.Empty;
|
||||
Text = Configuration.Settings.Language.ChangeCasingNames.Title;
|
||||
groupBoxNames.Text = string.Empty;
|
||||
listViewNames.Columns[0].Text = Configuration.Settings.Language.ChangeCasingNames.Enabled;
|
||||
@ -174,6 +175,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
private void ListViewNamesSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
labelXLinesSelected.Text = string.Empty;
|
||||
if (listViewNames.SelectedItems.Count != 1)
|
||||
return;
|
||||
|
||||
@ -223,7 +225,6 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
listViewNames.ItemChecked += ListViewNamesItemChecked;
|
||||
}
|
||||
|
||||
|
||||
internal void FixCasing()
|
||||
{
|
||||
foreach (ListViewItem item in listViewFixes.Items)
|
||||
@ -250,5 +251,13 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
private void listViewFixes_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (listViewFixes.SelectedItems.Count > 1)
|
||||
labelXLinesSelected.Text = string.Format(Configuration.Settings.Language.Main.XLinesSelected, listViewFixes.SelectedItems.Count);
|
||||
else
|
||||
labelXLinesSelected.Text = string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
@ -88,6 +88,10 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
bool _cancelWordSpellCheck = false;
|
||||
|
||||
Keys _toggleVideoDockUndock = Keys.None;
|
||||
Keys _video100MsLeft = Keys.None;
|
||||
Keys _video100MsRight = Keys.None;
|
||||
Keys _video500MsLeft = Keys.None;
|
||||
Keys _video500MsRight = Keys.None;
|
||||
Keys _mainAdjustSetStartAndOffsetTheRest = Keys.None;
|
||||
Keys _mainAdjustSetEndAndGotoNext = Keys.None;
|
||||
Keys _mainAdjustInsertViaEndAutoStartAndGoToNext = Keys.None;
|
||||
@ -95,6 +99,9 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
Keys _mainInsertBefore = Keys.None;
|
||||
Keys _mainListViewToggleDashes = Keys.None;
|
||||
Keys _waveformVerticalZoom = Keys.None;
|
||||
Keys _waveformZoomIn = Keys.None;
|
||||
Keys _waveformZoomOut = Keys.None;
|
||||
Keys _waveformPlaySelection = Keys.None;
|
||||
bool _videoLoadedGoToSubPosAndPause = false;
|
||||
bool _makeHistory = true;
|
||||
string _cutText = string.Empty;
|
||||
@ -6505,16 +6512,28 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
bool inListView = tabControlSubtitle.SelectedIndex == TabControlListView;
|
||||
|
||||
if (audioVisualizer != null && audioVisualizer.Visible)
|
||||
if (audioVisualizer != null && audioVisualizer.Visible & e.KeyData == _waveformVerticalZoom)
|
||||
{
|
||||
if (e.KeyData == _waveformVerticalZoom)
|
||||
{
|
||||
if (audioVisualizer.VerticalZoomPercent > 0.2)
|
||||
audioVisualizer.VerticalZoomPercent -= 0.1;
|
||||
else
|
||||
audioVisualizer.VerticalZoomPercent = 1;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
if (audioVisualizer.VerticalZoomPercent > 0.2)
|
||||
audioVisualizer.VerticalZoomPercent -= 0.1;
|
||||
else
|
||||
audioVisualizer.VerticalZoomPercent = 1;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
if (audioVisualizer != null && audioVisualizer.Visible & e.KeyData == _waveformZoomIn)
|
||||
{
|
||||
audioVisualizer.ZoomIn();
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
if (audioVisualizer != null && audioVisualizer.Visible & e.KeyData == _waveformZoomOut)
|
||||
{
|
||||
audioVisualizer.ZoomOut();
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (audioVisualizer != null && audioVisualizer.Visible & e.KeyData == _waveformPlaySelection)
|
||||
{
|
||||
toolStripMenuItemWaveFormPlaySelection_Click(null, null);
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (_mainInsertBefore == e.KeyData && inListView)
|
||||
{
|
||||
@ -6857,6 +6876,26 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
else
|
||||
undockVideoControlsToolStripMenuItem_Click(null, null);
|
||||
}
|
||||
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video100MsLeft)
|
||||
{
|
||||
mediaPlayer.CurrentPosition -= 0.1;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video100MsRight)
|
||||
{
|
||||
mediaPlayer.CurrentPosition += 0.1;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video500MsLeft)
|
||||
{
|
||||
mediaPlayer.CurrentPosition -= 0.5;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video500MsRight)
|
||||
{
|
||||
mediaPlayer.CurrentPosition += 0.5;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (e.Modifiers == (Keys.Control | Keys.Alt | Keys.Shift) && e.KeyCode == Keys.B) // Ctrl+Alt+Shift+B = Beam subtitles
|
||||
{
|
||||
Beamer beamer = new Beamer(this, _subtitle, _subtitleListViewIndex);
|
||||
@ -6962,6 +7001,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (line.Trim().StartsWith("-") || line.Trim().StartsWith("<i>-") || line.Trim().StartsWith("<i> -"))
|
||||
hasStartDash = true;
|
||||
}
|
||||
MakeHistoryForUndo(_language.BeforeToggleDialogueDashes);
|
||||
if (hasStartDash)
|
||||
RemoveDashes();
|
||||
else
|
||||
@ -8811,14 +8851,15 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
private void textBoxListViewText_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (Control.ModifierKeys == Keys.Control && MouseButtons == System.Windows.Forms.MouseButtons.Left)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(textBoxListViewText.SelectedText))
|
||||
textBoxListViewText.DoDragDrop(textBoxListViewText.SelectedText, DragDropEffects.Copy);
|
||||
else
|
||||
textBoxListViewText.DoDragDrop(textBoxListViewText.Text, DragDropEffects.Copy);
|
||||
}
|
||||
else if (AutoRepeatContinueOn && !textBoxSearchWord.Focused)
|
||||
//if (Control.ModifierKeys == Keys.Control && MouseButtons == System.Windows.Forms.MouseButtons.Left)
|
||||
//{
|
||||
// if (!string.IsNullOrEmpty(textBoxListViewText.SelectedText))
|
||||
// textBoxListViewText.DoDragDrop(textBoxListViewText.SelectedText, DragDropEffects.Copy);
|
||||
// else
|
||||
// textBoxListViewText.DoDragDrop(textBoxListViewText.Text, DragDropEffects.Copy);
|
||||
//}
|
||||
//else
|
||||
if (AutoRepeatContinueOn && !textBoxSearchWord.Focused)
|
||||
{
|
||||
string selectedText = textBoxListViewText.SelectedText;
|
||||
if (!string.IsNullOrEmpty(selectedText))
|
||||
@ -9146,6 +9187,8 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
_mainInsertAfter = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainInsertAfter);
|
||||
_mainInsertBefore = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainInsertBefore);
|
||||
_waveformVerticalZoom = Utilities.GetKeys(Configuration.Settings.Shortcuts.WaveformVerticalZoom);
|
||||
_waveformZoomIn = Utilities.GetKeys(Configuration.Settings.Shortcuts.WaveformZoomIn);
|
||||
_waveformZoomOut = Utilities.GetKeys(Configuration.Settings.Shortcuts.WaveformZoomOut);
|
||||
}
|
||||
|
||||
private void LoadPlugins()
|
||||
|
@ -445,6 +445,14 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
TreeNode videoNode = new TreeNode(Configuration.Settings.Language.Main.Menu.Video.Title);
|
||||
videoNode.Nodes.Add(Configuration.Settings.Language.Main.Menu.Video.ShowHideVideo + GetShortcutText(Configuration.Settings.Shortcuts.MainVideoShowHideVideo));
|
||||
videoNode.Nodes.Add(Configuration.Settings.Language.Settings.ToggleDockUndockOfVideoControls + GetShortcutText(Configuration.Settings.Shortcuts.MainVideoToggleVideoControls));
|
||||
if (!string.IsNullOrEmpty(Configuration.Settings.Language.Settings.GoBack100Milliseconds))
|
||||
videoNode.Nodes.Add(Configuration.Settings.Language.Settings.GoBack100Milliseconds + GetShortcutText(Configuration.Settings.Shortcuts.MainVideo100MsLeft));
|
||||
if (!string.IsNullOrEmpty(Configuration.Settings.Language.Settings.GoForward100Milliseconds))
|
||||
videoNode.Nodes.Add(Configuration.Settings.Language.Settings.GoForward100Milliseconds + GetShortcutText(Configuration.Settings.Shortcuts.MainVideo100MsRight));
|
||||
if (!string.IsNullOrEmpty(Configuration.Settings.Language.Settings.GoBack500Milliseconds))
|
||||
videoNode.Nodes.Add(Configuration.Settings.Language.Settings.GoBack500Milliseconds + GetShortcutText(Configuration.Settings.Shortcuts.MainVideo500MsLeft));
|
||||
if (!string.IsNullOrEmpty(Configuration.Settings.Language.Settings.GoForward500Milliseconds))
|
||||
videoNode.Nodes.Add(Configuration.Settings.Language.Settings.GoForward500Milliseconds + GetShortcutText(Configuration.Settings.Shortcuts.MainVideo500MsRight));
|
||||
treeViewShortcuts.Nodes.Add(videoNode);
|
||||
|
||||
TreeNode SyncNode = new TreeNode(Configuration.Settings.Language.Main.Menu.Synchronization.Title);
|
||||
@ -455,7 +463,8 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
ListViewNode.Nodes.Add(Configuration.Settings.Language.General.Italic + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewItalic));
|
||||
ListViewNode.Nodes.Add(Configuration.Settings.Language.Main.Menu.ContextMenu.InsertAfter + GetShortcutText(Configuration.Settings.Shortcuts.MainInsertAfter));
|
||||
ListViewNode.Nodes.Add(Configuration.Settings.Language.Main.Menu.ContextMenu.InsertBefore + GetShortcutText(Configuration.Settings.Shortcuts.MainInsertBefore));
|
||||
ListViewNode.Nodes.Add("Toggle dashes" + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewToggleDashes));
|
||||
if (!string.IsNullOrEmpty(Configuration.Settings.Language.Settings.ToggleDialogueDashes)) // TODO: Remove in SE 3.3
|
||||
ListViewNode.Nodes.Add(Configuration.Settings.Language.Settings.ToggleDialogueDashes + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewToggleDashes));
|
||||
treeViewShortcuts.Nodes.Add(ListViewNode);
|
||||
|
||||
TreeNode TextBoxNode = new TreeNode(Configuration.Settings.Language.Settings.TextBox);
|
||||
@ -469,7 +478,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
treeViewShortcuts.Nodes.Add(adjustNode);
|
||||
|
||||
TreeNode audioVisualizerNode = new TreeNode(Configuration.Settings.Language.Settings.WaveformAndSpectrogram);
|
||||
audioVisualizerNode.Nodes.Add("Vertical zoom" + GetShortcutText(Configuration.Settings.Shortcuts.WaveformVerticalZoom));
|
||||
audioVisualizerNode.Nodes.Add(Configuration.Settings.Language.WaveForm.ZoomIn + GetShortcutText(Configuration.Settings.Shortcuts.WaveformZoomIn));
|
||||
audioVisualizerNode.Nodes.Add(Configuration.Settings.Language.WaveForm.ZoomOut + GetShortcutText(Configuration.Settings.Shortcuts.WaveformZoomOut));
|
||||
if (!string.IsNullOrEmpty(Configuration.Settings.Language.Settings.VerticalZoom)) // TODO: Remove in SE 3.3
|
||||
audioVisualizerNode.Nodes.Add(Configuration.Settings.Language.Settings.VerticalZoom + GetShortcutText(Configuration.Settings.Shortcuts.WaveformVerticalZoom));
|
||||
audioVisualizerNode.Nodes.Add(Configuration.Settings.Language.WaveForm.PlaySelection + GetShortcutText(Configuration.Settings.Shortcuts.WaveformPlaySelection));
|
||||
treeViewShortcuts.Nodes.Add(audioVisualizerNode);
|
||||
|
||||
|
||||
@ -860,6 +873,14 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
Configuration.Settings.Shortcuts.MainVideoShowHideVideo = GetShortcut(node.Text);
|
||||
else if (text == Configuration.Settings.Language.Settings.ToggleDockUndockOfVideoControls.Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.MainVideoToggleVideoControls = GetShortcut(node.Text);
|
||||
else if (text == Configuration.Settings.Language.Settings.GoBack100Milliseconds.Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.MainVideo100MsLeft = GetShortcut(node.Text);
|
||||
else if (text == Configuration.Settings.Language.Settings.GoForward100Milliseconds.Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.MainVideo100MsRight = GetShortcut(node.Text);
|
||||
else if (text == Configuration.Settings.Language.Settings.GoBack500Milliseconds.Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.MainVideo500MsLeft = GetShortcut(node.Text);
|
||||
else if (text == Configuration.Settings.Language.Settings.GoForward500Milliseconds.Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.MainVideo500MsRight = GetShortcut(node.Text);
|
||||
}
|
||||
}
|
||||
|
||||
@ -886,7 +907,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
Configuration.Settings.Shortcuts.MainInsertAfter = GetShortcut(node.Text);
|
||||
else if (text == Configuration.Settings.Language.Main.Menu.ContextMenu.InsertBefore.Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.MainInsertBefore = GetShortcut(node.Text);
|
||||
else if (text == ("Toggle dashes").Replace("&", string.Empty))
|
||||
else if (text == Configuration.Settings.Language.Settings.ToggleDialogueDashes.Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.MainListViewToggleDashes = GetShortcut(node.Text);
|
||||
}
|
||||
}
|
||||
@ -923,8 +944,14 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (node.Text.Contains("["))
|
||||
{
|
||||
string text = node.Text.Substring(0, node.Text.IndexOf("[")).Trim();
|
||||
if (text == ("Vertical zoom").Replace("&", string.Empty))
|
||||
if (text == (Configuration.Settings.Language.Settings.VerticalZoom).Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.WaveformVerticalZoom = GetShortcut(node.Text);
|
||||
else if (text == (Configuration.Settings.Language.WaveForm.ZoomIn).Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.WaveformZoomIn = GetShortcut(node.Text);
|
||||
else if (text == (Configuration.Settings.Language.WaveForm.ZoomOut).Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.WaveformZoomOut = GetShortcut(node.Text);
|
||||
else if (text == (Configuration.Settings.Language.WaveForm.PlaySelection).Replace("&", string.Empty))
|
||||
Configuration.Settings.Shortcuts.WaveformPlaySelection = GetShortcut(node.Text);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
{
|
||||
Title = "Subtitle Edit",
|
||||
Version = "3.2",
|
||||
TranslatedBy = "", //"Translated by Nikse",
|
||||
TranslatedBy = "Translated by Nikse",
|
||||
CultureName = "en-US",
|
||||
HelpFile = string.Empty,
|
||||
OK = "&OK",
|
||||
@ -384,7 +384,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
RemovedEmptyLine = "Removed empty line",
|
||||
RemovedEmptyLineAtTop = "Removed empty line at top",
|
||||
RemovedEmptyLineAtBottom = "Removed empty line at bottom",
|
||||
RemovedEmptyLinesUnsedLineBreaks = "Remove empty lines/unused line breaks",
|
||||
RemovedEmptyLinesUnsedLineBreaks = "Removed empty lines/unused line breaks",
|
||||
EmptyLinesRemovedX = "Empty lines removed: {0}",
|
||||
FixOverlappingDisplayTimes = "Fix overlapping display times",
|
||||
FixShortDisplayTimes = "Fix short display times",
|
||||
@ -604,7 +604,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
BeforeReplace = "Before replace: {0}",
|
||||
MatchFoundX = "Match found: {0}",
|
||||
NoMatchFoundX = "No match found: {0}",
|
||||
FoundNothingToReplace = "Found nothing found to replace",
|
||||
FoundNothingToReplace = "Found nothing to replace",
|
||||
ReplaceCountX = "Replace count: {0}",
|
||||
NoXFoundAtLineY = "Match found at line {0}: {1}",
|
||||
OneReplacementMade = "One replacement made.",
|
||||
@ -754,9 +754,10 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
XStartedSessionYAtZ = "{0}: Started session {1} at {2}",
|
||||
SpellChekingViaWordXLineYOfX = "Spell checking using Word {0} - line {1} / {2}",
|
||||
UnableToStartWord = "Unable to start Microsoft Word",
|
||||
SpellCheckAbortedXCorrections = "Spell check aborted. {0} lines was modified.",
|
||||
SpellCheckCompletedXCorrections = "Spell check completed. {0} lines was modified.",
|
||||
SpellCheckAbortedXCorrections = "Spell check aborted. {0} lines were modified.",
|
||||
SpellCheckCompletedXCorrections = "Spell check completed. {0} lines were modified.",
|
||||
OpenOtherSubtitle = "Open other subtitle",
|
||||
BeforeToggleDialogueDashes = "Before toggle of dialogue dashes",
|
||||
|
||||
Menu = new LanguageStructure.Main.MainMenu
|
||||
{
|
||||
@ -1085,7 +1086,7 @@ can edit in same subtitle file (collaboration)",
|
||||
{
|
||||
Title = "Remove text for hearing impaired",
|
||||
RemoveTextConditions = "Remove text conditions",
|
||||
RemoveTextBetween = "Remove text conditions",
|
||||
RemoveTextBetween = "Remove text between",
|
||||
SquareBrackets = "'[' and ']'",
|
||||
Brackets = "'{' and '}'",
|
||||
QuestionMarks = "'?' and '?'",
|
||||
@ -1209,7 +1210,7 @@ can edit in same subtitle file (collaboration)",
|
||||
WaveFormBackgroundColor = "Back color",
|
||||
WaveFormTextColor = "Text color",
|
||||
WaveformAndSpectrogramsFolderEmpty = "Empty 'Spectrograms' and 'Waveforms' folders",
|
||||
WaveformAndSpectrogramsFolderInfo = "'Waveforms' and 'Spectrograms' folders contains {0} files ({1:0.00} MB)",
|
||||
WaveformAndSpectrogramsFolderInfo = "'Waveforms' and 'Spectrograms' folders contain {0} files ({1:0.00} MB)",
|
||||
Spectrogram = "Spectrogram",
|
||||
GenerateSpectrogram = "Generate spectrogram",
|
||||
SpectrogramAppearance = "Spectrogram appearance",
|
||||
@ -1262,6 +1263,12 @@ can edit in same subtitle file (collaboration)",
|
||||
ShortcutIsNotValid = "Shortcut is not valid: {0}",
|
||||
ToggleDockUndockOfVideoControls = "Toggle dock/undock of video controls",
|
||||
AdjustViaEndAutoStartAndGoToNext = "Adjust via end position and go to next",
|
||||
ToggleDialogueDashes = "Toogle dialogue dashes",
|
||||
VerticalZoom = "Vertical zoom",
|
||||
GoBack100Milliseconds = "100 ms back",
|
||||
GoForward100Milliseconds = "100 ms forward",
|
||||
GoBack500Milliseconds = "500 ms back",
|
||||
GoForward500Milliseconds = "500 ms forward",
|
||||
};
|
||||
|
||||
ShowEarlierLater = new LanguageStructure.ShowEarlierLater
|
||||
|
@ -679,6 +679,7 @@
|
||||
public string SpellCheckAbortedXCorrections { get; set; }
|
||||
public string SpellCheckCompletedXCorrections { get; set; }
|
||||
public string OpenOtherSubtitle { get; set; }
|
||||
public string BeforeToggleDialogueDashes { get; set; }
|
||||
|
||||
public class MainMenu
|
||||
{
|
||||
@ -1191,6 +1192,12 @@
|
||||
public string ShortcutIsNotValid { get; set; }
|
||||
public string ToggleDockUndockOfVideoControls { get; set; }
|
||||
public string AdjustViaEndAutoStartAndGoToNext { get; set; }
|
||||
public string ToggleDialogueDashes { get; set; }
|
||||
public string VerticalZoom { get; set; }
|
||||
public string GoBack100Milliseconds { get; set; }
|
||||
public string GoForward100Milliseconds { get; set; }
|
||||
public string GoBack500Milliseconds { get; set; }
|
||||
public string GoForward500Milliseconds { get; set; }
|
||||
}
|
||||
|
||||
public class ShowEarlierLater
|
||||
|
@ -425,6 +425,10 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
public string MainToolsFixCommonErrors { get; set; }
|
||||
public string MainVideoShowHideVideo { get; set; }
|
||||
public string MainVideoToggleVideoControls { get; set; }
|
||||
public string MainVideo100MsLeft { get; set; }
|
||||
public string MainVideo100MsRight { get; set; }
|
||||
public string MainVideo500MsLeft { get; set; }
|
||||
public string MainVideo500MsRight { get; set; }
|
||||
public string MainSynchronizationAdjustTimes { get; set; }
|
||||
public string MainListViewItalic { get; set; }
|
||||
public string MainListViewToggleDashes { get; set; }
|
||||
@ -435,6 +439,9 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
public string MainInsertAfter { get; set; }
|
||||
public string MainInsertBefore { get; set; }
|
||||
public string WaveformVerticalZoom { get; set; }
|
||||
public string WaveformZoomIn { get; set; }
|
||||
public string WaveformZoomOut { get; set; }
|
||||
public string WaveformPlaySelection { get; set; }
|
||||
|
||||
public Shortcuts()
|
||||
{
|
||||
@ -449,6 +456,10 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
MainEditGoToLineNumber = "Control+G";
|
||||
MainToolsFixCommonErrors = "Control+Shift+F";
|
||||
MainVideoShowHideVideo = "Control+Q";
|
||||
MainVideo100MsLeft = "Control+Left";
|
||||
MainVideo100MsRight = "Control+Right";
|
||||
MainVideo500MsLeft = "Alt+Left";
|
||||
MainVideo500MsRight = "Alt+Right";
|
||||
MainSynchronizationAdjustTimes = "Control+Shift+A";
|
||||
MainListViewItalic = "Control+I";
|
||||
MainTextBoxItalic = "Control+I";
|
||||
@ -458,6 +469,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
MainInsertAfter = "Alt+Ins";
|
||||
MainInsertBefore = "Control+Shift+Ins";
|
||||
WaveformVerticalZoom = string.Empty;
|
||||
WaveformPlaySelection = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1135,6 +1147,18 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
subNode = node.SelectSingleNode("MainVideoToggleVideoControls");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainVideoToggleVideoControls = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainVideo100MsLeft");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainVideo100MsLeft = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainVideo100MsRight");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainVideo100MsRight = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainVideo500MsLeft");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainVideo500MsLeft = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainVideo500MsRight");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainVideo500MsRight = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainSynchronizationAdjustTimes");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainSynchronizationAdjustTimes = subNode.InnerText;
|
||||
@ -1165,6 +1189,15 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
subNode = node.SelectSingleNode("WaveformVerticalZoom");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.WaveformVerticalZoom = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("WaveformZoomIn");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.WaveformZoomIn = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("WaveformZoomOut");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.WaveformZoomOut = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("WaveformPlaySelection");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.WaveformPlaySelection = subNode.InnerText;
|
||||
}
|
||||
|
||||
settings.RemoveTextForHearingImpaired = new RemoveTextForHearingImpairedSettings();
|
||||
@ -1423,6 +1456,10 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
textWriter.WriteElementString("MainToolsFixCommonErrors", settings.Shortcuts.MainToolsFixCommonErrors);
|
||||
textWriter.WriteElementString("MainVideoShowHideVideo", settings.Shortcuts.MainVideoShowHideVideo);
|
||||
textWriter.WriteElementString("MainVideoToggleVideoControls", settings.Shortcuts.MainVideoToggleVideoControls);
|
||||
textWriter.WriteElementString("MainVideo100MsLeft", settings.Shortcuts.MainVideo100MsLeft);
|
||||
textWriter.WriteElementString("MainVideo100MsRight", settings.Shortcuts.MainVideo100MsRight);
|
||||
textWriter.WriteElementString("MainVideo500MsLeft", settings.Shortcuts.MainVideo500MsLeft);
|
||||
textWriter.WriteElementString("MainVideo500MsRight", settings.Shortcuts.MainVideo500MsRight);
|
||||
textWriter.WriteElementString("MainSynchronizationAdjustTimes", settings.Shortcuts.MainSynchronizationAdjustTimes);
|
||||
textWriter.WriteElementString("MainListViewItalic", settings.Shortcuts.MainListViewItalic);
|
||||
textWriter.WriteElementString("MainListViewToggleDashes", settings.Shortcuts.MainListViewToggleDashes);
|
||||
@ -1432,7 +1469,10 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
textWriter.WriteElementString("MainAdjustViaEndAutoStartAndGoToNext", settings.Shortcuts.MainAdjustViaEndAutoStartAndGoToNext);
|
||||
textWriter.WriteElementString("MainInsertAfter", settings.Shortcuts.MainInsertAfter);
|
||||
textWriter.WriteElementString("MainInsertBefore", settings.Shortcuts.MainInsertBefore);
|
||||
textWriter.WriteElementString("WaveformVerticalZoom", settings.Shortcuts.WaveformVerticalZoom);
|
||||
textWriter.WriteElementString("WaveformVerticalZoom", settings.Shortcuts.WaveformVerticalZoom);
|
||||
textWriter.WriteElementString("WaveformZoomIn", settings.Shortcuts.WaveformZoomIn);
|
||||
textWriter.WriteElementString("WaveformZoomOut", settings.Shortcuts.WaveformZoomOut);
|
||||
textWriter.WriteElementString("WaveformPlaySelection", settings.Shortcuts.WaveformPlaySelection);
|
||||
textWriter.WriteEndElement();
|
||||
|
||||
textWriter.WriteStartElement("RemoveTextForHearingImpaired", "");
|
||||
|
@ -74,6 +74,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
new UTSubtitleXml(),
|
||||
new Utx(),
|
||||
new UtxFrames(),
|
||||
new WebVTT(),
|
||||
new YouTubeAnnotations(),
|
||||
new YouTubeSbv(),
|
||||
new ZeroG(),
|
||||
|
@ -1201,7 +1201,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
//if (IsWmpAvailable)
|
||||
// return new WmpPlayer();
|
||||
|
||||
throw new NotSupportedException("You need DirectX or VLC media player 1.1.x installed as well as Subtitle Edit dll files!");
|
||||
throw new NotSupportedException("You need DirectX, VLC media player 1.1.x, or MPlayer2 installed as well as Subtitle Edit dll files in order to use the video player!");
|
||||
}
|
||||
|
||||
public static void InitializeVideoPlayerAndContainer(string fileName, VideoInfo videoInfo, VideoPlayerContainer videoPlayerContainer, EventHandler onVideoLoaded, EventHandler onVideoEnded)
|
||||
|
Loading…
Reference in New Issue
Block a user