[gnome-media] Replace the GtkOptionMenus in gst-properties with GtkComboBoxes



commit b21080f7ac228427613a1c1e9992f06db96643ed
Author: Felix Riemann <friemann gnome org>
Date:   Sat Jun 27 20:06:26 2009 +0200

    Replace the GtkOptionMenus in gst-properties with GtkComboBoxes
    
    GtkOptionMenus are deprecated. Replace them with the non-deprecated
    GtkComboBoxes. Part of bug #572353.

 .../gstreamer-properties-structs.h                 |    4 +-
 gstreamer-properties/gstreamer-properties.c        |  188 ++--
 gstreamer-properties/gstreamer-properties.ui       | 1043 +++++---------------
 3 files changed, 353 insertions(+), 882 deletions(-)
---
diff --git a/gstreamer-properties/gstreamer-properties-structs.h b/gstreamer-properties/gstreamer-properties-structs.h
index 230908b..f621656 100644
--- a/gstreamer-properties/gstreamer-properties-structs.h
+++ b/gstreamer-properties/gstreamer-properties-structs.h
@@ -69,8 +69,8 @@ typedef struct _GSTPPipelineEditor
 	gchar *devicemenu_name;
 	gchar *entry_name;
 	gchar *test_button_name;
-	GtkOptionMenu *optionmenu;
-	GtkOptionMenu *devicemenu;
+	GtkComboBox *optionmenu;
+	GtkComboBox *devicemenu;
 	GtkEntry *entry;
 	GtkButton *test_button;
 }
diff --git a/gstreamer-properties/gstreamer-properties.c b/gstreamer-properties/gstreamer-properties.c
index a51f53f..7f3a121 100644
--- a/gstreamer-properties/gstreamer-properties.c
+++ b/gstreamer-properties/gstreamer-properties.c
@@ -133,34 +133,28 @@ test_button_clicked (GtkButton * button, gpointer user_data)
 }
 
 static void
-pipeline_devicemenu_changed (GtkOptionMenu * devicemenu, gpointer user_data)
+pipeline_devicemenu_changed (GtkComboBox *devicemenu, gpointer user_data)
 {
   GSTPPipelineEditor *editor = (GSTPPipelineEditor *) (user_data);
-  GtkMenu *menu = NULL;
-  GtkMenuItem *mi = NULL;
   GSTPPipelineDescription *pipeline_desc = NULL;
+  GtkTreeIter iter;
+  GtkTreeModel *model = gtk_combo_box_get_model (devicemenu);
   gchar *devicename = NULL;
+  gboolean active;
 
   /* Determine which option changed, retrieve the pipeline desc,
    * and call update_from_option */
-  menu = GTK_MENU (gtk_option_menu_get_menu (devicemenu));
 
-  if (menu == NULL)
+  if (model == NULL)
     return;
+  /*FIXME: g_return_if_fail (model != NULL); */
 
-  /*FIXME: g_return_if_fail (menu != NULL); */
-  mi = GTK_MENU_ITEM (gtk_menu_get_active (menu));
+  active = gtk_combo_box_get_active_iter (devicemenu, &iter);
 
-  if (mi == NULL)
+  if (!active)
     return;
 
-  devicename =
-      (gchar *) (g_object_get_data (G_OBJECT (mi),
-          device_property));
-
-  pipeline_desc =
-      (GSTPPipelineDescription *) (g_object_get_data (G_OBJECT (mi),
-          pipeline_desc_property));
+  gtk_tree_model_get (model, &iter, 1, &pipeline_desc, 2, &devicename, -1);
 
   if (pipeline_desc == NULL)
     return;
@@ -191,10 +185,17 @@ update_device_menu (GSTPPipelineEditor * editor,
   GstPropertyProbe *probe;
   const GParamSpec *pspec;
   GObjectClass *klass;
-  const gchar *longname;  
+  const gchar *longname;
 
   if (editor->devicemenu == NULL) {
-    editor->devicemenu = GTK_OPTION_MENU (WID (editor->devicemenu_name));
+    GtkCellRenderer *cellrenderer = gtk_cell_renderer_text_new ();
+
+    editor->devicemenu = GTK_COMBO_BOX (WID (editor->devicemenu_name));
+
+    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (editor->devicemenu),
+                                cellrenderer, TRUE);
+    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (editor->devicemenu),
+                                   cellrenderer, "text", 0);
 
     g_object_set_data (G_OBJECT (editor->devicemenu), pipeline_editor_property,
         (gpointer) (editor));
@@ -202,15 +203,19 @@ update_device_menu (GSTPPipelineEditor * editor,
         (GCallback) pipeline_devicemenu_changed, (gpointer) (editor));
   }
 
