merge_all_tap_menus() has been moved to menus.c.
[obnox/wireshark/wip.git] / gtk / afp_stat.c
index 476acd26f71fe4b2d0d2df559a3c7fcbf2b6ec48..ce61f3ec714fcc57f390e2e0d7a1d1ec14090b59 100644 (file)
 #include <epan/tap.h>
 #include <epan/dissectors/packet-afp.h>
 
-#include "../register.h"
 #include "../timestats.h"
 #include "../simple_dialog.h"
 #include "../file.h"
-#include "../globals.h"
 #include "../stat_menu.h"
 
 #include "gtk/gui_utils.h"
 #include "gtk/dlg_utils.h"
-#include "gtk/filter_dlg.h"
 #include "gtk/service_response_time_table.h"
-#include "gtk/tap_dfilter_dlg.h"
+#include "gtk/tap_param_dlg.h"
 #include "gtk/main.h"
 
+#include "gtk/old-gtk-compat.h"
 
 /* used to keep track of the statistics for an entire program interface */
 typedef struct _afpstat_t {
@@ -144,7 +142,8 @@ gtk_afpstat_init(const char *optarg, void *userdata _U_)
 
        ss=g_malloc(sizeof(afpstat_t));
 
-       ss->win=window_new(GTK_WINDOW_TOPLEVEL, "afp-stat");
+       ss->win=dlg_window_new("afp-stat");  /* transient_for top_level */
+       gtk_window_set_destroy_with_parent (GTK_WINDOW(ss->win), TRUE);
        gtk_window_set_default_size(GTK_WINDOW(ss->win), 550, 600);
        afpstat_set_title(ss);
 
@@ -169,13 +168,13 @@ gtk_afpstat_init(const char *optarg, void *userdata _U_)
 
        init_srt_table(&ss->afp_srt_table, 256, vbox, "afp.command");
        for(i=0;i<256;i++){
-               init_srt_table_row(&ss->afp_srt_table, i, val_to_str(i, CommandCode_vals, "Unknown(%u)"));
+               init_srt_table_row(&ss->afp_srt_table, i, val_to_str_ext(i, &CommandCode_vals_ext, "Unknown(%u)"));
        }
 
 
-       error_string=register_tap_listener("afp", ss, filter, afpstat_reset, afpstat_packet, afpstat_draw);
+       error_string=register_tap_listener("afp", ss, filter, 0, afpstat_reset, afpstat_packet, afpstat_draw);
        if(error_string){
-               simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, error_string->str);
+               simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", error_string->str);
                g_string_free(error_string, TRUE);
                g_free(ss);
                return;
@@ -194,14 +193,21 @@ gtk_afpstat_init(const char *optarg, void *userdata _U_)
        gtk_widget_show_all(ss->win);
        window_present(ss->win);
 
-       cf_retap_packets(&cfile, FALSE);
+       cf_retap_packets(&cfile);
+       gdk_window_raise(gtk_widget_get_window(ss->win));
 }
 
-static tap_dfilter_dlg afp_stat_dlg = {
+static tap_param afp_stat_params[] = {
+       { PARAM_FILTER, "Filter", NULL }
+};
+
+static tap_param_dlg afp_stat_dlg = {
        "AFP SRT Statistics",
        "afp,srt",
        gtk_afpstat_init,
-       -1
+       -1,
+       G_N_ELEMENTS(afp_stat_params),
+       afp_stat_params
 };
 
 void
@@ -210,3 +216,10 @@ register_tap_listener_gtkafpstat(void)
        register_dfilter_stat(&afp_stat_dlg, "AFP",
            REGISTER_STAT_GROUP_RESPONSE_TIME);
 }
+
+#ifdef MAIN_MENU_USE_UIMANAGER
+void afp_srt_stat_cb(GtkAction *action, gpointer user_data _U_)
+{
+       tap_param_dlg_cb(action, &afp_stat_dlg);
+}
+#endif