[pitivi] Port PiTiVi to GtkBuilder!



commit d6ce97800c306d052a6acaff1ae43935292efb84
Author: Thibault Saunier <thibault saunier collabora com>
Date:   Fri Jun 3 02:13:10 2011 -0400

    Port PiTiVi to GtkBuilder!

 data/ui/elementsettingsdialog.ui |  132 +++++----
 data/ui/encodingdialog.ui        |  545 +++++++++++++++++++++++------------
 data/ui/encodingprogress.ui      |  163 ++++++-----
 data/ui/filelisterrordialog.ui   |   54 ++--
 data/ui/projectsettings.ui       |  592 ++++++++++++++++++++++++--------------
 pitivi/check.py                  |    3 -
 pitivi/ui/Makefile.am            |    1 -
 pitivi/ui/encodingdialog.py      |   47 +++-
 pitivi/ui/encodingprogress.py    |   18 +-
 pitivi/ui/filelisterrordialog.py |   18 +-
 pitivi/ui/glade.py               |  190 ------------
 pitivi/ui/gstwidget.py           |   21 +-
 pitivi/ui/mainwindow.py          |    8 +-
 pitivi/ui/pluginmanagerdialog.py |   25 +-
 pitivi/ui/projectsettings.py     |   49 +++-
 win32/pitivi                     |    7 -
 win32/setup.py                   |   10 -
 17 files changed, 1057 insertions(+), 826 deletions(-)
---
diff --git a/data/ui/elementsettingsdialog.ui b/data/ui/elementsettingsdialog.ui
index f8d19c3..5dbfcad 100644
--- a/data/ui/elementsettingsdialog.ui
+++ b/data/ui/elementsettingsdialog.ui
@@ -1,78 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<interface>
   <!-- interface-requires gtk+ 2.6 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="dialog1">
+  <object class="GtkDialog" id="dialog1">
     <property name="visible">True</property>
+    <property name="can_focus">False</property>
     <property name="border_width">3</property>
     <property name="title" translatable="yes">Properties for &lt;element&gt;</property>
     <property name="modal">True</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <child>
-          <widget class="GtkVBox" id="vbox1">
-            <property name="visible">True</property>
-            <property name="border_width">12</property>
-            <property name="spacing">12</property>
-            <child>
-              <widget class="GtkLabel" id="infolabel">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">&lt;b&gt;Properties For Plugin&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
-                <property name="shadow_type">in</property>
-                <child>
-                  <widget class="GtkViewport" id="viewport1">
-                    <property name="visible">True</property>
-                    <property name="resize_mode">queue</property>
-                    <property name="shadow_type">none</property>
-                    <child>
-                      <widget class="Custom" id="elementsettings">
-                        <property name="visible">True</property>
-                        <property name="creation_function">pitivi.ui.gstwidget.GstElementSettingsWidget()</property>
-                      </widget>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">-1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
+        <property name="can_focus">False</property>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="cancelbutton1">
+              <object class="GtkButton" id="cancelbutton1">
                 <property name="label">gtk-cancel</property>
-                <property name="response_id">-6</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_action_appearance">False</property>
                 <property name="use_stock">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
@@ -80,29 +34,81 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="okbutton1">
+              <object class="GtkButton" id="okbutton1">
                 <property name="label">gtk-ok</property>
-                <property name="response_id">-5</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_action_appearance">False</property>
                 <property name="use_stock">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
+            <property name="fill">True</property>
             <property name="pack_type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+        <child>
+          <object class="GtkVBox" id="vbox1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">12</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkScrolledWindow" id="scrolledwindow1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <object class="GtkViewport" id="viewport1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="resize_mode">queue</property>
+                    <property name="shadow_type">none</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">-1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="infolabel">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Properties For Plugin&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton1</action-widget>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/data/ui/encodingdialog.ui b/data/ui/encodingdialog.ui
index 861aebd..59eee06 100644
--- a/data/ui/encodingdialog.ui
+++ b/data/ui/encodingdialog.ui
@@ -1,55 +1,181 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<interface>
   <!-- interface-requires gtk+ 2.6 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="render-dialog">
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="lower">1</property>
+    <property name="upper">100</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkListStore" id="model1">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">MP4</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model2">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">H.264</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model3">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">29.97 fps</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model4">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">AC-3</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">AAC</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model5">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">6 channels (5.1)</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="render-dialog">
+    <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="title" translatable="yes">Render</property>
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox3">
+      <object class="GtkBox" id="dialog-vbox3">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="spacing">12</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="_cancelButtonClickedCb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="recordbutton">
+                <property name="label">pitivi-render</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="_renderButtonClickedCb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <widget class="GtkNotebook" id="notebook1">
+          <object class="GtkNotebook" id="notebook1">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <widget class="GtkVBox" id="vbox1">
+              <object class="GtkVBox" id="vbox1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
-                  <widget class="GtkTable" id="table2">
+                  <object class="GtkTable" id="table2">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="n_rows">3</property>
                     <property name="n_columns">2</property>
                     <property name="column_spacing">6</property>
                     <property name="row_spacing">6</property>
                     <child>
-                      <widget class="GtkFileChooserButton" id="filebutton">
+                      <object class="GtkFileChooserButton" id="filebutton">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="action">select-folder</property>
-                        <accessibility>
-                          <atkproperty name="AtkObject::accessible-name" translatable="yes">Folder</atkproperty>
-                        </accessibility>
-                      </widget>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="filebutton-atkobject">
+                            <property name="AtkObject::accessible-name" translatable="yes">Folder</property>
+                          </object>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="muxercombobox">
+                      <object class="GtkComboBox" id="muxercombobox">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="model">model1</property>
                         <property name="active">0</property>
-                        <property name="items" translatable="yes">MP4</property>
-                        <accessibility>
-                          <atkproperty name="AtkObject::accessible-name" translatable="yes">Container format</atkproperty>
-                        </accessibility>
-                        <signal name="changed" handler="_muxerComboChangedCb"/>
-                      </widget>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="muxercombobox-atkobject">
+                            <property name="AtkObject::accessible-name" translatable="yes">Container format</property>
+                          </object>
+                        </child>
+                        <signal name="changed" handler="_muxerComboChangedCb" swapped="no"/>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer1"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -58,52 +184,57 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label2">
+                      <object class="GtkLabel" id="label2">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Container format:</property>
                         <accessibility>
-                          <atkrelation type="label-for" target="muxercombobox"/>
+                          <relation type="label-for" target="muxercombobox"/>
                         </accessibility>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">2</property>
                         <property name="bottom_attach">3</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label1">
+                      <object class="GtkLabel" id="label1">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Folder:</property>
                         <accessibility>
-                          <atkrelation type="label-for" target="filebutton"/>
+                          <relation type="label-for" target="filebutton"/>
                         </accessibility>
-                      </widget>
+                      </object>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label5">
+                      <object class="GtkLabel" id="label5">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">File name:</property>
                         <accessibility>
-                          <atkrelation type="label-for" target="fileentry"/>
+                          <relation type="label-for" target="fileentry"/>
                         </accessibility>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkEntry" id="fileentry">
