diff --git a/ShareX.HistoryLib/Forms/HistoryForm.cs b/ShareX.HistoryLib/Forms/HistoryForm.cs index b7b404c58..deebb581f 100644 --- a/ShareX.HistoryLib/Forms/HistoryForm.cs +++ b/ShareX.HistoryLib/Forms/HistoryForm.cs @@ -508,22 +508,7 @@ private void lvHistory_MouseDoubleClick(object sender, MouseEventArgs e) private void lvHistory_KeyDown(object sender, KeyEventArgs e) { - switch (e.KeyData) - { - default: - return; - case Keys.Enter: - him.TryOpen(); - break; - case Keys.Control | Keys.Enter: - him.OpenFile(); - break; - case Keys.Control | Keys.C: - him.CopyURL(); - break; - } - - e.Handled = true; + e.Handled = e.SuppressKeyPress = him.HandleKeyInput(e); } private void lvHistory_ItemDrag(object sender, ItemDragEventArgs e) diff --git a/ShareX.HistoryLib/Forms/ImageHistoryForm.cs b/ShareX.HistoryLib/Forms/ImageHistoryForm.cs index 951dfbd82..4322c9fdd 100644 --- a/ShareX.HistoryLib/Forms/ImageHistoryForm.cs +++ b/ShareX.HistoryLib/Forms/ImageHistoryForm.cs @@ -241,22 +241,7 @@ private void tsbSettings_Click(object sender, EventArgs e) private void ilvImages_KeyDown(object sender, KeyEventArgs e) { - switch (e.KeyData) - { - default: - return; - case Keys.Enter: - him.OpenURL(); - break; - case Keys.Control | Keys.Enter: - him.OpenFile(); - break; - case Keys.Control | Keys.C: - him.CopyURL(); - break; - } - - e.Handled = true; + e.Handled = e.SuppressKeyPress = him.HandleKeyInput(e); } #endregion Form events diff --git a/ShareX.HistoryLib/HistoryItemManager.cs b/ShareX.HistoryLib/HistoryItemManager.cs index 281ac19ae..3c510ce2e 100644 --- a/ShareX.HistoryLib/HistoryItemManager.cs +++ b/ShareX.HistoryLib/HistoryItemManager.cs @@ -27,6 +27,7 @@ using System; using System.IO; using System.Linq; +using System.Windows.Forms; namespace ShareX.HistoryLib { @@ -107,6 +108,35 @@ public HistoryItem[] OnGetHistoryItems() return null; } + public bool HandleKeyInput(KeyEventArgs e) + { + switch (e.KeyData) + { + default: + return false; + case Keys.Enter: + TryOpen(); + break; + case Keys.Control | Keys.Enter: + OpenFile(); + break; + case Keys.Control | Keys.C: + CopyURL(); + break; + case Keys.Shift | Keys.C: + CopyFile(); + break; + case Keys.Alt | Keys.C: + CopyImage(); + break; + case Keys.Control | Keys.E: + EditImage(); + break; + } + + return true; + } + public void OpenURL() { if (HistoryItem != null && IsURLExist) URLHelpers.OpenURL(HistoryItem.URL);