Browse Source

ClipboardRingPopup support for empty ClipboardRing

pull/289/head
Patryk Mikos 13 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
<data name="SharpDevelop.Refactoring.ClipboardRing" xml:space="preserve"> <data name="SharpDevelop.Refactoring.ClipboardRing" xml:space="preserve">
<value>Clipboard ring</value> <value>Clipboard ring</value>
</data> </data>
<data name="SharpDevelop.Refactoring.ClipboardRingEmpty" xml:space="preserve">
<value>Clipboard ring is empty</value>
</data>
<data name="SharpDevelop.Refactoring.ClipboardRingCommand" xml:space="preserve"> <data name="SharpDevelop.Refactoring.ClipboardRingCommand" xml:space="preserve">
<value>From clipboard ring</value> <value>From clipboard ring</value>
</data> </data>

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

@ -34,8 +34,14 @@ namespace ICSharpCode.AvalonEdit.AddIn.ContextActions
static ContextActionsPopup MakePopupWithClipboardOptions(EditorRefactoringContext context) static ContextActionsPopup MakePopupWithClipboardOptions(EditorRefactoringContext context)
{ {
var popupViewModel = new ContextActionsPopupViewModel(); var popupViewModel = new ContextActionsPopupViewModel();
popupViewModel.Title = MenuService.ConvertLabel(StringParser.Parse("${res:SharpDevelop.Refactoring.ClipboardRing}")); var actions = BuildClipboardRingData(context);
popupViewModel.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 }; return new ClipboardRingPopup { Actions = popupViewModel };
} }

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

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

Loading…
Cancel
Save