diff options
Diffstat (limited to 'gtk/decode_as_dlg.c')
-rw-r--r-- | gtk/decode_as_dlg.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/gtk/decode_as_dlg.c b/gtk/decode_as_dlg.c index c8cedc734e..59043eb203 100644 --- a/gtk/decode_as_dlg.c +++ b/gtk/decode_as_dlg.c @@ -39,6 +39,7 @@ #include <epan/epan_dissect.h> #include "compat_macros.h" #include "decode_as_dcerpc.h" +#include "help_dlg.h" #undef DEBUG @@ -520,7 +521,7 @@ decode_show_destroy_cb (GtkWidget *win _U_, gpointer user_data _U_) void decode_show_cb (GtkWidget * w _U_, gpointer data _U_) { - GtkWidget *main_vb, *bbox, *ok_bt, *clear_bt, *scrolled_window; + GtkWidget *main_vb, *bbox, *ok_bt, *clear_bt, *help_bt, *scrolled_window; gchar *titles[E_LIST_D_COLUMNS] = { "Table", "Value", "Initial", "Current" }; @@ -603,7 +604,11 @@ decode_show_cb (GtkWidget * w _U_, gpointer data _U_) } /* Button row */ - bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CLEAR, NULL); + if(topic_available(HELP_DECODE_AS_SHOW_DIALOG)) { + bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CLEAR, GTK_STOCK_HELP, NULL); + } else { + bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CLEAR, NULL); + } gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0); gtk_widget_show(bbox); @@ -613,6 +618,11 @@ decode_show_cb (GtkWidget * w _U_, gpointer data _U_) clear_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLEAR); SIGNAL_CONNECT(clear_bt, "clicked", decode_show_clear_cb, decode_show_w); + if(topic_available(HELP_DECODE_AS_SHOW_DIALOG)) { + help_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_HELP); + SIGNAL_CONNECT(help_bt, "clicked", topic_cb, HELP_DECODE_AS_SHOW_DIALOG); + } + /* set ok as default, this button won't change anything */ window_set_cancel_button(decode_show_w, ok_bt, NULL); @@ -1858,7 +1868,7 @@ decode_add_notebook (GtkWidget *format_hb) void decode_as_cb (GtkWidget * w _U_, gpointer data _U_) { - GtkWidget *main_vb, *format_hb, *bbox, *ok_bt, *close_bt, *button; + GtkWidget *main_vb, *format_hb, *bbox, *ok_bt, *close_bt, *help_bt, *button; GtkWidget *button_vb, *apply_bt; GtkTooltips *tooltips = gtk_tooltips_new(); @@ -1904,7 +1914,11 @@ decode_as_cb (GtkWidget * w _U_, gpointer data _U_) } /* Button row */ - bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_CLOSE, NULL); + if(topic_available(HELP_DECODE_AS_DIALOG)) { + bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_CLOSE, GTK_STOCK_HELP, NULL); + } else { + bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_CLOSE, NULL); + } gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0); gtk_widget_show(bbox); @@ -1924,6 +1938,11 @@ decode_as_cb (GtkWidget * w _U_, gpointer data _U_) gtk_tooltips_set_tip(tooltips, close_bt, "Close the dialog, don't redissect packets.", NULL); + if(topic_available(HELP_DECODE_AS_DIALOG)) { + help_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_HELP); + SIGNAL_CONNECT(help_bt, "clicked", topic_cb, HELP_DECODE_AS_DIALOG); + } + gtk_widget_grab_default(ok_bt); SIGNAL_CONNECT(decode_w, "delete_event", decode_delete_cb, NULL); |