aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/menu.c
diff options
context:
space:
mode:
authorStephen Fisher <steve@stephen-fisher.com>2007-01-28 02:49:50 +0000
committerStephen Fisher <steve@stephen-fisher.com>2007-01-28 02:49:50 +0000
commitb4a656ec1fb861536ba5fb0d0a4dfd523b7fcc14 (patch)
tree65e943e1270b7f234f6190acdaa128bcb7717eba /gtk/menu.c
parentc6009ed5ab1b340e87765a56122d234f13b760db (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.c25
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),
};