Commit graph

481 commits

Author SHA1 Message Date
Guy Harris
a877e3e9d5 Reflect change to wtap_get_savable_file_types.
svn path=/trunk/; revision=43302
2012-06-17 01:50:52 +00:00
Guy Harris
c63aa61658 Have wtap_get_savable_file_types() take an array of encapsulations and
only return file types that could handle a single file with all those
encapsulations - this means that

	1) if there's more then one encapsulation, the file format has
to handle per-packet encapsulation;

	2) just because a file format handles per-packet encapsulation,
that doesn't mean that it can handle the *particular* encapsulations
being handed to it.

This fixes some cases where we were claiming that a file could be saved
in a format that doesn't actually support it (e.g., ISDN files being
reported as savable in pcap-NG format - there's no LINKTYPE_ value for
ISDN including B and D channels).

svn path=/trunk/; revision=43300
2012-06-17 01:32:50 +00:00
Guy Harris
5237a5efa2 Move a bunch of toolbar routines into main_toolbar_private.h; they
should only be called by the main window code.

svn path=/trunk/; revision=43299
2012-06-17 00:06:13 +00:00
Guy Harris
480e2c351b Move some code to manipulate the toolbar and capture interface dialog
out of main_menubar.c into routines in main.c.

Move some routines that are only used by main.c into
main_menubar_private.h.

svn path=/trunk/; revision=43298
2012-06-17 00:00:25 +00:00
Guy Harris
8bd9df6671 Oops, main_packet_panes.h no longer exists.
svn path=/trunk/; revision=43297
2012-06-16 23:29:57 +00:00
Guy Harris
9a3a2642f5 Reflect the move of main_proto_draw.c to packet_panes.c.
svn path=/trunk/; revision=43296
2012-06-16 23:11:12 +00:00
Guy Harris
26d50fb7a0 There's not much of note in ui/gtk/main_packet_panes.c; just do those
operations directly in ui/gtk/main.c.

svn path=/trunk/; revision=43295
2012-06-16 23:10:06 +00:00
Guy Harris
6cb63bbc6f Clean up indentation.
svn path=/trunk/; revision=43294
2012-06-16 21:39:16 +00:00
Guy Harris
c22b539731 Rename clear_tree_and_hex_views() to main_clear_tree_and_hex_views(), as
it specifically works on the main window's tree and hex dump views (it
doesn't apply to packet windows - they are always showing data from a
particular packet), and move its declaration to main_packet_panes.h.

svn path=/trunk/; revision=43293
2012-06-16 21:37:24 +00:00
Guy Harris
75dba53ad6 Move some routines that specifically handle the main window's packet
panes to main_packet_panes.c.

Rename main_tree_view_new() to proto_tree_view_new() - it's not just for
creating the main window's protocol tree view, it's also for creating
protocol tree views in packet windows.

svn path=/trunk/; revision=43292
2012-06-16 21:30:24 +00:00
Guy Harris
95988da72b ui/gtk/main_proto_draw.c isn't just used for the main window, it's also
used for popped-up packet windows, and it includes more than just code
to draw the protocol tree - it includes the hex dump pane code as well. 
Rename it packet_panes.c; the stuff specific to the main window should
be moved into a different file.

svn path=/trunk/; revision=43291
2012-06-16 20:59:12 +00:00
Guy Harris
57cc5fa784 ui/gtk/main_proto_draw.c isn't just used for the main window, it's also
used for popped-up packet windows, and it includes more than just code
to draw the protocol tree - it includes the hex dump pane code as well. 
Rename it packet_panes.c; the stuff specific to the main window should
be moved into a different file.

