Commit graph

112 commits

Author SHA1 Message Date
Ulf Lamping
1ef427d649 renamed frame to packet in all GUI elements
moved "Enabled Protocols" and such
from "View" to "Analyze" toplevel menu

svn path=/trunk/; revision=9114
2003-11-28 19:13:25 +00:00
Ulf Lamping
ad6b446228 Redesign of the whole menu structure, to be more intuitive to the user and
conforms somewhat better to the Gnome Human Interface Guideline

svn path=/trunk/; revision=9100
2003-11-27 20:34:01 +00:00
Guy Harris
122dd3959c Make the recent epan/proto.{c,h} change compile.
svn path=/trunk/; revision=9075
2003-11-24 22:11:55 +00:00
Ulf Lamping
007b97900c added supported_protos menu item
svn path=/trunk/; revision=9021
2003-11-19 00:04:15 +00:00
Guy Harris
a8fc1d810d From Michael Lum: add <shift><control> hotkeys for Protocols and
Preferences.

svn path=/trunk/; revision=8975
2003-11-15 23:48:52 +00:00
Ulf Lamping
1a42ad1d50 GTK2 specific: use some Ethereal specific stock icons generated in toolbar.c
svn path=/trunk/; revision=8974
2003-11-15 11:46:09 +00:00
Guy Harris
a37ef3e1e2 "File->Open" should be available whether or not we have a captue file
open.

The toolbar equivalent should *not* be available if we have an "Update
list of packets in real time" capture running.

The toolbar "Save" button should not be available if we don't have an
unsaved capture file.

svn path=/trunk/; revision=8902
2003-11-07 01:29:05 +00:00
Guy Harris
27b2678cca Make Shift+Control+S an accelerator for "Save As...", as per the GNOME
HIG.

svn path=/trunk/; revision=8901
2003-11-06 23:02:06 +00:00
Guy Harris
ef74a0b574 If a tap menu item doesn't have a "selected_packet_enabled()" or
"selected_tree_row_enabled()" routine, enable it by default, so that
tap windows can be popped up even if you have no capture file.

Assorted code cleanups.

svn path=/trunk/; revision=8740
2003-10-20 22:28:22 +00:00
Olivier Abad
daea60d65c From Olivier Biot : remove packet capture code when compiling without
libpcap.

svn path=/trunk/; revision=8726
2003-10-17 17:28:38 +00:00
Guy Harris
a27dcb4e3f From Ulf Lamping: toolbar.
svn path=/trunk/; revision=8707
2003-10-15 19:40:42 +00:00
Ronnie Sahlberg
3d32354336 Updates to TimeReference Frames
Add a Goto Next/Previous  time reference menu option

svn path=/trunk/; revision=8657
2003-10-10 08:39:24 +00:00
Guy Harris
4e64afcb25 Pass a pointer to a "capture_file" structure to
"set_menus_for_selected_packet()" and
"set_menus_for_selected_tree_row()", and have them decide whether to
enable or disable menu items based on whether that structure indicates
that a packet or field is selected and, if one is, on its properties.

Pass to the "selected packet enabled" routine for a menu item the
"frame_data" and "edt" members of the "capture_file" structure, and pass
to the "selected tree row enabled" routine the "field_info" member of
that structure.

Clear "cf->current_frame" if no packet is selected.

svn path=/trunk/; revision=8525
2003-09-24 02:36:35 +00:00
Guy Harris
dd628e00c7 Make "finfo_selected" a member of a "capture_file" structure rather than
an independent global variable.

svn path=/trunk/; revision=8524
2003-09-24 00:47:37 +00:00
Ronnie Sahlberg
6ac634b8f0 Update the menu text for Time Reference and give it a hot-key : ctrl-T
svn path=/trunk/; revision=8512
2003-09-22 09:08:42 +00:00
Guy Harris
e8e9f1bdfe Provide a mechanism by which a tap can arrange to have its menu enabled
or disabled based on a currently-selected packet (or lack of same) or a
currently-selected protocol tree item (or lack of same).  Not currently
used, but necessary if we ever make the TCP graph stuff a tap.  API is
tentative and subject to change.

Also, enable and disable taps based on whether we have any packets to
process.

svn path=/trunk/; revision=8498
2003-09-19 07:24:39 +00:00
Guy Harris
1513888c99 Have "register_tap_menu_item()" put the item under Tools, not
Tools/Statistics; change the taps to put things under Statistics
themselves.  That allows taps to go elsewhere if appropriate.

