greatscottgadgets / packetry

A fast, intuitive USB 2.0 protocol analysis application for use with Cynthion.
BSD 3-Clause "New" or "Revised" License
140 stars 29 forks source link

Add detail pane #161

Closed martinling closed 2 months ago

martinling commented 2 months ago

Adds an initial implementation of the detail pane, populated with a more detailed, multi-line description of whichever item is selected in the traffic view.

Unlike the summaries in the tree view, the detail pane will display up to 1024 bytes of payload data, wrapping across lines as required, and it is possible to select and copy from the text shown.

image

This is not a complete solution for the detail pane yet, as it doesn't address viewing the data for transfers of >1024 bytes. For this we'll need a solution based on ListView that loads data on demand, as the transfer size is unbounded.

However, it gets the new pane into the UI, and addresses the immediate need for a way to access the full content of packets and transactions.

Closes #10 Closes #156

martinling commented 2 months ago

Revised slightly to avoid using fmt_count, which adds thousand separators, for packet and transaction IDs.

I'm still using it for timestamps, because it helps separate milli/micro/nanoseconds visually, but I don't think it's helpful for IDs. Keeping those as just digits makes it easier to e.g. paste them into Wireshark's 'Go to packet' input.