Author: kelnos
Date: 2006-08-02 06:13:48 +0000 (Wed, 02 Aug 2006)
New Revision: 22619

Modified:
   xfmedia/branches/experimental/src/settings-dialog.c
   xfmedia/trunk/src/settings-dialog.c
Log:
use GtkComboBox instead of deprecated GtkOptionMenu


Modified: xfmedia/branches/experimental/src/settings-dialog.c
===================================================================
--- xfmedia/branches/experimental/src/settings-dialog.c 2006-08-02 05:40:33 UTC 
(rev 22618)
+++ xfmedia/branches/experimental/src/settings-dialog.c 2006-08-02 06:13:48 UTC 
(rev 22619)
@@ -472,11 +472,11 @@
 }
 
 static void
-audio_vis_changed_cb(GtkMenuItem *mi, gpointer user_data)
+audio_vis_changed_cb(GtkComboBox *cb,
+                     gpointer user_data)
 {
     XfmediaMainwin *mwin = user_data;
-    GtkLabel *lbl = GTK_LABEL(gtk_bin_get_child(GTK_BIN(mi)));
-    const gchar *vis_name = gtk_label_get_text(lbl);
+    gchar *vis_name = gtk_combo_box_get_active_text(cb);
     
     xfmedia_settings_set_string("/xfmedia/general/selected_vis", vis_name);
     
@@ -486,6 +486,8 @@
     {
         xfmedia_xine_set_vis(mwin->xfx, vis_name);
     }
+    
+    g_free(vis_name);
 }
 
 #if 0
@@ -834,6 +836,7 @@
     menu = gtk_menu_new();
     gtk_widget_show(menu);
     
+    cb = gtk_combo_box_new_text();
     vis_plugins = xfmedia_xine_list_post_plugins_typed(mwin->xfx,
             XINE_POST_TYPE_AUDIO_VISUALIZATION);
     if(vis_plugins) {
@@ -843,22 +846,16 @@
         for(l = vis_plugins; l; l = l->next) {
             if(!g_ascii_strcasecmp((const gchar *)l->data, selected_vis))
                 selected_vis_index = g_list_index(vis_plugins, l->data);
-            mi = gtk_menu_item_new_with_label((const gchar *)l->data);
-            gtk_widget_show(mi);
-            gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi);
-            g_signal_connect(G_OBJECT(mi), "activate",
-                    G_CALLBACK(audio_vis_changed_cb), mwin);
+            gtk_combo_box_append_text(GTK_COMBO_BOX(cb), (gchar *)l->data);
         }
         g_list_free(vis_plugins);
+        g_signal_connect(G_OBJECT(cb), "changed",
+                         G_CALLBACK(audio_vis_changed_cb), mwin);
     } else {
-        mi = gtk_menu_item_new_with_label(_("(none available)"));
-        gtk_widget_show(mi);
-        gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi);
+        gtk_combo_box_append_text(GTK_COMBO_BOX(cb), _("(none available)"));
+        gtk_widget_set_sensitive(cb, FALSE);
     }
-    
-    cb = gtk_option_menu_new();
-    gtk_option_menu_set_menu(GTK_OPTION_MENU(cb), menu);
-    gtk_option_menu_set_history(GTK_OPTION_MENU(cb), selected_vis_index);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(cb), selected_vis_index);
     gtk_widget_show(cb);
     gtk_box_pack_start(GTK_BOX(hbox), cb, TRUE, TRUE, 0);
     

Modified: xfmedia/trunk/src/settings-dialog.c
===================================================================
--- xfmedia/trunk/src/settings-dialog.c 2006-08-02 05:40:33 UTC (rev 22618)
+++ xfmedia/trunk/src/settings-dialog.c 2006-08-02 06:13:48 UTC (rev 22619)
@@ -472,11 +472,11 @@
 }
 
 static void
-audio_vis_changed_cb(GtkMenuItem *mi, gpointer user_data)
+audio_vis_changed_cb(GtkComboBox *cb,
+                     gpointer user_data)
 {
     XfmediaMainwin *mwin = user_data;
-    GtkLabel *lbl = GTK_LABEL(gtk_bin_get_child(GTK_BIN(mi)));
-    const gchar *vis_name = gtk_label_get_text(lbl);
+    gchar *vis_name = gtk_combo_box_get_active_text(cb);
     
     xfmedia_settings_set_string("/xfmedia/general/selected_vis", vis_name);
     
@@ -486,6 +486,8 @@
     {
         xfmedia_xine_set_vis(mwin->xfx, vis_name);
     }
+    
+    g_free(vis_name);
 }
 
 #if 0
@@ -834,6 +836,7 @@
     menu = gtk_menu_new();
     gtk_widget_show(menu);
     
+    cb = gtk_combo_box_new_text();
     vis_plugins = xfmedia_xine_list_post_plugins_typed(mwin->xfx,
             XINE_POST_TYPE_AUDIO_VISUALIZATION);
     if(vis_plugins) {
@@ -843,22 +846,16 @@
         for(l = vis_plugins; l; l = l->next) {
             if(!g_ascii_strcasecmp((const gchar *)l->data, selected_vis))
                 selected_vis_index = g_list_index(vis_plugins, l->data);
-            mi = gtk_menu_item_new_with_label((const gchar *)l->data);
-            gtk_widget_show(mi);
-            gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi);
-            g_signal_connect(G_OBJECT(mi), "activate",
-                    G_CALLBACK(audio_vis_changed_cb), mwin);
+            gtk_combo_box_append_text(GTK_COMBO_BOX(cb), (gchar *)l->data);
         }
         g_list_free(vis_plugins);
+        g_signal_connect(G_OBJECT(cb), "changed",
+                         G_CALLBACK(audio_vis_changed_cb), mwin);
     } else {
-        mi = gtk_menu_item_new_with_label(_("(none available)"));
-        gtk_widget_show(mi);
-        gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi);
+        gtk_combo_box_append_text(GTK_COMBO_BOX(cb), _("(none available)"));
+        gtk_widget_set_sensitive(cb, FALSE);
     }
-    
-    cb = gtk_option_menu_new();
-    gtk_option_menu_set_menu(GTK_OPTION_MENU(cb), menu);
-    gtk_option_menu_set_history(GTK_OPTION_MENU(cb), selected_vis_index);
+    gtk_combo_box_set_active(GTK_COMBO_BOX(cb), selected_vis_index);
     gtk_widget_show(cb);
     gtk_box_pack_start(GTK_BOX(hbox), cb, TRUE, TRUE, 0);
     

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to