1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 19:48:20 +02:00

Made "Copy" apply to all selected item

This commit is contained in:
Brian Fiete 2025-01-25 09:44:43 -08:00
parent 7c44950ba0
commit ffe832aaa3
2 changed files with 12 additions and 21 deletions

View file

@ -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; bool selfSelected = Selected;
if (selfSelected) if (selfSelected)

View file

@ -36,25 +36,16 @@ namespace IDE.ui
var menuItemCopySingle = menu.AddItem("Copy"); var menuItemCopySingle = menu.AddItem("Copy");
menuItemCopySingle.mOnMenuItemSelected.Add(new (evt) => menuItemCopySingle.mOnMenuItemSelected.Add(new (evt) =>
{ {
var item = (ErrorsListViewItem)this.GetSubItem(0); String buffer = scope .();
var buffer = item.CopyError(.. scope String()); mListView.GetRoot().WithSelectedItems(scope (item) =>
gApp.SetClipboardText(buffer); {
}); var errorItem = (ErrorsListViewItem)item;
if (!buffer.IsEmpty)
var menuItemCopyAll = menu.AddItem("Copy All"); buffer.Append("\n");
menuItemCopyAll.mOnMenuItemSelected.Add(new (evt) => errorItem.CopyError(buffer);
{ });
var buffer = scope String(); if (!buffer.IsEmpty)
gApp.SetClipboardText(buffer);
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);
}); });
MenuWidget menuWidget = DarkTheme.sDarkTheme.CreateMenuWidget(menu); MenuWidget menuWidget = DarkTheme.sDarkTheme.CreateMenuWidget(menu);
@ -69,7 +60,7 @@ namespace IDE.ui
preffix.ToUpper(); preffix.ToUpper();
var description = this.mSubItems[1].mLabel; 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) public override void DrawSelect(Graphics g)