summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-11-26 16:11:04 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-11-26 16:11:04 +0000
commitbeeabf86aa81329595c55c32c36f0d56293c580f (patch)
treeceffcf878783a9fc1aa3ce7d9003937e4380248c
parent17781b66bf4fe855f59d1910c99bd4cac56c236b (diff)
downloadwireshark-beeabf86aa81329595c55c32c36f0d56293c580f.tar.gz
Rudimentary code to show comments summary.
svn path=/trunk/; revision=46204
-rw-r--r--ui/gtk/edit_packet_comment_dlg.c61
-rw-r--r--ui/gtk/edit_packet_comment_dlg.h1
-rw-r--r--ui/gtk/packet_list.c18
-rw-r--r--ui/gtk/packet_list.h1
4 files changed, 81 insertions, 0 deletions
diff --git a/ui/gtk/edit_packet_comment_dlg.c b/ui/gtk/edit_packet_comment_dlg.c
index c823533e8d..affc649ae3 100644
--- a/ui/gtk/edit_packet_comment_dlg.c
+++ b/ui/gtk/edit_packet_comment_dlg.c
@@ -49,6 +49,7 @@
static GtkWidget *edit_or_add_pkt_comment_dlg = NULL;
static GtkWidget *edit_or_add_capture_comment_dlg = NULL;
+static GtkWidget *view_capture_and_pkt_comments_dlg = NULL;
static void
pkt_comment_text_buff_ok_cb(GtkWidget *w _U_, GtkWidget *view)
@@ -168,6 +169,66 @@ edit_packet_comment_dlg (GtkAction *action _U_, gpointer data _U_)
gtk_widget_show (edit_or_add_pkt_comment_dlg);
}
+void
+show_packet_comment_summary_dlg (GtkAction *action _U_, gpointer data _U_)
+{
+
+ GtkWidget *vbox;
+ GtkWidget *view;
+ GtkWidget *scroll;
+ GtkWidget *bbox;
+ GtkWidget *ok_bt, *cancel_bt, *help_bt;
+ GtkTextBuffer *buffer = NULL;
+
+ view_capture_and_pkt_comments_dlg = dlg_window_new ("View Capture and Packet Comments");
+ gtk_widget_set_size_request (view_capture_and_pkt_comments_dlg, 500, 160);
+ gtk_window_set_resizable (GTK_WINDOW (view_capture_and_pkt_comments_dlg), TRUE);
+ gtk_container_set_border_width (GTK_CONTAINER (view_capture_and_pkt_comments_dlg), DLG_OUTER_MARGIN);
+
+ vbox = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_UNRELATED_SPACING, FALSE);
+ gtk_container_add (GTK_CONTAINER (view_capture_and_pkt_comments_dlg), vbox);
+ gtk_widget_show (vbox);
+
+ view = gtk_text_view_new ();
+ gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD);
+ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
+ gtk_widget_show (view);
+
+ scroll = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),
+ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ gtk_container_add(GTK_CONTAINER(scroll), view);
+ gtk_widget_show(scroll);
+ gtk_box_pack_start(GTK_BOX (vbox), scroll, TRUE, TRUE, 0);
+
+ /* Get the all comments */
+ packet_list_return_all_comments(buffer);
+ /*g_warning("Fetched comment '%s'",opt_comment);*/
+
+ /* Button row. */
+ bbox = dlg_button_row_new (GTK_STOCK_OK, GTK_STOCK_CANCEL, GTK_STOCK_HELP, NULL);
+ gtk_box_pack_end (GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
+
+ ok_bt = g_object_get_data (G_OBJECT(bbox), GTK_STOCK_OK);
+ /*g_signal_connect (ok_bt, "clicked", G_CALLBACK(pkt_comment_text_buff_ok_cb), view);*/
+ gtk_widget_set_sensitive (ok_bt, FALSE);
+
+ cancel_bt = g_object_get_data (G_OBJECT(bbox), GTK_STOCK_CANCEL);
+ window_set_cancel_button (view_capture_and_pkt_comments_dlg, cancel_bt, window_cancel_button_cb);
+
+ help_bt = g_object_get_data (G_OBJECT(bbox), GTK_STOCK_HELP);
+#if 0
+ g_signal_connect (help_bt, "clicked",/* G_CALLBACK(topic_cb)*/NULL, /*(gpointer)HELP_MANUAL_ADDR_RESOLVE_DIALOG*/NULL);
+#endif
+ gtk_widget_set_sensitive (help_bt, FALSE);
+
+ gtk_widget_grab_default (ok_bt);
+ g_signal_connect (view_capture_and_pkt_comments_dlg, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
+
+
+ gtk_widget_show (view_capture_and_pkt_comments_dlg);
+}
+
static void
edit_capture_comment_destroy_cb(GtkWidget *win _U_, gpointer user_data _U_)
{
diff --git a/ui/gtk/edit_packet_comment_dlg.h b/ui/gtk/edit_packet_comment_dlg.h
index 69040cfc8b..5612dbafbb 100644
--- a/ui/gtk/edit_packet_comment_dlg.h
+++ b/ui/gtk/edit_packet_comment_dlg.h
@@ -26,6 +26,7 @@
#define __EDIT_PACKET_COMMENTS_H__
void edit_packet_comment_dlg (GtkAction *action, gpointer data);
+void show_packet_comment_summary_dlg(GtkAction *action, gpointer data);
void edit_capture_dlg_launch (void);
#endif /* __EDIT_PACKET_COMMENTS_H__ */
diff --git a/ui/gtk/packet_list.c b/ui/gtk/packet_list.c
index c6f19453cb..4f382ac7be 100644
--- a/ui/gtk/packet_list.c
+++ b/ui/gtk/packet_list.c
@@ -1701,6 +1701,24 @@ packet_list_get_packet_comment(void)
}
void
+packet_list_return_all_comments(GtkTextBuffer *buffer)
+{
+ guint32 framenum;
+ frame_data *fdata;
+ gchar *buf_str;
+
+ for (framenum = 1; framenum <= cfile.count ; framenum++) {
+ fdata = frame_data_sequence_find(cfile.frames, framenum);
+ if (fdata->opt_comment) {
+ buf_str = g_strdup_printf("Frame %u: %s \n\n",framenum, fdata->opt_comment);
+ gtk_text_buffer_insert_at_cursor (buffer, buf_str, -1);
+ g_free(buf_str);
+ }
+ }
+
+}
+
+void
packet_list_update_packet_comment(gchar *new_packet_comment)
{
diff --git a/ui/gtk/packet_list.h b/ui/gtk/packet_list.h
index 979def0bfc..c5b269060f 100644
--- a/ui/gtk/packet_list.h
+++ b/ui/gtk/packet_list.h
@@ -135,6 +135,7 @@ void packet_list_copy_summary_cb(gpointer data _U_, copy_summary_type copy_type)
gchar *packet_list_get_packet_comment(void);
void packet_list_update_packet_comment(gchar *new_packet_comment);
+void packet_list_return_all_comments(GtkTextBuffer *buffer);
GtkWidget * packet_list_get_widget(void);
void packet_list_colorize_packets(void);