aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/utils/field_information.cpp
AgeCommit message (Collapse)AuthorFilesLines
2023-09-03Qt: Call EditResolvedName from the PacketListJohn Thacker1-1/+1
Allow Edit Resolved Name to be called from the packet details, for fields that are IPv4 or IPv6 addresses. Add to the combobox of possible addresses to edit all (non hidden) IPv4 or IPv6 fields. Set the index of the combobox to the selected column (if it is an address, and the packet list has focus or was selected), or to the currently selected field (if selected from the packet details, and an IP address.) Check other types of address columns (such as network address and custom columns) to see if they match the unresolved string for an IP address. Don't both redissecting the packets if the network resolution is off, because it won't do anything. There's a use case for editing several names before turning on the preference to avoid processor intensive redissects. Fix #17284
2023-06-20ftypes: Rename IS_FT_* macrosJoão Valverde1-2/+2
Rename IS_FT_*() to FT_IS_*(). I find it to be more natural and a better namespace for a public interface.
2022-11-14Qt: Speed up ProtoTreeModel with lots of itemsJohn Thacker1-3/+3
When creating a ProtoNode, count the (non-hidden) children and put them in a QVector. This saves time having to iterate through all of a node's children (or the parent's children) each time the model or view wants to get the row or index number. Create and delete the needed ProtoNodes when the root node is changed, instead of recreating them on demand from the proto_nodes (since they're no longer a thin wrapper.) Fix #18625
2022-10-11Qt: Properly truncate our FieldInformation strings.Gerald Combs1-1/+2
As the Qt6 QString::QString(const QByteArray &ba) documenation says: "Note: any null ('\0') bytes in the byte array will be included in this string, converted to Unicode null characters (U+0000). This behavior is different from Qt 5.x." Make sure FieldInformation::toString() truncates its display label byte array before converting it to a QString. Fixes #18428
2022-03-25Qt: Fix more Qt6-related warnings.Gerald Combs1-1/+1
2021-03-08Remove modelines in ui/qt.Gerald Combs1-12/+0
Remove the editor modeline blocks from most of the source files in ui/qt by running perl -i -p0e 's{ \n+ /[ *\n]+ editor \s+ modelines .* shiftwidth= .* \*/ \s+ } {\n}gsix' $( ag -g '\.(cpp|h)' ) then cleaning up the remaining files by hand. This *shouldn't* affect anyone since - All of the source files in ui/qt use 4 space indentation, which matches the default in our top-level .editorconfig - The one notable editor that's likely to be used on these files and *doesn't* support EditorConfig (Qt Creator) defaults to 4 space indentation.
2020-11-13Qt+epan: Print better-looking values in the packet diagram.Gerald Combs1-9/+6
Pull the value-formatting code in proto_custom_set into proto_item_fill_display_label. Use that in FieldInformation::toString instead of fvalue_to_string_repr. Fixes #16911.
2020-09-28Qt: Make sure the packet diagram always has a field value.Gerald Combs1-0/+4
Have FieldInformation::toString return "[no value for field]" instead of an empty string so that the packet diagram always has something to display.
2020-08-10Qt: Add a packet diagram view.Gerald Combs1-6/+13
Add a new top-level view that shows each packet as a series of diagrams similar to what you'd find in a networking textook or an RFC. Add proto_item_set_bits_offset_len so that we can display some diagram fields correctly. Bugs / to do: - Make this a separate dialog instead of a main window view? - Handle bitfields / flags Change-Id: Iba4897a5bf1dcd73929dde6210d5483cf07f54df Reviewed-on: https://code.wireshark.org/review/37497 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-17Qt: Cleanup space inside parenthesesStig Bjørlykke1-10/+10
Remove randomly used space inside parentheses to make the coding style uniform. Add space after if, for and while. Change-Id: I519f5994b6f73d8a57a5004d51ca460276c618fe Reviewed-on: https://code.wireshark.org/review/35112 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-09-07Qt: Add null check for finfo and hfinfoMartin Boye Petersen1-2/+2
Adding the null check fixes a bug that made wireshark crash when right clicking a subtree which doesn't have any preferences and if none of the parents had one either. The problem was introduced in commit 589413d8772f1450be9bd4a2550cb99a95f71299 Change-Id: Ia5bbae0a58298f3e9d912e44f33589da1cbfacc9 Reviewed-on: https://code.wireshark.org/review/29455 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-02-08replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later.Dario Lombardo1-1/+1
The first is deprecated, as per https://spdx.org/licenses/. Change-Id: I8e21e1d32d09b8b94b93a2dc9fbdde5ffeba6bed Reviewed-on: https://code.wireshark.org/review/25661 Petri-Dish: Anders Broman <a.broman58@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-16Qt: Fix proto tree links and related frames.Gerald Combs1-1/+12
Add FieldInformation::isLink and use it to style link items. Add back a related frame information. Get rid of rowsInserted() and just visit each tree node starting from the root. Change-Id: I0e7ef6b2e11d25465705adffbb77d6f6cfb2a435 Reviewed-on: https://code.wireshark.org/review/25342 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-12-31Qt: Fixup fieldSelected behavior.Gerald Combs1-1/+1
Check the originating sender of fieldSelected in a couple of places so that we don't re-emit it. This fixes an issue that was keeping the byte view from marking the protocol. Remove duplicate signal+slot connections in MainWindow. Remove an unused member function. Change-Id: Ia876bb4117d1e30a56f4c335a65f6976c8058f9d Reviewed-on: https://code.wireshark.org/review/25077 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-20Qt: Fix DataPrinter hex conversions.Gerald Combs1-1/+1
Add casts so that we call the unsigned version of QString::arg. We aren't modifying the byte array and want to avoid deep copies so constify it. Change-Id: I2dcdeeab87bb0f810ffd4d36d41d1e47256d487e Reviewed-on: https://code.wireshark.org/review/24901 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-12-19Qt: add initializers (CID: 1426703).Dario Lombardo1-2/+11
Change-Id: Ib75685a099449672b55d63b647fd0f579ad1e5f6 Reviewed-on: https://code.wireshark.org/review/24893 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-18-1 is a valid tree_type value.Gerald Combs1-1/+1
Adjust tree_expanded and FieldInformation::treeType accordingly. Change-Id: I9b12c28550ba2639f636531a7ea1841df0638b5e Reviewed-on: https://code.wireshark.org/review/24844 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-15Qt: Switch ProtoTree to a treeview+model.Gerald Combs1-6/+63
Add a ProtoTreeModel and use it in ProtoTree. This should make the UI more responsive when we have lots of items in the tree. Change-Id: Id26e6bcff84663867a8da17fd9ae86ff639b633f Reviewed-on: https://code.wireshark.org/review/24774 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-07Qt: Use QTextLayout in ByteViewText.Gerald Combs1-43/+8
Use QTextLayout to draw each line in ByteViewText instead of drawing fragments ourselves. Build our pixel-to-byte-offset map when we draw our first line, which should hopefully make it more accurate. This should fix layout and hover issues on some systems. Start moving common code to DataPrinter. Mark prefs.gui_hex_dump_highlight_style GTK+ only. Bug: 11844 Change-Id: Ifda16ae7dc1a5ea22570c0bfd0eb20cee621bfc9 Reviewed-on: https://code.wireshark.org/review/24717 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-12Qt: do not crash when selecting a field without tvbPeter Wu1-2/+2
If no tvb is attached to a field, crashing is not the expected result. Change-Id: Ica0e95326cfcfeb015016770d1b930a9f0447066 Fixes: v2.5.0rc0-1627-g8a6ea0e454 ("Qt: Further cleanup ByteView") Ping-Bug: 14205 Reviewed-on: https://code.wireshark.org/review/24370 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-08Qt: Further cleanup ByteViewRoland Knall1-0/+175
This further separates ByteView and the rest of the system. Using FieldInformation and DataPrinter, this is the final cleanup of the ByteViewTab Change-Id: If41521167527cf5664c2564cdd0d45fea0f3f612 Reviewed-on: https://code.wireshark.org/review/22783 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>