+                      <object class="GtkEntry" id="fileentry">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="invisible_char">â??</property>
-                        <accessibility>
-                          <atkproperty name="AtkObject::accessible-name" translatable="yes">File name</atkproperty>
-                        </accessibility>
-                      </widget>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="fileentry-atkobject">
+                            <property name="AtkObject::accessible-name" translatable="yes">File name</property>
+                          </object>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -111,86 +242,108 @@
                         <property name="bottom_attach">2</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkCheckButton" id="selected_only_button">
+                  <object class="GtkCheckButton" id="selected_only_button">
                     <property name="label" translatable="yes">Render only the selected clips</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="draw_indicator">True</property>
-                  </widget>
+                  </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkCheckButton" id="draft_button">
+                  <object class="GtkCheckButton" id="draft_button">
                     <property name="label" translatable="yes">Draft (no special effects, single pass)</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
                     <property name="draw_indicator">True</property>
-                  </widget>
+                  </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label12">
+            <child type="tab">
+              <object class="GtkLabel" id="label12">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">General</property>
-              </widget>
+              </object>
               <packing>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox2">
+              <object class="GtkVBox" id="vbox2">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkTable" id="table3">
+                  <object class="GtkTable" id="table3">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="n_rows">3</property>
                     <property name="n_columns">2</property>
                     <property name="column_spacing">6</property>
                     <property name="row_spacing">6</property>
                     <child>
-                      <widget class="GtkHBox" id="hbox5">
+                      <object class="GtkHBox" id="hbox5">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkComboBox" id="video_encoder_combo">
+                          <object class="GtkComboBox" id="video_encoder_combo">
                             <property name="visible">True</property>
-                            <property name="items" translatable="yes">H.264</property>
-                            <signal name="changed" handler="_videoEncoderComboChangedCb"/>
-                          </widget>
+                            <property name="can_focus">False</property>
+                            <property name="model">model2</property>
+                            <signal name="changed" handler="_videoEncoderComboChangedCb" swapped="no"/>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer2"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
                           <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="video_settings_button">
+                          <object class="GtkButton" id="video_settings_button">
                             <property name="label" translatable="yes">Advanced...</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <signal name="clicked" handler="_videoSettingsButtonClickedCb"/>
-                          </widget>
+                            <property name="use_action_appearance">False</property>
+                            <signal name="clicked" handler="_videoSettingsButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -199,11 +352,12 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label16">
+                      <object class="GtkLabel" id="label16">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Codec:</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">2</property>
                         <property name="bottom_attach">3</property>
@@ -211,14 +365,23 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="frame_rate_combo">
+                      <object class="GtkComboBox" id="frame_rate_combo">
                         <property name="visible">True</property>
-                        <property name="items" translatable="yes">29.97 fps</property>
-                        <accessibility>
-                          <atkproperty name="AtkObject::accessible-name" translatable="yes">Framerate</atkproperty>
-                        </accessibility>
-                        <signal name="changed" handler="_frameRateComboChangedCb"/>
-                      </widget>
+                        <property name="can_focus">False</property>
+                        <property name="model">model3</property>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="frame_rate_combo-atkobject">
+                            <property name="AtkObject::accessible-name" translatable="yes">Framerate</property>
+                          </object>
+                        </child>
+                        <signal name="changed" handler="_frameRateComboChangedCb" swapped="no"/>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer3"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -227,21 +390,24 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox3">
+                      <object class="GtkHBox" id="hbox3">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkSpinButton" id="scale_spinbutton">
+                          <object class="GtkSpinButton" id="scale_spinbutton">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="adjustment">1 1 100 1 1 0</property>
+                            <property name="adjustment">adjustment1</property>
                             <property name="digits">1</property>
                             <property name="numeric">True</property>
-                            <accessibility>
-                              <atkproperty name="AtkObject::accessible-name" translatable="yes">Scale</atkproperty>
-                            </accessibility>
-                            <signal name="value_changed" handler="_scaleSpinbuttonChangedCb"/>
-                          </widget>
+                            <child internal-child="accessible">
+                              <object class="AtkObject" id="scale_spinbutton-atkobject">
+                                <property name="AtkObject::accessible-name" translatable="yes">Scale</property>
+                              </object>
+                            </child>
+                            <signal name="value-changed" handler="_scaleSpinbuttonChangedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -249,45 +415,52 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="resolution_label">
+                          <object class="GtkLabel" id="resolution_label">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">1000 x 1000</property>
                             <property name="width_chars">12</property>
-                            <accessibility>
-                              <atkproperty name="AtkObject::accessible-name" translatable="yes">Height</atkproperty>
-                            </accessibility>
-                          </widget>
+                            <child internal-child="accessible">
+                              <object class="AtkObject" id="resolution_label-atkobject">
+                                <property name="AtkObject::accessible-name" translatable="yes">Height</property>
+                              </object>
+                            </child>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="project_settings_button">
+                          <object class="GtkButton" id="project_settings_button">
                             <property name="label" translatable="yes">Edit Project Settings...</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <signal name="clicked" handler="_projectSettingsButtonClickedCb"/>
-                          </widget>
+                            <property name="use_action_appearance">False</property>
+                            <signal name="clicked" handler="_projectSettingsButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
+                            <property name="fill">True</property>
                             <property name="pack_type">end</property>
                             <property name="position">2</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label17">
+                      <object class="GtkLabel" id="label17">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Frame rate:</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
@@ -295,79 +468,93 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label3">
+                      <object class="GtkLabel" id="label3">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Scale:</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="x_options">GTK_FILL</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label13">
+            <child type="tab">
+              <object class="GtkLabel" id="label13">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Video</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox3">
+              <object class="GtkVBox" id="vbox3">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">6</property>
                 <child>
-                  <widget class="GtkTable" id="table4">
+                  <object class="GtkTable" id="table4">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="n_rows">4</property>
                     <property name="n_columns">2</property>
                     <property name="column_spacing">6</property>
                     <property name="row_spacing">6</property>
                     <child>
-                      <widget class="GtkHBox" id="hbox4">
+                      <object class="GtkHBox" id="hbox4">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkComboBox" id="audio_encoder_combo">
+                          <object class="GtkComboBox" id="audio_encoder_combo">
                             <property name="visible">True</property>
-                            <property name="items" translatable="yes">AC-3
-AAC</property>
-                            <signal name="changed" handler="_audioEncoderChangedComboCb"/>
-                          </widget>
+                            <property name="can_focus">False</property>
+                            <property name="model">model4</property>
+                            <signal name="changed" handler="_audioEncoderChangedComboCb" swapped="no"/>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer4"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
                           <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="audio_settings_button">
+                          <object class="GtkButton" id="audio_settings_button">
                             <property name="label" translatable="yes">Advanced...</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <signal name="clicked" handler="_audioSettingsButtonClickedCb"/>
-                          </widget>
+                            <property name="use_action_appearance">False</property>
+                            <signal name="clicked" handler="_audioSettingsButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -376,11 +563,12 @@ AAC</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label21">
+                      <object class="GtkLabel" id="label21">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Codec:</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">3</property>
                         <property name="bottom_attach">4</property>
