Added "Column commands" (delete/insert/paste text + shift cells up or overwrite) to list view - thx Seungki :)

Also added yet another subtitle format


git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@1382 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2012-09-25 18:17:02 +00:00
parent 93e52701e1
commit b79437df87
14 changed files with 896 additions and 79 deletions

201
src/Forms/ColumnPaste.Designer.cs generated Normal file
View File

@ -0,0 +1,201 @@
namespace Nikse.SubtitleEdit.Forms
{
partial class ColumnPaste
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.buttonCancel = new System.Windows.Forms.Button();
this.buttonOK = new System.Windows.Forms.Button();
this.radioButtonTextOnly = new System.Windows.Forms.RadioButton();
this.radioButtonTimeCodes = new System.Windows.Forms.RadioButton();
this.radioButtonOriginalText = new System.Windows.Forms.RadioButton();
this.radioButtonAll = new System.Windows.Forms.RadioButton();
this.groupBoxChooseColumn = new System.Windows.Forms.GroupBox();
this.groupBoxOverwriteOrInsert = new System.Windows.Forms.GroupBox();
this.radioButtonShiftCellsDown = new System.Windows.Forms.RadioButton();
this.radioButtonOverwrite = new System.Windows.Forms.RadioButton();
this.groupBoxChooseColumn.SuspendLayout();
this.groupBoxOverwriteOrInsert.SuspendLayout();
this.SuspendLayout();
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonCancel.Location = new System.Drawing.Point(378, 136);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 21);
this.buttonCancel.TabIndex = 4;
this.buttonCancel.Text = "C&ancel";
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// buttonOK
//
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonOK.Location = new System.Drawing.Point(297, 136);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(75, 21);
this.buttonOK.TabIndex = 3;
this.buttonOK.Text = "&OK";
this.buttonOK.UseVisualStyleBackColor = true;
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
//
// radioButtonTextOnly
//
this.radioButtonTextOnly.AutoSize = true;
this.radioButtonTextOnly.Checked = true;
this.radioButtonTextOnly.Location = new System.Drawing.Point(6, 65);
this.radioButtonTextOnly.Name = "radioButtonTextOnly";
this.radioButtonTextOnly.Size = new System.Drawing.Size(68, 17);
this.radioButtonTextOnly.TabIndex = 5;
this.radioButtonTextOnly.TabStop = true;
this.radioButtonTextOnly.Text = "Text only";
this.radioButtonTextOnly.UseVisualStyleBackColor = true;
//
// radioButtonTimeCodes
//
this.radioButtonTimeCodes.AutoSize = true;
this.radioButtonTimeCodes.Location = new System.Drawing.Point(6, 42);
this.radioButtonTimeCodes.Name = "radioButtonTimeCodes";
this.radioButtonTimeCodes.Size = new System.Drawing.Size(102, 17);
this.radioButtonTimeCodes.TabIndex = 6;
this.radioButtonTimeCodes.TabStop = true;
this.radioButtonTimeCodes.Text = "Time codes only";
this.radioButtonTimeCodes.UseVisualStyleBackColor = true;
//
// radioButtonOriginalText
//
this.radioButtonOriginalText.AutoSize = true;
this.radioButtonOriginalText.Location = new System.Drawing.Point(6, 90);
this.radioButtonOriginalText.Name = "radioButtonOriginalText";
this.radioButtonOriginalText.Size = new System.Drawing.Size(102, 17);
this.radioButtonOriginalText.TabIndex = 7;
this.radioButtonOriginalText.TabStop = true;
this.radioButtonOriginalText.Text = "Original text only";
this.radioButtonOriginalText.UseVisualStyleBackColor = true;
//
// radioButtonAll
//
this.radioButtonAll.AutoSize = true;
this.radioButtonAll.Location = new System.Drawing.Point(6, 19);
this.radioButtonAll.Name = "radioButtonAll";
this.radioButtonAll.Size = new System.Drawing.Size(36, 17);
this.radioButtonAll.TabIndex = 8;
this.radioButtonAll.TabStop = true;
this.radioButtonAll.Text = "All";
this.radioButtonAll.UseVisualStyleBackColor = true;
//
// groupBoxChooseColumn
//
this.groupBoxChooseColumn.Controls.Add(this.radioButtonAll);
this.groupBoxChooseColumn.Controls.Add(this.radioButtonTextOnly);
this.groupBoxChooseColumn.Controls.Add(this.radioButtonTimeCodes);
this.groupBoxChooseColumn.Controls.Add(this.radioButtonOriginalText);
this.groupBoxChooseColumn.Location = new System.Drawing.Point(12, 12);
this.groupBoxChooseColumn.Name = "groupBoxChooseColumn";
this.groupBoxChooseColumn.Size = new System.Drawing.Size(237, 116);
this.groupBoxChooseColumn.TabIndex = 9;
this.groupBoxChooseColumn.TabStop = false;
this.groupBoxChooseColumn.Text = "Choose column";
//
// groupBoxOverwriteOrInsert
//
this.groupBoxOverwriteOrInsert.Controls.Add(this.radioButtonShiftCellsDown);
this.groupBoxOverwriteOrInsert.Controls.Add(this.radioButtonOverwrite);
this.groupBoxOverwriteOrInsert.Location = new System.Drawing.Point(255, 12);
this.groupBoxOverwriteOrInsert.Name = "groupBoxOverwriteOrInsert";
this.groupBoxOverwriteOrInsert.Size = new System.Drawing.Size(200, 116);
this.groupBoxOverwriteOrInsert.TabIndex = 10;
this.groupBoxOverwriteOrInsert.TabStop = false;
this.groupBoxOverwriteOrInsert.Text = "Overwrite/Shift cells down";
//
// radioButtonShiftCellsDown
//
this.radioButtonShiftCellsDown.AutoSize = true;
this.radioButtonShiftCellsDown.Location = new System.Drawing.Point(6, 42);
this.radioButtonShiftCellsDown.Name = "radioButtonShiftCellsDown";
this.radioButtonShiftCellsDown.Size = new System.Drawing.Size(99, 17);
this.radioButtonShiftCellsDown.TabIndex = 10;
this.radioButtonShiftCellsDown.TabStop = true;
this.radioButtonShiftCellsDown.Text = "Shift cells down";
this.radioButtonShiftCellsDown.UseVisualStyleBackColor = true;
//
// radioButtonOverwrite
//
this.radioButtonOverwrite.AutoSize = true;
this.radioButtonOverwrite.Checked = true;
this.radioButtonOverwrite.Location = new System.Drawing.Point(6, 19);
this.radioButtonOverwrite.Name = "radioButtonOverwrite";
this.radioButtonOverwrite.Size = new System.Drawing.Size(70, 17);
this.radioButtonOverwrite.TabIndex = 9;
this.radioButtonOverwrite.TabStop = true;
this.radioButtonOverwrite.Text = "Overwrite";
this.radioButtonOverwrite.UseVisualStyleBackColor = true;
//
// ColumnPaste
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(465, 169);
this.Controls.Add(this.groupBoxOverwriteOrInsert);
this.Controls.Add(this.groupBoxChooseColumn);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonOK);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.KeyPreview = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ColumnPaste";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Column paste";
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.PasteSpecial_KeyDown);
this.groupBoxChooseColumn.ResumeLayout(false);
this.groupBoxChooseColumn.PerformLayout();
this.groupBoxOverwriteOrInsert.ResumeLayout(false);
this.groupBoxOverwriteOrInsert.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.RadioButton radioButtonTextOnly;
private System.Windows.Forms.RadioButton radioButtonTimeCodes;
private System.Windows.Forms.RadioButton radioButtonOriginalText;
private System.Windows.Forms.RadioButton radioButtonAll;
private System.Windows.Forms.GroupBox groupBoxChooseColumn;
private System.Windows.Forms.GroupBox groupBoxOverwriteOrInsert;
private System.Windows.Forms.RadioButton radioButtonShiftCellsDown;
private System.Windows.Forms.RadioButton radioButtonOverwrite;
}
}

