Fix the wireless settings button for AirPCap devices in the
[obnox/wireshark/wip.git] / gtk / tap_param_dlg.c
index 2da60019ffd02981627ebcb475c376d01952a0dc..64ee90dc55a5ea1d3696563288c6822727fc5c9d 100644 (file)
@@ -52,6 +52,7 @@
 #include "gtk/gtkglobals.h"
 #include "gtk/filter_autocomplete.h"
 
+#include "gtk/old-gtk-compat.h"
 
 typedef struct _tap_param_dlg_list_item {
     GtkWidget *dlg;
@@ -65,21 +66,32 @@ static tap_param_dlg_list_item *start_dlg_list=NULL;
 static tap_param_dlg_list_item *end_dlg_list=NULL;
 static tap_param_dlg_list_item *current_dlg = NULL;
 
-static void
-tap_param_dlg_cb(GtkWidget *w, gpointer data);
-
+#ifdef MAIN_MENU_USE_UIMANAGER
+#else
+static void tap_param_dlg_cb(GtkWidget *w, gpointer data);
+#endif
 /*
  * Register a stat that has a parameter dialog.
  * We register it both as a command-line stat and a menu item stat.
  */
 void
-register_dfilter_stat(tap_param_dlg *info, const char *name,
-    register_stat_group_t group)
+register_dfilter_stat(tap_param_dlg *info,
+
+#ifdef MAIN_MENU_USE_UIMANAGER
+    const char *name _U_,
+    register_stat_group_t group _U_
+#else
+    const char *name,
+    register_stat_group_t group
+#endif
+    )
 {
+#ifdef MAIN_MENU_USE_UIMANAGER
+    register_stat_cmd_arg(info->init_string, info->tap_init_cb, NULL);
+#else
     char *full_name;
 
     register_stat_cmd_arg(info->init_string, info->tap_init_cb, NULL);
-
     /*
      * This menu item will pop up a dialog box, so append "..."
      * to it.
@@ -87,14 +99,15 @@ register_dfilter_stat(tap_param_dlg *info, const char *name,
     full_name = g_strdup_printf("%s...", name);
     register_stat_menu_item(full_name, group, tap_param_dlg_cb, NULL,
                             NULL, info);
-    g_free(full_name);
-}              
+    /* tap_menu_item_add() uses the name later on. Leave it allocated. */
+#endif
+}
 
 void tap_param_dlg_update (void)
 {
     tap_param_dlg_list_item *dialog = start_dlg_list;
     char *title;
-    
+
     while(dialog != NULL) {
         if(dialog->dlg) {
             title = g_strdup_printf("Wireshark: %s: %s", dialog->cont.win_title , cf_get_display_name(&cfile));
@@ -118,7 +131,7 @@ tap_param_dlg_start_button_clicked(GtkWidget *item _U_, gpointer dialog_data)
     GString *params;
     size_t i;
     gint j;
-    
+
     tap_param_dlg_list_item *dlg_data = (tap_param_dlg_list_item *) dialog_data;
 
     params = g_string_new(dlg_data->cont.init_string);
@@ -144,9 +157,13 @@ tap_param_dlg_start_button_clicked(GtkWidget *item _U_, gpointer dialog_data)
     g_string_free(params, TRUE);
 }
 
-
+#ifdef MAIN_MENU_USE_UIMANAGER
+void
+tap_param_dlg_cb(GtkAction *action _U_, gpointer data)
+#else
 static void
 tap_param_dlg_cb(GtkWidget *w _U_, gpointer data)
+#endif
 {
     const char *filter;
     char *title;
@@ -155,12 +172,12 @@ tap_param_dlg_cb(GtkWidget *w _U_, gpointer data)
     GtkWidget *bbox, *start_button, *cancel_button;
     size_t i, j;
     char *label_with_colon;
-    
+
     tap_param_dlg *dlg_data = (tap_param_dlg *) data;
 
     if(dlg_data==NULL)
         return;
-        
+
     if(dlg_data->index==-1) {
         /* Dialog is not registered */
         if(start_dlg_list==NULL) {
@@ -201,7 +218,7 @@ tap_param_dlg_cb(GtkWidget *w _U_, gpointer data)
 
     /* if the window is already open, bring it to front */
     if(current_dlg->dlg){
-        gdk_window_raise(current_dlg->dlg->window);
+        gdk_window_raise(gtk_widget_get_window(current_dlg->dlg));
         return;
     }
 
@@ -245,10 +262,10 @@ tap_param_dlg_cb(GtkWidget *w _U_, gpointer data)
             gtk_widget_show(label);
 
             /* Combo box */
-            item=gtk_combo_box_new_text();
+            item=gtk_combo_box_text_new();
             for (j = 0; current_dlg->cont.params[i].enum_vals[j].name != NULL;
                  j++)
-                gtk_combo_box_append_text(GTK_COMBO_BOX(item),
+                 gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(item),
                                           current_dlg->cont.params[i].enum_vals[j].description);
             gtk_combo_box_set_active(GTK_COMBO_BOX(item), 0);
             break;
@@ -280,7 +297,7 @@ tap_param_dlg_cb(GtkWidget *w _U_, gpointer data)
             item=NULL;
             break;
         }
-    
+
         gtk_box_pack_start(GTK_BOX(item_box), item, TRUE, TRUE, 0);
         current_dlg->param_items[i]=item;
         gtk_widget_show(item);