@@ -388,33 +576,41 @@ AAC</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="channels_combo">
+                      <object class="GtkComboBox" id="channels_combo">
                         <property name="visible">True</property>
-                        <property name="items" translatable="yes">6 channels (5.1)
-</property>
-                        <signal name="changed" handler="_channelsComboChangedCb"/>
-                      </widget>
+                        <property name="can_focus">False</property>
+                        <property name="model">model5</property>
+                        <signal name="changed" handler="_channelsComboChangedCb" swapped="no"/>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer5"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label23">
+                      <object class="GtkLabel" id="label23">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Number of channels:</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="x_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label4">
+                      <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Sample Rate:</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
@@ -422,27 +618,12 @@ AAC</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="sample_rate_combo">
-                        <property name="visible">True</property>
-                        <property name="items"></property>
-                        <accessibility>
-                          <atkproperty name="AtkObject::accessible-name" translatable="yes">Sample rate</atkproperty>
-                        </accessibility>
-                        <signal name="changed" handler="_sampleRateComboChangedCb"/>
-                      </widget>
-                      <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>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label6">
+                      <object class="GtkLabel" id="label6">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">Sample Depth:</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">2</property>
                         <property name="bottom_attach">3</property>
@@ -450,11 +631,36 @@ AAC</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="sample_depth_combo">
+                      <object class="GtkComboBox" id="sample_rate_combo">
                         <property name="visible">True</property>
-                        <property name="items"></property>
-                        <signal name="changed" handler="_sampleDepthComboChangedCb"/>
-                      </widget>
+                        <property name="can_focus">False</property>
+                        <property name="model">model5</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer6"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </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>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="sample_depth_combo">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="model">model5</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer7"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -462,76 +668,41 @@ AAC</property>
                         <property name="bottom_attach">3</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">2</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label14">
+            <child type="tab">
+              <object class="GtkLabel" id="label14">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Audio</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">2</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area3">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="cancelbutton">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="_cancelButtonClickedCb"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="recordbutton">
-                <property name="label">pitivi-render</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_underline">True</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="_renderButtonClickedCb"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="0">cancelbutton</action-widget>
+      <action-widget response="0">recordbutton</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/data/ui/encodingprogress.ui b/data/ui/encodingprogress.ui
index 579461b..e529614 100644
--- a/data/ui/encodingprogress.ui
+++ b/data/ui/encodingprogress.ui
@@ -1,45 +1,97 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<interface>
   <!-- interface-requires gtk+ 2.6 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="render-progress">
+  <object class="GtkDialog" id="render-progress">
+    <property name="can_focus">False</property>
     <property name="border_width">12</property>
     <property name="title" translatable="yes">Rendering</property>
     <property name="modal">True</property>
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">normal</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="play_pause_button">
+                <property name="label">gtk-media-pause</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="_pauseButtonClickedCb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button5">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="_cancelButtonClickedCb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <widget class="GtkVBox" id="vbox4">
+          <object class="GtkVBox" id="vbox4">
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="spacing">12</property>
             <child>
-              <widget class="GtkLabel" id="label5">
+              <object class="GtkLabel" id="label5">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="xalign">0</property>
                 <property name="label" translatable="yes">&lt;b&gt;&lt;big&gt;Rendering movie&lt;/big&gt;&lt;/b&gt;</property>
                 <property name="use_markup">True</property>
-              </widget>
+              </object>
               <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkTable" id="table1">
+              <object class="GtkTable" id="table1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="n_rows">3</property>
                 <property name="n_columns">2</property>
                 <property name="column_spacing">6</property>
                 <property name="row_spacing">6</property>
                 <child>
-                  <widget class="GtkLabel" id="label11">
+                  <object class="GtkLabel" id="label11">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Unknown Mib</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
@@ -48,11 +100,12 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label10">
+                  <object class="GtkLabel" id="label10">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Unknown</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
@@ -61,108 +114,82 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label9">
+                  <object class="GtkLabel" id="label9">
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Encoding first pass</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label8">
+                  <object class="GtkLabel" id="label8">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">&lt;b&gt;Estimated filesize:&lt;/b&gt;</property>
                     <property name="use_markup">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="top_attach">2</property>
                     <property name="bottom_attach">3</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label7">
+                  <object class="GtkLabel" id="label7">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">&lt;b&gt;Frames per second:&lt;/b&gt;</property>
                     <property name="use_markup">True</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="top_attach">1</property>
                     <property name="bottom_attach">2</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label6">
+                  <object class="GtkLabel" id="label6">
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">&lt;b&gt;Phase:&lt;/b&gt;</property>
                     <property name="use_markup">True</property>
-                  </widget>
+                  </object>
                 </child>
-              </widget>
+              </object>
               <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkProgressBar" id="progressbar">
+              <object class="GtkProgressBar" id="progressbar">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="text" translatable="yes">Estimating...</property>
                 <property name="show_text">True</property>
-              </widget>
+              </object>
               <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
                 <property name="position">2</property>
               </packing>
             </child>
-          </widget>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area2">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="play_pause_button">
-                <property name="label">gtk-media-pause</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="_pauseButtonClickedCb"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button5">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-                <signal name="clicked" handler="_cancelButtonClickedCb"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="0">play_pause_button</action-widget>
+      <action-widget response="0">button5</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/data/ui/filelisterrordialog.ui b/data/ui/filelisterrordialog.ui
index e3aaf30..2eb0d7d 100644
--- a/data/ui/filelisterrordialog.ui
+++ b/data/ui/filelisterrordialog.ui
@@ -1,51 +1,51 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<?xml version="1.0"?>
+<interface>
   <!-- interface-requires gtk+ 2.6 -->
   <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="filelisterrordialog">
+  <object class="GtkDialog" id="filelisterrordialog">
     <property name="visible">True</property>
     <property name="border_width">12</property>
     <property name="type_hint">dialog</property>
-    <signal name="close" handler="_closeCb"/>
-    <signal name="response" handler="_responseCb"/>
+    <signal handler="_closeCb" name="close"/>
+    <signal handler="_responseCb" name="response"/>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="spacing">12</property>
         <child>
-          <widget class="GtkHBox" id="hbox1">
+          <object class="GtkHBox" id="hbox1">
             <property name="visible">True</property>
             <property name="spacing">6</property>
             <child>
-              <widget class="GtkImage" id="image1">
+              <object class="GtkImage" id="image1">
                 <property name="visible">True</property>
                 <property name="stock">gtk-dialog-warning</property>
                 <property name="icon-size">6</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="headline">
+              <object class="GtkLabel" id="headline">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
                 <property name="justify">center</property>
                 <property name="wrap">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="position">0</property>
           </packing>
         </child>
         <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow1">
+          <object class="GtkScrolledWindow" id="scrolledwindow1">
             <property name="width_request">500</property>
             <property name="height_request">300</property>
             <property name="visible">True</property>
@@ -54,12 +54,12 @@
             <property name="hscrollbar_policy">never</property>
             <property name="vscrollbar_policy">automatic</property>
             <child>
-              <widget class="GtkViewport" id="viewport1">
+              <object class="GtkViewport" id="viewport1">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                 <property name="resize_mode">queue</property>
                 <child>
