diff options
author | Stephen Fisher <steve@stephen-fisher.com> | 2007-01-28 02:49:50 +0000 |
---|---|---|
committer | Stephen Fisher <steve@stephen-fisher.com> | 2007-01-28 02:49:50 +0000 |
commit | b4a656ec1fb861536ba5fb0d0a4dfd523b7fcc14 (patch) | |
tree | 65e943e1270b7f234f6190acdaa128bcb7717eba /gtk/menu.c | |
parent | c6009ed5ab1b340e87765a56122d234f13b760db (diff) |
From Douglas Pratley:
This is a patch adding items to the context menus for the packet list
and packet details panes for copying packet data to the clipboard.
New menu item on packet list pane:
Copy (sub menu) ->
Summary (Text) Copies fields displayed in the packet
list, tab separated
Summary (CSV) Copies fields displayed in the packet
list, comma separated
Hex and Text Copies data for the selected frame in
hex-editor style (similar to Copy\All Information in packet bytes pane)
Text Only Copies data for the selected frame,
dropping non-printable characters other than line breaks (similar to
Copy\Text Only in packet bytes pane)
Hex Columns As Hex and Text but without text
Hex Stream Copies data for the selected frame as an
unpunctuated list of hex values
Binary Stream Copies raw packet bytes to the clipboard
as MIME type application/octet-stream
svn path=/trunk/; revision=20581
Diffstat (limited to 'gtk/menu.c')
-rw-r--r-- | gtk/menu.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/gtk/menu.c b/gtk/menu.c index 0eafb10629..867d42b9cd 100644 --- a/gtk/menu.c +++ b/gtk/menu.c @@ -710,6 +710,19 @@ static GtkItemFactoryEntry packet_list_menu_items[] = ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/Copy", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Copy/Summary (Text)", NULL, packet_list_copy_summary_cb, CS_TEXT, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy/Summary (CSV)", NULL, packet_list_copy_summary_cb, CS_CSV, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy/Hex and Text", NULL, copy_hex_cb, CD_ALLINFO, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy/Text Only", NULL, copy_hex_cb, CD_TEXTONLY, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy/Hex Columns", NULL, copy_hex_cb, CD_HEXCOLUMNS, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy/Hex Stream", NULL, copy_hex_cb, CD_HEX, NULL, NULL), +#if GTK_MAJOR_VERSION >= 2 + ITEM_FACTORY_ENTRY("/Copy/Binary Stream", NULL, copy_hex_cb, CD_BINARY, NULL, NULL), +#endif + + ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_STOCK_ENTRY("/Decode As...", NULL, decode_as_cb, 0, WIRESHARK_STOCK_DECODE_AS), ITEM_FACTORY_STOCK_ENTRY("/Print...", NULL, file_print_selected_cmd_cb, 0, GTK_STOCK_PRINT), ITEM_FACTORY_ENTRY("/Show Packet in New Window", NULL, new_window_cb, @@ -726,6 +739,14 @@ static GtkItemFactoryEntry tree_view_menu_items[] = ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), ITEM_FACTORY_ENTRY("/Copy", NULL, copy_selected_plist_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy Selected Bytes As", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Copy Selected Bytes As/Hex and Text", NULL, copy_hex_cb, CD_ALLINFO | CD_FLAGS_SELECTEDONLY, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy Selected Bytes As/Text Only", NULL, copy_hex_cb, CD_TEXTONLY | CD_FLAGS_SELECTEDONLY, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy Selected Bytes As/Hex Columns", NULL, copy_hex_cb, CD_HEXCOLUMNS | CD_FLAGS_SELECTEDONLY, NULL, NULL), + ITEM_FACTORY_ENTRY("/Copy Selected Bytes As/Hex Stream", NULL, copy_hex_cb, CD_HEX | CD_FLAGS_SELECTEDONLY, NULL, NULL), +#if GTK_MAJOR_VERSION >= 2 + ITEM_FACTORY_ENTRY("/Copy Selected Bytes As/Binary Stream", NULL, copy_hex_cb, CD_BINARY | CD_FLAGS_SELECTEDONLY, NULL, NULL), +#endif ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), ITEM_FACTORY_ENTRY("/Apply as Filter", NULL, NULL, 0, "<Branch>", NULL), @@ -779,9 +800,9 @@ static GtkItemFactoryEntry hexdump_menu_items[] = { ITEM_FACTORY_ENTRY("/Copy", NULL, NULL, 0, "<Branch>", NULL), ITEM_FACTORY_ENTRY("/Copy/All Information", NULL, copy_hex_cb, - 0, NULL, NULL), + CD_ALLINFO, NULL, NULL), ITEM_FACTORY_ENTRY("/Copy/Text Only", NULL, copy_hex_cb, - 1, NULL, NULL), + CD_TEXTONLY, NULL, NULL), ITEM_FACTORY_ENTRY("/Export Selected Packet Bytes...", NULL, savehex_cb, 0, NULL, NULL), }; |