wireshark/ui/qt/widgets
John Thacker 49540ec646 columns: Allow any field expression syntax to be used in columns
Allow anything that can be used in a display filter to be used in
columns (with the exception that field references don't work without
a notion of a currently selected frame): display filter functions,
slices, arithmetic calculations, logical tests, raw byte addressing,
the layer modifier, display filter macros, etc., alone or in
combination.

Show the results and generate filters. Note that "resolved" values are
not yet supported. They make conceptual sense for some expressions
(e.g., if the layer modifier only is used) but not for others.
Perhaps resolution could be done as a final step in the filter before
returning values.

It would also be useful to be able to get the expected return type
of an expression, so that the functions for right justifying a column
or sorting numerically could work. Right now the results are treated
as strings even if the return field values are numeric.

Multifield columns (i.e., concatenation of field values) are currently
implemented using the OR operator.For backwards compability, continue to
support that. When a true logical OR would give a different result,
surround the expression in parentheses, which the multifield columns did
not previously support (due to the regex used instead of full filter
grammar parsing.)

Perhaps in the future we should introduce a separate operator for
concatenation, possibly only used in column definitions and nowhere
else.

Update release notes.

Fix #7752. Fix #10154. Fix #15990. Fix #18588. Fix #19076.
Related to #16181 - it's now possibly to define new display filter
functions so that is essentially solved, though I suppose there's
always room for more built-in functions.
2024-02-14 08:11:01 +00:00
..
additional_toolbar.cpp Qt: Split MainApplication out from WiresharkApplication. 2022-04-04 09:39:27 -07:00
additional_toolbar.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
apply_line_edit.cpp Qt: Use QRegularExpression instead of QRegExp 2021-11-26 09:10:42 +00:00
apply_line_edit.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
byte_view_text.cpp Qt: Enforce Minimum Qt version 5.11 2023-11-02 15:28:01 +00:00
byte_view_text.h Qt: Unmark field when not found in a Byte View 2023-10-31 20:16:15 +00:00
capture_filter_combo.cpp Fix saving recently used capture filters 2023-11-18 13:46:43 +00:00
capture_filter_combo.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
capture_filter_edit.cpp Qt: More off-by-one pixel fixes 2023-06-15 20:59:02 +00:00
capture_filter_edit.h Qt: Check field autocomplete for syntactical validity 2022-12-01 22:50:09 +00:00
clickable_label.cpp Qt: QMouseEvent::globalPos() is deprecated in Qt6. 2022-03-23 09:16:00 +00:00
clickable_label.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
copy_from_profile_button.cpp Qt: Fix copying from System Default profile 2023-03-07 01:22:10 +00:00
copy_from_profile_button.h Qt: Convert our widgets and models to new-style signals & slots 2022-12-05 19:53:34 +00:00
detachable_tabwidget.cpp Qt: Fix Qt 6.4 QMouseEvent deprecation 2022-12-15 14:12:54 +00:00
detachable_tabwidget.h Qt: Disable -Werror for a deprecated declaration 2022-10-04 17:35:55 +00:00
display_filter_combo.cpp Qt: Sort display filter combobox by MRU 2023-04-21 18:54:05 +00:00
display_filter_combo.h Qt: More missing ApplicationPaletteChange event workarounds 2023-11-12 10:09:07 +00:00
display_filter_edit.cpp dfilter: Allow semicolons to separate macro name from arg list 2024-01-24 01:00:32 +00:00
display_filter_edit.h Qt: Add QLineEdit border in AccordionFrame 2023-11-09 07:15:03 +00:00
dissector_syntax_line_edit.cpp prefs: Add prefs_register_dissector_preference() 2023-11-26 11:17:06 +01:00
dissector_syntax_line_edit.h prefs: Add prefs_register_dissector_preference() 2023-11-26 11:17:06 +01:00
dissector_tables_view.cpp
dissector_tables_view.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
drag_drop_toolbar.cpp Qt: Fix more Qt6-related warnings. 2022-03-25 12:48:01 -07:00
drag_drop_toolbar.h Qt: Convert our widgets and models to new-style signals & slots 2022-12-05 19:53:34 +00:00
drag_label.cpp
drag_label.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
editor_file_dialog.cpp
editor_file_dialog.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
elided_label.cpp Qt: Escape HTML when setting ElidedLabel text 2023-01-02 12:16:35 +00:00
elided_label.h Qt: Escape HTML when setting ElidedLabel text 2023-01-02 12:16:35 +00:00
expert_info_view.cpp
expert_info_view.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
export_objects_view.cpp
export_objects_view.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
field_filter_edit.cpp Move ui/filter_files.[ch] to wsutil 2023-02-10 20:59:22 +00:00
field_filter_edit.h Qt: Check field autocomplete for syntactical validity 2022-12-01 22:50:09 +00:00
filter_expression_toolbar.cpp Qt: Fix the FilterExpressionToolBar context menu position 2024-02-08 18:21:34 -08:00
filter_expression_toolbar.h Convert wmem to C99 types 2023-06-17 17:38:53 +00:00
find_line_edit.cpp Qt: Do not spin new event loop on menu show 2022-07-03 13:41:30 +02:00
find_line_edit.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
follow_stream_text.cpp Qt: Add delta times to the follow dialog text formats 2024-02-04 19:39:08 +00:00
follow_stream_text.h Qt: Add delta times to the follow dialog text formats 2024-02-04 19:39:08 +00:00
interface_toolbar_lineedit.cpp Qt: Use QLineEdit border only on macOS 2023-11-09 14:31:39 +01:00
interface_toolbar_lineedit.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
label_stack.cpp Qt: QMouseEvent::globalPos() is deprecated in Qt6. 2022-03-23 09:16:00 +00:00
label_stack.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
overlay_scroll_bar.cpp Qt: Style our overlay scroll bar 2023-09-08 18:30:07 +00:00
overlay_scroll_bar.h Qt: Style our overlay scroll bar 2023-09-08 18:30:07 +00:00
packet_list_header.cpp prefs: Remove type of GUI preference 2023-05-08 16:30:07 +00:00
packet_list_header.h Qt: Cleanup PacketListHeader 2022-06-29 15:46:19 +02:00
path_selection_edit.cpp Work around macOS running applications in /. 2023-11-12 06:53:36 +00:00
path_selection_edit.h Qt: Fix some pathSelection warnings 2022-05-16 19:53:27 +02:00
pref_module_view.cpp
pref_module_view.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
profile_tree_view.cpp Qt: Convert our widgets and models to new-style signals & slots 2022-12-05 19:53:34 +00:00
profile_tree_view.h Qt: Convert our widgets and models to new-style signals & slots 2022-12-05 19:53:34 +00:00
qcustomplot.cpp QCustomPlot: Fix some warnings in upstream code 2022-11-23 01:02:25 +00:00
qcustomplot.h QCustomPlot: Try to fix -Wdocumentation-html warnings 2022-11-23 01:02:25 +00:00
range_syntax_lineedit.cpp
range_syntax_lineedit.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
resolved_addresses_view.cpp Qt: fix build with older Qt <5.15 2023-12-05 09:57:23 +01:00
resolved_addresses_view.h Qt: Add context menu to Resolved Addresses 2023-12-04 11:19:41 +00:00
rtp_audio_graph.cpp Qt: More RTP Leaks 2023-03-01 07:15:36 -05:00
rtp_audio_graph.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
splash_overlay.cpp Qt: Update splash screen for applying changed preferences 2023-08-08 19:23:32 +00:00
splash_overlay.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
splash_overlay.ui
stock_icon_tool_button.cpp Qt: Set StockIconToolButton cursor, leave action 2023-08-17 07:47:58 +00:00
stock_icon_tool_button.h Qt: Remove workaround for Qt bug fixed in Qt 5.5.1 2022-10-04 17:06:54 +00:00
syntax_line_edit.cpp columns: Allow any field expression syntax to be used in columns 2024-02-14 08:11:01 +00:00
syntax_line_edit.h Qt: Check field autocomplete for syntactical validity 2022-12-01 22:50:09 +00:00
tabnav_tree_view.cpp
tabnav_tree_view.h Add UI header files to Doxygen 2021-11-30 08:01:36 -05:00
traffic_tab.cpp Qt: Only save the filtered rows to the Map 2024-02-07 08:17:15 +00:00
traffic_tab.h Qt: Only save the filtered rows to the Map 2024-02-07 08:17:15 +00:00
traffic_tree.cpp Ethernet: Implementation of conversations with stream identifiers 2024-01-02 07:40:49 +00:00
traffic_tree.h Qt: Fix conversation dialog timeline graph columns 2023-02-22 02:38:12 +00:00
traffic_types_list.cpp Convert wmem to C99 types 2023-06-17 17:38:53 +00:00
traffic_types_list.h Qt: Filter TrafficListTypes 2022-07-01 11:30:57 +02:00
wireless_timeline.cpp Qt: Convert our widgets and models to new-style signals & slots 2022-12-05 19:53:34 +00:00
wireless_timeline.h tap: Adding flags for tap_packet 2022-06-10 05:46:15 +00:00
wireshark_file_dialog.cpp
wireshark_file_dialog.h Fix more repeated words throughout 2021-12-31 22:50:40 +00:00