-                  <widget class="GtkVBox" id="errorvbox">
+                  <object class="GtkVBox" id="errorvbox">
                     <property name="visible">True</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                     <child>
@@ -71,43 +71,45 @@
                     <child>
                       <placeholder/>
                     </child>
-                  </widget>
+                  </object>
                 </child>
-              </widget>
+              </object>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="position">3</property>
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
             <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="okbutton1">
+              <object class="GtkButton" id="okbutton1">
                 <property name="label">gtk-ok</property>
-                <property name="response_id">-5</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>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="pack_type">end</property>
             <property name="position">1</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/data/ui/projectsettings.ui b/data/ui/projectsettings.ui
index c84021c..4326c18 100644
--- a/data/ui/projectsettings.ui
+++ b/data/ui/projectsettings.ui
@@ -1,38 +1,139 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<glade-interface>
+<interface>
   <!-- interface-requires gtk+ 2.6 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="project-settings-dialog">
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="lower">1</property>
+    <property name="upper">9999</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment2">
+    <property name="lower">1</property>
+    <property name="upper">9999</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment3">
+    <property name="lower">1900</property>
+    <property name="upper">2500</property>
+    <property name="value">1900</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="model1">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Standard (4:3)</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model2">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Standard PAL</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model3">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">25 FPS</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkDialog" id="project-settings-dialog">
+    <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Project Settings</property>
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
-    <signal name="response" handler="_responseCb"/>
+    <signal name="response" handler="_responseCb" swapped="no"/>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
+        <property name="can_focus">False</property>
         <property name="spacing">12</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button8">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">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="ok_button">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">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="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
-          <widget class="GtkNotebook" id="notebook1">
+          <object class="GtkNotebook" id="notebook1">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <widget class="GtkHBox" id="hbox4">
+              <object class="GtkHBox" id="hbox4">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox2">
+                  <object class="GtkVBox" id="vbox2">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label11">
+                      <object class="GtkLabel" id="label11">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="ypad">6</property>
                         <property name="label" translatable="yes">&lt;b&gt;Preset&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -40,36 +141,41 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkScrolledWindow" id="scrolledwindow2">
+                      <object class="GtkScrolledWindow" id="scrolledwindow2">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
                         <property name="shadow_type">in</property>
                         <child>
-                          <widget class="GtkTreeView" id="video_preset_treeview">
+                          <object class="GtkTreeView" id="video_preset_treeview">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                          </widget>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection1"/>
+                            </child>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox5">
+                      <object class="GtkHBox" id="hbox5">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkButton" id="add_video_preset_button">
+                          <object class="GtkButton" id="add_video_preset_button">
                             <property name="label">gtk-add</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
+                            <property name="use_action_appearance">False</property>
                             <property name="use_stock">True</property>
-                            <signal name="clicked" handler="_addVideoPresetButtonClickedCb"/>
-                          </widget>
+                            <signal name="clicked" handler="_addVideoPresetButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -77,15 +183,16 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="remove_video_preset_button">
+                          <object class="GtkButton" id="remove_video_preset_button">
                             <property name="label">gtk-remove</property>
                             <property name="visible">True</property>
+                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="sensitive">False</property>
+                            <property name="use_action_appearance">False</property>
                             <property name="use_stock">True</property>
-                            <signal name="clicked" handler="_removeVideoPresetButtonClickedCb"/>
-                          </widget>
+                            <signal name="clicked" handler="_removeVideoPresetButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -93,26 +200,29 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="save_video_preset_button">
+                          <object class="GtkButton" id="save_video_preset_button">
                             <property name="label">gtk-save</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
+                            <property name="use_action_appearance">False</property>
                             <property name="use_stock">True</property>
-                            <signal name="clicked" handler="_saveVideoPresetClickedCb"/>
-                          </widget>
+                            <signal name="clicked" handler="_saveVideoPresetClickedCb" swapped="no"/>
+                          </object>
                           <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
                             <property name="position">2</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">2</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -120,32 +230,35 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkTable" id="video_properties_table">
+                  <object class="GtkTable" id="video_properties_table">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="n_rows">7</property>
                     <property name="n_columns">2</property>
                     <property name="column_spacing">12</property>
                     <property name="row_spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label5">
+                      <object class="GtkLabel" id="label5">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="ypad">6</property>
                         <property name="label" translatable="yes">&lt;b&gt;Size (Pixels)&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label2">
+                      <object class="GtkLabel" id="label2">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="ypad">6</property>
                         <property name="label" translatable="yes">&lt;b&gt;Aspect Ratio&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="right_attach">2</property>
                         <property name="top_attach">3</property>
@@ -154,16 +267,17 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkRadioButton" id="select_dar_radiobutton">
+                      <object class="GtkRadioButton" id="select_dar_radiobutton">
                         <property name="label" translatable="yes">Display Aspect Ratio</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="xalign">0</property>
                         <property name="active">True</property>
                         <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="_selectDarRadiobuttonToggledCb"/>
-                      </widget>
+                        <signal name="toggled" handler="_selectDarRadiobuttonToggledCb" swapped="no"/>
+                      </object>
                       <packing>
                         <property name="top_attach">4</property>
                         <property name="bottom_attach">5</property>
@@ -171,10 +285,17 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="dar_combo">
+                      <object class="GtkComboBox" id="dar_combo">
                         <property name="visible">True</property>
-                        <property name="items" translatable="yes">Standard (4:3)</property>
-                      </widget>
+                        <property name="can_focus">False</property>
+                        <property name="model">model1</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer1"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                       <packing>
                         <property name="top_attach">5</property>
                         <property name="bottom_attach">6</property>
@@ -182,10 +303,17 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="par_combo">
+                      <object class="GtkComboBox" id="par_combo">
                         <property name="visible">True</property>
-                        <property name="items" translatable="yes">Standard PAL</property>
-                      </widget>
+                        <property name="can_focus">False</property>
+                        <property name="model">model2</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer2"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -195,15 +323,16 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkRadioButton" id="select_par_radiobutton">
+                      <object class="GtkRadioButton" id="select_par_radiobutton">
                         <property name="label" translatable="yes">Pixel Aspect Ratio</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
+                        <property name="use_action_appearance">False</property>
                         <property name="xalign">0</property>
                         <property name="draw_indicator">True</property>
                         <property name="group">select_dar_radiobutton</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -213,19 +342,21 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkVBox" id="vbox3">
+                      <object class="GtkVBox" id="vbox3">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <child>
-                          <widget class="GtkHBox" id="hbox1">
+                          <object class="GtkHBox" id="hbox1">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkSpinButton" id="width_spinbutton">
+                              <object class="GtkSpinButton" id="width_spinbutton">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="invisible_char">â??</property>
-                                <property name="adjustment">1 1 9999 1 10 0</property>
-                              </widget>
+                                <property name="adjustment">adjustment1</property>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -233,10 +364,11 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label9">
+                              <object class="GtkLabel" id="label9">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="label" translatable="yes">x</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -244,19 +376,19 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkSpinButton" id="height_spinbutton">
+                              <object class="GtkSpinButton" id="height_spinbutton">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="invisible_char">â??</property>
-                                <property name="adjustment">1 1 9999 1 10 0</property>
-                              </widget>
+                                <property name="adjustment">adjustment2</property>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -264,34 +396,36 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkCheckButton" id="constrain_sar_button">
+                          <object class="GtkCheckButton" id="constrain_sar_button">
                             <property name="label" translatable="yes">Link</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="use_action_appearance">False</property>
                             <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="_constrainSarButtonToggledCb"/>