-  if(editor->devicemenu) {
+  if (editor->devicemenu) {
     gchar *insensitive_label = g_strdup(_("None"));
-    GtkMenu *menu = GTK_MENU (gtk_menu_new ());
-    GtkMenuItem *mi = NULL;
-    GtkMenuItem *mi_preselect = NULL;
+    gboolean devices_added = FALSE;
+    gboolean preselect = FALSE;
+    GtkTreeIter preselection;
+    /* Use a pointer for the devicename (col 3), the capplet seems to avoid
+     * string allocation/deallocation this way */
+    GtkListStore *store = gtk_list_store_new (3, G_TYPE_STRING,
+                                              G_TYPE_POINTER, G_TYPE_POINTER);
 
     gtk_widget_set_sensitive (GTK_WIDGET (editor->devicemenu), FALSE);
 
-    gtk_option_menu_remove_menu (editor->devicemenu);
+    gtk_combo_box_set_model (editor->devicemenu, NULL);
 
     if (pipeline_desc->is_custom == FALSE) {
 
@@ -230,7 +235,7 @@ update_device_menu (GSTPPipelineEditor * editor,
           //return;
         }
         else {
-          klass = G_OBJECT_GET_CLASS (element);  
+          klass = G_OBJECT_GET_CLASS (element);
 
           /* do we have a "device" property? */
           if (!g_object_class_find_property (klass, "device") ||
@@ -257,14 +262,21 @@ update_device_menu (GSTPPipelineEditor * editor,
 
             array = gst_property_probe_probe_and_get_values (probe, pspec);
             if (array != NULL) {
+	      GtkTreeIter iter;
+
               /* default device item, so we can let the element handle it */
               if (array->n_values > 0) {
-                mi = GTK_MENU_ITEM (gtk_menu_item_new_with_label (_("Default")));
-                g_object_set_data (G_OBJECT (mi), pipeline_desc_property,
-                    (gpointer) pipeline_desc);
+                gtk_list_store_append (store, &iter);
+                gtk_list_store_set (store, &iter,
+                                    0, _("Default"),
+                                    1, (gpointer) pipeline_desc,
+                                    2, NULL, -1);
 
-                gtk_widget_show (GTK_WIDGET (mi));
-                gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (mi));
+                devices_added = TRUE;
+
+                // Preselect this to simulate GtkOptionMenu behavior
+                preselect = TRUE;
+                preselection = iter;
 
                 gtk_widget_set_sensitive (GTK_WIDGET (editor->devicemenu), TRUE);
               }
@@ -284,7 +296,7 @@ update_device_menu (GSTPPipelineEditor * editor,
                       g_value_get_string (device));
                   continue;
                 }
-                
+
                 g_object_get (G_OBJECT (element), "device-name", &name, NULL);
                 // caps = gst_pad_get_caps (gst_element_get_pad (element, "src"));
 
@@ -298,18 +310,19 @@ update_device_menu (GSTPPipelineEditor * editor,
                 gst_element_set_state (element, GST_STATE_NULL);
 
                 /* Add device to devicemenu */
-                mi = GTK_MENU_ITEM (gtk_menu_item_new_with_label (name));            
-                g_object_set_data (G_OBJECT (mi), device_property,
-                    (gpointer) g_value_get_string (device));
-                g_object_set_data (G_OBJECT (mi), pipeline_desc_property,
-                    (gpointer) pipeline_desc);
-                gtk_widget_show (GTK_WIDGET (mi));
-                gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (mi));
-                
+		gtk_list_store_append (store, &iter);
+                gtk_list_store_set (store, &iter,
+                                    0, name,
+                                    1, (gpointer) pipeline_desc,
+                                    2, (gpointer) g_value_get_string (device),
+                                    -1);
+
+                devices_added = TRUE;
                 if (pipeline_desc->device != NULL &&
                    !strcmp (pipeline_desc->device, g_value_get_string(device)))
                 {
-                  mi_preselect = mi;
+                  preselect = TRUE;
+		  preselection = iter;
                 }
               }
             }
@@ -321,25 +334,24 @@ update_device_menu (GSTPPipelineEditor * editor,
     }
 
     /* No devices to choose -> "None" */
-    if (mi == NULL) {
-        mi = GTK_MENU_ITEM (gtk_menu_item_new_with_label (g_strdup (insensitive_label)));
-
-        g_object_set_data (G_OBJECT (mi), pipeline_desc_property,
-            (gpointer) pipeline_desc);
-
-        gtk_widget_show (GTK_WIDGET (mi));
-        gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (mi));
+    if (!devices_added) {
+      GtkTreeIter iter;
+
+      gtk_list_store_append (store, &iter);
+      gtk_list_store_set (store, &iter,
+                          0, insensitive_label,
+                          1, (gpointer) pipeline_desc,
+                          2, NULL, -1);
     }
 
-    gtk_option_menu_set_menu (editor->devicemenu, GTK_WIDGET (menu));
-    
-    if (mi_preselect!=NULL) {
-      gtk_option_menu_set_history (editor->devicemenu,
-          g_list_index (GTK_MENU_SHELL (menu)->children, GTK_WIDGET (mi_preselect)));
+    gtk_combo_box_set_model (editor->devicemenu, GTK_TREE_MODEL (store));
+
+    if (preselect) {
+      gtk_combo_box_set_active_iter (editor->devicemenu, &preselection);
     }
 
     g_free (insensitive_label);
-  }  
+  }
 }
 
 static void
@@ -369,23 +381,20 @@ update_from_option (GSTPPipelineEditor * editor,
   }
 }
 