svn path=/trunk/; revision=8488
2003-09-17 19:39:34 +00:00
Ronnie Sahlberg
007d873671 Added TimeReference frames.
One can now select a packet and mark it as a TimeReference packet using the menu.
A TimeReference packet will be indicated by having all timestamp related column entries replaced by the string *REF*
A TimeReference packet will always be displayed in the packet pane, and overrides any display filters.

When a frame is a TimeReference frame, all later frames will calculate the TimeRelativeToFirstPacket  relative to the timestamp of the TimeReference frame instead of the first frame of the capture.

You can have any number of TimeReference frames you like.

svn path=/trunk/; revision=8459
2003-09-12 02:48:23 +00:00
Guy Harris
e22b6afeb7 From Matthijs Melchior:
make the "Help" menu the rightmost menu item, as is done in

		recent versions of Windows;

		Mac OS X;

		recent versions of KDE;

		recent versions of GNOME;

	rather than making it an item on the far right side.

	Make the "Protocol" display in the help mention the number of
	entries, and give it has 3 columns, starting with the one that
	was used to sort this list.

	Make the "Display Filters" display mention the number of fields
	for each protocol and at the end the total number of fields.
	Give it 4 columns, including the 'blurb'.

	List all fields with the correct protocol.

svn path=/trunk/; revision=8253
2003-08-25 21:42:33 +00:00
Guy Harris
ca318813a4 Rename "proto_alloc_dfilter_string()" to
"proto_construct_dfilter_string()", to more accurately reflect what it
does.

Give it, and "proto_can_match_selected()", an "epan_dissect_t *"
argument, which replaces the raw data pointer argument to
"proto_construct_dfilter_string()".

