Browse Source

Remove Text: prefix and item duplications from clipboard ring

pull/289/head
Patryk Mikos 13 years ago
parent
commit
138e5e0add
  1. 22
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ContextActions/ClipboardRing.cs
  2. 19
      src/Main/Base/Project/Src/Gui/Components/SideBar/TextEditorSideBar.cs

22
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ContextActions/ClipboardRing.cs

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: hp
* Date: 2013-12-22
* Time: 16:09
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.AvalonEdit.AddIn.ContextActions
{
/// <summary>
/// Description of ClipboardRing.
/// </summary>
public class ClipboardRing
{
public ClipboardRing()
{
}
}
}

19
src/Main/Base/Project/Src/Gui/Components/SideBar/TextEditorSideBar.cs

@ -84,7 +84,9 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -84,7 +84,9 @@ namespace ICSharpCode.SharpDevelop.Gui
string shortenedText = text.Trim();
if (shortenedText.Length > 50)
shortenedText = shortenedText.Substring(0, 47) + "...";
clipboardRing.Items.Add("Text:" + shortenedText, text);
RemoveFromClipboardRing(text);
clipboardRing.Items.Add(shortenedText, text);
if (clipboardRing.Items.Count > 20) {
clipboardRing.Items.RemoveAt(0);
}
@ -92,6 +94,21 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -92,6 +94,21 @@ namespace ICSharpCode.SharpDevelop.Gui
Refresh();
}
void RemoveFromClipboardRing(string text)
{
int pos = 0;
foreach (var item in clipboardRing.Items) {
string itemData = item.Tag as string;
if(itemData != null && itemData.Equals(text))
break;
pos++;
}
if (pos < clipboardRing.Items.Count) {
clipboardRing.Items.RemoveAt(pos);
}
}
public void SaveSideBarViewConfig()
{
XmlDocument doc = new XmlDocument();

Loading…
Cancel
Save