60
src/Forms/ColumnPaste.cs Normal file
View File

@ -0,0 +1,60 @@
using System;
using System.Drawing;
using System.Windows.Forms;
using Nikse.SubtitleEdit.Logic;
namespace Nikse.SubtitleEdit.Forms
{
public partial class ColumnPaste : Form
{
public bool PasteAll { get; set; }
public bool PasteTimeCodesOnly { get; set; }
public bool PasteTextOnly { get; set; }
public bool PasteOriginalTextOnly { get; set; }
public bool PasteOverwrite { get; set; }
public ColumnPaste(bool isOriginalAvailable)
{
InitializeComponent();
FixLargeFonts();
radioButtonOriginalText.Visible = isOriginalAvailable;
}
private void FixLargeFonts()
{
Graphics graphics = this.CreateGraphics();
SizeF textSize = graphics.MeasureString(buttonOK.Text, this.Font);
if (textSize.Height > buttonOK.Height - 4)
{
int newButtonHeight = (int)(textSize.Height + 7 + 0.5);
Utilities.SetButtonHeight(this, newButtonHeight, 1);
}
}
private void PasteSpecial_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
DialogResult = DialogResult.Cancel;
}
private void buttonOK_Click(object sender, EventArgs e)
{
PasteAll = radioButtonAll.Checked;
PasteTimeCodesOnly = radioButtonTimeCodes.Checked;
PasteTextOnly = radioButtonTextOnly.Checked;
PasteOriginalTextOnly = radioButtonOriginalText.Checked;
PasteOverwrite = radioButtonOverwrite.Checked;
DialogResult = DialogResult.OK;
}
private void buttonCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
}
}

