Apply layouts as needed to allow resizing. Select the interface list by
row. We might want to switch the interface list to a QTreeWidget. Today
I learned that you can make QGroupBox titles checkable. Do that where we
enable and disable groups of items. Flatten all of the group boxes.
Change the output format combo to radio buttons. There are only two
choices and we have lots of real estate available. Use a
QDialogButtonBox so Qt can size and order the buttons appropriately.
svn path=/trunk/; revision=54052
ui/qt/sctp_chunk_statistics_dialog.cpp:16:40: error: ‘class QHeaderView’ has no member named ‘setSectionsClickable’
ui/qt/sctp_chunk_statistics_dialog.cpp:17:40: error: ‘class QHeaderView’ has no member named ‘setSectionsMovable’
svn path=/trunk/; revision=54034
/home/jmayer/work/wireshark/svn/trunk/ui/qt/sctp_graph_byte_dialog.cpp:36:13: error: variable ‘minBytes’ set but not used [-Werror=unused-but-set-variable]
guint32 minBytes, maxBytes;
^
cc1plus: all warnings being treated as errors
svn path=/trunk/; revision=54030
Remove or comment out dups from several value-string arrays;
Sort a number of value-string arrays;
Reformat many hf[] entries;
Remove some unneeded initializers;
Add editor-modelines;
Use consistent indentation;
Reformat whitespace.
svn path=/trunk/; revision=53968
----
The qt version of wireshark (stats_tree_dialog.cpp) by default expands
all nodes within a stats_tree (see for example the "Statistics" > "IP
Statistics" > "IP Destinations" stats_tree; you need this patch
installed before the item is added to the stats menu:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9528). This
behaviour is fine for small trees but becomes counter productive in
trees with many items or levels.
This patch changes the qt ui to act like the gtk ui: the first level of
nodes are expanded by default while deeper levels are collapsed.
----
From me: "Expand all" makes sense for a small number of items. Do so if
we have less than 100.
svn path=/trunk/; revision=53928
from the GTK flavor in two major ways:
- The "Decode As" and "User Specified Decodes" dialog have been unified.
- You can modify the decode as behavior at any time, not just when you
have a packet selected.
Revert part of 53498 so that we can move items marked
/*** THE FOLLOWING SHOULD NOT BE USED BY ANY DISSECTORS!!! ***/
from epan/decode_as.h to ui/decode_as_utils.h.
Move "save" code from decode_as_dlg.c to decode_as_utils.c as well.
In packet-dcerpc.c don't register a table named "ethertype". We might
want to add checks for duplicate table names.
To do:
- Add support for ranges?
- Either add support for DCERPC or make DCERPC use a regular dissector
table.
- Fix string selectors (i.e. BER).
svn path=/trunk/; revision=53910
qtshark Flow Graph displays wrong information in comments column
In qtshark, the flow graph is displaying the the frame label in the comments field. A simple fix, the patch is attached.
svn path=/trunk/; revision=53849
Patch: Stats_tree enhancements for sorting, averages and burst rate
Add sort, save-as and new columns to Qt ui, remove old functions
stats_tree.c / stats_tree_priv.h: Make all columns sortable. Remove unneeded functions stats_tree_get_strs_from_node, stats_tree_branch_to_str and stats_tree_is_sortable_column.
stats_tree_stat.c: Set all columns sortable.
stats_tree_dialog.cpp / stats_tree_dialog.h: Add new stats_tree columns. Make columns sortable. Remove copy to csv and copy to yaml buttons. Add copy to clipboard as plain text and save as buttons.
stats_tree_dialog.ui: Remove copy to csv and copy to yaml buttons. Add copy to clipboard as plain text and save as buttons. Only define one column in ui, rest are added dynmically.
From me : fix trailing whitespace
svn path=/trunk/; revision=53848
QMetaObject::connectSlotsByName: No matching signal for on_tbInterfaces_hideEvent(QHideEvent*)
QMetaObject::connectSlotsByName: No matching signal for on_tbInterfaces_showEvent(QShowEvent*)
Object::connect: No such slot CaptureInterfacesDialog::tableItemPressed(QTableWidgetItem *)
Object::connect: (sender name: 'tbInterfaces')
Object::connect: (receiver name: 'CaptureInterfacesDialog')
svn path=/trunk/; revision=53808
the code to scan for them uses those routines.
This means epan_init() no longer takes those routines as arguments -
which is just as well, given that the mechanism in question is no longer
part of libwireshark, but is part of libwsutil.
This should fix bug 9508.
svn path=/trunk/; revision=53796
-lwireshark, -lwiretap, and -lcodecs, just in case the linker requires
that, if library A uses something from library B, library B be read
after library A.
svn path=/trunk/; revision=53736
knowledge of particular types of plugins. Instead, let particular types
of plugins register with the common plugin code, giving a name and a
routine to recognize that type of plugin.
In particular applications, only process the relevant plugin types.
Add a Makefile.common to the codecs directory.
svn path=/trunk/; revision=53710
This may break easy_codec plugins, but it appears a better/more consistent way is needed to register codecs. See Guy's comments in bug 7893 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7893)
svn path=/trunk/; revision=53686
From Deon van der Westhuysen
- Bug fix: object leak in stats_tree after a tap reset (for example apply statistics preferences with a stats_tree window open)
- Bug fix: correct sample code in README.stats_tree
- Add: slash in plug-in name now creates submenu as docs describe (was a bug?)
- Add: menu separator before the stat_tree registered plug-ins
- Add: stats_tree can now calculate averages for nodes; automatically calculated for range nodes. Add section in README.stats_tree describing averages.
- Add: stats_tree can now calculate burst rate of each node (like rate but with a shorter, sliding time window)
- Add: sorting for stats_tree plug-ins. Can sort on node name, count, average, min, max values and burst rate.
- Add: preferences for stats_tree system (default sort column, burst calc params)
- Add: stats_tree window copy to clipboard and export and plain text, csv and XML.
- Added sample of new functionality in $srcdir/plugins/stats_tree/pinfo_stats_tree.c
- Moved all stats_tree sample plug-ins to "IP Statistics" submenu.
svn path=/trunk/; revision=53657
command line, and it works as long as all interfaces on which you're
capturing support it and that's what you really want.
There's some UI cleanup that calls for, however.
svn path=/trunk/; revision=53592
capture interfaces dialog code, *and* the code that calls it, under
HAVE_LIBPCAP.
Still more stuff to remove from the no-pcap UI, such as the Capture
menu, the capture filter in the main window, and the list of interfaces
in the main window.
svn path=/trunk/; revision=53582
an interface, don't destroy the default link-layer header type from the
list of types.
I.e., first get the type from the preference (which sets the type to -1
if there isn't a preference), and then loop through the list of types
and, if there was no value obtained from the preference (i.e., the type
is -1), set it to the first type in the list.
Also, don't bother with the link-layer header type from the global
default options, as a global (all-interface) link-layer header type
makes little sense, given that the list of link-layer header types for
an interface depends on the type of interface and hence may differ from
interface to interface.
Fixes bug 9473.
svn path=/trunk/; revision=53581
* Reuse sparkline from welcome
* Split settings in tab (!= GTK)
* No all feature work (Work In Progress...)
* ...
Comments (and review) are welcome !
svn path=/trunk/; revision=53563
say "you checked it here, but you dereferenced it later even if it was
null when you checked it".
This obviates the need for some checks of frame_selected, as cf->edt
will be non-null iff cf->current_frame is non-null.
Always check *cf, not cfile, in set_menus_for_selected_packet().
Currently, cf always == &cfile, but we aren't guaranteeing that will be
true forever.
svn path=/trunk/; revision=53523
I'm not sold on the name or module the proto_data functions live in, but I believe the function arguments are solid and gives us the most flexibility for the future. And search/replace of a function name is easy enough to do.
The big driving force for getting this in sooner rather than later is the saved memory on ethernet packets (and IP packets soon), that used to have file_scope() proto data when all it needed was packet_scope() data (technically packet_info->pool scoped), strictly for Decode As.
All dissectors that use p_add_proto_data() only for Decode As functionality have been converted to using packet_scope(). All other dissectors were converted to using file_scope() which was the original scope for "proto" data.
svn path=/trunk/; revision=53520
It looks like resetting the packet list model during freezing and
thawing disconnects the selection changed signal between the model and
the main window. Rename the packet list's setMenusFollowStream signal to
packetSelectionChanged and use it to trigger menu updates in the main
window.
svn path=/trunk/; revision=53516
We presumably want "decode as" behavior to be consistent across UIs so
call load_decode_as_entries() from read_prefs().
svn path=/trunk/; revision=53498
I may eventually switch this to use proto_* values instead of strings, but just the addition of the loop is more jarring as compared to the simple comparing of ip or ethernet values. But it should lead to a smaller (less protocol specific) packet_info structure.
svn path=/trunk/; revision=53476
Add menu items for each corresponding item in gtk/main_menubar.c that
calls gtk_stats_tree_cb(). Hopefully that's everything. Note that we use
quite a bit less code than the GTK+ flavor and why we might not want to
do that. Change a few things in ui/qt/CMakeLists.txt to more closely
match the GTK+ version. Add plumbing for tap registrations in
CMakeLists.txt and Makefile.am. Add the ability to copy text as CSV or
YAML.
svn path=/trunk/; revision=53464
The basic idea behind this design is to have dissectors register with a "decode as list" with their name and dissector table. When "Decode As" dialog is launched, any "registered" dissector found in the packet will cause a tab to be created in the dialog. Any GUI (GTK+/Qt/tshark) can just hook into the "decode as list" to see what can be provided.
This patch includes the GUI portion of the functionality (including packet-dcerpc.[ch] because it had some GUI dependencies that are now removed).
Other notes:
1. Some "GUI text" (UTF8_LEFTWARDS_ARROW and similar) made their way into the dissector code. Not sure how necessary it is and if reformatting the strings to avoid the macros is desired (TCP/UDP use it, SCTP doesn't).
2. I converted the SCTP functionality to have 2 tabs (instead of radio button), currently both are labeled "Transport" which could be confusing to users. Naming suggestions welcome (as well as for naming of tabs from other dissectors).
3. BER and DCERPC have more opportunity to use Decode As now that they are selected based on dissector presense, not packet_info values.
4. Catapult DCT2000 populates pinfo->ipproto, yet under new design will not show up to do Decode As. Should a "decode as item" be created for it?
5. BER dissector doesn't have Clear/Show Current functionality working (never did)
6. Bluetooth (in old design) could have been used "capture wide" instead of single packet (creating tabs of values not present in current packet), which goes against what I believe to be in the intent of Decode As, but I'm willing to hear counter-arguments.
svn path=/trunk/; revision=53446
The basic idea behind this design is to have dissectors register with a "decode as list" with their name and dissector table. When "Decode As" dialog is launched, any "registered" dissector found in the packet will cause a tab to be created in the dialog.
This patch includes just the dissector portion of the functionality (minus packet-dcerpc.[ch] because it has hooks to the current GUI)
svn path=/trunk/; revision=53445
configuration file directory and directory in which to save captures),
have the routine to parse -P options use them, and move that routine to
libui.
Have that routine just return a gboolean.
svn path=/trunk/; revision=53435
Change the "Raw" character type to UTF-8. I'm not sure it's possible
to show true raw data in a QTextEdit widget and calling it UTF-8 more
accurately repesents what happens when you pass a char * to a QString.
Add a YAML display. Hopefully Scapy users will find it useful.
Sort the the character display items alphabetically. Make sure we go
back to the top of the buffer when we change the direction or character
set. Be less aggressive about setting focus on the "find text" entry.
svn path=/trunk/; revision=53421