The most time spent during apply is during packet rebuilding.
Unfortunately, there is no feedback from the drone to know the actual
progress, so this is just a busy indicator for now.
I tried to put a jump url to the FAQ on why it takes time, but 'coz the
app cursor is a "wait cursor", user cannot click on any widgets/elements
inside the dialog box - so this won't work.
Iterate on this dialog and what it displays based on user feedback.
* All 3 icons are combined into a single row instead of 3 separate rows
* Tooltip to clarify meaning of icons
* Qt Model-View displays icon left-aligned, so use a custom delegate to
center-align it
* Add a icon for "Transmit On"
* Edit icons for "Start/Stop Capture"
* Timestamp at millisec resolution
* Log level selection - Info by default
* Auto scroll control - enable(default)/disable
* Support copy (selected) logs to clipboard
* Support clear logs
* Annotate dock window title, if not on top (aka visible)
* Redesign the toolbar buttons to be similar to port stats
* Show protocols with variable fields in bold
* Variable field list will always have a 'current', if not empty
* Adding a new variable field makes it 'current' for immediate edit
* Each protocol remembers its 'current' variable field
Also renamed UserRole to a more widget specific enum
This makes it more readable. Unfortunately, the alternate row colors
don't apply to the row headers. QHeaderView is supposed to support
QBackgroundRole but there's a long pending bug on the Qt side for the
same - https://bugreports.qt.io/browse/QTBUG-31804
bps stats are derived from the Bps stats and represent line rate taking
into account the per packet overhead on the line with the following
assumptions -
* Link type is Ethernet
* Bps (and total Bytes) stats don't include the 4-byte FCS
Fixes#241
* Enable button only when one or more port is selected
* Reorder the button to make it first in the stats group
* Show some helpful text instead of a blank window when no stream stats
are available
* Rename track_stream_stats to is_tracking_stream_stats for consistency
with other bool params
* Change signature magic value to CODA
* Resolve notify memory leak
* Changed drone exit code from -1 to 1 'coz typically exit codes are
between 0 and 255
* Detect and report drone TCP port bind failure
* In all the following drone errors are reported (including previous
commits) -
* Drone already running (TCP port bind failure)
* Drone executable not found
* Packet.dll not found (Win32 only)
* The following conditions should NOT be reported
* Start/Stop Ostinato
* Stop before 5sec
* Stop after 5sec
This is the first of many commits that lays the foundation for -
* Editing multiple streams without exiting the dialog
* Triggering the dialog when a new stream is added instead of add+edit
Although the applyHint is also changed in this case, the applyHint is
visible only when the port is selected. Having the port name in a
different color is a visual hint to the user that Apply is pending
- Automatic full column selection
- Enable/Disable toolbar buttons based on selection
- Code refactoring to avoid unncessary selectedColumns computation
Made matches inclusive and increased range to match more printable characters. This better matches the Hex Dump payload view, which displays all 0x20 to 0x7D.
If Sign protocol is configured without enabling stream statistics on
port, inform user that stream statistics will not be available till
it is enabled on port
Added a Special Group (for sign), a Trailer Group and reorganized the
layout of the widget to fit these new groups. Added supporting code for
the Sign Protocol and the Trailer group
PortStats and StreamStats Windows are presented as a tabbed widget.
Multiple StreamStats windows are titled to include an id to hint at the
sequence in which they were opened
Although streamStats docks are set to delete on close, this doesn't
happen immediately, so save layout state still sees them which leads
to a crash next time when application is started, state is restored and
docks are moved - so instead of close, delete them directly