svn path=/trunk/; revision=43290
2012-06-16 20:52:04 +00:00
Guy Harris
d1128f6433 For a capture file, keep an array of all encapsulation types seen.
Show all of them in the summary dialog; we will be using it in the
future to figure out what capture file formats we can write to (just
because a capture file format supports per-packet encapsulations, that
doesn't mean that it supports *all possible* encapsulations).

svn path=/trunk/; revision=43278
2012-06-15 23:54:05 +00:00
Jakub Zawadzki
c43b7b8b93 highlight_field: use passed GtkTreeView for proto_tree_draw.
highlight_field() is also called when we open packet in new window and we click some bytes,
it caused redrawing packet details in *main window* but with protocol tree from (possibly) another frame.

svn path=/trunk/; revision=43277
2012-06-15 23:04:59 +00:00
Gerald Combs
304654f688 Don't install the Qt resource images. They get converted to C arrays in
qrc_*.cpp so they shouldn't be necessary even when we're building and
installing qtshark.

svn path=/trunk/; revision=43274
2012-06-15 18:17:20 +00:00
Guy Harris
21d35d275a In effect, disable closing the main window while a capture is being
stopped - there's no guaranteed way to make the UI's close button
inactive (on X11, it depends on whether the window manager allows that),
but we can just do nothing and return TRUE from the delete event handler
to ignore the delete event.

svn path=/trunk/; revision=43252
2012-06-14 03:50:39 +00:00
Guy Harris
9a0ba17ea5 Re-enable the File -> Quit menu item when the capture stops (or is
started again).

svn path=/trunk/; revision=43251
2012-06-14 03:50:28 +00:00
Guy Harris
e1ec927708 Disable some menu items and toolbar items while we're waiting for a
capture to stop, so that we don't try to quit while we're in the middle
of quitting or try to stop or restart the capture we're in the middle of
stopping.

svn path=/trunk/; revision=43250
2012-06-14 02:19:46 +00:00
Guy Harris
d86f0b5271 No pcap, no capture to stop.
svn path=/trunk/; revision=43249
2012-06-14 02:11:34 +00:00
Guy Harris
481c44b78b When stopping the capture before asking whether to save the results, run
the main loop until we're done reading the captured packets.  Hopefully
this clears up bug 7318 in Evan Huus's case; I can't reproduce that
myself.

svn path=/trunk/; revision=43248
2012-06-14 01:34:52 +00:00
Guy Harris
98ec2ab440 Update a comment to reflect new-packet-list reality.
svn path=/trunk/; revision=43242
2012-06-13 21:08:18 +00:00
Bill Meier
d0868be051 Add '*.sbr' to 'clean'
svn path=/trunk/; revision=43233
2012-06-13 16:19:35 +00:00
Jeff Morriss
4fdc3c3cc2 Create, and start using, file name preferences.
File name preferences are basically just string preferences except that the
GUI will present a "Browse" button that allows the user to go and find the
file s/he wants (rather than having to blindly type in the full path).

svn path=/trunk/; revision=43228
2012-06-13 01:13:12 +00:00
Chris Maynard
e9b173b306 Set the default for printing or exporting packets to displayed packets only.
svn path=/trunk/; revision=43193
2012-06-11 02:43:16 +00:00
Jakub Zawadzki
2252800809 Missing proto_tree_model.c in CMakeLists (r43189 for cmake)
svn path=/trunk/; revision=43190
2012-06-10 22:35:48 +00:00
Jakub Zawadzki
f372010ee8 Custom model for packet details
Original patch tracked in bug #7224

svn path=/trunk/; revision=43189
2012-06-10 22:07:54 +00:00
Jakub Zawadzki
a2bb94c3b3 Clear GtkTreeStore before freeing edt
When building current data for packet details treeview we store two things.
- Generated string with item label
- Pointer to node field_info structure

After epan_dissect_{free, cleanup} pointer to field_info node is no longer
valid so we should clear GtkTreeStore before freeing.

svn path=/trunk/; revision=43188
2012-06-10 22:03:17 +00:00
Jeff Morriss
12bd8f51b3 Add casting to keep Windows happy.
svn path=/trunk/; revision=43140
2012-06-06 20:04:03 +00:00
Jeff Morriss
4ccdf8aa67 Split the Advanced unit COUNT(*) into COUNT FRAMES(*) and COUNT FIELDS(*).
(Before checking the code it wasn't clear to me what COUNT(*) was counting
and--especially with SCTP's bundling of user messages--counting fields was
really what I wanted/needed.)

Remove a 32-bit cast (should have been part of r43136).

svn path=/trunk/; revision=43137
2012-06-06 19:14:30 +00:00
Jeff Morriss
ddcd688f74 Support math operations (SUM, MAX, MIN, etc.) on 64-bit fields.
svn path=/trunk/; revision=43136
2012-06-06 18:54:18 +00:00
Gerald Combs
e63f70cfc2 Add the GeoIP DLL.
svn path=/trunk/; revision=43128
2012-06-05 23:43:02 +00:00
Gerald Combs
95e53ff7ab Pass WTAP_VERSION to Qt. (WTAP_VERSION should probably match the GNU
toolchain version but that's a separate issue.)

svn path=/trunk/; revision=43124
2012-06-05 18:37:32 +00:00
Guy Harris
9fe3d4b4f3 If we do a Save or Save As with a move, don't reread the capture file,
just tweak the elements in the capture_file structure as necessary and
poke the UI to update stuff such as the windows title.

If we do a Save or Save As with a copy, don't reread the capture file,
just close the old wtap, open a wtap for the copy, and tweak the
elements in the capture_file structure as necessary and poke the UI to
update stuff such as the windows title.

Otherwise, don't do a full read-and-dissect pass on the capture file,
just close the old wtap, open a wtap for the new file, tweak the
elements in the capture_file structure as necessary and poke the UI to
update stuff such as the windows title, and rescan the file to update
the packet offsets (and cause Wiretap to regenerate, for a gzipped file,
the information needed to support fast random access to the gzipped
file).

This should speed up Save and Save As a bit, as well as removing some
glitches in the UI (e.g., you won't see the packet list disappear and
reappear).

svn path=/trunk/; revision=43101
2012-06-05 06:52:18 +00:00
Guy Harris
99536cc8da Distinguish between "failed" and "user stopped it" for "save as" and
"export specified packets".  For "failed", let the user try again with a
different file, in case it failed due to, for example, running out of
space or quota (probably the most likely failure mode for writing, and
trying to a different volume might be the best workaround).  For "user
stopped it", presumably they don't want to try again (the most likely
reason is "it was taking too damn long").
 
Put "Exporting to: ...", not "Saving: ..." in the statusbar if we're
doing "export specified packets".

In process_specified_packets(), allow a null range pointer to be
specified, meaning "save 'em all"; that avoids the possibly-expensive
(with a large capture) operation of initializing the range.

If a "safe save" atop an existing file fails or is stopped, get rid of
the temporary file we created.

svn path=/trunk/; revision=43095
2012-06-05 02:46:54 +00:00
Jörg Mayer
4a1a245c19 gtk3 libs for win are now available.
svn path=/trunk/; revision=43085
2012-06-04 21:54:29 +00:00
Pascal Quantin
5606383a72 C++ -> C-style comments
svn path=/trunk/; revision=43084
2012-06-04 21:31:18 +00:00
Anders Broman
7b43b3de0f Make it possible to build with GTK3 on Windows
svn path=/trunk/; revision=43083
2012-06-04 20:42:09 +00:00
Guy Harris
00de07144d Use the modal version of the bad display filter alert box in the I/O
statistics window.

Get rid of the non-modal version (it's not being used any more), and
remove the now-redundant _modal from the modal version.

svn path=/trunk/; revision=43081
2012-06-04 20:08:59 +00:00
Guy Harris
91b777712a Use the modal bad display filter alert dialog.
svn path=/trunk/; revision=43080
2012-06-04 19:58:54 +00:00
Guy Harris
495cfc2d89 Clean up indentation.
svn path=/trunk/; revision=43079
2012-06-04 19:45:44 +00:00
Guy Harris
7453e28dc0 Use the modal version of the bad display filter alert box.
svn path=/trunk/; revision=43078
2012-06-04 19:44:48 +00:00
Guy Harris
5caadafaca And do the same with the color filter import and export dialogs (which
really don't belong here - they have nothing to do with capture files).

Absorb the test for the target file's existence into
file_target_exist_ui().

svn path=/trunk/; revision=43077
2012-06-04 19:37:04 +00:00
Guy Harris
0955936403 And do the same with the merge dialog.
svn path=/trunk/; revision=43076
2012-06-04 19:04:45 +00:00
Guy Harris
8ba4fe2413 Clean up indentation.
svn path=/trunk/; revision=43075
2012-06-04 18:41:36 +00:00
Guy Harris
1899e6ee34 Do with the open dialog what we've done with the save and "export
selected packets" dialog.

svn path=/trunk/; revision=43074
2012-06-04 18:40:45 +00:00
Guy Harris
f7b2ed3799 file_target_exist_ui() is used only on UN*Xes; on Win32, we'd use the
Windows file dialog, which has its own built-in version of the "do you
want to overwrite that file?" dialog, and Notepad and WordPad, at least,
just appear to error out if you try to overwrite a file with the
read-only flag set, rather than asking whether you want to override
that.

svn path=/trunk/; revision=43072
2012-06-04 17:21:32 +00:00
Guy Harris
afa17a95b0 Make the "Export Selected Packets As..." code path more like the "Save
As..." code path.

Extract the code for the "do you want to overwrite this file" and "OK,
you do - are you aware it's {user-immutable, read-only}?" code paths
into a common routine for use by both of those and, potentially, other
save/export/etc. code paths in the future.

For "Save As", allow us to save atop the current capture file, as that's
just what "Save" does if there are unsaved changes, and "safe save"
makes that work.  *Don't* allow that for "Export Selected Packets
As...", however.

The file chooser is run as a modal dialog, so we don't need to worry
about creating more than one of them or about the number of marked
packets etc. being changed out from under us.  Get rid of a bunch of
static variables.

svn path=/trunk/; revision=43060
2012-06-04 10:27:59 +00:00
Guy Harris
ab13375393 Clean up indentation.
svn path=/trunk/; revision=43056
2012-06-04 08:46:51 +00:00
Guy Harris
eb03bb0290 Add some more routines to main.c that handle updates to "auto scroll in
live capture" and colorization, so that the ones in main_menubar.c don't
have to know about anything other than the main menubar.

Move some toolbar routines that should only be used by routines in
main.c into a main_toolbar_private.h header.

svn path=/trunk/; revision=43053
2012-06-04 03:15:05 +00:00
Guy Harris
2d4bd31654 We need main.h for main_update_for_unsaved_changes(), regardless of
whether we have pcap or not.

svn path=/trunk/; revision=43052
2012-06-04 03:09:54 +00:00