-                          </widget>
+                            <signal name="toggled" handler="_constrainSarButtonToggledCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">3</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label18">
+                      <object class="GtkLabel" id="label18">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="ypad">6</property>
                         <property name="label" translatable="yes">&lt;b&gt;Frame Rate&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -299,10 +433,17 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkComboBox" id="frame_rate_combo">
+                      <object class="GtkComboBox" id="frame_rate_combo">
                         <property name="visible">True</property>
-                        <property name="items" translatable="yes">25 FPS</property>
-                      </widget>
+                        <property name="can_focus">False</property>
+                        <property name="model">model3</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer3"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">2</property>
@@ -320,41 +461,46 @@
                     <child>
                       <placeholder/>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label8">
+            <child type="tab">
+              <object class="GtkLabel" id="label8">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Video</property>
                 <property name="use_markup">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkHBox" id="hbox3">
+              <object class="GtkHBox" id="hbox3">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox1">
+                  <object class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <widget class="GtkLabel" id="label10">
+                      <object class="GtkLabel" id="label10">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="ypad">6</property>
                         <property name="label" translatable="yes">&lt;b&gt;Preset&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
@@ -362,36 +508,41 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                      <object class="GtkScrolledWindow" id="scrolledwindow1">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">automatic</property>
-                        <property name="vscrollbar_policy">automatic</property>
                         <property name="shadow_type">in</property>
                         <child>
-                          <widget class="GtkTreeView" id="audio_preset_treeview">
+                          <object class="GtkTreeView" id="audio_preset_treeview">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                          </widget>
+                            <child internal-child="selection">
+                              <object class="GtkTreeSelection" id="treeview-selection2"/>
+                            </child>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox6">
+                      <object class="GtkHBox" id="hbox6">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">6</property>
                         <child>
-                          <widget class="GtkButton" id="add_audio_preset_button">
+                          <object class="GtkButton" id="add_audio_preset_button">
                             <property name="label">gtk-add</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
+                            <property name="use_action_appearance">False</property>
                             <property name="use_stock">True</property>
-                            <signal name="clicked" handler="_addAudioPresetButtonClickedCb"/>
-                          </widget>
+                            <signal name="clicked" handler="_addAudioPresetButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -399,15 +550,16 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="remove_audio_preset_button">
+                          <object class="GtkButton" id="remove_audio_preset_button">
                             <property name="label">gtk-remove</property>
                             <property name="visible">True</property>
+                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
-                            <property name="sensitive">False</property>
+                            <property name="use_action_appearance">False</property>
                             <property name="use_stock">True</property>
-                            <signal name="clicked" handler="_removeAudioPresetButtonClickedCb"/>
-                          </widget>
+                            <signal name="clicked" handler="_removeAudioPresetButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
@@ -415,27 +567,30 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkButton" id="save_audio_preset_button">
+                          <object class="GtkButton" id="save_audio_preset_button">
                             <property name="label">gtk-save</property>
                             <property name="visible">True</property>
                             <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
+                            <property name="use_action_appearance">False</property>
                             <property name="use_stock">True</property>
-                            <signal name="clicked" handler="_saveAudioPresetButtonClickedCb"/>
-                          </widget>
+                            <signal name="clicked" handler="_saveAudioPresetButtonClickedCb" swapped="no"/>
+                          </object>
                           <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
                             <property name="position">2</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">2</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
@@ -443,76 +598,41 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkTable" id="table7">
+                  <object class="GtkTable" id="table7">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="n_rows">4</property>
                     <property name="n_columns">2</property>
                     <property name="column_spacing">6</property>
                     <property name="row_spacing">6</property>
                     <child>
-                      <widget class="GtkComboBox" id="channels_combo">
-                        <property name="visible">True</property>
-                        <property name="items" translatable="yes"></property>
-                      </widget>
-                      <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"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkComboBox" id="sample_rate_combo">
-                        <property name="visible">True</property>
-                        <property name="items" translatable="yes"></property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkComboBox" id="sample_depth_combo">
-                        <property name="visible">True</property>
-                        <property name="items" translatable="yes"></property>
-                      </widget>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="top_attach">3</property>
-                        <property name="bottom_attach">4</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label23">
+                      <object class="GtkLabel" id="label23">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="xalign">0</property>
                         <property name="ypad">6</property>
                         <property name="label" translatable="yes">&lt;b&gt;Format&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="right_attach">2</property>
                         <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkAlignment" id="alignment2">
+                      <object class="GtkAlignment" id="alignment2">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkLabel" id="label1">
+                          <object class="GtkLabel" id="label1">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">Channels:</property>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">1</property>
                         <property name="bottom_attach">2</property>
@@ -521,17 +641,19 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkAlignment" id="alignment3">
+                      <object class="GtkAlignment" id="alignment3">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkLabel" id="label3">
+                          <object class="GtkLabel" id="label3">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">Sample rate:</property>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">2</property>
                         <property name="bottom_attach">3</property>
@@ -540,17 +662,19 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkAlignment" id="alignment4">
+                      <object class="GtkAlignment" id="alignment4">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <widget class="GtkLabel" id="label4">
+                          <object class="GtkLabel" id="label4">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="xalign">0</property>
                             <property name="label" translatable="yes">Sample depth:</property>
-                          </widget>
+                          </object>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="top_attach">3</property>
                         <property name="bottom_attach">4</property>
@@ -558,43 +682,106 @@
                         <property name="y_options"></property>
                       </packing>
                     </child>
-                  </widget>
+                    <child>
+                      <object class="GtkComboBox" id="channels_combo">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="model">model3</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer4"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </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"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="sample_rate_combo">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="model">model3</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer5"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="sample_depth_combo">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="model">model3</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer6"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label7">
+            <child type="tab">
+              <object class="GtkLabel" id="label7">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Audio</property>
                 <property name="use_markup">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkTable" id="table5">
+              <object class="GtkTable" id="table5">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="n_rows">3</property>
                 <property name="n_columns">2</property>
                 <property name="column_spacing">6</property>
                 <property name="row_spacing">6</property>
                 <child>
-                  <widget class="GtkSpinButton" id="year_spinbutton">
+                  <object class="GtkSpinButton" id="year_spinbutton">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="invisible_char">â??</property>
-                    <property name="adjustment">1900 1900 2500 1 10 10</property>
-                  </widget>
+                    <property name="adjustment">adjustment3</property>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
@@ -604,12 +791,11 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkEntry" id="author_entry">
+                  <object class="GtkEntry" id="author_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="invisible_char">â??</property>
-                    <property name="text" translatable="yes"></property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
@@ -619,11 +805,11 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkEntry" id="title_entry">
+                  <object class="GtkEntry" id="title_entry">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="invisible_char">â??</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="right_attach">2</property>
@@ -631,11 +817,12 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label25">
+                  <object class="GtkLabel" id="label25">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Author:</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="top_attach">1</property>
                     <property name="bottom_attach">2</property>