120
src/Forms/ColumnPaste.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
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
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<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
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
mimetype set.
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
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
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
: 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
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -202,6 +202,12 @@
this.toolStripMenuItemInsertAfter = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemInsertSubtitle = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemCopySourceText = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemColumn = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemColumnDeleteTimeCodes = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemColumnDeleteText = new System.Windows.Forms.ToolStripMenuItem();
this.ShiftTextCellsDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemColumnImportText = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemPasteSpecial = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
this.splitLineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemMergeLines = new System.Windows.Forms.ToolStripMenuItem();
@ -341,6 +347,8 @@
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tabControlSubtitle = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.splitContainerListViewAndText = new System.Windows.Forms.SplitContainer();
this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
this.groupBoxEdit = new System.Windows.Forms.GroupBox();
this.labelDurationWarning = new System.Windows.Forms.Label();
this.labelStartTimeWarning = new System.Windows.Forms.Label();
@ -385,7 +393,6 @@
this.textBoxListViewText = new Nikse.SubtitleEdit.Controls.SETextBox();
this.labelDuration = new System.Windows.Forms.Label();
this.labelAutoDuration = new System.Windows.Forms.Label();
this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.textBoxSource = new System.Windows.Forms.TextBox();
this.panelVideoPlayer = new System.Windows.Forms.Panel();
@ -423,6 +430,9 @@
this.splitContainer1.SuspendLayout();
this.tabControlSubtitle.SuspendLayout();
this.tabPage1.SuspendLayout();
this.splitContainerListViewAndText.Panel1.SuspendLayout();
this.splitContainerListViewAndText.Panel2.SuspendLayout();
this.splitContainerListViewAndText.SuspendLayout();
this.groupBoxEdit.SuspendLayout();
this.contextMenuStripTextBoxListView.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownDuration)).BeginInit();
@ -440,7 +450,7 @@
this.toolStripStatusNetworking});
this.statusStrip1.Location = new System.Drawing.Point(0, 656);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(1244, 27);
this.statusStrip1.Size = new System.Drawing.Size(1719, 27);
this.statusStrip1.TabIndex = 4;
this.statusStrip1.Text = "statusStrip1";
//
@ -456,7 +466,7 @@
//
this.toolStripSelected.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.toolStripSelected.Name = "toolStripSelected";
this.toolStripSelected.Size = new System.Drawing.Size(312, 22);
this.toolStripSelected.Size = new System.Drawing.Size(787, 22);
this.toolStripSelected.Spring = true;
this.toolStripSelected.Text = "toolStripSelected";
this.toolStripSelected.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
@ -506,7 +516,7 @@
this.toolStripButtonGetFrameRate});
this.toolStrip1.Location = new System.Drawing.Point(0, 24);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(1244, 40);
this.toolStrip1.Size = new System.Drawing.Size(1719, 40);
this.toolStrip1.TabIndex = 5;
this.toolStrip1.Text = "toolStrip1";
//
@ -777,7 +787,7 @@
this.helpToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1244, 24);
this.menuStrip1.Size = new System.Drawing.Size(1719, 24);
this.menuStrip1.TabIndex = 6;
this.menuStrip1.Text = "menuStrip1";
//
@ -1845,6 +1855,7 @@
this.toolStripMenuItemInsertAfter,
this.toolStripMenuItemInsertSubtitle,
this.toolStripMenuItemCopySourceText,
this.toolStripMenuItemColumn,
this.toolStripSeparator7,
this.splitLineToolStripMenuItem,
this.toolStripMenuItemMergeLines,
@ -1876,7 +1887,7 @@
this.changeCasingForSelectedLinesToolStripMenuItem,
this.toolStripMenuItemSaveSelectedLines});
this.contextMenuStripListview.Name = "contextMenuStripListview";
this.contextMenuStripListview.Size = new System.Drawing.Size(285, 738);
this.contextMenuStripListview.Size = new System.Drawing.Size(285, 782);
this.contextMenuStripListview.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListviewOpening);
//
// setStylesForSelectedLinesToolStripMenuItem
@ -1927,6 +1938,53 @@
this.toolStripMenuItemCopySourceText.Text = "Copy as text to clipboard";
this.toolStripMenuItemCopySourceText.Click += new System.EventHandler(this.ToolStripMenuItemCopySourceTextClick);
//
// toolStripMenuItemColumn
//
this.toolStripMenuItemColumn.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItemColumnDeleteTimeCodes,
this.toolStripMenuItemColumnDeleteText,
this.ShiftTextCellsDownToolStripMenuItem,
this.toolStripMenuItemColumnImportText,
this.toolStripMenuItemPasteSpecial});
this.toolStripMenuItemColumn.Name = "toolStripMenuItemColumn";
this.toolStripMenuItemColumn.Size = new System.Drawing.Size(284, 22);
this.toolStripMenuItemColumn.Text = "Column";
//
// toolStripMenuItemColumnDeleteTimeCodes
//
this.toolStripMenuItemColumnDeleteTimeCodes.Name = "toolStripMenuItemColumnDeleteTimeCodes";
this.toolStripMenuItemColumnDeleteTimeCodes.Size = new System.Drawing.Size(316, 22);
this.toolStripMenuItemColumnDeleteTimeCodes.Text = "Delete time codes and shift time code cells up";
this.toolStripMenuItemColumnDeleteTimeCodes.Click += new System.EventHandler(this.toolStripMenuItemColumnDeleteTimeCodes_Click);
//
// toolStripMenuItemColumnDeleteText
//
this.toolStripMenuItemColumnDeleteText.Name = "toolStripMenuItemColumnDeleteText";
this.toolStripMenuItemColumnDeleteText.Size = new System.Drawing.Size(316, 22);
this.toolStripMenuItemColumnDeleteText.Text = "Delete text and shift text cells up";
this.toolStripMenuItemColumnDeleteText.Click += new System.EventHandler(this.deleteAndShiftCellsUpToolStripMenuItem_Click);
//
// ShiftTextCellsDownToolStripMenuItem
//
this.ShiftTextCellsDownToolStripMenuItem.Name = "ShiftTextCellsDownToolStripMenuItem";
this.ShiftTextCellsDownToolStripMenuItem.Size = new System.Drawing.Size(316, 22);
this.ShiftTextCellsDownToolStripMenuItem.Text = "Insert and shift text cells down";
this.ShiftTextCellsDownToolStripMenuItem.Click += new System.EventHandler(this.ShiftTextCellsDownToolStripMenuItem_Click);
//
// toolStripMenuItemColumnImportText
//
this.toolStripMenuItemColumnImportText.Name = "toolStripMenuItemColumnImportText";
this.toolStripMenuItemColumnImportText.Size = new System.Drawing.Size(316, 22);
this.toolStripMenuItemColumnImportText.Text = "Import text and shift text cells down...";
this.toolStripMenuItemColumnImportText.Click += new System.EventHandler(this.toolStripMenuItemColumnImportText_Click);
//
// toolStripMenuItemPasteSpecial
//
this.toolStripMenuItemPasteSpecial.Name = "toolStripMenuItemPasteSpecial";
this.toolStripMenuItemPasteSpecial.Size = new System.Drawing.Size(316, 22);
this.toolStripMenuItemPasteSpecial.Text = "Paste...";
this.toolStripMenuItemPasteSpecial.Click += new System.EventHandler(this.toolStripMenuItemPasteSpecial_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
@ -2153,7 +2211,7 @@
this.groupBoxVideo.Margin = new System.Windows.Forms.Padding(0);
this.groupBoxVideo.Name = "groupBoxVideo";
this.groupBoxVideo.Padding = new System.Windows.Forms.Padding(0);
this.groupBoxVideo.Size = new System.Drawing.Size(1244, 305);
this.groupBoxVideo.Size = new System.Drawing.Size(1719, 305);
this.groupBoxVideo.TabIndex = 1;
this.groupBoxVideo.TabStop = false;
//
@ -2170,7 +2228,7 @@
// labelVideoInfo
//
this.labelVideoInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelVideoInfo.Location = new System.Drawing.Point(872, 12);
this.labelVideoInfo.Location = new System.Drawing.Point(1347, 12);
this.labelVideoInfo.Name = "labelVideoInfo";
this.labelVideoInfo.Size = new System.Drawing.Size(369, 19);
this.labelVideoInfo.TabIndex = 12;
@ -2185,7 +2243,7 @@
this.trackBarWaveFormPosition.Location = new System.Drawing.Point(674, 267);
this.trackBarWaveFormPosition.Maximum = 1000;
this.trackBarWaveFormPosition.Name = "trackBarWaveFormPosition";
this.trackBarWaveFormPosition.Size = new System.Drawing.Size(566, 20);
this.trackBarWaveFormPosition.Size = new System.Drawing.Size(1041, 20);
this.trackBarWaveFormPosition.TabIndex = 11;
this.trackBarWaveFormPosition.TickStyle = System.Windows.Forms.TickStyle.None;
this.trackBarWaveFormPosition.ValueChanged += new System.EventHandler(this.trackBarWaveFormPosition_ValueChanged);
@ -2347,7 +2405,7 @@
this.audioVisualizer.SelectedColor = System.Drawing.Color.Red;
this.audioVisualizer.ShowSpectrogram = false;
this.audioVisualizer.ShowWaveform = true;
this.audioVisualizer.Size = new System.Drawing.Size(768, 229);
this.audioVisualizer.Size = new System.Drawing.Size(1243, 229);
this.audioVisualizer.StartPositionSeconds = 0D;
this.audioVisualizer.TabIndex = 6;
this.audioVisualizer.TextColor = System.Drawing.Color.Gray;
@ -3145,7 +3203,7 @@
this.guessTimeCodesToolStripMenuItem,
this.seekSilenceToolStripMenuItem});
this.contextMenuStripWaveForm.Name = "contextMenuStripWaveForm";
this.contextMenuStripWaveForm.Size = new System.Drawing.Size(275, 308);
this.contextMenuStripWaveForm.Size = new System.Drawing.Size(275, 286);
this.contextMenuStripWaveForm.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripWaveFormOpening);
//
// addParagraphHereToolStripMenuItem
@ -3262,7 +3320,7 @@
// splitContainerMain.Panel2
//
this.splitContainerMain.Panel2.Controls.Add(this.groupBoxVideo);
this.splitContainerMain.Size = new System.Drawing.Size(1244, 592);
this.splitContainerMain.Size = new System.Drawing.Size(1719, 592);
this.splitContainerMain.SplitterDistance = 283;
this.splitContainerMain.TabIndex = 8;
this.splitContainerMain.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.SplitContainerMainSplitterMoved);
@ -3280,8 +3338,8 @@
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panelVideoPlayer);
this.splitContainer1.Size = new System.Drawing.Size(1244, 283);
this.splitContainer1.SplitterDistance = 950;
this.splitContainer1.Size = new System.Drawing.Size(1719, 283);
this.splitContainer1.SplitterDistance = 1312;
this.splitContainer1.TabIndex = 7;
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.SplitContainer1SplitterMoved);
//
@ -3296,27 +3354,71 @@
this.tabControlSubtitle.Location = new System.Drawing.Point(3, 3);
this.tabControlSubtitle.Name = "tabControlSubtitle";
this.tabControlSubtitle.SelectedIndex = 0;
this.tabControlSubtitle.Size = new System.Drawing.Size(945, 280);
this.tabControlSubtitle.Size = new System.Drawing.Size(1307, 280);
this.tabControlSubtitle.TabIndex = 0;
this.tabControlSubtitle.SelectedIndexChanged += new System.EventHandler(this.TabControlSubtitleSelectedIndexChanged);
this.tabControlSubtitle.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.TabControlSubtitleSelecting);
//
// tabPage1
//
this.tabPage1.Controls.Add(this.groupBoxEdit);
this.tabPage1.Controls.Add(this.SubtitleListview1);
this.tabPage1.Controls.Add(this.splitContainerListViewAndText);
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(937, 254);
this.tabPage1.Size = new System.Drawing.Size(1299, 254);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "List view";
this.tabPage1.UseVisualStyleBackColor = true;
//
// splitContainerListViewAndText
//
this.splitContainerListViewAndText.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainerListViewAndText.Location = new System.Drawing.Point(3, 3);
this.splitContainerListViewAndText.Name = "splitContainerListViewAndText";
this.splitContainerListViewAndText.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainerListViewAndText.Panel1
//
this.splitContainerListViewAndText.Panel1.Controls.Add(this.SubtitleListview1);
this.splitContainerListViewAndText.Panel1MinSize = 50;
//
// splitContainerListViewAndText.Panel2
//
this.splitContainerListViewAndText.Panel2.Controls.Add(this.groupBoxEdit);
this.splitContainerListViewAndText.Panel2MinSize = 105;
this.splitContainerListViewAndText.Size = new System.Drawing.Size(1293, 248);
this.splitContainerListViewAndText.SplitterDistance = 131;
this.splitContainerListViewAndText.TabIndex = 2;
this.splitContainerListViewAndText.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainerListViewAndText_SplitterMoved);
this.splitContainerListViewAndText.SizeChanged += new System.EventHandler(this.splitContainerListViewAndText_SizeChanged);
//
// SubtitleListview1
//
this.SubtitleListview1.AllowDrop = true;
this.SubtitleListview1.ContextMenuStrip = this.contextMenuStripListview;
this.SubtitleListview1.DisplayExtraFromExtra = false;
this.SubtitleListview1.Dock = System.Windows.Forms.DockStyle.Fill;
this.SubtitleListview1.FirstVisibleIndex = -1;
this.SubtitleListview1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SubtitleListview1.FullRowSelect = true;
this.SubtitleListview1.GridLines = true;
this.SubtitleListview1.HideSelection = false;
this.SubtitleListview1.Location = new System.Drawing.Point(0, 0);
this.SubtitleListview1.Name = "SubtitleListview1";
this.SubtitleListview1.OwnerDraw = true;
this.SubtitleListview1.Size = new System.Drawing.Size(1293, 131);
this.SubtitleListview1.TabIndex = 0;
this.SubtitleListview1.UseCompatibleStateImageBehavior = false;
this.SubtitleListview1.UseSyntaxColoring = true;
this.SubtitleListview1.View = System.Windows.Forms.View.Details;
this.SubtitleListview1.SelectedIndexChanged += new System.EventHandler(this.SubtitleListview1_SelectedIndexChanged);
this.SubtitleListview1.DragDrop += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragDrop);
this.SubtitleListview1.DragEnter += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragEnter);
this.SubtitleListview1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SubtitleListview1KeyDown);
this.SubtitleListview1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SubtitleListview1_MouseDoubleClick);
//
// groupBoxEdit
//
this.groupBoxEdit.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBoxEdit.Controls.Add(this.labelDurationWarning);
this.groupBoxEdit.Controls.Add(this.labelStartTimeWarning);
this.groupBoxEdit.Controls.Add(this.buttonSplitLine);
@ -3341,9 +3443,10 @@
this.groupBoxEdit.Controls.Add(this.textBoxListViewText);
this.groupBoxEdit.Controls.Add(this.labelDuration);
this.groupBoxEdit.Controls.Add(this.labelAutoDuration);
this.groupBoxEdit.Location = new System.Drawing.Point(3, 152);
this.groupBoxEdit.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBoxEdit.Location = new System.Drawing.Point(0, 0);
this.groupBoxEdit.Name = "groupBoxEdit";
this.groupBoxEdit.Size = new System.Drawing.Size(930, 102);
this.groupBoxEdit.Size = new System.Drawing.Size(1293, 113);
this.groupBoxEdit.TabIndex = 1;
this.groupBoxEdit.TabStop = false;
//
@ -3371,7 +3474,7 @@
//
this.buttonSplitLine.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSplitLine.ForeColor = System.Drawing.Color.Red;
this.buttonSplitLine.Location = new System.Drawing.Point(810, 81);
this.buttonSplitLine.Location = new System.Drawing.Point(1173, 81);
this.buttonSplitLine.Name = "buttonSplitLine";
this.buttonSplitLine.Size = new System.Drawing.Size(115, 21);
this.buttonSplitLine.TabIndex = 39;
@ -3384,7 +3487,7 @@
//
this.labelAlternateCharactersPerSecond.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelAlternateCharactersPerSecond.AutoSize = true;
this.labelAlternateCharactersPerSecond.Location = new System.Drawing.Point(842, 11);
this.labelAlternateCharactersPerSecond.Location = new System.Drawing.Point(1205, 11);
this.labelAlternateCharactersPerSecond.Name = "labelAlternateCharactersPerSecond";
this.labelAlternateCharactersPerSecond.Size = new System.Drawing.Size(64, 13);
this.labelAlternateCharactersPerSecond.TabIndex = 38;
@ -3394,7 +3497,7 @@
//
this.labelTextAlternateLineTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelTextAlternateLineTotal.AutoSize = true;
this.labelTextAlternateLineTotal.Location = new System.Drawing.Point(888, 86);
this.labelTextAlternateLineTotal.Location = new System.Drawing.Point(1251, 86);
this.labelTextAlternateLineTotal.Name = "labelTextAlternateLineTotal";
this.labelTextAlternateLineTotal.Size = new System.Drawing.Size(36, 13);
this.labelTextAlternateLineTotal.TabIndex = 37;
@ -3402,6 +3505,7 @@
//
// labelAlternateSingleLine
//
this.labelAlternateSingleLine.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelAlternateSingleLine.AutoSize = true;
this.labelAlternateSingleLine.Location = new System.Drawing.Point(839, 86);
this.labelAlternateSingleLine.Name = "labelAlternateSingleLine";
@ -3411,6 +3515,7 @@
//
// labelTextAlternateLineLengths
//
this.labelTextAlternateLineLengths.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelTextAlternateLineLengths.AutoSize = true;
this.labelTextAlternateLineLengths.Location = new System.Drawing.Point(786, 86);
this.labelTextAlternateLineLengths.Name = "labelTextAlternateLineLengths";
@ -3440,15 +3545,16 @@
// textBoxListViewTextAlternate
//
this.textBoxListViewTextAlternate.AllowDrop = true;
this.textBoxListViewTextAlternate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.textBoxListViewTextAlternate.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.textBoxListViewTextAlternate.ContextMenuStrip = this.contextMenuStripTextBoxListView;
this.textBoxListViewTextAlternate.Enabled = false;
this.textBoxListViewTextAlternate.HideSelection = false;
this.textBoxListViewTextAlternate.Location = new System.Drawing.Point(806, 28);
this.textBoxListViewTextAlternate.Location = new System.Drawing.Point(946, 28);
this.textBoxListViewTextAlternate.Multiline = true;
this.textBoxListViewTextAlternate.Name = "textBoxListViewTextAlternate";
this.textBoxListViewTextAlternate.Size = new System.Drawing.Size(17, 56);
this.textBoxListViewTextAlternate.Size = new System.Drawing.Size(221, 55);
this.textBoxListViewTextAlternate.TabIndex = 33;
this.textBoxListViewTextAlternate.Visible = false;
this.textBoxListViewTextAlternate.MouseClick += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextAlternateMouseClick);
@ -3609,6 +3715,7 @@
//
// labelSingleLine
//
this.labelSingleLine.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelSingleLine.AutoSize = true;
this.labelSingleLine.Location = new System.Drawing.Point(346, 86);
this.labelSingleLine.Name = "labelSingleLine";
@ -3619,7 +3726,7 @@
// buttonAutoBreak
//
this.buttonAutoBreak.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAutoBreak.Location = new System.Drawing.Point(810, 56);
this.buttonAutoBreak.Location = new System.Drawing.Point(1173, 56);
this.buttonAutoBreak.Name = "buttonAutoBreak";
this.buttonAutoBreak.Size = new System.Drawing.Size(115, 21);
this.buttonAutoBreak.TabIndex = 7;
@ -3629,6 +3736,7 @@
//
// labelTextLineLengths
//
this.labelTextLineLengths.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelTextLineLengths.AutoSize = true;
this.labelTextLineLengths.Location = new System.Drawing.Point(239, 86);
this.labelTextLineLengths.Name = "labelTextLineLengths";
@ -3638,9 +3746,9 @@
//
// labelTextLineTotal
//
this.labelTextLineTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelTextLineTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelTextLineTotal.AutoSize = true;
this.labelTextLineTotal.Location = new System.Drawing.Point(638, 86);
this.labelTextLineTotal.Location = new System.Drawing.Point(1001, 86);
this.labelTextLineTotal.Name = "labelTextLineTotal";
this.labelTextLineTotal.Size = new System.Drawing.Size(94, 13);
this.labelTextLineTotal.TabIndex = 21;
@ -3650,7 +3758,7 @@
//
this.labelCharactersPerSecond.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelCharactersPerSecond.AutoSize = true;
this.labelCharactersPerSecond.Location = new System.Drawing.Point(638, 11);
this.labelCharactersPerSecond.Location = new System.Drawing.Point(1001, 11);
this.labelCharactersPerSecond.Name = "labelCharactersPerSecond";
this.labelCharactersPerSecond.Size = new System.Drawing.Size(133, 13);
this.labelCharactersPerSecond.TabIndex = 31;
@ -3659,7 +3767,7 @@
// buttonUnBreak
//
this.buttonUnBreak.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonUnBreak.Location = new System.Drawing.Point(810, 30);
this.buttonUnBreak.Location = new System.Drawing.Point(1173, 30);
this.buttonUnBreak.Name = "buttonUnBreak";
this.buttonUnBreak.Size = new System.Drawing.Size(115, 21);
this.buttonUnBreak.TabIndex = 6;
@ -3733,7 +3841,8 @@
// textBoxListViewText
//
this.textBoxListViewText.AllowDrop = true;
this.textBoxListViewText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.textBoxListViewText.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.textBoxListViewText.ContextMenuStrip = this.contextMenuStripTextBoxListView;
this.textBoxListViewText.Enabled = false;
@ -3741,7 +3850,7 @@
this.textBoxListViewText.Location = new System.Drawing.Point(236, 28);
this.textBoxListViewText.Multiline = true;
this.textBoxListViewText.Name = "textBoxListViewText";
this.textBoxListViewText.Size = new System.Drawing.Size(570, 56);
this.textBoxListViewText.Size = new System.Drawing.Size(931, 55);
this.textBoxListViewText.TabIndex = 5;
this.textBoxListViewText.MouseClick += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextMouseClick);
this.textBoxListViewText.TextChanged += new System.EventHandler(this.TextBoxListViewTextTextChanged);
@ -3769,40 +3878,13 @@
this.labelAutoDuration.TabIndex = 30;
this.labelAutoDuration.Text = "Auto";
//
// SubtitleListview1
//
this.SubtitleListview1.AllowDrop = true;
this.SubtitleListview1.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.SubtitleListview1.ContextMenuStrip = this.contextMenuStripListview;
this.SubtitleListview1.DisplayExtraFromExtra = false;
this.SubtitleListview1.FirstVisibleIndex = -1;
this.SubtitleListview1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SubtitleListview1.FullRowSelect = true;
this.SubtitleListview1.GridLines = true;
this.SubtitleListview1.HideSelection = false;
this.SubtitleListview1.Location = new System.Drawing.Point(1, 3);
this.SubtitleListview1.Name = "SubtitleListview1";
this.SubtitleListview1.OwnerDraw = true;
this.SubtitleListview1.Size = new System.Drawing.Size(933, 148);
this.SubtitleListview1.TabIndex = 0;
this.SubtitleListview1.UseCompatibleStateImageBehavior = false;
this.SubtitleListview1.UseSyntaxColoring = true;
this.SubtitleListview1.View = System.Windows.Forms.View.Details;
this.SubtitleListview1.SelectedIndexChanged += new System.EventHandler(this.SubtitleListview1_SelectedIndexChanged);
this.SubtitleListview1.DragDrop += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragDrop);
this.SubtitleListview1.DragEnter += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragEnter);
this.SubtitleListview1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SubtitleListview1KeyDown);
this.SubtitleListview1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SubtitleListview1_MouseDoubleClick);
//
// tabPage2
//
this.tabPage2.Controls.Add(this.textBoxSource);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(937, 254);
this.tabPage2.Size = new System.Drawing.Size(1299, 254);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Source view";
this.tabPage2.UseVisualStyleBackColor = true;
@ -3810,16 +3892,14 @@
// textBoxSource
//
this.textBoxSource.AllowDrop = true;
this.textBoxSource.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.textBoxSource.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBoxSource.HideSelection = false;
this.textBoxSource.Location = new System.Drawing.Point(1, 3);
this.textBoxSource.Location = new System.Drawing.Point(3, 3);
this.textBoxSource.MaxLength = 0;
this.textBoxSource.Multiline = true;
this.textBoxSource.Name = "textBoxSource";
this.textBoxSource.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBoxSource.Size = new System.Drawing.Size(932, 252);
this.textBoxSource.Size = new System.Drawing.Size(1293, 248);
this.textBoxSource.TabIndex = 12;
this.textBoxSource.WordWrap = false;
this.textBoxSource.Click += new System.EventHandler(this.TextBoxSourceClick);
@ -3837,7 +3917,7 @@
this.panelVideoPlayer.Controls.Add(this.mediaPlayer);
this.panelVideoPlayer.Location = new System.Drawing.Point(1, 1);
this.panelVideoPlayer.Name = "panelVideoPlayer";
this.panelVideoPlayer.Size = new System.Drawing.Size(282, 278);
this.panelVideoPlayer.Size = new System.Drawing.Size(395, 278);
this.panelVideoPlayer.TabIndex = 5;
//
// mediaPlayer
@ -3855,7 +3935,7 @@
this.mediaPlayer.ShowFullscreenButton = true;
this.mediaPlayer.ShowMuteButton = true;
this.mediaPlayer.ShowStopButton = true;
this.mediaPlayer.Size = new System.Drawing.Size(281, 278);
this.mediaPlayer.Size = new System.Drawing.Size(394, 278);
this.mediaPlayer.SubtitleText = "";
this.mediaPlayer.TabIndex = 5;
this.mediaPlayer.TextRightToLeft = System.Windows.Forms.RightToLeft.No;
@ -3901,7 +3981,7 @@
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1244, 683);
this.ClientSize = new System.Drawing.Size(1719, 683);
this.Controls.Add(this.splitContainerMain);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.statusStrip1);
@ -3958,6 +4038,9 @@
this.splitContainer1.ResumeLayout(false);
this.tabControlSubtitle.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.splitContainerListViewAndText.Panel1.ResumeLayout(false);
this.splitContainerListViewAndText.Panel2.ResumeLayout(false);
this.splitContainerListViewAndText.ResumeLayout(false);
this.groupBoxEdit.ResumeLayout(false);
this.groupBoxEdit.PerformLayout();
this.contextMenuStripTextBoxListView.ResumeLayout(false);
@ -4339,6 +4422,13 @@
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemShowOriginalInPreview;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemPlugins;
private System.Windows.Forms.ToolStripMenuItem seekSilenceToolStripMenuItem;
private System.Windows.Forms.SplitContainer splitContainerListViewAndText;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemColumn;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemColumnDeleteText;
private System.Windows.Forms.ToolStripMenuItem ShiftTextCellsDownToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemPasteSpecial;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemColumnDeleteTimeCodes;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemColumnImportText;
}
}