-static void
-set_menuitem_by_pipeline (GtkWidget * widget, gpointer data)
+static gboolean
+set_menuitem_by_pipeline (GtkTreeModel *model, GtkTreePath *path,
+                          GtkTreeIter *iter, gpointer data)
 {
   GSTPPipelineEditor *editor = (GSTPPipelineEditor *) (data);
+  GSTPPipelineDescription *pipeline_desc;
 
-  if (GTK_IS_MENU_ITEM (widget)) {
-    GtkMenuItem *mi = GTK_MENU_ITEM (widget);
-    GSTPPipelineDescription *pipeline_desc =
-        (GSTPPipelineDescription *) (g_object_get_data (G_OBJECT (mi),
-            pipeline_desc_property));
-    if (pipeline_desc == (editor->pipeline_desc + editor->cur_pipeline_index)) {
-      GtkMenuShell *menu =
-          GTK_MENU_SHELL (gtk_option_menu_get_menu (editor->optionmenu));
-      gtk_option_menu_set_history (editor->optionmenu,
-          g_list_index (menu->children, mi));
-    }
+  gtk_tree_model_get (model, iter, 1, &pipeline_desc, -1);
+  if (pipeline_desc == (editor->pipeline_desc + editor->cur_pipeline_index)) {
+    gtk_combo_box_set_active_iter (editor->optionmenu, iter);
+    return TRUE;
   }
+
+  return FALSE;
 }
 
 static void
@@ -430,10 +439,9 @@ update_from_gconf (GSTPPipelineEditor * editor, const gchar * pipeline_str)
   }
 
   if (editor->cur_pipeline_index >= 0) {
-    GtkMenu *menu = GTK_MENU (gtk_option_menu_get_menu (editor->optionmenu));
+    GtkTreeModel *model = gtk_combo_box_get_model (editor->optionmenu);
 
-    gtk_container_foreach (GTK_CONTAINER (menu), set_menuitem_by_pipeline,
-        editor);
+    gtk_tree_model_foreach (model, set_menuitem_by_pipeline, editor);
     update_from_option (editor,
         editor->pipeline_desc + editor->cur_pipeline_index);
   }
@@ -442,21 +450,19 @@ update_from_gconf (GSTPPipelineEditor * editor, const gchar * pipeline_str)
 }
 
 static void
-pipeline_option_changed (GtkOptionMenu * optionmenu, gpointer user_data)
+pipeline_option_changed (GtkComboBox *optionmenu, gpointer user_data)
 {
+  GtkTreeIter iter;
+  GtkTreeModel *model = gtk_combo_box_get_model (optionmenu);
+  gboolean active;
   GSTPPipelineEditor *editor = (GSTPPipelineEditor *) (user_data);
-  GtkMenu *menu = NULL;
-  GtkMenuItem *mi = NULL;
   GSTPPipelineDescription *pipeline_desc = NULL;
 
   /* Determine which option changed, retrieve the pipeline desc,
    * and call update_from_option */
-  menu = GTK_MENU (gtk_option_menu_get_menu (optionmenu));
-  /*FIXME: g_return_if_fail (menu != NULL); */
-  mi = GTK_MENU_ITEM (gtk_menu_get_active (menu));
-  pipeline_desc =
-      (GSTPPipelineDescription *) (g_object_get_data (G_OBJECT (mi),
-          pipeline_desc_property));
+  active = gtk_combo_box_get_active_iter (optionmenu, &iter);
+  g_return_if_fail (active == TRUE);
+  gtk_tree_model_get (model, &iter, 1, &pipeline_desc, -1);
 
   update_from_option (editor, pipeline_desc);
 }
@@ -510,20 +516,26 @@ element_available (const gchar * pipeline)
   return res;
 }
 
-static GtkOptionMenu *
+static GtkComboBox *
 create_pipeline_menu (GtkBuilder * dialog, GSTPPipelineEditor * editor)
 {
-  GtkOptionMenu *option = NULL;
+  GtkComboBox *option = NULL;
   gint i;
   GSTPPipelineDescription *pipeline_desc = editor->pipeline_desc;
 
 
-  option = GTK_OPTION_MENU (WID (editor->optionmenu_name));
+  option = GTK_COMBO_BOX (WID (editor->optionmenu_name));
   if (option) {
-    GtkMenu *menu = GTK_MENU (gtk_menu_new ());
-    GtkMenuItem *mi = NULL;
+    GtkListStore *list_store = gtk_list_store_new (2, G_TYPE_STRING,
+                                                   G_TYPE_POINTER);
+    GtkCellRenderer *cellrenderer = gtk_cell_renderer_text_new ();
 
+    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (option), cellrenderer, TRUE);
+    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (option), cellrenderer,
+                                   "text", 0);
     for (i = 0; i < editor->n_pipeline_desc; i++) {
+      GtkTreeIter iter;
+
       if (element_available (pipeline_desc[i].pipeline)) {
         GstElement *pipeline;
         GError *error = NULL;
@@ -547,16 +559,14 @@ create_pipeline_menu (GtkBuilder * dialog, GSTPPipelineEditor * editor)
         /* This is probably the 'Custom' pipeline */
       }
 
-      mi = GTK_MENU_ITEM (gtk_menu_item_new_with_label (
-      gettext (pipeline_desc[i].name)));
+      gtk_list_store_append (list_store, &iter);
+      gtk_list_store_set (list_store, &iter,
+                          0, gettext (pipeline_desc[i].name),
+                          1, (gpointer) & pipeline_desc[i], -1);
       pipeline_desc[i].index = i;
-      g_object_set_data (G_OBJECT (mi), pipeline_desc_property,
-          (gpointer) & pipeline_desc[i]);
-      gtk_widget_show (GTK_WIDGET (mi));
-      gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (mi));
     }
 
-    gtk_option_menu_set_menu (option, GTK_WIDGET (menu));
+    gtk_combo_box_set_model (option, GTK_TREE_MODEL (list_store));
   }
 
   return option;
diff --git a/gstreamer-properties/gstreamer-properties.ui b/gstreamer-properties/gstreamer-properties.ui
index c46e20d..32adf67 100644
--- a/gstreamer-properties/gstreamer-properties.ui
+++ b/gstreamer-properties/gstreamer-properties.ui
@@ -1,279 +1,132 @@
 <?xml version="1.0"?>
-<!--*- mode: xml -*-->
 <interface>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-naming-policy toplevel-contextual -->
   <object class="GtkDialog" id="gst_properties_dialog">
