From 4284ecfeb8143a2690d91ca6729aede6876bc6df Mon Sep 17 00:00:00 2001 From: Luke Anderson Date: Sat, 3 Feb 2018 11:17:14 +1030 Subject: [PATCH] Add new Markdown copying options --- ShareX.HistoryLib/HistoryItemManager.cs | 15 ++++++ .../HistoryItemManager_ContextMenu.cs | 49 +++++++++++++++++++ .../Properties/Resources.Designer.cs | 27 ++++++++++ ShareX.HistoryLib/Properties/Resources.resx | 9 ++++ 4 files changed, 100 insertions(+) diff --git a/ShareX.HistoryLib/HistoryItemManager.cs b/ShareX.HistoryLib/HistoryItemManager.cs index 55b76ae73..5683eb639 100644 --- a/ShareX.HistoryLib/HistoryItemManager.cs +++ b/ShareX.HistoryLib/HistoryItemManager.cs @@ -259,6 +259,21 @@ public void CopyForumLinkedImage() } } + public void CopyMarkdownLink() + { + if (HistoryItem != null && IsURLExist) ClipboardHelpers.CopyText(string.Format("[{0}]({1})", HistoryItem.Filename, HistoryItem.URL)); + } + + public void CopyMarkdownImage() + { + if (HistoryItem != null && IsImageURL) ClipboardHelpers.CopyText(string.Format("![{0}]({1})", HistoryItem.Filename, HistoryItem.URL)); + } + + public void CopyMarkdownLinkedImage() + { + if (HistoryItem != null && IsImageURL) ClipboardHelpers.CopyText(string.Format("[![{0}]({1})]({2})", HistoryItem.Filename, HistoryItem.URL, HistoryItem.URL)); + } + public void CopyFilePath() { if (HistoryItem != null && IsFilePathValid) ClipboardHelpers.CopyText(HistoryItem.Filepath); diff --git a/ShareX.HistoryLib/HistoryItemManager_ContextMenu.cs b/ShareX.HistoryLib/HistoryItemManager_ContextMenu.cs index cf57dcc10..d81d110b3 100644 --- a/ShareX.HistoryLib/HistoryItemManager_ContextMenu.cs +++ b/ShareX.HistoryLib/HistoryItemManager_ContextMenu.cs @@ -60,6 +60,10 @@ public partial class HistoryItemManager private ToolStripMenuItem tsmiCopyForumImage; private ToolStripMenuItem tsmiCopyForumLinkedImage; private ToolStripSeparator tssCopy4; + private ToolStripMenuItem tsmiCopyMarkdownLink; + private ToolStripMenuItem tsmiCopyMarkdownImage; + private ToolStripMenuItem tsmiCopyMarkdownLinkedImage; + private ToolStripSeparator tssCopy5; private ToolStripMenuItem tsmiCopyFilePath; private ToolStripMenuItem tsmiCopyFileName; private ToolStripMenuItem tsmiCopyFileNameWithExtension; @@ -97,6 +101,10 @@ private void InitializeComponent() tsmiCopyForumImage = new ToolStripMenuItem(); tsmiCopyForumLinkedImage = new ToolStripMenuItem(); tssCopy4 = new ToolStripSeparator(); + tsmiCopyMarkdownLink = new ToolStripMenuItem(); + tsmiCopyMarkdownImage = new ToolStripMenuItem(); + tsmiCopyMarkdownLinkedImage = new ToolStripMenuItem(); + tssCopy5 = new ToolStripSeparator(); tsmiCopyFilePath = new ToolStripMenuItem(); tsmiCopyFileName = new ToolStripMenuItem(); tsmiCopyFileNameWithExtension = new ToolStripMenuItem(); @@ -324,6 +332,32 @@ private void InitializeComponent() tssCopy4.Name = "tssCopy4"; tssCopy4.Size = new Size(230, 6); // + // tsmiCopyMarkdownLink + // + tsmiCopyMarkdownLink.Name = "tsmiCopyMarkdownLink"; + tsmiCopyMarkdownLink.Size = new Size(233, 22); + tsmiCopyMarkdownLink.Text = Resources.HistoryItemManager_InitializeComponent_Markdown__link; + tsmiCopyMarkdownLink.Click += tsmiCopyMarkdownLink_Click; + // + // tsmiCopyMarkdownImage + // + tsmiCopyMarkdownImage.Name = "tsmiCopyMarkdownImage"; + tsmiCopyMarkdownImage.Size = new Size(233, 22); + tsmiCopyMarkdownImage.Text = Resources.HistoryItemManager_InitializeComponent_Markdown__image; + tsmiCopyMarkdownImage.Click += tsmiCopyMarkdownImage_Click; + // + // tsmiCopyMarkdownLinkedImage + // + tsmiCopyMarkdownLinkedImage.Name = "tsmiCopyMarkdownLinkedImage"; + tsmiCopyMarkdownLinkedImage.Size = new Size(233, 22); + tsmiCopyMarkdownLinkedImage.Text = Resources.HistoryItemManager_InitializeComponent_Markdown__linked_image; + tsmiCopyMarkdownLinkedImage.Click += tsmiCopyMarkdownLinkedImage_Click; + // + // tssCopy5 + // + tssCopy5.Name = "tssCopy5"; + tssCopy5.Size = new Size(230, 6); + // // tsmiCopyFilePath // tsmiCopyFilePath.Name = "tsmiCopyFilePath"; @@ -532,6 +566,21 @@ private void tsmiCopyForumLinkedImage_Click(object sender, EventArgs e) CopyForumLinkedImage(); } + private void tsmiCopyMarkdownLinkedImage_Click(object sender, EventArgs e) + { + CopyMarkdownLinkedImage(); + } + + private void tsmiCopyMarkdownLink_Click(object sender, EventArgs e) + { + CopyMarkdownLink(); + } + + private void tsmiCopyMarkdownImage_Click(object sender, EventArgs e) + { + CopyMarkdownImage(); + } + private void tsmiCopyFilePath_Click(object sender, EventArgs e) { CopyFilePath(); diff --git a/ShareX.HistoryLib/Properties/Resources.Designer.cs b/ShareX.HistoryLib/Properties/Resources.Designer.cs index 23f119520..93342a4d8 100644 --- a/ShareX.HistoryLib/Properties/Resources.Designer.cs +++ b/ShareX.HistoryLib/Properties/Resources.Designer.cs @@ -233,6 +233,33 @@ internal static string HistoryItemManager_InitializeComponent_Image_preview { } } + /// + /// Looks up a localized string similar to Markdown image. + /// + internal static string HistoryItemManager_InitializeComponent_Markdown__image { + get { + return ResourceManager.GetString("HistoryItemManager_InitializeComponent_Markdown__image", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Markdown link. + /// + internal static string HistoryItemManager_InitializeComponent_Markdown__link { + get { + return ResourceManager.GetString("HistoryItemManager_InitializeComponent_Markdown__link", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Markdown linked image. + /// + internal static string HistoryItemManager_InitializeComponent_Markdown__linked_image { + get { + return ResourceManager.GetString("HistoryItemManager_InitializeComponent_Markdown__linked_image", resourceCulture); + } + } + /// /// Looks up a localized string similar to More info. /// diff --git a/ShareX.HistoryLib/Properties/Resources.resx b/ShareX.HistoryLib/Properties/Resources.resx index 9b119ffd9..af1c77508 100644 --- a/ShareX.HistoryLib/Properties/Resources.resx +++ b/ShareX.HistoryLib/Properties/Resources.resx @@ -226,4 +226,13 @@ ..\Resources\globe.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Markdown image + + + Markdown link + + + Markdown linked image + \ No newline at end of file