View File

@ -11640,6 +11640,9 @@ namespace Nikse.SubtitleEdit.Forms
_mainListViewAutoDuration = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainListViewAutoDuration);
_mainEditReverseStartAndEndingForRTL = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainEditReverseStartAndEndingForRTL);
_mainListViewCopyText = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainListViewCopyText);
toolStripMenuItemColumnDeleteText.ShortcutKeys = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainListViewColumnDeleteText);
ShiftTextCellsDownToolStripMenuItem.ShortcutKeys = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainListViewColumnInsertText);
toolStripMenuItemPasteSpecial.ShortcutKeys = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainListViewColumnPaste);
toolStripMenuItemReverseRightToLeftStartEnd.ShortcutKeys = _mainEditReverseStartAndEndingForRTL;
italicToolStripMenuItem1.ShortcutKeys = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxItalic);
_mainTextBoxSplitAtCursor = Utilities.GetKeys(Configuration.Settings.Shortcuts.MainTextBoxSplitAtCursor);
@ -15254,10 +15257,188 @@ namespace Nikse.SubtitleEdit.Forms
private void toolStripMenuItemPasteSpecial_Click(object sender, EventArgs e)
{
var form = new PasteSpecial();
string text = Clipboard.GetText();
var tmp = new Subtitle();
var format = new SubRip();
var list = new List<string>();
foreach (string line in text.Replace(Environment.NewLine, "|").Split("|".ToCharArray(), StringSplitOptions.None))
list.Add(line);
format.LoadSubtitle(tmp, list, null);
if (SubtitleListview1.SelectedItems.Count == 1 && tmp.Paragraphs.Count > 0)
{
var form = new ColumnPaste(_subtitleAlternate != null && Configuration.Settings.General.AllowEditOfOriginalSubtitle);
if (form.ShowDialog(this) == DialogResult.OK)
{
MakeHistoryForUndo(_language.BeforeColumnPaste);
int index = FirstSelectedIndex;
if (!form.PasteOverwrite)
{
for (int i = 0; i < tmp.Paragraphs.Count; i++)
{
if (form.PasteAll)
{
for (int k = _subtitle.Paragraphs.Count - 2; k > index; k--)
{
_subtitle.Paragraphs[k + 1] = new Paragraph(_subtitle.Paragraphs[k]);
}
if (index + i < _subtitle.Paragraphs.Count)
_subtitle.Paragraphs[index + i].Text = string.Empty;
}
else if (form.PasteTimeCodesOnly)
{
for (int k = _subtitle.Paragraphs.Count - 2; k > index; k--)
{
_subtitle.Paragraphs[k + 1].StartTime.TotalMilliseconds = _subtitle.Paragraphs[k].StartTime.TotalMilliseconds;
_subtitle.Paragraphs[k + 1].EndTime.TotalMilliseconds = _subtitle.Paragraphs[k].EndTime.TotalMilliseconds;
_subtitle.Paragraphs[k + 1].StartFrame = _subtitle.Paragraphs[k].StartFrame;
_subtitle.Paragraphs[k + 1].EndFrame = _subtitle.Paragraphs[k].EndFrame;
}
}
else if (form.PasteTextOnly)
{
for (int k = _subtitle.Paragraphs.Count - 2; k > index; k--)
{
_subtitle.Paragraphs[k + 1].Text = _subtitle.Paragraphs[k].Text;
}
if (index + i < _subtitle.Paragraphs.Count)
_subtitle.Paragraphs[index + i].Text = string.Empty;
}
else if (form.PasteOriginalTextOnly)
{
for (int k = _subtitle.Paragraphs.Count - 2; k > index; k--)
{
Paragraph original = Utilities.GetOriginalParagraph(index, _subtitle.Paragraphs[k], _subtitleAlternate.Paragraphs);
Paragraph originalNext = Utilities.GetOriginalParagraph(index, _subtitle.Paragraphs[k + 1], _subtitleAlternate.Paragraphs);
if (original != null)
{
originalNext.Text = original.Text;
}
}
if (index + i < _subtitle.Paragraphs.Count)
{
Paragraph original = Utilities.GetOriginalParagraph(index, _subtitle.Paragraphs[index + i], _subtitleAlternate.Paragraphs);
if (original != null)
original.Text = string.Empty;
}
}
}
}
for (int i = 0; i + index < _subtitle.Paragraphs.Count && i < tmp.Paragraphs.Count; i++)
_subtitle.Paragraphs[index + i].Text = tmp.Paragraphs[i].Text;
SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
RefreshSelectedParagraph();
}
}
}
private void deleteAndShiftCellsUpToolStripMenuItem_Click(object sender, EventArgs e)
{
if (SubtitleListview1.SelectedIndices.Count < 1)
return;
List<int> list = new List<int>();
foreach (int index in SubtitleListview1.SelectedIndices)
list.Add(index);
list.Sort();
list.Reverse();
MakeHistoryForUndo(_language.BeforeColumnDelete);
foreach (int index in list)
{
for (int k = index; k < _subtitle.Paragraphs.Count-1; k++)
{
_subtitle.Paragraphs[k].Text = _subtitle.Paragraphs[k + 1].Text;
}
_subtitle.Paragraphs[_subtitle.Paragraphs.Count-1].Text = string.Empty;
}
SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
RefreshSelectedParagraph();
}
private void toolStripMenuItemColumnDeleteTimeCodes_Click(object sender, EventArgs e)
{
if (SubtitleListview1.SelectedIndices.Count < 1)
return;
List<int> list = new List<int>();
foreach (int index in SubtitleListview1.SelectedIndices)
list.Add(index);
list.Sort();
list.Reverse();
MakeHistoryForUndo(_language.BeforeColumnDelete);
foreach (int index in list)
{
for (int k = index; k < _subtitle.Paragraphs.Count - 1; k++)
{
_subtitle.Paragraphs[k].StartTime.TotalMilliseconds = _subtitle.Paragraphs[k + 1].StartTime.TotalMilliseconds;
_subtitle.Paragraphs[k].EndTime.TotalMilliseconds = _subtitle.Paragraphs[k + 1].EndTime.TotalMilliseconds;
_subtitle.Paragraphs[k].StartFrame = _subtitle.Paragraphs[k + 1].StartFrame;
_subtitle.Paragraphs[k].EndFrame = _subtitle.Paragraphs[k + 1].EndFrame;
}
_subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1].StartTime = new TimeCode(0, 0, 0, 0);
_subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1].EndTime = new TimeCode(0, 0, 0, 0);
_subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1].StartFrame = 0;
_subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1].EndFrame = 0;
}
SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
RefreshSelectedParagraph();
}
private void toolStripMenuItemColumnImportText_Click(object sender, EventArgs e)
{
if (SubtitleListview1.SelectedIndices.Count < 1)
return;
var importText = new ImportText();
if (importText.ShowDialog(this) == DialogResult.OK)
{
MakeHistoryForUndo(_language.BeforeColumnImportText);
int index = FirstSelectedIndex;
for (int i = 0; i < importText.FixedSubtitle.Paragraphs.Count; i++)
{
for (int k = _subtitle.Paragraphs.Count - 2; k > index; k--)
{
_subtitle.Paragraphs[k+1].Text = _subtitle.Paragraphs[k].Text;
}
if (index + i < _subtitle.Paragraphs.Count)
_subtitle.Paragraphs[index + i].Text = string.Empty;
}
for (int i = 0; i + index < _subtitle.Paragraphs.Count && i < importText.FixedSubtitle.Paragraphs.Count; i++)
_subtitle.Paragraphs[index + i].Text = importText.FixedSubtitle.Paragraphs[i].Text;
SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
RefreshSelectedParagraph();
}
}
private void ShiftTextCellsDownToolStripMenuItem_Click(object sender, EventArgs e)
{
if (SubtitleListview1.SelectedIndices.Count < 1)
return;
int index = FirstSelectedIndex;
int count = SubtitleListview1.SelectedIndices.Count;
MakeHistoryForUndo(_language.BeforeColumnShiftCellsDown);
for (int i = 0; i < count; i++)
{
for (int k = _subtitle.Paragraphs.Count - 2; k >= index; k--)
{
_subtitle.Paragraphs[k + 1].Text = _subtitle.Paragraphs[k].Text;
}
if (index + i < _subtitle.Paragraphs.Count)
_subtitle.Paragraphs[index + i].Text = string.Empty;
}
SubtitleListview1.Fill(_subtitle, _subtitleAlternate);
RefreshSelectedParagraph();
}
}