-    <property name="border_width">5</property>
     <property name="visible">True</property>
+    <property name="border_width">5</property>
     <property name="title" translatable="yes">Multimedia Systems Selector</property>
-    <property name="type">GTK_WINDOW_TOPLEVEL</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="modal">False</property>
     <property name="resizable">False</property>
-    <property name="destroy_with_parent">False</property>
-    <property name="decorated">True</property>
-    <property name="skip_taskbar_hint">False</property>
-    <property name="skip_pager_hint">False</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-    <property name="focus_on_map">True</property>
-    <property name="urgency_hint">False</property>
+    <property name="window_position">center</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
       <object class="GtkVBox" id="gst_properties_vbox">
         <property name="visible">True</property>
-        <property name="homogeneous">False</property>
         <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="gst_properties_action_area">
-            <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <object class="GtkButton" id="gst_properties_help_button">
-                <property name="visible">True</property>
-                <property name="can_default">True</property>
-                <property name="can_focus">True</property>
-                <property name="label">gtk-help</property>
-                <property name="use_stock">True</property>
-                <property name="relief">GTK_RELIEF_NORMAL</property>
-                <property name="focus_on_click">True</property>
-              </object>
-            </child>
-            <child>
-              <object class="GtkButton" id="gst_properties_close_button">
-                <property name="visible">True</property>
-                <property name="can_default">True</property>
-                <property name="can_focus">True</property>
-                <property name="label">gtk-close</property>
-                <property name="use_stock">True</property>
-                <property name="relief">GTK_RELIEF_NORMAL</property>
-                <property name="focus_on_click">True</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">GTK_PACK_END</property>
-          </packing>
-        </child>
         <child>
           <object class="GtkNotebook" id="gst_properties_content_notebook">
-            <property name="border_width">5</property>
             <property name="visible">True</property>
             <property name="can_focus">True</property>
-            <property name="show_tabs">True</property>
-            <property name="show_border">True</property>
-            <property name="tab_pos">GTK_POS_TOP</property>
-            <property name="scrollable">False</property>
-            <property name="enable_popup">False</property>
+            <property name="border_width">5</property>
             <child>
               <object class="GtkVBox" id="audio_vbox">
-                <property name="border_width">12</property>
                 <property name="visible">True</property>
-                <property name="homogeneous">False</property>
+                <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
                   <object class="GtkTable" id="audiosink_table">
                     <property name="visible">True</property>
                     <property name="n_rows">2</property>
                     <property name="n_columns">2</property>
-                    <property name="homogeneous">False</property>
                     <property name="row_spacing">6</property>
-                    <property name="column_spacing">0</property>
                     <child>
                       <object class="GtkLabel" id="audiosink_label">
                         <property name="visible">True</property>
+                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Default Output&lt;/b&gt;</property>
-                        <property name="use_underline">False</property>
                         <property name="use_markup">True</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
-                        <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
                         <property name="right_attach">2</property>
-                        <property name="top_attach">0</property>
-                        <property name="bottom_attach">1</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options"/>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="audiosink_spacer">
                         <property name="width_request">18</property>
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"/>
-                        <property name="use_underline">False</property>
-                        <property name="use_markup">False</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
                         <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="right_attach">1</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options">fill</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkTable" id="audiosink_inner_table">
-                        <property name="border_width">3</property>
                         <property name="visible">True</property>
+                        <property name="border_width">3</property>
                         <property name="n_rows">3</property>
                         <property name="n_columns">2</property>
-                        <property name="homogeneous">False</property>
-                        <property name="row_spacing">6</property>
                         <property name="column_spacing">12</property>
+                        <property name="row_spacing">6</property>
                         <child>
                           <object class="GtkLabel" id="audiosink_output_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">_Plugin:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosink_optionmenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkOptionMenu" id="audiosink_optionmenu">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="history">-1</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="audiosink_pipeline_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">P_ipeline:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
                             <property name="mnemonic_widget">audiosink_pipeline_entry</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkHBox" id="audiosink_pipeline_hbox">
                             <property name="visible">True</property>
-                            <property name="homogeneous">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkEntry" id="audiosink_pipeline_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="editable">True</property>
-                                <property name="visibility">True</property>
-                                <property name="max_length">0</property>
-                                <property name="text" translatable="yes"/>
-                                <property name="has_frame">True</property>
-                                <property name="invisible_char">*</property>
-                                <property name="activates_default">False</property>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkButton" id="audiosink_test_button">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="relief">GTK_RELIEF_NORMAL</property>
-                                <property name="focus_on_click">True</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <object class="GtkAlignment" id="audiosink_test_button_alignment">
                                     <property name="visible">True</property>
-                                    <property name="xalign">0.5</property>
-                                    <property name="yalign">0.5</property>
                                     <property name="xscale">0</property>
                                     <property name="yscale">0</property>
-                                    <property name="top_padding">0</property>
-                                    <property name="bottom_padding">0</property>
-                                    <property name="left_padding">0</property>
-                                    <property name="right_padding">0</property>
                                     <child>
                                       <object class="GtkHBox" id="audiosink_test_button_hbox">
                                         <property name="visible">True</property>
-                                        <property name="homogeneous">False</property>
                                         <property name="spacing">2</property>
                                         <child>
                                           <object class="GtkImage" id="audiosink_test_button_image">
                                             <property name="visible">True</property>
                                             <property name="stock">gtk-apply</property>
-                                            <property name="icon_size">4</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -281,23 +134,11 @@
                                             <property name="visible">True</property>
                                             <property name="label" translatable="yes">_Test</property>
                                             <property name="use_underline">True</property>