@@ -644,11 +831,12 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label26">
+                  <object class="GtkLabel" id="label26">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Year:</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="top_attach">2</property>
                     <property name="bottom_attach">3</property>
@@ -657,80 +845,46 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label24">
+                  <object class="GtkLabel" id="label24">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Project title:</property>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="x_options">GTK_FILL</property>
                     <property name="y_options"></property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">2</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label6">
+            <child type="tab">
+              <object class="GtkLabel" id="label6">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Info</property>
                 <property name="use_markup">True</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">2</property>
                 <property name="tab_fill">False</property>
-                <property name="type">tab</property>
               </packing>
             </child>
-          </widget>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="button8">
-                <property name="label">gtk-cancel</property>
-                <property name="response_id">-6</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="ok_button">
-                <property name="label">gtk-ok</property>
-                <property name="response_id">-5</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="-6">button8</action-widget>
+      <action-widget response="-5">ok_button</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/pitivi/check.py b/pitivi/check.py
index 1a34640..8755ca5 100644
--- a/pitivi/check.py
+++ b/pitivi/check.py
@@ -119,9 +119,6 @@ def initial_checks():
     if not __try_import__("cairo"):
         return (_("Could not import the cairo Python bindings"),
                 _("Make sure you have the cairo Python bindings installed"))
-    if not __try_import__("gtk.glade"):
-        return (_("Could not import the libglade Python bindings"),
-                _("Make sure you have the libglade Python bindings installed"))
     if not __try_import__("goocanvas"):
         return (_("Could not import the goocanvas Python bindings"),
                 _("Make sure you have the goocanvas Python bindings installed"))
diff --git a/pitivi/ui/Makefile.am b/pitivi/ui/Makefile.am
index 82127a3..ecd5d24 100644
--- a/pitivi/ui/Makefile.am
+++ b/pitivi/ui/Makefile.am
@@ -12,7 +12,6 @@ ui_PYTHON =			\
 	encodingdialog.py	\
 	encodingprogress.py	\
 	filelisterrordialog.py	\
-	glade.py		\
 	gstwidget.py		\
 	mainwindow.py		\
 	pathwalker.py		\
diff --git a/pitivi/ui/encodingdialog.py b/pitivi/ui/encodingdialog.py
index e655d2d..e96bb98 100644
--- a/pitivi/ui/encodingdialog.py
+++ b/pitivi/ui/encodingdialog.py
@@ -33,7 +33,6 @@ import pitivi.configure as configure
 from pitivi.log.loggable import Loggable
 from pitivi.ui.encodingprogress import EncodingProgressDialog
 from pitivi.ui.gstwidget import GstElementSettingsDialog
-from pitivi.ui.glade import GladeWindow
 from pitivi.actioner import Renderer
 from pitivi.ui.common import\
     model,\
@@ -108,18 +107,22 @@ def ellipsize(combo):
     cell_renderer = cell_view.get_cell_renderers()[0]
     cell_renderer.props.ellipsize = pango.ELLIPSIZE_END
 
-class EncodingDialog(GladeWindow, Renderer, Loggable):
+class EncodingDialog(Renderer, Loggable):
     """ Encoding dialog box """
-    glade_file = "encodingdialog.ui"
 
     def __init__(self, app, project, pipeline=None):
         Loggable.__init__(self)
-        GladeWindow.__init__(self)
 
         self.app = app
         self.project = project
         self.settings = self.project.getSettings()
 
+        self.builder = gtk.Builder()
+        self.builder.add_from_file(os.path.join(configure.get_ui_dir(),
+            "encodingdialog.ui"))
+        self._setProperties()
+        self.builder.connect_signals(self)
+
         # UI widgets
         self.window.set_icon_from_file(configure.get_pixmap_dir() + "/pitivi-render-16.png")
 
@@ -139,6 +142,26 @@ class EncodingDialog(GladeWindow, Renderer, Loggable):
         self.settings.connect("settings-changed", self._settingsChanged)
         self.settings.connect("encoders-changed", self._settingsChanged)
 
+    def _setProperties(self):
+        self.window = self.builder.get_object("render-dialog")
+        self.selected_only_button = self.builder.get_object(
+            "selected_only_button")
+        self.frame_rate_combo = self.builder.get_object("frame_rate_combo")
+        self.scale_spinbutton = self.builder.get_object("scale_spinbutton")
+        self.channels_combo = self.builder.get_object("channels_combo")
+        self.sample_rate_combo = self.builder.get_object(
+                        "sample_rate_combo")
+        self.sample_depth_combo = self.builder.get_object(
+                        "sample_depth_combo")
+        self.muxercombobox = self.builder.get_object("muxercombobox")
+        self.audio_encoder_combo = self.builder.get_object(
+            "audio_encoder_combo")
+        self.video_encoder_combo = self.builder.get_object(
+            "video_encoder_combo")
+        self.filebutton = self.builder.get_object("filebutton")
+        self.fileentry = self.builder.get_object("fileentry")
+        self.resolution_label = self.builder.get_object("resolution_label")
+
     def _settingsChanged(self, settings):
         self.updateResolution()
 
@@ -235,9 +258,9 @@ class EncodingDialog(GladeWindow, Renderer, Loggable):
 
     def _projectSettingsButtonClickedCb(self, button):
         from pitivi.ui.projectsettings import ProjectSettingsDialog
-        d = ProjectSettingsDialog(self.window, self.project)
-        d.window.connect("destroy", self._projectSettingsDestroyCb)
-        d.run()
+        dialog = ProjectSettingsDialog(self.window, self.project)
+        dialog.window.connect("destroy", self._projectSettingsDestroyCb)
+        dialog.window.run()
 
     def _projectSettingsDestroyCb(self, dialog):
         self._displaySettings()
@@ -280,16 +303,16 @@ class EncodingDialog(GladeWindow, Renderer, Loggable):
         settings = getattr(self.settings, settings_attr)
         dialog = GstElementSettingsDialog(factory, settings)
 
-        response = dialog.run()
+        response = dialog.window.run()
         if response == gtk.RESPONSE_OK:
             setattr(self.settings, settings_attr, dialog.getSettings())
-        dialog.destroy()
+        dialog.window.destroy()
 
     def _renderButtonClickedCb(self, unused_button):
         self.outfile = self.filebutton.get_uri() + "/" + self.fileentry.get_text()
         self.progress = EncodingProgressDialog(self.app, self)
         self.window.hide() # Hide the rendering settings dialog while rendering
-        self.progress.show()
+        self.progress.window.show()
         self.startAction()
         self.progress.connect("cancel", self._cancelRender)
         self.progress.connect("pause", self._pauseRender)
@@ -313,7 +336,7 @@ class EncodingDialog(GladeWindow, Renderer, Loggable):
         """
         When a render completes or is cancelled, update the UI
         """
-        self.progress.destroy()
+        self.progress.window.destroy()
         self.progress = None
         self.window.show()  # Show the encoding dialog again
         self.pipeline.disconnect_by_function(self._stateChanged)