View File

@ -681,7 +681,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2
CAAAAk1TRnQBSQFMAgEBAgEAAaABFwGgARcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CAAAAk1TRnQBSQFMAgEBAgEAASgBGQEoARkBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -565,6 +565,9 @@ namespace Nikse.SubtitleEdit.Forms
listViewNode.Nodes.Add(Configuration.Settings.Language.Settings.Alignment + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewAlignment));
listViewNode.Nodes.Add(Configuration.Settings.Language.Settings.CopyTextOnly + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewCopyText));
listViewNode.Nodes.Add(Configuration.Settings.Language.Settings.AutoDurationSelectedLines + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewAutoDuration));
listViewNode.Nodes.Add(Configuration.Settings.Language.Settings.ListViewColumnDelete + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewColumnDeleteText));
listViewNode.Nodes.Add(Configuration.Settings.Language.Settings.ListViewColumnInsert + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewColumnInsertText));
listViewNode.Nodes.Add(Configuration.Settings.Language.Settings.ListViewColumnPaste + GetShortcutText(Configuration.Settings.Shortcuts.MainListViewColumnPaste));
treeViewShortcuts.Nodes.Add(listViewNode);
var textBoxNode = new TreeNode(Configuration.Settings.Language.Settings.TextBox);
@ -1163,6 +1166,12 @@ namespace Nikse.SubtitleEdit.Forms
Configuration.Settings.Shortcuts.MainListViewCopyText = GetShortcut(node.Text);
else if (text == Configuration.Settings.Language.Settings.AutoDurationSelectedLines.Replace("&", string.Empty))
Configuration.Settings.Shortcuts.MainListViewAutoDuration = GetShortcut(node.Text);
else if (text == Configuration.Settings.Language.Settings.ListViewColumnDelete.Replace("&", string.Empty))
Configuration.Settings.Shortcuts.MainListViewColumnDeleteText = GetShortcut(node.Text);
else if (text == Configuration.Settings.Language.Settings.ListViewColumnInsert.Replace("&", string.Empty))
Configuration.Settings.Shortcuts.MainListViewColumnInsertText = GetShortcut(node.Text);
else if (text == Configuration.Settings.Language.Settings.ListViewColumnPaste.Replace("&", string.Empty))
Configuration.Settings.Shortcuts.MainListViewColumnPaste = GetShortcut(node.Text);
}
}

