Add context menu icons, expand empty-area menu, add test_context_menu

- Right-click on empty area: Add Hex64, Add Struct, Append 128 bytes,
  Undo/Redo, Copy All as Text (with icons for each)
- Right-click on node: icons for Edit Value, Rename, Change Type,
  Add Field, Add Child, Expand/Collapse, Duplicate, Delete,
  Copy Address, Copy Offset, Copy All as Text
- Multi-select menu: icons for batch delete and batch change type
- Add test_context_menu.cpp (20 tests): insert adds exactly one node,
  auto-offset placement, duplicate adds exactly one copy, duplicate
  preserves original, duplicate undo, struct duplicate no-op, root
  insert, append 128 bytes (16 nodes), append undo (macro), insert
  child, remove+undo, multiple duplicates, parent correctness, struct
  with children, batch remove, invalid parent, invalid index guards
- Add vsicons to qrc: trash, clippy, link, diff-added, expand-all,
  collapse-all, rename, whole-word, list-selection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ccccc
2026-02-06 17:38:02 -07:00
committed by sysadmin
parent 0069c942c7
commit 3cf9a311d2
4 changed files with 463 additions and 19 deletions

View File

@@ -31,5 +31,14 @@
<file alias="code.svg">vsicons/code.svg</file>
<file alias="export.svg">vsicons/export.svg</file>
<file alias="preview.svg">vsicons/preview.svg</file>
<file alias="trash.svg">vsicons/trash.svg</file>
<file alias="clippy.svg">vsicons/clippy.svg</file>
<file alias="link.svg">vsicons/link.svg</file>
<file alias="diff-added.svg">vsicons/diff-added.svg</file>
<file alias="expand-all.svg">vsicons/expand-all.svg</file>
<file alias="collapse-all.svg">vsicons/collapse-all.svg</file>
<file alias="rename.svg">vsicons/rename.svg</file>
<file alias="whole-word.svg">vsicons/whole-word.svg</file>
<file alias="selection.svg">vsicons/list-selection.svg</file>
</qresource>
</RCC>