For fields that don't have a type we can directly filter on, we don't
support filtering on the field as raw data if:

	the "epan_dissect_t *" argument is null;

	the data source tvbuff for the field isn't the tvbuff for the
	"epan_dissect_t" in question (i.e., it's in the result of a
	reassembly, and "frame[N:M]" can't get at it).

Trim the length the raw data in the case of such a field to the length
of the tvbuff for the "epan_dissect_t" in question, so we don't go past
it.  Fetch the raw data bytes to match from that tvbuff.

Have "proto_construct_dfilter_string()" return a null pointer if it
can't construct the filter string, and have "protocolinfo_packet()" in
the tap-protocolinfo tap ignore a field if
"proto_construct_dfilter_string()" can't construct a filter string for
it - and have it pass NULL as the "epan_dissect_t *", for now.  If
somebody decides it makes sense to dump out a "frame[N:M] =" value for
non-registered fields, it can be changed to pass "edt".

svn path=/trunk/; revision=7635
2003-05-03 00:48:37 +00:00
Guy Harris
81ebec370d Have "register_tap_menu_item()" create submenus as necessary for a menu
item.

Convert all Ethereal (GUI) taps to use "register_tap_menu_item()" rather
than having hardcoded menu items in "gtk/menu.c".

svn path=/trunk/; revision=7541
2003-04-23 05:37:23 +00:00
Guy Harris
4cfd8b0f36 Allow taps to have menu item registration routines; the menu item
registration routines, for taps with menu items (taps that can be run
from the "Tools->Statistics" menu), create the menu item for the tap.
"make-tapreg-dotc" constructs a "register_all_tap_menus()" function that
calls all the tap menu item registration routines it finds, and Ethereal
calls that routine after the main window has been constructed (so that
the main menu exists, as the menu items are added to it).  (Tethereal
doesn't call it.)

Get rid of the "menu" and "menu_init" arguments to
"register_ethereal_tap"; the menu item is registered in the tap's menu
item registration routine, not in its main registration routine.

Have the RTP GUI tap register its menu item that way, rather than by
having it compiled into "gtk/menu.c".  (We're not ready yet to have taps
whose menu items are under a submenu register themselves in that
fashion, as "register_tap_menu_item()" can't yet create submenus.)

svn path=/trunk/; revision=7540
2003-04-23 03:51:03 +00:00
Guy Harris
6b0b09b402 Add a routine to create a new menu item under "/Tools/Statistics" for
taps.  (It has to be called after we've created the main menu, but GUI
taps are registered before that so that they can be referred to by
command-line arguments, so that routine will only be usable if we have a
"register menu item" routine for all GUI taps.)

Disable the entire "/Tools/Statistics/MGCP" menu item, not just the
"RTD" item under it, if we don't have an "mgcp" tap.

svn path=/trunk/; revision=7539
2003-04-23 03:13:16 +00:00
Guy Harris
7d29272f54 The main menu "/Display/{Match,Prepare}" menu items, and the tree view
"{Match,Prepare}" pop-up menu items, should be enabled only if we have a
field selected.

The main menu item "/Tools/Statistics" should be enabled only if we have
a capture.

The packet list "Show Packet In New Window" pop-up menu item should be
enabled only if there's a packet selected.

svn path=/trunk/; revision=7523
2003-04-22 04:49:17 +00:00
Guy Harris
3a4644bf42 "gtk_item_factory_get_widget()" returns, for a menu item with a submenu,
the submenu widget, not the menu item widget.  For items with submenus,
set the sensitivity on the menu item widget, not the submenu widget, so
that the menu item is grayed out when not sensitive.

svn path=/trunk/; revision=7522
2003-04-22 04:02:49 +00:00
Guy Harris
5b8500241e Have "set_menu_sensitivity()" take, as an argument, a pointer to the
GtkItemFactory for the item it's modifying, with NULL meaning "all
pop-up menus".  Use the full path for the menu item in all such calls;
have separate calls for the main menu item and pop-up menu items as
necessary.

svn path=/trunk/; revision=7521
2003-04-22 00:16:58 +00:00
Guy Harris
7ddca7ecaf From Lars Roland:
Add Response-Time statistics for each known mgcp message-type.

	Fix a few bugs and remove trailing whitespace.

	Use "gdouble" for printing time-values and calculating the
	average.  It is easier to use and shouldn't overflow on big
	trace files like "guint32".

	Move some functions for time statistics into the new file
	timestats.c in the main directory.  This code may be useful in
	the rpc and smb rtt-taps as well.

svn path=/trunk/; revision=7469
2003-04-16 07:25:12 +00:00
Laurent Deniel
58a4a837e0 Move RTP Analysis to Statistics menu
(all taps should be located here especially
 very protocol specific ones)

svn path=/trunk/; revision=7299
2003-03-06 21:21:43 +00:00
Ronnie Sahlberg
05dad0c310 From Miha Jemec :
Functionality to reassemble a RTP stream and save it as a file.
Support for G.711 coded

svn path=/trunk/; revision=7297
2003-03-06 20:35:12 +00:00
Ronnie Sahlberg
48d3d8eb26 SMB RTT statistics for tethereal and ethereal.
SMB RTT statistics are similar to the RTT statistics already supported by ONC-RPC and DCE-RPC.
It will present a table with all seen SMB commands and present the Min/Max and Avg response time in ms.

Transaction2 and NT-Transaction commands are broken out and presented in its own subtables.

tethereal feature is activated with -z smb,rtt    switch
and in ethereal it is activated either through -0z smb,rtt switch or through the Menu.

svn path=/trunk/; revision=6966
2003-01-22 00:40:36 +00:00
Olivier Abad
5429cf9b3f Replace :
popup_menu_object = gtk_widget_new(GTK_TYPE_WIDGET, NULL);
with
popup_menu_object = gtk_menu_new();

so that ethereal runs with Gtk+ v2.2

svn path=/trunk/; revision=6879
2003-01-08 23:33:38 +00:00
Guy Harris
63a4260c9d Rename "Go To Specified Frame" to "Go To Corresponding Frame" (I'm not
sure there *is* a good name for it).

Put it in the "Tools" menu as well (although I'm not sure what top-level
menu it belongs in, or if it should get a new one).

Make those items sensitive only if there's an FT_FRAMENUM item selected
in the protocol tree pane.

Clean up some menu paths in "set_menu_sensitivity()" (not that it
matters, as only the last component, and the first component if it's a
menu factory name, are used).

svn path=/trunk/; revision=6803
2002-12-19 03:56:04 +00:00
Guy Harris
a97b83a7f4 Add a new field type FT_FRAMENUM; an FT_FRAMENUM is a 32-bit unsigned
frame number, which is always decimal.  If you select an FT_FRAMENUM
field, there are menu items that let you go to the frame whose frame
number appears in that field.

Add FT_FRAMENUM fields for the ONC RPC "matching request is in this
frame" and "matching reply is in this frame" protocol tree items.

svn path=/trunk/; revision=6802
2002-12-19 02:58:53 +00:00
Ronnie Sahlberg
31f4e6b38f update for gui version of io-stat
the graph now has a scrollbar one can use to scroll the graph window

svn path=/trunk/; revision=6652
2002-11-17 11:43:40 +00:00
Olivier Abad
380bd12489 New gtk1/gtk2 compatibility macros used for menu entries.
svn path=/trunk/; revision=6641
2002-11-15 23:50:06 +00:00
Guy Harris
fb67329086 Clean up the GTK+ 1.2[.x] menu items. (This really calls for another
"compat_macros.h" macro....)

Add some comments on #else's and #endif's to make it a bit easier to
follow the twisty maze.

svn path=/trunk/; revision=6637
2002-11-15 18:45:18 +00:00
Ronnie Sahlberg
a361b76756 Gtk1 version of io-stat
svn path=/trunk/; revision=6636
2002-11-15 10:55:19 +00:00
Ronnie Sahlberg
76f5391acc Feature for Gtk2: GUI version of IO-STAT. Looks reasonable with one graph. Looks "sub-optimal" with multiple graphs overwriting eachothers.
We can just delete it later if it cant be improved visually.

svn path=/trunk/; revision=6629
2002-11-14 10:32:22 +00:00
Olivier Abad
189640857a In the gtk2 port, make double click in the tree view expand or collapse
a row.

svn path=/trunk/; revision=6615
2002-11-11 18:46:16 +00:00
Olivier Abad
29011060de Use gtk1/gtk2 compatibility macros to reduce #ifdefs.
svn path=/trunk/; revision=6610
2002-11-11 15:39:06 +00:00
Olivier Abad
c2c5e20927 Replace gtk_rpcprogs_init with gtk_rpcprogs_cb in the gtk2 menu entry.
svn path=/trunk/; revision=6609
2002-11-11 12:37:15 +00:00
Ronnie Sahlberg
b3e0a56390 First step in creating an API to register TAPs for use with ethereal instead of hardcoding them in main.c/menu.c
This adds functions to register the command line arguments to use the API in the same way as is done for tethereal.

Later it may be extended to also register the GUI/Menu entry point to ethereal using this api but that iwll be later since the changes required to menu.c are not as intrusive as the main.c command line parsing ones were.


Some of the latest changes (before this checkin) has made ethereal to produce lots of GTK errors when starting up the extension windows.
They were there before this checking but will be investigated.

svn path=/trunk/; revision=6566
2002-11-06 10:53:36 +00:00
Olivier Abad
05ef1fc475 Merge gtk and gtk2 directories.
svn path=/trunk/; revision=6552
2002-11-03 17:38:45 +00:00
Guy Harris
35c1970720 From Ronnie Sahlberg: Ethereal support for DCERPCSTAT.
svn path=/trunk/; revision=6499
2002-10-25 01:08:49 +00:00
Ronnie Sahlberg
5b2510fb8e Tap system supprot for Gtk1 and both rpc_stat and rpc_progs
Gtk1 is still single threaded so if the tap extensions need to do something
time consuming or cpu intensive, then the main application will suffer.

It is better than nothing.

svn path=/trunk/; revision=6215
2002-09-07 10:02:36 +00:00
Jörg Mayer
e4a2e2cefe Include cleanups in gtk and gtk2:
Remove unneded includes
Add include wrappers where missing

svn path=/trunk/; revision=6191
2002-09-05 18:48:52 +00:00
Jörg Mayer
7c4176d868 Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6117
2002-08-28 21:04:11 +00:00
Guy Harris
d6d0a33cf7 Give the routines that implement the "Match" and "Prepare" menu items
more meaningful names, indicating whether they look at something in the
protocol tree or the packet list.

svn path=/trunk/; revision=6077
2002-08-24 01:17:09 +00:00
Jörg Mayer
96ab70e209 Replace the types from sys/types.h and netinet/in.h by their glib.h
equivalents for the gtk/ directory.

svn path=/trunk/; revision=5930
2002-08-02 22:34:54 +00:00
Guy Harris
71f8208bf9 From Didieer Gautheron:
Don't show progress bar for quick "Find Frame" searches
	Add "Find Next" and "Find Previous" to repeat searches

Add documentation for "Find Next" and "Find Previous".

svn path=/trunk/; revision=5378
2002-05-03 21:55:15 +00:00