View File

@ -302,7 +302,7 @@
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(168, 28);
this.label7.Location = new System.Drawing.Point(185, 28);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(63, 13);
this.label7.TabIndex = 13;
@ -321,7 +321,7 @@
//
this.numericUpDownDefaultMilliseconds.Location = new System.Drawing.Point(111, 26);
this.numericUpDownDefaultMilliseconds.Maximum = new decimal(new int[] {
8000,
99999,
0,
0,
0});

View File

@ -686,6 +686,13 @@ namespace Nikse.SubtitleEdit.Logic
FindContinueTitle = "Continue Find?",
FindContinue = "The search item was not found." + Environment.NewLine +
"Would you like to start from the top of the document and search one more time?",
ReplaceContinueTitle = "Continue 'Replace'?",
ReplaceContinueNotFound = "The search item was not found." + Environment.NewLine +
"Would you like to start from the top of the document and continue search and replace?",
ReplaceXContinue = "The search item was replaced {0} time(s)." + Environment.NewLine +
"Would you like to start from the top of the document and continue search and replace?",
SearchingForXFromLineY = "Searching for '{0}' from line number {1}...",
XFoundAtLineNumberY = "'{0}' found at line number {1}",
XNotFound = "'{0}' not found",
@ -861,7 +868,10 @@ namespace Nikse.SubtitleEdit.Logic
LineNumberXExpectedNumberFromSourceLineY = "Line {0} - expected subtitle number: {1}",
BeforeGuessingTimeCodes = "Before guessing time codes",
BeforeAutoDuration = "Before auto-duration for selected lines",
BeforeColumnPaste = "Before column paste",
BeforeColumnDelete = "Before column delete",
BeforeColumnImportText = "Before column import text",
BeforeColumnShiftCellsDown = "Before column shift cells down",
Menu = new LanguageStructure.Main.MainMenu
{
@ -1476,6 +1486,9 @@ can edit in same subtitle file (collaboration)",
MergeOriginalAndTranslation = "Merge original and translation",
ShortcutIsAlreadyDefinedX = "Shortcut already defined: \r\n{0}\r\n",
ToggleTranslationAndOriginalInPreviews = "Toggle translation and original in video/audio preview",
ListViewColumnDelete = "Column, delete text",
ListViewColumnInsert = "Column, insert text",
ListViewColumnPaste ="Column, paste",
};
ShowEarlierLater = new LanguageStructure.ShowEarlierLater

