The delegate was still rendering display text. But we didn't realize
because the only place where this delegate was used was returning a
QVariant() for DisplayText role earlier. Once we started returning a
valid QString (for copy-paste purposes), this bug showed up.
This didn't work because we further delegate the actual painting to
the base QStyledItemDelegate which re-initializes option.features
from the item index values, so removing HasDisplay does not work.
The fix is to override the displayText() to return a null string.
* Resize columns to content (instead of using default width)
* Use Kpps/Mpps for Pkt Rate with 3 decimal
* Use 3 decimal places for bit-rates (is more logical because units change
every 1000 anyway)
* Use 2 decimal places for time interval
This just improves the chances of all columns fitting - but is not guaranteed
All 'sent' rows including the row header have the alt color, and
the 'recv' rows including the row header has the base color. This
change should make it easier to quickly distinguish sent/recv rows
Failure to do so was causing a crash because port widget was trying to
disconnect signal from a non-existent port (corresponding to the current
index that was not reset) after the portgroup reconnected or another
portgroup came up and a port was selected in the port list.
This bug was a regression caused by the refactoring changes when
portwidget (and streamswidget) was extracted from portswindow.
Adding a parameter with a default value to the existing on_XXX slot
in a previous commit makes auto connect signal-slots by name to flag
signal not found.
So rename the slot name and add an explicit connection.
This is because the Ostinato packaging reccomendation is to use
ostinato-agent and ostinato-controller package names. The ostinato
package is a meta package containing the aforementioned sub-packages
Port Pkt stats are no longer shown by default. To see them and byte
counters, use context menu option - "Show details" (renamed from the
existing "Show Byte counters")
At the moment, the Tx duration for a GUID is taken to be the largest of
all tx duration for that GUID across all ports. In the future, we may
consider changing it to average instead of largest.
The crash seems to happen in the following scenario -
* Ostinato and drone are both running (with some devices/streams)
* Kill and restart drone
* Wait for GUI to reconnect to drone
* Click on one of the ports in the port list
The list and detail panes were currently set to 1:2, so that the list
pane is 1/3rd the width. But for some reason it is not working like I
expect it to work. Setting it 1:1 looks better.
Disconnecting _during_ remove sometimes causes crash because disconnect
triggers the logs window alert which **can** lead to repainting of
other windows which access port groups which have not been synced after
the removal of one or more portgroups.
Also emit endRemoveRows after each portgroup so that begin/end signals
match.
* matchAny op correctly hides findValue/findMask widgets
* reorder widgets in the .ui file as per their actual appearance
* remove tab order since the above reorder also fixes tab order
* fix stretch factors so that UI redering doesn't change too much when
things are checked/unchecked
The earlier code was trying to reuse the dialog but this was throwing
an unexpected error every time -
External WM_DESTROY received for QWidgetWindow
This commit fixes this error message