mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2025-02-01 05:21:40 +01:00
Work on #3255
This commit is contained in:
parent
059df0c37d
commit
8cfb380d87
@ -2,7 +2,11 @@
|
||||
|
||||
3.5.9 (xth March 2019) BETA
|
||||
* NEW:
|
||||
* Bookmarks
|
||||
* Auto save option
|
||||
* Spell check - keep "Use always" replace list option
|
||||
* Image export - option to have single lines top justified - thx joedmartin
|
||||
* Add shortcut: Modify selection
|
||||
* IMPROVED:
|
||||
* Update Hungarian translation - thx Zityi
|
||||
* FIXED:
|
||||
|
@ -1742,6 +1742,11 @@ can edit in same subtitle file (collaboration)</Information>
|
||||
<SettingsName>Settings</SettingsName>
|
||||
<Help>Help</Help>
|
||||
<UnbreakNoSpace>Unbreak without space (CJK)</UnbreakNoSpace>
|
||||
<ToggleBookmarks>Toggle bookmarks</ToggleBookmarks>
|
||||
<ToggleBookmarksWithText>Toggle bookmarks - add text</ToggleBookmarksWithText>
|
||||
<ClearBookmarks>Clear bookmarks</ClearBookmarks>
|
||||
<GoToBookmark>Go to bookmark</GoToBookmark>
|
||||
<GoToNextBookmark>Go to next bookmark</GoToNextBookmark>
|
||||
<FontInUi>UI Font</FontInUi>
|
||||
<ShowFrameRate>Show frame rate in toolbar</ShowFrameRate>
|
||||
<DefaultFrameRate>Default frame rate</DefaultFrameRate>
|
||||
|
@ -2034,6 +2034,11 @@ can edit in same subtitle file (collaboration)",
|
||||
SettingsName = "Settings",
|
||||
Help = "Help",
|
||||
UnbreakNoSpace = "Unbreak without space (CJK)",
|
||||
ToggleBookmarks = "Toggle bookmarks",
|
||||
ToggleBookmarksWithText = "Toggle bookmarks - add text",
|
||||
ClearBookmarks = "Clear bookmarks",
|
||||
GoToBookmark = "Go to bookmark",
|
||||
GoToNextBookmark = "Go to next bookmark",
|
||||
FontInUi = "UI Font",
|
||||
ShowFrameRate = "Show frame rate in toolbar",
|
||||
DefaultFrameRate = "Default frame rate",
|
||||
|
@ -4651,6 +4651,21 @@ namespace Nikse.SubtitleEdit.Core
|
||||
case "Settings/UnbreakNoSpace":
|
||||
language.Settings.UnbreakNoSpace = reader.Value;
|
||||
break;
|
||||
case "Settings/ToggleBookmarks":
|
||||
language.Settings.ToggleBookmarks = reader.Value;
|
||||
break;
|
||||
case "Settings/ToggleBookmarksWithText":
|
||||
language.Settings.ToggleBookmarksWithText = reader.Value;
|
||||
break;
|
||||
case "Settings/ClearBookmarks":
|
||||
language.Settings.ClearBookmarks = reader.Value;
|
||||
break;
|
||||
case "Settings/GoToBookmark":
|
||||
language.Settings.GoToBookmark = reader.Value;
|
||||
break;
|
||||
case "Settings/GoToNextBookmark":
|
||||
language.Settings.GoToNextBookmark = reader.Value;
|
||||
break;
|
||||
case "Settings/FontInUi":
|
||||
language.Settings.FontInUi = reader.Value;
|
||||
break;
|
||||
|
@ -1903,6 +1903,11 @@
|
||||
public string SettingsName { get; set; }
|
||||
public string Help { get; set; }
|
||||
public string UnbreakNoSpace { get; set; }
|
||||
public string ToggleBookmarks { get; set; }
|
||||
public string ToggleBookmarksWithText { get; set; }
|
||||
public string ClearBookmarks { get; set; }
|
||||
public string GoToBookmark { get; set; }
|
||||
public string GoToNextBookmark { get; set; }
|
||||
public string FontInUi { get; set; }
|
||||
public string ShowFrameRate { get; set; }
|
||||
public string DefaultFrameRate { get; set; }
|
||||
|
@ -49,6 +49,8 @@ namespace Nikse.SubtitleEdit.Core
|
||||
|
||||
public bool NewSection { get; set; }
|
||||
|
||||
public string Bookmark { get; set; }
|
||||
|
||||
private string GenerateId()
|
||||
{
|
||||
return Guid.NewGuid().ToString();
|
||||
@ -92,6 +94,7 @@ namespace Nikse.SubtitleEdit.Core
|
||||
Language = paragraph.Language;
|
||||
Style = paragraph.Style;
|
||||
NewSection = paragraph.NewSection;
|
||||
Bookmark = paragraph.Bookmark;
|
||||
}
|
||||
|
||||
public Paragraph(int startFrame, int endFrame, string text)
|
||||
|
@ -84,7 +84,7 @@ namespace Nikse.SubtitleEdit.Core
|
||||
public bool SpellCheckAutoChangeNames { get; set; }
|
||||
public bool SpellCheckOneLetterWords { get; set; }
|
||||
public bool SpellCheckEnglishAllowInQuoteAsIng { get; set; }
|
||||
public bool RememberUseAlwaysList { get; set; }
|
||||
public bool RememberUseAlwaysList { get; set; }
|
||||
public bool SpellCheckShowCompletedMessage { get; set; }
|
||||
public bool OcrFixUseHardcodedRules { get; set; }
|
||||
public int OcrBinaryImageCompareRgbThreshold { get; set; }
|
||||
@ -194,7 +194,7 @@ namespace Nikse.SubtitleEdit.Core
|
||||
public bool ImportTextRemoveLinesNoLetters { get; set; }
|
||||
public bool ImportTextGenerateTimeCodes { get; set; }
|
||||
public bool ImportTextAutoBreak { get; set; }
|
||||
public bool ImportTextAutoBreakAtEnd { get; set; }
|
||||
public bool ImportTextAutoBreakAtEnd { get; set; }
|
||||
public decimal ImportTextGap { get; set; }
|
||||
public decimal ImportTextAutoSplitNumberOfLines { get; set; }
|
||||
public string ImportTextAutoBreakAtEndMarkerText { get; set; }
|
||||
@ -1008,6 +1008,11 @@ $HorzAlign = Center
|
||||
public string GeneralPlayFirstSelected { get; set; }
|
||||
public string GeneralHelp { get; set; }
|
||||
public string GeneralUnbrekNoSpace { get; set; }
|
||||
public string GeneralToggleBookmarks { get; set; }
|
||||
public string GeneralToggleBookmarksWithText { get; set; }
|
||||
public string GeneralClearBookmarks { get; set; }
|
||||
public string GeneralGoToBookmark { get; set; }
|
||||
public string GeneralGoToNextBookmark { get; set; }
|
||||
public string MainFileNew { get; set; }
|
||||
public string MainFileOpen { get; set; }
|
||||
public string MainFileOpenKeepVideo { get; set; }
|
||||
@ -1027,7 +1032,7 @@ $HorzAlign = Center
|
||||
public string MainEditFind { get; set; }
|
||||
public string MainEditFindNext { get; set; }
|
||||
public string MainEditReplace { get; set; }
|
||||
public string MainEditMultipleReplace { get; set; }
|
||||
public string MainEditMultipleReplace { get; set; }
|
||||
public string MainEditGoToLineNumber { get; set; }
|
||||
public string MainEditRightToLeft { get; set; }
|
||||
public string MainEditReverseStartAndEndingForRTL { get; set; }
|
||||
@ -2967,6 +2972,21 @@ $HorzAlign = Center
|
||||
subNode = node.SelectSingleNode("GeneralUnbrekNoSpace");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.GeneralUnbrekNoSpace = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("GeneralToggleBookmarks");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.GeneralToggleBookmarks = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("GeneralToggleBookmarksWithText");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.GeneralToggleBookmarksWithText = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("GeneralClearBookmarks");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.GeneralClearBookmarks = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("GeneralGoToBookmark");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.GeneralGoToBookmark = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("GeneralGoToNextBookmark");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.GeneralGoToNextBookmark = subNode.InnerText;
|
||||
subNode = node.SelectSingleNode("MainFileNew");
|
||||
if (subNode != null)
|
||||
settings.Shortcuts.MainFileNew = subNode.InnerText;
|
||||
@ -3719,7 +3739,7 @@ $HorzAlign = Center
|
||||
textWriter.WriteElementString("GoogleApiV2KeyInfoShow", settings.Tools.GoogleApiV2KeyInfoShow.ToString(CultureInfo.InvariantCulture));
|
||||
textWriter.WriteElementString("GoogleTranslateNoKeyWarningShow", settings.Tools.GoogleTranslateNoKeyWarningShow.ToString(CultureInfo.InvariantCulture));
|
||||
textWriter.WriteElementString("UseGooleApiPaidService", settings.Tools.UseGooleApiPaidService.ToString());
|
||||
textWriter.WriteElementString("GoogleApiV1ChunkSize", settings.Tools.GoogleApiV1ChunkSize.ToString());
|
||||
textWriter.WriteElementString("GoogleApiV1ChunkSize", settings.Tools.GoogleApiV1ChunkSize.ToString());
|
||||
textWriter.WriteElementString("GoogleTranslateLastTargetLanguage", settings.Tools.GoogleTranslateLastTargetLanguage);
|
||||
textWriter.WriteElementString("TranslateAutoSplit", settings.Tools.TranslateAutoSplit.ToString());
|
||||
textWriter.WriteElementString("ListViewSyntaxColorDurationSmall", settings.Tools.ListViewSyntaxColorDurationSmall.ToString());
|
||||
@ -4083,6 +4103,11 @@ $HorzAlign = Center
|
||||
textWriter.WriteElementString("GeneralPlayFirstSelected", settings.Shortcuts.GeneralPlayFirstSelected);
|
||||
textWriter.WriteElementString("GeneralHelp", settings.Shortcuts.GeneralHelp);
|
||||
textWriter.WriteElementString("GeneralUnbrekNoSpace", settings.Shortcuts.GeneralUnbrekNoSpace);
|
||||
textWriter.WriteElementString("GeneralToggleBookmarks", settings.Shortcuts.GeneralToggleBookmarks);
|
||||
textWriter.WriteElementString("GeneralToggleBookmarksWithText", settings.Shortcuts.GeneralToggleBookmarksWithText);
|
||||
textWriter.WriteElementString("GeneralClearBookmarks", settings.Shortcuts.GeneralClearBookmarks);
|
||||
textWriter.WriteElementString("GeneralGoToBookmark", settings.Shortcuts.GeneralGoToBookmark);
|
||||
textWriter.WriteElementString("GeneralGoToNextBookmark", settings.Shortcuts.GeneralGoToNextBookmark);
|
||||
textWriter.WriteElementString("MainFileNew", settings.Shortcuts.MainFileNew);
|
||||
textWriter.WriteElementString("MainFileOpen", settings.Shortcuts.MainFileOpen);
|
||||
textWriter.WriteElementString("MainFileOpenKeepVideo", settings.Shortcuts.MainFileOpenKeepVideo);
|
||||
|
@ -743,10 +743,36 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
const int padding = 3;
|
||||
double n = _zoomFactor * _wavePeaks.SampleRate;
|
||||
|
||||
// bookmark text
|
||||
if (paragraph.Bookmark != null)
|
||||
{
|
||||
using (var bookmarkTextBrush = new SolidBrush(Color.DodgerBlue))
|
||||
{
|
||||
var x = currentRegionLeft + padding;
|
||||
var y = Height / 2 - (int)graphics.MeasureString("xx", font).Height / 2;
|
||||
graphics.FillPolygon(bookmarkTextBrush, new PointF[]
|
||||
{
|
||||
new PointF(x, y),
|
||||
new PointF(x + 14, y),
|
||||
new PointF(x + 14, y + 24),
|
||||
new PointF(x + 7, y + 14),
|
||||
new PointF(x, y + 24),
|
||||
new PointF(x, y),
|
||||
});
|
||||
x += 16;
|
||||
// poor mans outline + text
|
||||
graphics.DrawString(paragraph.Bookmark, font, outlineBrush, new PointF(x, y - 1));
|
||||
graphics.DrawString(paragraph.Bookmark, font, outlineBrush, new PointF(x, y + 1));
|
||||
graphics.DrawString(paragraph.Bookmark, font, outlineBrush, new PointF(x - 1, y));
|
||||
graphics.DrawString(paragraph.Bookmark, font, outlineBrush, new PointF(x + 1, y));
|
||||
graphics.DrawString(paragraph.Bookmark, font, bookmarkTextBrush, new PointF(x, y));
|
||||
}
|
||||
}
|
||||
|
||||
// paragraph text
|
||||
if (n > 80)
|
||||
{
|
||||
string text = HtmlUtil.RemoveHtmlTags(paragraph.Text, true);
|
||||
string text = HtmlUtil.RemoveHtmlTags(paragraph.Text, true);
|
||||
if (Configuration.Settings.VideoControls.WaveformUnwrapText)
|
||||
text = text.Replace(Environment.NewLine, " ");
|
||||
DrawParagraphText(graphics, text, font, currentRegionWidth, padding, drawStringOutlined, currentRegionLeft);
|
||||
|
@ -365,6 +365,7 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
|
||||
if (e.Item.Selected)
|
||||
{
|
||||
|
||||
Rectangle rect = e.Bounds;
|
||||
if (Configuration.Settings != null)
|
||||
{
|
||||
@ -376,6 +377,14 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
{
|
||||
e.Graphics.FillRectangle(Brushes.LightBlue, rect);
|
||||
}
|
||||
|
||||
int addX = 0;
|
||||
if (e.ColumnIndex == 0 && e.Item.StateImageIndex >= 0)
|
||||
{
|
||||
e.Graphics.DrawImage(StateImageList.Images[e.Item.StateImageIndex], new Rectangle(rect.X + 4, rect.Y + 2, 16, 16));
|
||||
addX = 18;
|
||||
}
|
||||
|
||||
if (Columns[e.ColumnIndex].TextAlign == HorizontalAlignment.Right)
|
||||
{
|
||||
var stringWidth = (int)e.Graphics.MeasureString(e.Item.SubItems[e.ColumnIndex].Text, _subtitleFont).Width;
|
||||
@ -383,7 +392,7 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
}
|
||||
else
|
||||
{
|
||||
TextRenderer.DrawText(e.Graphics, e.Item.SubItems[e.ColumnIndex].Text, _subtitleFont, new Point(e.Bounds.Left + 3, e.Bounds.Top + 2), e.Item.ForeColor, TextFormatFlags.NoPrefix);
|
||||
TextRenderer.DrawText(e.Graphics, e.Item.SubItems[e.ColumnIndex].Text, _subtitleFont, new Point(e.Bounds.Left + 3 + addX, e.Bounds.Top + 2), e.Item.ForeColor, TextFormatFlags.NoPrefix);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1183,7 +1192,7 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
if (ColumnIndexTextAlternate >= 0)
|
||||
{
|
||||
item.SubItems[ColumnIndexTextAlternate].BackColor = BackColor;
|
||||
}
|
||||
}
|
||||
|
||||
if (ColumnIndexText >= item.SubItems.Count)
|
||||
return;
|
||||
@ -1276,6 +1285,8 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
item.StateImageIndex = paragraph.Bookmark != null ? 0 : -1;
|
||||
item.Font = new Font(_subtitleFontName, SubtitleFontSize, GetFontStyle());
|
||||
Items.Add(item);
|
||||
}
|
||||
@ -1598,7 +1609,7 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
Items[index].SubItems[ColumnIndexWpm].BackColor = color;
|
||||
if (ColumnIndexText >= 0)
|
||||
Items[index].SubItems[ColumnIndexText].BackColor = color;
|
||||
if (ColumnIndexTextAlternate>= 0)
|
||||
if (ColumnIndexTextAlternate >= 0)
|
||||
Items[index].SubItems[ColumnIndexTextAlternate].BackColor = color;
|
||||
}
|
||||
}
|
||||
@ -1661,5 +1672,13 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
}
|
||||
|
||||
private FontStyle GetFontStyle() => SubtitleFontBold ? FontStyle.Bold : FontStyle.Regular;
|
||||
|
||||
public void ShowState(int index, Paragraph paragraph)
|
||||
{
|
||||
if (IsValidIndex(index))
|
||||
{
|
||||
Items[index].StateImageIndex = paragraph.Bookmark != null ? 0 : -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
2
src/Forms/AddToNames.Designer.cs
generated
2
src/Forms/AddToNames.Designer.cs
generated
@ -29,6 +29,7 @@
|
||||
//
|
||||
// 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(97, 129);
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
@ -40,6 +41,7 @@
|
||||
//
|
||||
// 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.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.buttonCancel.Location = new System.Drawing.Point(181, 129);
|
||||
|
99
src/Forms/BookmarkAdd.Designer.cs
generated
Normal file
99
src/Forms/BookmarkAdd.Designer.cs
generated
Normal file
@ -0,0 +1,99 @@
|
||||
namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
sealed partial class BookmarkAdd
|
||||
{
|
||||
/// <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.textBoxBookmarkComment = new System.Windows.Forms.TextBox();
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBoxBookmarkComment
|
||||
//
|
||||
this.textBoxBookmarkComment.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.textBoxBookmarkComment.Location = new System.Drawing.Point(13, 13);
|
||||
this.textBoxBookmarkComment.Multiline = true;
|
||||
this.textBoxBookmarkComment.Name = "textBoxBookmarkComment";
|
||||
this.textBoxBookmarkComment.Size = new System.Drawing.Size(462, 66);
|
||||
this.textBoxBookmarkComment.TabIndex = 0;
|
||||
//
|
||||
// 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(319, 89);
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.Size = new System.Drawing.Size(75, 21);
|
||||
this.buttonOK.TabIndex = 4;
|
||||
this.buttonOK.Text = "&OK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// 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.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.buttonCancel.Location = new System.Drawing.Point(400, 89);
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.Size = new System.Drawing.Size(75, 21);
|
||||
this.buttonCancel.TabIndex = 5;
|
||||
this.buttonCancel.Text = "C&ancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// BookmarkAdd
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(487, 118);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.Controls.Add(this.textBoxBookmarkComment);
|
||||
this.KeyPreview = true;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "BookmarkAdd";
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Add bookmark with comment";
|
||||
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.BookmarkAdd_KeyDown);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox textBoxBookmarkComment;
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
}
|
||||
}
|
38
src/Forms/BookmarkAdd.cs
Normal file
38
src/Forms/BookmarkAdd.cs
Normal file
@ -0,0 +1,38 @@
|
||||
using System.Windows.Forms;
|
||||
using Nikse.SubtitleEdit.Core;
|
||||
using Nikse.SubtitleEdit.Logic;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
public sealed partial class BookmarkAdd : Form
|
||||
{
|
||||
public BookmarkAdd()
|
||||
{
|
||||
UiUtil.PreInitialize(this);
|
||||
InitializeComponent();
|
||||
UiUtil.FixFonts(this);
|
||||
// Text = Configuration.Settings.Language.AddToNames.Title;
|
||||
buttonCancel.Text = Configuration.Settings.Language.General.Cancel;
|
||||
buttonOK.Text = Configuration.Settings.Language.General.Ok;
|
||||
}
|
||||
|
||||
public string Comment => textBoxBookmarkComment.Text;
|
||||
|
||||
private void buttonOK_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
private void BookmarkAdd_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Escape)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
}
|
||||
else if (e.Modifiers == Keys.None && e.KeyCode == Keys.Enter)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
120
src/Forms/BookmarkAdd.resx
Normal file
120
src/Forms/BookmarkAdd.resx
Normal 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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
111
src/Forms/BookmarksGoTo.Designer.cs
generated
Normal file
111
src/Forms/BookmarksGoTo.Designer.cs
generated
Normal file
@ -0,0 +1,111 @@
|
||||
namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
partial class BookmarksGoTo
|
||||
{
|
||||
/// <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.listViewBookmarks = new System.Windows.Forms.ListView();
|
||||
this.columnHeaderText = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// 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.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.buttonCancel.Location = new System.Drawing.Point(555, 308);
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.Size = new System.Drawing.Size(75, 21);
|
||||
this.buttonCancel.TabIndex = 6;
|
||||
this.buttonCancel.Text = "C&ancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// listViewBookmarks
|
||||
//
|
||||
this.listViewBookmarks.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.listViewBookmarks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeaderText});
|
||||
this.listViewBookmarks.FullRowSelect = true;
|
||||
this.listViewBookmarks.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
|
||||
this.listViewBookmarks.HideSelection = false;
|
||||
this.listViewBookmarks.Location = new System.Drawing.Point(13, 13);
|
||||
this.listViewBookmarks.Name = "listViewBookmarks";
|
||||
this.listViewBookmarks.Size = new System.Drawing.Size(617, 289);
|
||||
this.listViewBookmarks.TabIndex = 7;
|
||||
this.listViewBookmarks.UseCompatibleStateImageBehavior = false;
|
||||
this.listViewBookmarks.View = System.Windows.Forms.View.Details;
|
||||
this.listViewBookmarks.DoubleClick += new System.EventHandler(this.listViewBookmarks_DoubleClick);
|
||||
//
|
||||
// columnHeaderText
|
||||
//
|
||||
this.columnHeaderText.Width = 500;
|
||||
//
|
||||
// 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(474, 308);
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.Size = new System.Drawing.Size(75, 21);
|
||||
this.buttonOK.TabIndex = 8;
|
||||
this.buttonOK.Text = "&OK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// BookmarksGoTo
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(642, 341);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.listViewBookmarks);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.KeyPreview = true;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "BookmarksGoTo";
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "BookmarksGoTo";
|
||||
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.BookmarksGoTo_KeyDown);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
private System.Windows.Forms.ListView listViewBookmarks;
|
||||
private System.Windows.Forms.ColumnHeader columnHeaderText;
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
}
|
||||
}
|
65
src/Forms/BookmarksGoTo.cs
Normal file
65
src/Forms/BookmarksGoTo.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using Nikse.SubtitleEdit.Core;
|
||||
using Nikse.SubtitleEdit.Logic;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
public partial class BookmarksGoTo : Form
|
||||
{
|
||||
private readonly Subtitle _subtitle;
|
||||
|
||||
public BookmarksGoTo(Subtitle subtitle)
|
||||
{
|
||||
UiUtil.PreInitialize(this);
|
||||
InitializeComponent();
|
||||
UiUtil.FixFonts(this);
|
||||
// Text = Configuration.Settings.Language.AddToNames.Title;
|
||||
buttonCancel.Text = Configuration.Settings.Language.General.Cancel;
|
||||
|
||||
_subtitle = subtitle;
|
||||
foreach (var p in subtitle.Paragraphs)
|
||||
{
|
||||
if (p.Bookmark != null)
|
||||
{
|
||||
ListViewItem item = new ListViewItem(p.Number + ": " + p.StartTime.ToShortDisplayString() + " - " + p.Bookmark.Replace(Environment.NewLine, " ")) { Tag = p };
|
||||
listViewBookmarks.Items.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int BookmarkIndex { get; private set; }
|
||||
|
||||
private void listViewBookmarks_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (listViewBookmarks.SelectedItems.Count > 0)
|
||||
{
|
||||
var p = (Paragraph)listViewBookmarks.SelectedItems[0].Tag;
|
||||
BookmarkIndex = _subtitle.Paragraphs.IndexOf(p);
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (listViewBookmarks.SelectedItems.Count > 0)
|
||||
{
|
||||
var p = (Paragraph)listViewBookmarks.SelectedItems[0].Tag;
|
||||
BookmarkIndex = _subtitle.Paragraphs.IndexOf(p);
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
}
|
||||
|
||||
private void BookmarksGoTo_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (listViewBookmarks.Focused && e.KeyCode == Keys.Enter)
|
||||
{
|
||||
buttonOK_Click(sender, e);
|
||||
}
|
||||
else if (e.KeyCode == Keys.Escape)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
120
src/Forms/BookmarksGoTo.resx
Normal file
120
src/Forms/BookmarksGoTo.resx
Normal 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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
11
src/Forms/Main.Designer.cs
generated
11
src/Forms/Main.Designer.cs
generated
@ -418,6 +418,7 @@
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.splitContainerListViewAndText = new System.Windows.Forms.SplitContainer();
|
||||
this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
|
||||
this.imageListBookmarks = new System.Windows.Forms.ImageList(this.components);
|
||||
this.groupBoxEdit = new System.Windows.Forms.GroupBox();
|
||||
this.labelSingleLine = new System.Windows.Forms.Label();
|
||||
this.labelAlternateSingleLine = new System.Windows.Forms.Label();
|
||||
@ -2402,7 +2403,7 @@
|
||||
this.changeCasingForSelectedLinesToolStripMenuItem,
|
||||
this.toolStripMenuItemSaveSelectedLines});
|
||||
this.contextMenuStripListview.Name = "contextMenuStripListview";
|
||||
this.contextMenuStripListview.Size = new System.Drawing.Size(285, 892);
|
||||
this.contextMenuStripListview.Size = new System.Drawing.Size(285, 870);
|
||||
this.contextMenuStripListview.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.MenuClosed);
|
||||
this.contextMenuStripListview.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListviewOpening);
|
||||
this.contextMenuStripListview.Opened += new System.EventHandler(this.MenuOpened);
|
||||
@ -4003,6 +4004,7 @@
|
||||
this.SubtitleListview1.Name = "SubtitleListview1";
|
||||
this.SubtitleListview1.OwnerDraw = true;
|
||||
this.SubtitleListview1.Size = new System.Drawing.Size(724, 91);
|
||||
this.SubtitleListview1.StateImageList = this.imageListBookmarks;
|
||||
this.SubtitleListview1.SubtitleFontBold = false;
|
||||
this.SubtitleListview1.SubtitleFontName = "Tahoma";
|
||||
this.SubtitleListview1.SubtitleFontSize = 8;
|
||||
@ -4017,6 +4019,12 @@
|
||||
this.SubtitleListview1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SubtitleListview1_MouseDoubleClick);
|
||||
this.SubtitleListview1.MouseEnter += new System.EventHandler(this.SubtitleListview1_MouseEnter);
|
||||
//
|
||||
// imageListBookmarks
|
||||
//
|
||||
this.imageListBookmarks.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListBookmarks.ImageStream")));
|
||||
this.imageListBookmarks.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.imageListBookmarks.Images.SetKeyName(0, "bookmark.png");
|
||||
//
|
||||
// groupBoxEdit
|
||||
//
|
||||
this.groupBoxEdit.Controls.Add(this.labelSingleLine);
|
||||
@ -5191,5 +5199,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemSplitViaWaveform;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemEbuProperties;
|
||||
private System.Windows.Forms.ToolStripMenuItem boxToolStripMenuItem;
|
||||
private System.Windows.Forms.ImageList imageListBookmarks;
|
||||
}
|
||||
}
|
@ -176,6 +176,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
private Keys _mainAdjustExtendCurrentSubtitle = Keys.None;
|
||||
private Keys _mainAutoCalcCurrentDuration = Keys.None;
|
||||
private Keys _mainUnbreakNoSpace = Keys.None;
|
||||
private Keys _mainGeneralToggleBookmarks = Keys.None;
|
||||
private Keys _mainGeneralToggleBookmarksWithText = Keys.None;
|
||||
private Keys _mainGeneralClearBookmarks = Keys.None;
|
||||
private Keys _mainGeneralGoToBookmark = Keys.None;
|
||||
private Keys _mainGeneralGoToNextBookmark = Keys.None;
|
||||
private Keys _mainTextBoxSplitAtCursor = Keys.None;
|
||||
private Keys _mainTextBoxSplitAtCursorAndVideoPos = Keys.None;
|
||||
private Keys _mainTextBoxSplitSelectedLineBilingual = Keys.None;
|
||||
@ -4034,6 +4039,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
textBoxListViewText.RightToLeft = RightToLeft.No;
|
||||
textBoxSource.RightToLeft = RightToLeft.No;
|
||||
}
|
||||
SubtitleListview1.StateImageList = _subtitle != null && _subtitle.Paragraphs.Any(p => p.Bookmark != null) ? imageListBookmarks : null;
|
||||
}
|
||||
|
||||
private void ResetShowEarlierOrLater()
|
||||
@ -12536,6 +12542,48 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
else if (_mainUnbreakNoSpace == e.KeyData)
|
||||
{
|
||||
Unbreak(true);
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (_mainGeneralToggleBookmarks == e.KeyData)
|
||||
{
|
||||
ToggleBookmarks(false);
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (_mainGeneralToggleBookmarksWithText == e.KeyData)
|
||||
{
|
||||
ToggleBookmarks(true);
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (_mainGeneralClearBookmarks == e.KeyData)
|
||||
{
|
||||
ClearBookmarks();
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (_mainGeneralGoToBookmark == e.KeyData)
|
||||
{
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
using (var form = new BookmarksGoTo(_subtitle))
|
||||
{
|
||||
if (form.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
SubtitleListview1.SelectIndexAndEnsureVisible(form.BookmarkIndex, true);
|
||||
if (mediaPlayer.VideoPlayer != null)
|
||||
{
|
||||
mediaPlayer.VideoPlayer.CurrentPosition = _subtitle.Paragraphs[form.BookmarkIndex].StartTime.TotalSeconds;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_mainGeneralGoToNextBookmark == e.KeyData)
|
||||
{
|
||||
GoToNextBookmark();
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
else if (_mainGeneralFileSaveAll == e.KeyData)
|
||||
{
|
||||
@ -13466,6 +13514,85 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
// put new entries above tabs
|
||||
}
|
||||
|
||||
private void GoToNextBookmark()
|
||||
{
|
||||
int idx = FirstSelectedIndex + 1;
|
||||
try
|
||||
{
|
||||
for (int i = idx; i < _subtitle.Paragraphs.Count; i++)
|
||||
{
|
||||
var p = _subtitle.Paragraphs[i];
|
||||
if (p.Bookmark != null)
|
||||
{
|
||||
SubtitleListview1.SelectIndexAndEnsureVisible(i, true);
|
||||
if (mediaPlayer.VideoPlayer != null)
|
||||
{
|
||||
mediaPlayer.VideoPlayer.CurrentPosition = _subtitle.Paragraphs[i].StartTime.TotalSeconds;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleBookmarks(bool setText)
|
||||
{
|
||||
bool first = true;
|
||||
string newValue = null;
|
||||
foreach (int index in SubtitleListview1.SelectedIndices)
|
||||
{
|
||||
var p = _subtitle.Paragraphs[index];
|
||||
if (first)
|
||||
{
|
||||
if (p.Bookmark == null)
|
||||
{
|
||||
if (setText)
|
||||
{
|
||||
using (var form = new BookmarkAdd())
|
||||
{
|
||||
var result = form.ShowDialog(this);
|
||||
if (result != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
newValue = form.Comment;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
newValue = string.Empty;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
newValue = null;
|
||||
}
|
||||
|
||||
first = false;
|
||||
if (newValue == string.Empty)
|
||||
{
|
||||
SubtitleListview1.StateImageList = imageListBookmarks;
|
||||
}
|
||||
}
|
||||
p.Bookmark = newValue;
|
||||
SubtitleListview1.ShowState(index, p);
|
||||
}
|
||||
SubtitleListview1.StateImageList = _subtitle != null && _subtitle.Paragraphs.Any(p => p.Bookmark != null) ? imageListBookmarks : null;
|
||||
}
|
||||
|
||||
private void ClearBookmarks()
|
||||
{
|
||||
SubtitleListview1.StateImageList = null;
|
||||
for (var index = 0; index < _subtitle.Paragraphs.Count; index++)
|
||||
{
|
||||
var paragraph = _subtitle.Paragraphs[index];
|
||||
paragraph.Bookmark = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void MoveWordUpDownInCurrent(bool down)
|
||||
{
|
||||
int firstIndex = FirstSelectedIndex;
|
||||
@ -17527,6 +17654,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
_mainAdjustExtendCurrentSubtitle = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralExtendCurrentSubtitle);
|
||||
_mainAutoCalcCurrentDuration = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralAutoCalcCurrentDuration);
|
||||
_mainUnbreakNoSpace = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralUnbrekNoSpace);
|
||||
_mainGeneralToggleBookmarks = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralToggleBookmarks);
|
||||
_mainGeneralToggleBookmarksWithText = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralToggleBookmarksWithText);
|
||||
_mainGeneralClearBookmarks = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralClearBookmarks);
|
||||
_mainGeneralGoToBookmark = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralGoToBookmark);
|
||||
_mainGeneralGoToNextBookmark = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralGoToNextBookmark);
|
||||
_mainVideoFullscreen = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainVideoFullscreen);
|
||||
_mainVideoSlower = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainVideoSlower);
|
||||
_mainVideoFaster = UiUtil.GetKeys(Configuration.Settings.Shortcuts.MainVideoFaster);
|
||||
@ -18002,7 +18134,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
currentText = _subtitle.ToText(saveFormat);
|
||||
if (_textAutoBackup == null)
|
||||
_textAutoBackup = _changeSubtitleToString;
|
||||
if (Configuration.Settings.General.AutoSave ||
|
||||
if (Configuration.Settings.General.AutoSave ||
|
||||
!string.IsNullOrEmpty(_textAutoBackup) && currentText.Trim() != _textAutoBackup.Trim() && !string.IsNullOrWhiteSpace(currentText))
|
||||
{
|
||||
if (!Directory.Exists(Configuration.AutoBackupDirectory))
|
||||
|
@ -462,20 +462,20 @@
|
||||
<data name="toolStripButtonNetflixQualityCheck.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALoSURBVFhHtZfLaxRBEMZbd17tbmZ2ZjpHwasePHvQuxfv
|
||||
HvwDvHj3IOjNKEYEhSyYgIZg4iPZXaKgGFw8hRAFhSSERNzsPAQP4iUi+MhYtfQuk54KuI/54Dt11dRv
|
||||
q6Z7etlBWre8JOYi45ZWPiNDSNUNJ6F8lTFNhvyf3phlEiAy/XkZQooqju4ZYBEAti0/A7DGxZ+m6RyT
|
||||
YRlRxdE9A1wznL0lg+5CyP1xGZYRVRzdF8CsZictoguxKb6vMVaSoftEFUf3BVDV7aRhuFkAcGCOXpKh
|
||||
+0QVR/cFgIlTBZsEiC13Cx56WIZ3pRbuuG+ASRjDqumREJFRPifDu1ILd9w3wGMYw7TmkACBJZZkeFdq
|
||||
4Y77BkDfLIwkG8TB9JyLvVAvn5QpbaWLpj0QwIQ2kizodBdCy5+UKW2li6Y9EMA0vAe3oAufqS3JnZ9b
|
||||
rDQq0/IBwO04BgCvDjiYIktckWnsKcSmC3c8EAD6DgDcBUPBXypArDtf4GAyMO8BdCud1/HAALgdsQsh
|
||||
92YzAODQKl/AvHsQk87reGAA3I5tAM07RQKY4h3m3YCYBWIMAwOgcTviWmz4yxRES3NPIyS+tGruUABw
|
||||
O+JaoIvzFADcFZ4hAMapuUMBwF+Gaw14WMz9QAXAuwK+A9gp3Dnp3KEA4EPlMgst97IKgH4NWxW7MJMH
|
||||
AFous4DZ3iYv/VABduCwwkOrooxh6ACo2BIVFQBd08vJOECk83IBaBrecfwgqQCb0AXcjo9SY8gFABVZ
|
||||
/ksVAD0Dn/D7qTHkBhAccc9SAO/hEnM7NYbcAECHQi42KIgKbNs5OYY8AVjE/YsUwFu40OI3BPNyBfjA
|
||||
WBGu6t9UgABexgk5hlwBUBEXYyoA+gVsyScwhvwBmHu0ycVvFeATdOEhjCF3ABT8ZZtTAdA1uE/2DDBv
|
||||
FHfrhWKzrjsrNd1erBr2VFV3rstlUjuGd2LFcJZX4U/LR939us6Lu9vQlQYXf2kAxv4BaletSXszqpgA
|
||||
AAAASUVORK5CYII=
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALnSURBVFhHtZfPaxNBFMdHs7/GpPsjOz0KXvXg2YPevXj3
|
||||
4B/gxbsHoUerWBEUGrAFLcVWa5uEIigWg6dSqqDQltKKaXazggfxUhH80fW9MAnb2Vcw2ewXvqd5b98n
|
||||
b/bNTthR2rTKccRFyi3NvSBDSNUNJ6Y8xpgmQ/5Pb0yXBGib/qIMIUUVR/cNsAwAu5afAtjg4k/TdE7J
|
||||
sJSo4ui+AcYM52DFoLsQcn9ChqVEFUcPBDCn2XGL6EJkiu8bjJVk6CFRxdEDAVR1O24YXhoAHJij12To
|
||||
IVHF0QMBYOJ0wSYBIsvbgYcel+E9qYW7HhhgCrZh3aRHsm24l2R4T2rhrgcGeArbMKM5JEBgiRUZ3pNa
|
||||
uOuBAdC3CyPxFnEw1bk4CHX3rEzpKFk06UwAk9pIvKTTXQgtf0qmdJQsmnQmgBl4D+5AFz5TI8mdnzus
|
||||
NCrT8gHAcRwHgFdHHExtS9yQaWwBYpOFu84EgL4HAPfBUPCXChDpzhc4mAzMewTdSuZ1nRkAxxG7EPLy
|
||||
XAoAHFruFcx7ADHJvK4zA+A4dgC08jkSwBTvMO8WxCwR25AZAI3jiGuR4a9SEC3NO4+Q+NKquUMBwHHE
|
||||
tUAXlykAuCs8RwCMU3OHAoC/DNca8LCI+4EKgHcFfAewUzg5ydyhAOBD5TILLe+6CoB+DaOKXZjNAwAt
|
||||
l1nA7PI2L/1QAfbgsMJDq6Jsw9ABUJElKioAuqa78QRAJPNyAWga5dP4QVIBtqELOI5PEtuQCwCqbfkv
|
||||
VQD0LHzCHya2ITeA4IR3kQJ4D5eYu4ltyA0AdCzkYouCqMDYzsttyBOAtbl/lQJ4Cxda/IZgXq4AHxgr
|
||||
wlX9mwoQwMs4KbchVwBUm4txFQD9AkbyGWxD/gDMO9nk4rcK8Am68Bi2IXcAFPxlm1cB0DW4T/YNsGgU
|
||||
9+uFYrOuO2s13V6uGvZ0VXduymVSe0b5zJrhrK7Dn5aPuvd1kxf3d6ErDS7+0gCM/QNh6a0n3oUwOwAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButtonSettings.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@ -754,6 +754,50 @@
|
||||
<metadata name="contextMenuStripWaveform.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>167, 56</value>
|
||||
</metadata>
|
||||
<metadata name="imageListBookmarks.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1095, 56</value>
|
||||
</metadata>
|
||||
<data name="imageListBookmarks.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4
|
||||
BwAAAk1TRnQBSQFMAwEBAAEYAQABGAEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
|
||||
AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
|
||||
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
|
||||
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
|
||||
AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
|
||||
AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
|
||||
AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
|
||||
AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
|
||||
AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
|
||||
AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
|
||||
ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
|
||||
AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
|
||||
ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
|
||||
AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
|
||||
AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
|
||||
AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
|
||||
AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
|
||||
AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
|
||||
AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
|
||||
AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
|
||||
ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
|
||||
AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
|
||||
ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
|
||||
ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
|
||||
AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
|
||||
AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
|
||||
AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
|
||||
ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
|
||||
Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/8BAAT/ARkB9AX/AhkD/zAA
|
||||
BP8BGQHaARkD/wEZAdoBGQP/MAAE/wEZAtoBGQH/ARkC2gEZA/8wAAT/ARkD2gEZA9oBGQP/MAAE/wEZ
|
||||
B9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZ
|
||||
B9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZB9oBGQP/MAAE/wEZ
|
||||
B9oBGQP/MAAE/wEZB9wB9AP/MAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/4EA
|
||||
Cw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="contextMenuStripTextBoxListView.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>437, 17</value>
|
||||
</metadata>
|
||||
@ -768,7 +812,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAATABJQEwASUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAAUgBJQFIASUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
@ -816,6 +860,6 @@
|
||||
<value>916, 95</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>26</value>
|
||||
<value>115</value>
|
||||
</metadata>
|
||||
</root>
|
@ -799,6 +799,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
AddNode(generalNode, language.GoToNextSubtitleAndFocusVideo, nameof(Configuration.Settings.Shortcuts.GeneralGoToNextSubtitleAndFocusVideo));
|
||||
AddNode(generalNode, language.Help, nameof(Configuration.Settings.Shortcuts.GeneralHelp));
|
||||
AddNode(generalNode, language.UnbreakNoSpace, nameof(Configuration.Settings.Shortcuts.GeneralUnbrekNoSpace));
|
||||
AddNode(generalNode, language.ToggleBookmarks, nameof(Configuration.Settings.Shortcuts.GeneralToggleBookmarks));
|
||||
AddNode(generalNode, language.ToggleBookmarksWithText, nameof(Configuration.Settings.Shortcuts.GeneralToggleBookmarksWithText));
|
||||
AddNode(generalNode, language.ClearBookmarks, nameof(Configuration.Settings.Shortcuts.GeneralClearBookmarks));
|
||||
AddNode(generalNode, language.GoToBookmark, nameof(Configuration.Settings.Shortcuts.GeneralGoToBookmark));
|
||||
AddNode(generalNode, language.GoToNextBookmark, nameof(Configuration.Settings.Shortcuts.GeneralGoToNextBookmark));
|
||||
if (generalNode.Nodes.Count > 0)
|
||||
_shortcuts.Nodes.Add(generalNode);
|
||||
|
||||
@ -827,6 +832,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
AddNode(editNode, Configuration.Settings.Language.Main.Menu.Edit.FindNext, nameof(Configuration.Settings.Shortcuts.MainEditFindNext), true);
|
||||
AddNode(editNode, Configuration.Settings.Language.Main.Menu.Edit.Replace, nameof(Configuration.Settings.Shortcuts.MainEditReplace), true);
|
||||
AddNode(editNode, Configuration.Settings.Language.Main.Menu.Edit.MultipleReplace, nameof(Configuration.Settings.Shortcuts.MainEditMultipleReplace), true);
|
||||
AddNode(editNode, Configuration.Settings.Language.Main.Menu.Edit.ModifySelection, nameof(Configuration.Settings.Shortcuts.MainEditModifySelection), true);
|
||||
AddNode(editNode, Configuration.Settings.Language.Main.Menu.Edit.GoToSubtitleNumber, nameof(Configuration.Settings.Shortcuts.MainEditGoToLineNumber), true);
|
||||
AddNode(editNode, Configuration.Settings.Language.VobSubOcr.RightToLeft, nameof(Configuration.Settings.Shortcuts.MainEditRightToLeft), true);
|
||||
AddNode(editNode, language.ReverseStartAndEndingForRTL, nameof(Configuration.Settings.Shortcuts.MainEditReverseStartAndEndingForRTL), true);
|
||||
|
@ -86,6 +86,12 @@
|
||||
<Compile Include="Controls\AudioVisualizer.Designer.cs">
|
||||
<DependentUpon>AudioVisualizer.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\BookmarkAdd.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\BookmarkAdd.Designer.cs">
|
||||
<DependentUpon>BookmarkAdd.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\AddWaveformBatch.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -104,6 +110,12 @@
|
||||
<Compile Include="Forms\BatchConvertFixRtl.Designer.cs">
|
||||
<DependentUpon>BatchConvertFixRtl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\BookmarksGoTo.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\BookmarksGoTo.Designer.cs">
|
||||
<DependentUpon>BookmarksGoTo.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Cavena890SaveOptions.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -1027,6 +1039,9 @@
|
||||
<EmbeddedResource Include="Controls\AudioVisualizer.resx">
|
||||
<DependentUpon>AudioVisualizer.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\BookmarkAdd.resx">
|
||||
<DependentUpon>BookmarkAdd.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\AddWaveformBatch.resx">
|
||||
<DependentUpon>AddWaveformBatch.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -1036,6 +1051,9 @@
|
||||
<EmbeddedResource Include="Forms\BatchConvertFixRtl.resx">
|
||||
<DependentUpon>BatchConvertFixRtl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\BookmarksGoTo.resx">
|
||||
<DependentUpon>BookmarksGoTo.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Cavena890SaveOptions.resx">
|
||||
<DependentUpon>Cavena890SaveOptions.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
Loading…
x
Reference in New Issue
Block a user