View File

@ -602,6 +602,9 @@
public string NewFrameRateUsedToCalculateFrameNumbers { get; set; }
public string FindContinue { get; set; }
public string FindContinueTitle { get; set; }
public string ReplaceContinueNotFound { get; set; }
public string ReplaceXContinue { get; set; }
public string ReplaceContinueTitle { get; set; }
public string SearchingForXFromLineY { get; set; }
public string XFoundAtLineNumberY { get; set; }
public string XNotFound { get; set; }
@ -774,6 +777,10 @@
public string LineNumberXExpectedNumberFromSourceLineY { get; set; }
public string BeforeGuessingTimeCodes { get; set; }
public string BeforeAutoDuration { get; set; }
public string BeforeColumnPaste { get; set; }
public string BeforeColumnDelete { get; set; }
public string BeforeColumnImportText { get; set; }
public string BeforeColumnShiftCellsDown { get; set; }
public class MainMenu
{
@ -1395,6 +1402,9 @@
public string MergeOriginalAndTranslation { get; set; }
public string ShortcutIsAlreadyDefinedX { get; set; }
public string ToggleTranslationAndOriginalInPreviews { get; set; }
public string ListViewColumnDelete { get; set; }
public string ListViewColumnInsert { get; set; }
public string ListViewColumnPaste { get; set; }
}
public class ShowEarlierLater

View File