-                                            <property name="use_markup">False</property>
-                                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                            <property name="wrap">False</property>
-                                            <property name="selectable">False</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
-                                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                                            <property name="width_chars">-1</property>
-                                            <property name="single_line_mode">False</property>
-                                            <property name="angle">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">1</property>
                                           </packing>
                                         </child>
                                       </object>
@@ -306,9 +147,9 @@
                                 </child>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
@@ -317,52 +158,44 @@
                             <property name="right_attach">2</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options">fill</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="audiosink_device_label">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">_Device:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkOptionMenu" id="audiosink_devicemenu">
+                          <object class="GtkComboBox" id="audiosink_optionmenu">
                             <property name="visible">True</property>
-                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
-                            <property name="history">-1</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="audiosink_device_label">
+                          <object class="GtkComboBox" id="audiosink_devicemenu">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Device:</property>
-                            <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosink_devicemenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
+                            <property name="can_focus">True</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
                           </packing>
                         </child>
                       </object>
@@ -371,14 +204,13 @@
                         <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="y_options">fill</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="padding">0</property>
                     <property name="expand">False</property>
-                    <property name="fill">True</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -386,202 +218,104 @@
                     <property name="visible">True</property>
                     <property name="n_rows">2</property>
                     <property name="n_columns">2</property>
-                    <property name="homogeneous">False</property>
                     <property name="row_spacing">6</property>
-                    <property name="column_spacing">0</property>
                     <child>
                       <object class="GtkLabel" id="audiosrc_label">
                         <property name="visible">True</property>
+                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Default Input&lt;/b&gt;</property>
-                        <property name="use_underline">False</property>
                         <property name="use_markup">True</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
-                        <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
                         <property name="right_attach">2</property>
-                        <property name="top_attach">0</property>
-                        <property name="bottom_attach">1</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options"/>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="audiosrc_spacer">
                         <property name="width_request">18</property>
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"/>
-                        <property name="use_underline">False</property>
-                        <property name="use_markup">False</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
                         <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="right_attach">1</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options">fill</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkTable" id="audiosrc_inner_table">
-                        <property name="border_width">3</property>
                         <property name="visible">True</property>
+                        <property name="border_width">3</property>
                         <property name="n_rows">3</property>
                         <property name="n_columns">2</property>
-                        <property name="homogeneous">False</property>
-                        <property name="row_spacing">6</property>
                         <property name="column_spacing">12</property>
+                        <property name="row_spacing">6</property>
                         <child>
                           <object class="GtkLabel" id="audiosrc_input_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">P_lugin:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosrc_optionmenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkOptionMenu" id="audiosrc_optionmenu">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="history">-1</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="audiosrc_pipeline_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">Pipeli_ne:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
                             <property name="mnemonic_widget">audiosrc_pipeline_entry</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkHBox" id="audiosrc_pipeline_hbox">
                             <property name="visible">True</property>
-                            <property name="homogeneous">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkEntry" id="audiosrc_pipeline_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="editable">True</property>
-                                <property name="visibility">True</property>
-                                <property name="max_length">0</property>
-                                <property name="text" translatable="yes"/>
-                                <property name="has_frame">True</property>
-                                <property name="invisible_char">*</property>
-                                <property name="activates_default">False</property>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkButton" id="audiosrc_test_button">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="relief">GTK_RELIEF_NORMAL</property>
-                                <property name="focus_on_click">True</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <object class="GtkAlignment" id="audiosrc_test_button_alignment">
                                     <property name="visible">True</property>
-                                    <property name="xalign">0.5</property>
-                                    <property name="yalign">0.5</property>
                                     <property name="xscale">0</property>
                                     <property name="yscale">0</property>
-                                    <property name="top_padding">0</property>
-                                    <property name="bottom_padding">0</property>
-                                    <property name="left_padding">0</property>
-                                    <property name="right_padding">0</property>
                                     <child>
                                       <object class="GtkHBox" id="audiosrc_test_button_hbox">
                                         <property name="visible">True</property>
-                                        <property name="homogeneous">False</property>
                                         <property name="spacing">2</property>
                                         <child>
                                           <object class="GtkImage" id="audiosrc_test_button_image">
                                             <property name="visible">True</property>
                                             <property name="stock">gtk-apply</property>
-                                            <property name="icon_size">4</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -589,23 +323,11 @@
                                             <property name="visible">True</property>
                                             <property name="label" translatable="yes">Te_st</property>
                                             <property name="use_underline">True</property>
-                                            <property name="use_markup">False</property>
-                                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                            <property name="wrap">False</property>
-                                            <property name="selectable">False</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
-                                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                                            <property name="width_chars">-1</property>
-                                            <property name="single_line_mode">False</property>
-                                            <property name="angle">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">1</property>
                                           </packing>
                                         </child>
                                       </object>
@@ -614,9 +336,9 @@
                                 </child>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
@@ -625,52 +347,44 @@
                             <property name="right_attach">2</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options">fill</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="audiosrc_device_label">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">D_evice:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkOptionMenu" id="audiosrc_devicemenu">
+                          <object class="GtkComboBox" id="audiosrc_optionmenu">
                             <property name="visible">True</property>
-                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
-                            <property name="history">-1</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="audiosrc_device_label">
+                          <object class="GtkComboBox" id="audiosrc_devicemenu">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes">D_evice:</property>
-                            <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosink_devicemenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
+                            <property name="can_focus">True</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
                           </packing>
                         </child>
                       </object>
