Browse Source

ClipboardRingPopup support for empty ClipboardRing

pull/289/head
Patryk Mikos 12 years ago
parent
commit
71a6ee8bfc
  1. 3
      data/resources/StringResources.resx
  2. 10
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ContextActions/ClipboardRing.cs
  3. 4
      src/Main/Base/Project/Src/Gui/Components/SideBar/TextEditorSideBar.cs

3
data/resources/StringResources.resx

@ -6437,6 +6437,9 @@ Removed the end part of the original message ", reason '${Message}'" since this @@ -6437,6 +6437,9 @@ Removed the end part of the original message ", reason '${Message}'" since this
<data name="SharpDevelop.Refactoring.ClipboardRing" xml:space="preserve">
<value>Clipboard ring</value>
</data>
<data name="SharpDevelop.Refactoring.ClipboardRingEmpty" xml:space="preserve">
<value>Clipboard ring is empty</value>
</data>
<data name="SharpDevelop.Refactoring.ClipboardRingCommand" xml:space="preserve">
<value>From clipboard ring</value>
</data>

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

@ -34,8 +34,14 @@ namespace ICSharpCode.AvalonEdit.AddIn.ContextActions @@ -34,8 +34,14 @@ namespace ICSharpCode.AvalonEdit.AddIn.ContextActions
static ContextActionsPopup MakePopupWithClipboardOptions(EditorRefactoringContext context)
{
var popupViewModel = new ContextActionsPopupViewModel();
popupViewModel.Title = MenuService.ConvertLabel(StringParser.Parse("${res:SharpDevelop.Refactoring.ClipboardRing}"));
popupViewModel.Actions = BuildClipboardRingData(context);
var actions = BuildClipboardRingData(context);
string labelSource = "${res:SharpDevelop.Refactoring.ClipboardRing}";
if (actions == null || actions.Count == 0)
labelSource = "${res:SharpDevelop.Refactoring.ClipboardRingEmpty}";
popupViewModel.Title = MenuService.ConvertLabel(StringParser.Parse(labelSource));
popupViewModel.Actions = actions;
return new ClipboardRingPopup { Actions = popupViewModel };
}

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

@ -83,11 +83,15 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -83,11 +83,15 @@ namespace ICSharpCode.SharpDevelop.Gui
public List<string> GetClipboardRingItems()
{
var list = new List<string>();
if (clipboardRing == null || clipboardRing.Items == null)
return list;
foreach (var item in clipboardRing.Items) {
string itemData = item.Tag as string;
if (itemData != null)
list.Add(itemData);
}
return list;
}

Loading…
Cancel
Save