@@ -329,4 +352,4 @@ class EncodingDialog(GladeWindow, Renderer, Loggable):
     def destroy(self):
         # TODO: Do this only when the settings actually changed.
         self.project.setSettings(self.settings)
-        GladeWindow.destroy(self)
+        self.window.destroy()
diff --git a/pitivi/ui/encodingprogress.py b/pitivi/ui/encodingprogress.py
index cf6a0ca..39b10f3 100644
--- a/pitivi/ui/encodingprogress.py
+++ b/pitivi/ui/encodingprogress.py
@@ -23,27 +23,31 @@
 Encoding dialog
 """
 
+import os
 import gtk
 import gst
-from pitivi.ui.glade import GladeWindow
 import pitivi.configure as configure
 from gettext import gettext as _
 import gobject
 from pitivi.signalinterface import Signallable
 
-class EncodingProgressDialog(GladeWindow, Signallable):
-
-    glade_file = "encodingprogress.ui"
-
+class EncodingProgressDialog(Signallable):
     __signals__ = {
         "pause": [],
         "cancel": [],
     }
 
     def __init__(self, app, parent):
-        GladeWindow.__init__(self)
-
         self.app = app
+        self.builder = gtk.Builder()
+        self.builder.add_from_file(os.path.join(configure.get_ui_dir(),
+            "encodingprogress.ui"))
+        self.builder.connect_signals(self)
+
+        self.window = self.builder.get_object("render-progress")
+        self.table1 = self.builder.get_object("table1")
+        self.progressbar = self.builder.get_object("progressbar")
+        self.play_pause_button = self.builder.get_object("play_pause_button")
         # Parent the dialog with mainwindow, since encodingdialog is hidden.
         # It allows this dialog to properly minimize together with mainwindow
         self.window.set_transient_for(self.app)
diff --git a/pitivi/ui/filelisterrordialog.py b/pitivi/ui/filelisterrordialog.py
index e1d8474..997424c 100644
--- a/pitivi/ui/filelisterrordialog.py
+++ b/pitivi/ui/filelisterrordialog.py
@@ -24,30 +24,36 @@ Dialog box listing files which had errors, and the reasons.
 """
 
 import gtk
+import os
 import pango
 
 from gettext import gettext as _
 
-from pitivi.ui.glade import GladeWindow
 from urllib import unquote
+from pitivi.configure import get_ui_dir
 from pitivi.signalinterface import Signallable
 from pitivi.log.loggable import Loggable
 
-class FileListErrorDialog(GladeWindow, Signallable, Loggable):
+class FileListErrorDialog(Signallable, Loggable):
     """ Dialog box for showing errors in a list of files """
-    glade_file = "filelisterrordialog.ui"
     __signals__ = {
         'close': None,
         'response': ["something"]
         }
 
     def __init__(self, title, headline):
-        GladeWindow.__init__(self)
         Loggable.__init__(self)
+        self.builder = gtk.Builder()
+        self.builder.add_from_file(os.path.join(get_ui_dir(),
+            "filelisterrordialog.ui"))
+        self.builder.connect_signals(self)
+
+        self.window = self.builder.get_object("filelisterrordialog")
         self.window.set_modal(False)
-        self.widgets["headline"].set_text(headline)
         self.window.set_title(title)