@@ -679,220 +393,119 @@
                         <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="y_options">fill</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="padding">0</property>
                     <property name="expand">False</property>
-                    <property name="fill">True</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
               </object>
-              <packing>
-                <property name="tab_expand">False</property>
-                <property name="tab_fill">True</property>
-              </packing>
             </child>
             <child type="tab">
               <object class="GtkLabel" id="audio_label">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">Audio</property>
-                <property name="use_underline">False</property>
-                <property name="use_markup">False</property>
-                <property name="justify">GTK_JUSTIFY_LEFT</property>
-                <property name="wrap">False</property>
-                <property name="selectable">False</property>
-                <property name="xalign">0.5</property>
-                <property name="yalign">0.5</property>
-                <property name="xpad">0</property>
-                <property name="ypad">0</property>
-                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                <property name="width_chars">-1</property>
-                <property name="single_line_mode">False</property>
-                <property name="angle">0</property>
               </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
             </child>
             <child>
               <object class="GtkVBox" id="video_vbox">
-                <property name="border_width">12</property>
                 <property name="visible">True</property>
-                <property name="homogeneous">False</property>
+                <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
                   <object class="GtkTable" id="videosink_table">
                     <property name="visible">True</property>
                     <property name="n_rows">2</property>
                     <property name="n_columns">2</property>
-                    <property name="homogeneous">False</property>
                     <property name="row_spacing">6</property>
-                    <property name="column_spacing">0</property>
                     <child>
                       <object class="GtkLabel" id="videosink_label">
                         <property name="visible">True</property>
+                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Default Output&lt;/b&gt;</property>
-                        <property name="use_underline">False</property>
                         <property name="use_markup">True</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
-                        <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
                         <property name="right_attach">2</property>
-                        <property name="top_attach">0</property>
-                        <property name="bottom_attach">1</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options"/>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="videosink_spacer">
                         <property name="width_request">18</property>
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"/>
-                        <property name="use_underline">False</property>
-                        <property name="use_markup">False</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
                         <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="right_attach">1</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options">fill</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkTable" id="videosink_inner_table">
-                        <property name="border_width">3</property>
                         <property name="visible">True</property>
+                        <property name="border_width">3</property>
                         <property name="n_rows">3</property>
                         <property name="n_columns">2</property>
-                        <property name="homogeneous">False</property>
-                        <property name="row_spacing">6</property>
                         <property name="column_spacing">12</property>
+                        <property name="row_spacing">6</property>
                         <child>
                           <object class="GtkLabel" id="videosink_output_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">_Plugin:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosink_optionmenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkOptionMenu" id="videosink_optionmenu">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="history">-1</property>
                           </object>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkHBox" id="videosink_pipeline_hbox">
                             <property name="visible">True</property>
-                            <property name="homogeneous">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkEntry" id="videosink_pipeline_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="editable">True</property>
-                                <property name="visibility">True</property>
-                                <property name="max_length">0</property>
-                                <property name="text" translatable="yes"/>
-                                <property name="has_frame">True</property>
-                                <property name="invisible_char">*</property>
-                                <property name="activates_default">False</property>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkButton" id="videosink_test_button">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="relief">GTK_RELIEF_NORMAL</property>
-                                <property name="focus_on_click">True</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <object class="GtkAlignment" id="videosink_test_button_alignment">
                                     <property name="visible">True</property>
-                                    <property name="xalign">0.5</property>
-                                    <property name="yalign">0.5</property>
                                     <property name="xscale">0</property>
                                     <property name="yscale">0</property>
-                                    <property name="top_padding">0</property>
-                                    <property name="bottom_padding">0</property>
-                                    <property name="left_padding">0</property>
-                                    <property name="right_padding">0</property>
                                     <child>
                                       <object class="GtkHBox" id="videosink_test_button_hbox">
                                         <property name="visible">True</property>
-                                        <property name="homogeneous">False</property>
                                         <property name="spacing">2</property>
                                         <child>
                                           <object class="GtkImage" id="videosink_test_button_image">
                                             <property name="visible">True</property>
                                             <property name="stock">gtk-apply</property>
-                                            <property name="icon_size">4</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -900,23 +513,11 @@
                                             <property name="visible">True</property>
                                             <property name="label" translatable="yes">_Test</property>
                                             <property name="use_underline">True</property>
-                                            <property name="use_markup">False</property>
-                                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                            <property name="wrap">False</property>
-                                            <property name="selectable">False</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
-                                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                                            <property name="width_chars">-1</property>
-                                            <property name="single_line_mode">False</property>
-                                            <property name="angle">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">1</property>
                                           </packing>
                                         </child>
                                       </object>
@@ -925,9 +526,9 @@
                                 </child>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
@@ -936,79 +537,59 @@
                             <property name="right_attach">2</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options">fill</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="videosink_pipeline_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">P_ipeline:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
                             <property name="mnemonic_widget">videosink_pipeline_entry</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="videosink_device_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">_Device:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosink_devicemenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkOptionMenu" id="videosink_devicemenu">
+                          <object class="GtkComboBox" id="videosink_optionmenu">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="videosink_devicemenu">
                             <property name="visible">True</property>
-                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
-                            <property name="history">-1</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
-                            <property name="y_options"/>
                           </packing>
                         </child>
                       </object>
@@ -1017,14 +598,13 @@
                         <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="y_options">fill</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="padding">0</property>
                     <property name="expand">False</property>
-                    <property name="fill">True</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -1032,174 +612,89 @@
                     <property name="visible">True</property>
                     <property name="n_rows">2</property>
                     <property name="n_columns">2</property>
