diff --git a/BeefLibs/Beefy2D/src/widgets/ListView.bf b/BeefLibs/Beefy2D/src/widgets/ListView.bf index 0effcccf..199d5617 100644 --- a/BeefLibs/Beefy2D/src/widgets/ListView.bf +++ b/BeefLibs/Beefy2D/src/widgets/ListView.bf @@ -158,7 +158,7 @@ namespace Beefy.widgets } } - public void WithSelectedItems(delegate void(ListViewItem) func, bool skipSelectedChildrenOnSelectedItems = false, bool skipClosed = false) + public void WithSelectedItems(delegate void(ListViewItem item) func, bool skipSelectedChildrenOnSelectedItems = false, bool skipClosed = false) { bool selfSelected = Selected; if (selfSelected) diff --git a/IDE/src/ui/ErrorsPanel.bf b/IDE/src/ui/ErrorsPanel.bf index addb7d9c..f7f79343 100644 --- a/IDE/src/ui/ErrorsPanel.bf +++ b/IDE/src/ui/ErrorsPanel.bf @@ -36,25 +36,16 @@ namespace IDE.ui var menuItemCopySingle = menu.AddItem("Copy"); menuItemCopySingle.mOnMenuItemSelected.Add(new (evt) => { - var item = (ErrorsListViewItem)this.GetSubItem(0); - var buffer = item.CopyError(.. scope String()); - gApp.SetClipboardText(buffer); - }); - - var menuItemCopyAll = menu.AddItem("Copy All"); - menuItemCopyAll.mOnMenuItemSelected.Add(new (evt) => - { - var buffer = scope String(); - - var root = this.mListView.GetRoot(); - var childCount = root.GetChildCount(); - for (var n = 0; n < childCount; n++) - { - var row = (ErrorsListViewItem)root.GetChildAtIndex(n); - row.CopyError(buffer); - } - - gApp.SetClipboardText(buffer); + String buffer = scope .(); + mListView.GetRoot().WithSelectedItems(scope (item) => + { + var errorItem = (ErrorsListViewItem)item; + if (!buffer.IsEmpty) + buffer.Append("\n"); + errorItem.CopyError(buffer); + }); + if (!buffer.IsEmpty) + gApp.SetClipboardText(buffer); }); MenuWidget menuWidget = DarkTheme.sDarkTheme.CreateMenuWidget(menu); @@ -69,7 +60,7 @@ namespace IDE.ui preffix.ToUpper(); var description = this.mSubItems[1].mLabel; - buffer.AppendF("{}: {} at line {}:{} in {}\n", preffix, description, this.mLine, this.mColumn, this.mFilePath); + buffer.AppendF("{}: {} at line {}:{} in {}", preffix, description, this.mLine, this.mColumn, this.mFilePath); } public override void DrawSelect(Graphics g)