-        self.errorvbox = self.widgets["errorvbox"]
+
+        self.builder.get_object("headline").set_text(headline)
+        self.errorvbox = self.builder.get_object("errorvbox")
 
     def addFailedFile(self, uri, reason=_("Unknown reason"), extra=None):
         """Add the given uri to the list of failed files. You can optionnaly
diff --git a/pitivi/ui/gstwidget.py b/pitivi/ui/gstwidget.py
index b2055d2..7b0917b 100644
--- a/pitivi/ui/gstwidget.py
+++ b/pitivi/ui/gstwidget.py
@@ -26,10 +26,11 @@ Widget for gstreamer element properties viewing/setting
 import gobject
 import gtk
 import gst
-from pitivi.ui.glade import GladeWindow
+import os
 
 from gettext import gettext as _
 from pitivi.log.loggable import Loggable
+from pitivi.configure import get_ui_dir
 import pitivi.ui.dynamic as dynamic
 
 def make_property_widget(unused_element, prop, value=None):
@@ -173,16 +174,24 @@ class GstElementSettingsWidget(gtk.VBox, Loggable):
 
 
 
-class GstElementSettingsDialog(GladeWindow, Loggable):
+class GstElementSettingsDialog(Loggable):
     """
     Dialog window for viewing/modifying properties of a gst.Element
     """
-    glade_file = "elementsettingsdialog.ui"
-
     def __init__(self, elementfactory, properties={}):
-        GladeWindow.__init__(self)
         Loggable.__init__(self)
         self.debug("factory:%s, properties:%s", elementfactory, properties)
+
+        self.builder = gtk.Builder()
+        self.builder.add_from_file(os.path.join(get_ui_dir(),
+            "elementsettingsdialog.ui"))
+        self.builder.connect_signals(self)
+
+        self.window = self.builder.get_object("dialog1")
+        self.infolabel = self.builder.get_object("infolabel")
+        self.elementsettings = GstElementSettingsWidget()
+        self.builder.get_object("viewport1").add(self.elementsettings)
+
         self.factory = elementfactory
         self.element = self.factory.create("elementsettings")
         if not self.element:
@@ -203,4 +212,4 @@ class GstElementSettingsDialog(GladeWindow, Loggable):
 
     def getSettings(self):
         """ returns the property/value dictionnary of the selected settings """
-        return self.widgets["elementsettings"].getSettings()
+        return self.elementsettings.getSettings()
diff --git a/pitivi/ui/mainwindow.py b/pitivi/ui/mainwindow.py
index 97b9251..5cc022c 100644
--- a/pitivi/ui/mainwindow.py
+++ b/pitivi/ui/mainwindow.py
@@ -236,10 +236,10 @@ class PitiviMainWindow(gtk.Window, Loggable):
 
         if pause:
             project.pipeline.pause()
-        win = EncodingDialog(self, project)
-        win.window.connect("destroy", self._encodingDialogDestroyCb)
+        dialog = EncodingDialog(self, project)
+        dialog.window.connect("destroy", self._encodingDialogDestroyCb)
         self.set_sensitive(False)
-        win.show()
+        dialog.window.show()
 
     def _encodingDialogDestroyCb(self, unused_dialog):
         self.set_sensitive(True)
@@ -594,7 +594,7 @@ class PitiviMainWindow(gtk.Window, Loggable):
 
     def showProjectSettingsDialog(self):
         from projectsettings import ProjectSettingsDialog
-        ProjectSettingsDialog(self, self.app.current).show()
+        ProjectSettingsDialog(self, self.app.current).window.show()
 
     def _quitCb(self, unused_action):
         self._saveWindowSettings()
diff --git a/pitivi/ui/pluginmanagerdialog.py b/pitivi/ui/pluginmanagerdialog.py
index 20e246c..eeb0e1a 100644
--- a/pitivi/ui/pluginmanagerdialog.py
+++ b/pitivi/ui/pluginmanagerdialog.py
@@ -21,12 +21,11 @@
 
 import os
 import gtk
-import gtk.glade
 import pango
 import gobject
 from gettext import gettext as _
 
-from pitivi.configure import LIBDIR, get_ui_dir
+from pitivi.configure import get_ui_dir
 import pitivi.plugincore as plugincore
 import pitivi.pluginmanager as pluginmanager
 
@@ -39,20 +38,22 @@ class PluginManagerDialog(object):
 
     def __init__(self, plugin_manager):
         self.pm = plugin_manager
+        self.builder = gtk.Builder()
+        self.builder.add_from_file(os.path.join(get_ui_dir(),
+            "pluginmanagerdialog.ui"))
 
         # load user interface items
-        self.wTree = gtk.glade.XML(os.path.join(get_ui_dir(), 'pluginmanagerdialog.ui'))
-        self.window = self.wTree.get_widget('pluginmanager_dlg')
-        self.search_entry = self.wTree.get_widget('search_entry')
-        self.category_cmb = self.wTree.get_widget('category_cmb')
-        self.about_btn = self.wTree.get_widget('about_btn')
-        self.configure_btn = self.wTree.get_widget('configure_btn')
-        self.delete_btn = self.wTree.get_widget('delete_btn')
-        self.plugin_tree = self.wTree.get_widget('plugin_tree')
-        self.search_entry = self.wTree.get_widget('search_entry')
+        self.window = self.builder.get_object('pluginmanager_dlg')
+        self.search_entry = self.builder.get_object('search_entry')
+        self.category_cmb = self.builder.get_object('category_cmb')
+        self.about_btn = self.builder.get_object('about_btn')
+        self.configure_btn = self.builder.get_object('configure_btn')
+        self.delete_btn = self.builder.get_object('delete_btn')
+        self.plugin_tree = self.builder.get_object('plugin_tree')
+        self.search_entry = self.builder.get_object('search_entry')
 
         # connect signals
-        self.wTree.signal_autoconnect(self)
+        self.builder.connect_signals(self)
 
         # intialize plugin list
         self._initialize_plugin_tree(self.plugin_tree)
diff --git a/pitivi/ui/projectsettings.py b/pitivi/ui/projectsettings.py
index 1154b0e..4e3fae9 100644
--- a/pitivi/ui/projectsettings.py
+++ b/pitivi/ui/projectsettings.py
@@ -29,8 +29,8 @@ import gst
 import os
 from pwd import getpwuid
 from datetime import datetime
+from pitivi.configure import get_ui_dir
 from gettext import gettext as _
-from pitivi.ui.glade import GladeWindow
 from pitivi.ui.dynamic import FractionWidget
 from pitivi.ui.ripple_update_group import RippleUpdateGroup
 from pitivi.ui.common import\
@@ -70,16 +70,20 @@ display_aspect_ratios = model((str, object), (
     (_("Anamorphic (2.4)"), gst.Fraction(24, 10)),
 ))
 
-class ProjectSettingsDialog(GladeWindow):
-    glade_file = "projectsettings.ui"
+class ProjectSettingsDialog():
 
     def __init__(self, parent, project):
-        GladeWindow.__init__(self, parent)
         self.project = project
 
         self.settings = project.getSettings()
         self.project = project
 
+        self.builder = gtk.Builder()
+        self.builder.add_from_file(os.path.join(get_ui_dir(),
+            "projectsettings.ui"))
+        self._setProperties()
+        self.builder.connect_signals(self)
+
         # add custom widgets
         self.dar_fraction_widget = FractionWidget()
         self.video_properties_table.attach(self.dar_fraction_widget,
@@ -291,6 +295,41 @@ class ProjectSettingsDialog(GladeWindow):
         height = int(self.height_spinbutton.get_value())
         return gst.Fraction(width, height)
 
+    def _setProperties(self):
+        self.window = self.builder.get_object("project-settings-dialog")
+        self.video_properties_table = self.builder.get_object(
+            "video_properties_table")
+        self.video_properties_table = self.builder.get_object(
+            "video_properties_table")
+        self.frame_rate_combo = self.builder.get_object("frame_rate_combo")
+        self.dar_combo = self.builder.get_object("dar_combo")
+        self.par_combo = self.builder.get_object("par_combo")
+        self.channels_combo = self.builder.get_object("channels_combo")
+        self.sample_rate_combo = self.builder.get_object("sample_rate_combo")
+        self.sample_depth_combo = self.builder.get_object("sample_depth_combo")
+        self.year_spinbutton = self.builder.get_object("year_spinbutton")
+        self.author_entry = self.builder.get_object("author_entry")
+        self.width_spinbutton = self.builder.get_object("width_spinbutton")
+        self.height_spinbutton = self.builder.get_object("height_spinbutton")
+        self.save_audio_preset_button = self.builder.get_object(
+            "save_audio_preset_button")
+        self.save_video_preset_button = self.builder.get_object(
+            "save_video_preset_button")
+        self.audio_preset_treeview = self.builder.get_object(
+            "audio_preset_treeview")
+        self.video_preset_treeview = self.builder.get_object(
+            "video_preset_treeview")
+        self.select_par_radiobutton = self.builder.get_object(
+            "select_par_radiobutton")
+        self.remove_audio_preset_button = self.builder.get_object(
+            "remove_audio_preset_button")
+        self.remove_video_preset_button = self.builder.get_object(
+            "remove_video_preset_button")
+        self.constrain_sar_button = self.builder.get_object(
+            "constrain_sar_button")
+        self.select_dar_radiobutton = self.builder.get_object(
+            "select_dar_radiobutton")
+
     def _constrainSarButtonToggledCb(self, button):
         if button.props.active:
             self.sar = self.getSAR()
@@ -419,4 +458,4 @@ class ProjectSettingsDialog(GladeWindow):
             self.updateSettings()
         self.audio_presets.save()
         self.video_presets.save()
-        self.destroy()
+        self.window.destroy()
diff --git a/win32/pitivi b/win32/pitivi
index e30bfa7..6a40f26 100644
--- a/win32/pitivi
+++ b/win32/pitivi
@@ -93,13 +93,6 @@ def _init_gobject_gtk_gst():
     gobject.threads_init()
 
     try:
-        from gtk import glade
-    except ImportError:
-        raise SystemExit("Can't find glade module")
-
-    glade.bindtextdomain('pitivi', localedir)
-
-    try:
         import pygst
         pygst.require('0.10')
 
diff --git a/win32/setup.py b/win32/setup.py
index b112267..c7a5f58 100644
--- a/win32/setup.py
+++ b/win32/setup.py
@@ -118,16 +118,6 @@ class Deploy():
             print ('Gtk... OK')
 
         try:
-            import gtk.glade
-        except ImportError:
-            self.close('IMPORT_ERROR: Could not find libglade in the system.\n'
-                    'You can download the installers at:\n'
-                    'http://sourceforge.net/projects/gladewin32/files/libglade-win32'
-                    '/2.4.0/libglade-2.4.0-bin.zip/download')
-        else:
-            print ('libglade... OK')
-
-        try:
             import goocanvas
         except ImportError:
             self.close('IMPORT_ERROR: Could not find the Goocanvas Python bindings.\n'



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