@ -111,7 +111,7 @@ namespace Nikse.SubtitleEdit.Logic
UnicodeSymbolsToInsert = "♪;♫;☺;☹;♥;©;☮;☯;Σ;∞;≡;⇒;π";
SpellCheckAutoChangeNames = true;
OcrFixUseHardcodedRules = true;
Interjections = "Ah;Ahh;Ahhh;Ahhhh;Eh;Ehh;Ehhh;Hm;Hmm;Hmmm;Mm;Mmm;Mmmm;Phew;Gah;Oh;Ohh;Ohhh;Ow;Oww;Owww;Ugh;Ughh;Uh;Uhh;Uhhh;Whew";
Interjections = "Ah;Ahh;Ahhh;Ahhhh;Eh;Ehh;Ehhh;Hm;Hmm;Hmmm;Huh;Mm;Mmm;Mmmm;Phew;Gah;Oh;Ohh;Ohhh;Ow;Oww;Owww;Ugh;Ughh;Uh;Uhh;Uhhh;Whew";
MicrosoftBingApiId = "C2C2E9A508E6748F0494D68DFD92FAA1FF9B0BA4";
GoogleApiKey = "ABQIAAAA4j5cWwa3lDH0RkZceh7PjBTDmNAghl5kWSyuukQ0wtoJG8nFBxRPlalq-gAvbeCXMCkmrysqjXV1Gw";
GoogleTranslateLastTargetLanguage = "en";
@ -327,6 +327,7 @@ namespace Nikse.SubtitleEdit.Logic
public string StartSize { get; set; }
public int StartListViewWidth { get; set; }
public int StartListViewHeight { get; set; }
public int StartTextBoxHeight { get; set; }
public bool StartInSourceView { get; set; }
public bool RemoveBlankLinesWhenOpening { get; set; }
public int SubtitleLineMaximumLength { get; set; }
@ -433,7 +434,7 @@ namespace Nikse.SubtitleEdit.Logic
SyncListViewWithVideoWhilePlaying = false;
AutoBackupSeconds = 60 * 15;
SpellChecker = "hunspell";
AllowEditOfOriginalSubtitle = false;
AllowEditOfOriginalSubtitle = true;
PromptDeleteLines = true;
Undocked = false;
UndockedVideoPosition = "-32000;-32000";
@ -605,6 +606,9 @@ namespace Nikse.SubtitleEdit.Logic
public string MainListViewAlignment { get; set; }
public string MainListViewCopyText { get; set; }
public string MainListViewAutoDuration { get; set; }
public string MainListViewColumnDeleteText { get; set; }
public string MainListViewColumnInsertText { get; set; }
public string MainListViewColumnPaste { get; set; }
public string MainTextBoxItalic { get; set; }
public string MainTextBoxSplitAtCursor { get; set; }
public string MainCreateInsertSubAtVideoPos { get; set; }
@ -1013,6 +1017,9 @@ namespace Nikse.SubtitleEdit.Logic
subNode = node.SelectSingleNode("StartListViewHeight");
if (subNode != null)
settings.General.StartListViewHeight = Convert.ToInt32(subNode.InnerText);
subNode = node.SelectSingleNode("StartTextBoxHeight");
if (subNode != null)
settings.General.StartTextBoxHeight = Convert.ToInt32(subNode.InnerText);
subNode = node.SelectSingleNode("StartInSourceView");
if (subNode != null)
settings.General.StartInSourceView = Convert.ToBoolean(subNode.InnerText);
@ -1697,6 +1704,15 @@ namespace Nikse.SubtitleEdit.Logic
subNode = node.SelectSingleNode("MainListViewAutoDuration");
if (subNode != null)
settings.Shortcuts.MainListViewAutoDuration = subNode.InnerText;
subNode = node.SelectSingleNode("MainListViewColumnDeleteText");
if (subNode != null)
settings.Shortcuts.MainListViewColumnDeleteText = subNode.InnerText;
subNode = node.SelectSingleNode("MainListViewColumnInsertText");
if (subNode != null)
settings.Shortcuts.MainListViewColumnInsertText = subNode.InnerText;
subNode = node.SelectSingleNode("MainListViewColumnPaste");
if (subNode != null)
settings.Shortcuts.MainListViewColumnPaste = subNode.InnerText;
subNode = node.SelectSingleNode("MainEditReverseStartAndEndingForRTL");
if (subNode != null)
settings.Shortcuts.MainEditReverseStartAndEndingForRTL = subNode.InnerText;
@ -1940,6 +1956,7 @@ namespace Nikse.SubtitleEdit.Logic
textWriter.WriteElementString("StartSize", settings.General.StartSize);
textWriter.WriteElementString("StartListViewWidth", settings.General.StartListViewWidth.ToString());
textWriter.WriteElementString("StartListViewHeight", settings.General.StartListViewHeight.ToString());
textWriter.WriteElementString("StartTextBoxHeight", settings.General.StartTextBoxHeight.ToString());
textWriter.WriteElementString("StartInSourceView", settings.General.StartInSourceView.ToString());
textWriter.WriteElementString("RemoveBlankLinesWhenOpening", settings.General.RemoveBlankLinesWhenOpening.ToString());
textWriter.WriteElementString("SubtitleLineMaximumLength", settings.General.SubtitleLineMaximumLength.ToString());
@ -2191,6 +2208,9 @@ namespace Nikse.SubtitleEdit.Logic
textWriter.WriteElementString("MainListViewAlignment", settings.Shortcuts.MainListViewAlignment);
textWriter.WriteElementString("MainListViewCopyText", settings.Shortcuts.MainListViewCopyText);
textWriter.WriteElementString("MainListViewAutoDuration", settings.Shortcuts.MainListViewAutoDuration);
textWriter.WriteElementString("MainListViewColumnDeleteText", settings.Shortcuts.MainListViewColumnDeleteText);
textWriter.WriteElementString("MainListViewColumnInsertText", settings.Shortcuts.MainListViewColumnInsertText);
textWriter.WriteElementString("MainListViewColumnPaste", settings.Shortcuts.MainListViewColumnPaste);
textWriter.WriteElementString("MainEditReverseStartAndEndingForRTL", settings.Shortcuts.MainEditReverseStartAndEndingForRTL);
textWriter.WriteElementString("MainTextBoxItalic", settings.Shortcuts.MainTextBoxItalic);
textWriter.WriteElementString("MainTextBoxSplitAtCursor", settings.Shortcuts.MainTextBoxSplitAtCursor);

View File

@ -119,6 +119,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
new UnknownSubtitle26(),
new UnknownSubtitle27(),
new UnknownSubtitle28(),
new UnknownSubtitle29(),
new UTSubtitleXml(),
new Utx(),
new UtxFrames(),

View File

@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle29 : SubtitleFormat
{
//00:00:30:21 00:00:35:22 //Et c'est là que nous devions //passer la nuit. //00:00:38:04 00:00:40:18 //Un nouveau martyre a commencé.
static readonly Regex RegexTimeCode = new Regex(@"^\d\d:\d\d:\d\d:\d\d\t\d\d:\d\d:\d\d:\d\d$", RegexOptions.Compiled);
public override string Extension
{
get { return ".txt"; }
}
public override string Name
{
get { return "Unknown 29"; }
}
public override bool IsTimeBased
{
get { return true; }
}
public override bool IsMine(List<string> lines, string fileName)
{
var subtitle = new Subtitle();
LoadSubtitle(subtitle, lines, fileName);
return subtitle.Paragraphs.Count > _errorCount;
}
private string MakeTimeCode(TimeCode tc)
{
return string.Format("{0:00}:{1:00}:{2:00}:{3:00}", tc.Hours, tc.Minutes, tc.Seconds, MillisecondsToFrames(tc.Milliseconds));
}
public override string ToText(Subtitle subtitle, string title)
{
var sb = new StringBuilder();
for (int i = 0; i < subtitle.Paragraphs.Count; i++)
{
Paragraph p = subtitle.Paragraphs[i];
string text = Utilities.RemoveHtmlTags(p.Text);
sb.AppendLine(string.Format("{0}\t{1}\r\n{2}\r\n", MakeTimeCode(p.StartTime), MakeTimeCode(p.EndTime), text));
}
return sb.ToString();
}
private TimeCode DecodeTimeCode(string timeCode)
{
string[] arr = timeCode.Split(":;,".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
return new TimeCode(int.Parse(arr[0]), int.Parse(arr[1]), int.Parse(arr[2]), FramesToMilliseconds(int.Parse(arr[3])));
}
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)
{
_errorCount = 0;
Paragraph p = null;
var sb = new StringBuilder();
foreach (string line in lines)
{
string s = line.TrimEnd();
if (RegexTimeCode.IsMatch(s))
{
try
{
if (p != null)
{
p.Text = sb.ToString().Trim();
subtitle.Paragraphs.Add(p);
}
sb = new StringBuilder();
string[] arr = s.Split('\t');
if (arr.Length == 2)
p = new Paragraph(DecodeTimeCode(arr[0]), DecodeTimeCode(arr[1]), string.Empty);
}
catch
{
_errorCount++;
p = null;
}
}
else if (s.Trim().Length > 0)
{
sb.AppendLine(s);
}
}
if (p != null)
{
p.Text = sb.ToString().Trim();
subtitle.Paragraphs.Add(p);
}
subtitle.Renumber(1);
}
}
}

View File

@ -338,6 +338,12 @@
<Compile Include="Forms\PacEncoding.Designer.cs">
<DependentUpon>PacEncoding.cs</DependentUpon>
</Compile>
<Compile Include="Forms\ColumnPaste.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\ColumnPaste.Designer.cs">
<DependentUpon>ColumnPaste.cs</DependentUpon>
</Compile>
<Compile Include="Forms\PluginsGet.cs">
<SubType>Form</SubType>
</Compile>
@ -791,6 +797,7 @@
<Compile Include="Logic\SubtitleFormats\UnknownSubtitle26.cs" />
<Compile Include="Logic\SubtitleFormats\UnknownSubtitle27.cs" />
<Compile Include="Logic\SubtitleFormats\UnknownSubtitle28.cs" />
<Compile Include="Logic\SubtitleFormats\UnknownSubtitle29.cs" />
<Compile Include="Logic\SubtitleFormats\UnknownSubtitle5.cs" />
<Compile Include="Logic\SubtitleFormats\OpenDvt.cs" />
<Compile Include="Logic\SubtitleFormats\AbcIViewer.cs" />
@ -1015,6 +1022,9 @@
<EmbeddedResource Include="Forms\PacEncoding.resx">
<DependentUpon>PacEncoding.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\ColumnPaste.resx">
<DependentUpon>ColumnPaste.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\PluginsGet.resx">
<DependentUpon>PluginsGet.cs</DependentUpon>
</EmbeddedResource>