-                    <property name="homogeneous">False</property>
                     <property name="row_spacing">6</property>
-                    <property name="column_spacing">0</property>
                     <child>
                       <object class="GtkLabel" id="videosrc_label">
                         <property name="visible">True</property>
+                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Default Input&lt;/b&gt;</property>
-                        <property name="use_underline">False</property>
                         <property name="use_markup">True</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
-                        <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
                         <property name="right_attach">2</property>
-                        <property name="top_attach">0</property>
-                        <property name="bottom_attach">1</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options"/>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="videosrc_spacer">
                         <property name="width_request">18</property>
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes"/>
-                        <property name="use_underline">False</property>
-                        <property name="use_markup">False</property>
-                        <property name="justify">GTK_JUSTIFY_LEFT</property>
-                        <property name="wrap">False</property>
-                        <property name="selectable">False</property>
                         <property name="xalign">0</property>
-                        <property name="yalign">0.5</property>
-                        <property name="xpad">0</property>
-                        <property name="ypad">0</property>
-                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                        <property name="width_chars">-1</property>
-                        <property name="single_line_mode">False</property>
-                        <property name="angle">0</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="right_attach">1</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="x_options">fill</property>
-                        <property name="y_options">fill</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkTable" id="videosrc_inner_table">
-                        <property name="border_width">3</property>
                         <property name="visible">True</property>
+                        <property name="border_width">3</property>
                         <property name="n_rows">3</property>
                         <property name="n_columns">2</property>
-                        <property name="homogeneous">False</property>
-                        <property name="row_spacing">6</property>
                         <property name="column_spacing">12</property>
+                        <property name="row_spacing">6</property>
                         <child>
                           <object class="GtkLabel" id="videosrc_input_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">P_lugin:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosrc_optionmenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
-                          </object>
-                          <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkOptionMenu" id="videosrc_optionmenu">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="history">-1</property>
                           </object>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">0</property>
-                            <property name="bottom_attach">1</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkHBox" id="videosrc_pipeline_hbox">
                             <property name="visible">True</property>
-                            <property name="homogeneous">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkEntry" id="videosrc_pipeline_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="editable">True</property>
-                                <property name="visibility">True</property>
-                                <property name="max_length">0</property>
-                                <property name="text" translatable="yes"/>
-                                <property name="has_frame">True</property>
-                                <property name="invisible_char">*</property>
-                                <property name="activates_default">False</property>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkButton" id="videosrc_test_button">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="relief">GTK_RELIEF_NORMAL</property>
-                                <property name="focus_on_click">True</property>
+                                <property name="receives_default">False</property>
                                 <child>
                                   <object class="GtkAlignment" id="videosrc_test_button_alignment">
                                     <property name="visible">True</property>
-                                    <property name="xalign">0.5</property>
-                                    <property name="yalign">0.5</property>
                                     <property name="xscale">0</property>
                                     <property name="yscale">0</property>
-                                    <property name="top_padding">0</property>
-                                    <property name="bottom_padding">0</property>
-                                    <property name="left_padding">0</property>
-                                    <property name="right_padding">0</property>
                                     <child>
                                       <object class="GtkHBox" id="videosrc_test_button_hbox">
                                         <property name="visible">True</property>
-                                        <property name="homogeneous">False</property>
                                         <property name="spacing">2</property>
                                         <child>
                                           <object class="GtkImage" id="videosrc_test_button_image">
                                             <property name="visible">True</property>
                                             <property name="stock">gtk-apply</property>
-                                            <property name="icon_size">4</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -1207,23 +702,11 @@
                                             <property name="visible">True</property>
                                             <property name="label" translatable="yes">Te_st</property>
                                             <property name="use_underline">True</property>
-                                            <property name="use_markup">False</property>
-                                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                                            <property name="wrap">False</property>
-                                            <property name="selectable">False</property>
-                                            <property name="xalign">0.5</property>
-                                            <property name="yalign">0.5</property>
-                                            <property name="xpad">0</property>
-                                            <property name="ypad">0</property>
-                                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                                            <property name="width_chars">-1</property>
-                                            <property name="single_line_mode">False</property>
-                                            <property name="angle">0</property>
                                           </object>
                                           <packing>
-                                            <property name="padding">0</property>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">1</property>
                                           </packing>
                                         </child>
                                       </object>
@@ -1232,9 +715,9 @@
                                 </child>
                               </object>
                               <packing>
-                                <property name="padding">0</property>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
                           </object>
@@ -1243,79 +726,59 @@
                             <property name="right_attach">2</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options">fill</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="videosrc_pipeline_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">Pipeli_ne:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
                             <property name="mnemonic_widget">videosrc_pipeline_entry</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
                           <object class="GtkLabel" id="videosrc_device_label">
                             <property name="visible">True</property>
+                            <property name="xalign">0</property>
                             <property name="label" translatable="yes">D_evice:</property>
                             <property name="use_underline">True</property>
-                            <property name="use_markup">False</property>
-                            <property name="justify">GTK_JUSTIFY_LEFT</property>
-                            <property name="wrap">False</property>
-                            <property name="selectable">False</property>
-                            <property name="xalign">0</property>
-                            <property name="yalign">0.5</property>
-                            <property name="xpad">0</property>
-                            <property name="ypad">0</property>
-                            <property name="mnemonic_widget">audiosink_devicemenu</property>
-                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                            <property name="width_chars">-1</property>
-                            <property name="single_line_mode">False</property>
-                            <property name="angle">0</property>
                           </object>
                           <packing>
