From e546b3bc9e8c1735e93196f3cada3806bf081e4a Mon Sep 17 00:00:00 2001 From: Jaex Date: Thu, 28 Feb 2019 18:44:26 +0300 Subject: [PATCH] Added undo and redo buttons to context menu --- ShareX.HelpersLib/Extensions/Extensions.cs | 18 +++++++--- .../Properties/Resources.Designer.cs | 36 +++++++++++++++++++ ShareX.HelpersLib/Properties/Resources.resx | 12 +++++++ 3 files changed, 62 insertions(+), 4 deletions(-) diff --git a/ShareX.HelpersLib/Extensions/Extensions.cs b/ShareX.HelpersLib/Extensions/Extensions.cs index af7281d73..e0fdb9971 100644 --- a/ShareX.HelpersLib/Extensions/Extensions.cs +++ b/ShareX.HelpersLib/Extensions/Extensions.cs @@ -234,6 +234,16 @@ public static void AddContextMenu(this RichTextBox rtb) ShowImageMargin = false }; + ToolStripMenuItem tsmiUndo = new ToolStripMenuItem(Resources.Extensions_AddContextMenu_Undo); + tsmiUndo.Click += (sender, e) => rtb.Undo(); + cms.Items.Add(tsmiUndo); + + ToolStripMenuItem tsmiRedo = new ToolStripMenuItem(Resources.Extensions_AddContextMenu_Redo); + tsmiRedo.Click += (sender, e) => rtb.Redo(); + cms.Items.Add(tsmiRedo); + + cms.Items.Add(new ToolStripSeparator()); + ToolStripMenuItem tsmiCut = new ToolStripMenuItem(Resources.Extensions_AddContextMenu_Cut); tsmiCut.Click += (sender, e) => rtb.Cut(); cms.Items.Add(tsmiCut); @@ -246,20 +256,20 @@ public static void AddContextMenu(this RichTextBox rtb) tsmiPaste.Click += (sender, e) => rtb.Paste(); cms.Items.Add(tsmiPaste); - // TODO: Translate - ToolStripMenuItem tsmiDelete = new ToolStripMenuItem("Delete"); + ToolStripMenuItem tsmiDelete = new ToolStripMenuItem(Resources.Extensions_AddContextMenu_Delete); tsmiDelete.Click += (sender, e) => rtb.SelectedText = ""; cms.Items.Add(tsmiDelete); cms.Items.Add(new ToolStripSeparator()); - // TODO: Translate - ToolStripMenuItem tsmiSelectAll = new ToolStripMenuItem("Select All"); + ToolStripMenuItem tsmiSelectAll = new ToolStripMenuItem(Resources.Extensions_AddContextMenu_SelectAll); tsmiSelectAll.Click += (sender, e) => rtb.SelectAll(); cms.Items.Add(tsmiSelectAll); cms.Opening += (sender, e) => { + tsmiUndo.Enabled = !rtb.ReadOnly && rtb.CanUndo; + tsmiRedo.Enabled = !rtb.ReadOnly && rtb.CanRedo; tsmiCut.Enabled = !rtb.ReadOnly && rtb.SelectionLength > 0; tsmiCopy.Enabled = rtb.SelectionLength > 0; tsmiPaste.Enabled = !rtb.ReadOnly && Clipboard.ContainsText(); diff --git a/ShareX.HelpersLib/Properties/Resources.Designer.cs b/ShareX.HelpersLib/Properties/Resources.Designer.cs index d07e7eba8..c0b244eec 100644 --- a/ShareX.HelpersLib/Properties/Resources.Designer.cs +++ b/ShareX.HelpersLib/Properties/Resources.Designer.cs @@ -780,6 +780,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Delete. + /// + internal static string Extensions_AddContextMenu_Delete { + get { + return ResourceManager.GetString("Extensions_AddContextMenu_Delete", resourceCulture); + } + } + /// /// Looks up a localized string similar to Paste. /// @@ -789,6 +798,33 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Redo. + /// + internal static string Extensions_AddContextMenu_Redo { + get { + return ResourceManager.GetString("Extensions_AddContextMenu_Redo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select All. + /// + internal static string Extensions_AddContextMenu_SelectAll { + get { + return ResourceManager.GetString("Extensions_AddContextMenu_SelectAll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Undo. + /// + internal static string Extensions_AddContextMenu_Undo { + get { + return ResourceManager.GetString("Extensions_AddContextMenu_Undo", resourceCulture); + } + } + /// /// Looks up a localized string similar to Custom file uploader. /// diff --git a/ShareX.HelpersLib/Properties/Resources.resx b/ShareX.HelpersLib/Properties/Resources.resx index af999a108..10c04ae82 100644 --- a/ShareX.HelpersLib/Properties/Resources.resx +++ b/ShareX.HelpersLib/Properties/Resources.resx @@ -1178,4 +1178,16 @@ Would you like to download and install it? ..\Resources\ShareX_Icon_White.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Delete + + + Select All + + + Redo + + + Undo + \ No newline at end of file