-                            <property name="left_attach">0</property>
-                            <property name="right_attach">1</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
-                            <property name="x_options">fill</property>
-                            <property name="y_options"/>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkOptionMenu" id="videosrc_devicemenu">
+                          <object class="GtkComboBox" id="videosrc_optionmenu">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="videosrc_devicemenu">
                             <property name="visible">True</property>
-                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
-                            <property name="history">-1</property>
                           </object>
                           <packing>
                             <property name="left_attach">1</property>
                             <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
-                            <property name="y_options"/>
                           </packing>
                         </child>
                       </object>
@@ -1324,46 +787,74 @@
                         <property name="right_attach">2</property>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
-                        <property name="y_options">fill</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="padding">0</property>
                     <property name="expand">False</property>
-                    <property name="fill">True</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="tab_expand">False</property>
-                <property name="tab_fill">True</property>
+                <property name="position">1</property>
               </packing>
             </child>
             <child type="tab">
               <object class="GtkLabel" id="video_label">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">Video</property>
-                <property name="use_underline">False</property>
-                <property name="use_markup">False</property>
-                <property name="justify">GTK_JUSTIFY_LEFT</property>
-                <property name="wrap">False</property>
-                <property name="selectable">False</property>
-                <property name="xalign">0.5</property>
-                <property name="yalign">0.5</property>
-                <property name="xpad">0</property>
-                <property name="ypad">0</property>
-                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                <property name="width_chars">-1</property>
-                <property name="single_line_mode">False</property>
-                <property name="angle">0</property>
               </object>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="gst_properties_action_area">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="gst_properties_help_button">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="gst_properties_close_button">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
             </child>
           </object>
           <packing>
-            <property name="padding">0</property>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </object>
@@ -1374,124 +865,94 @@
     </action-widgets>
   </object>
   <object class="GtkDialog" id="test_pipeline">
-    <property name="border_width">5</property>
-    <property name="can_default">True</property>
     <property name="can_focus">True</property>
+    <property name="can_default">True</property>
+    <property name="border_width">5</property>
     <property name="title" translatable="yes">Testing Pipeline</property>
-    <property name="type">GTK_WINDOW_TOPLEVEL</property>
-    <property name="window_position">GTK_WIN_POS_NONE</property>
-    <property name="modal">False</property>
     <property name="resizable">False</property>
     <property name="destroy_with_parent">True</property>
-    <property name="decorated">True</property>
-    <property name="skip_taskbar_hint">False</property>
-    <property name="skip_pager_hint">False</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-    <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-    <property name="focus_on_map">True</property>
-    <property name="urgency_hint">False</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
       <object class="GtkVBox" id="test_pipeline_vbox">
         <property name="visible">True</property>
-        <property name="homogeneous">False</property>
         <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="test_pipeline_action_area">
-            <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
-            <child>
-              <object class="GtkButton" id="test_pipeline_ok_button">
-                <property name="visible">True</property>
-                <property name="can_default">True</property>
-                <property name="can_focus">True</property>
-                <property name="label">gtk-ok</property>
-                <property name="use_stock">True</property>
-                <property name="relief">GTK_RELIEF_NORMAL</property>
-                <property name="focus_on_click">True</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="padding">0</property>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
-          </packing>
-        </child>
         <child>
           <object class="GtkVBox" id="test_pipeline_content_vbox">
-            <property name="border_width">5</property>
             <property name="visible">True</property>
-            <property name="homogeneous">False</property>
+            <property name="border_width">5</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkLabel" id="test_pipeline_testing_label">
                 <property name="visible">True</property>
+                <property name="xalign">0</property>
                 <property name="label" translatable="yes">&lt;span weight="bold" size="x-large"&gt;Testing...&lt;/span&gt;</property>
-                <property name="use_underline">False</property>
                 <property name="use_markup">True</property>
-                <property name="justify">GTK_JUSTIFY_CENTER</property>
-                <property name="wrap">False</property>
-                <property name="selectable">False</property>
-                <property name="xalign">0</property>
-                <property name="yalign">0.5</property>
-                <property name="xpad">0</property>
-                <property name="ypad">0</property>
-                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                <property name="width_chars">-1</property>
-                <property name="single_line_mode">False</property>
-                <property name="angle">0</property>
+                <property name="justify">center</property>
               </object>
               <packing>
-                <property name="padding">0</property>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
               <object class="GtkProgressBar" id="test_pipeline_progress">
                 <property name="visible">True</property>
-                <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
                 <property name="fraction">0.10000000149</property>
-                <property name="pulse_step">0.0500000007451</property>
-                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                <property name="pulse_step">0.050000000745099998</property>
               </object>
               <packing>
-                <property name="padding">0</property>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">1</property>
               </packing>
             </child>
             <child>
               <object class="GtkLabel" id="test_pipeline_desc_label">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">Click Ok to finish.</property>
-                <property name="use_underline">False</property>
-                <property name="use_markup">False</property>
-                <property name="justify">GTK_JUSTIFY_CENTER</property>
-                <property name="wrap">False</property>
-                <property name="selectable">False</property>
                 <property name="xalign">0</property>
-                <property name="yalign">0.5</property>
-                <property name="xpad">0</property>
-                <property name="ypad">0</property>
-                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                <property name="width_chars">-1</property>
-                <property name="single_line_mode">False</property>
-                <property name="angle">0</property>
+                <property name="label" translatable="yes">Click Ok to finish.</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="test_pipeline_action_area">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="test_pipeline_ok_button">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
               </object>
               <packing>
-                <property name="padding">0</property>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="padding">0</property>
             <property name="expand">False</property>
             <property name="fill">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </object>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]