[transmageddon] Switch userinterface from Glade to GtkBuilder, patch from Arun Raghavan



commit ceb4574fe998a0890786611e1a86b8274af02aed
Author: Christian F.K. Schaller <christian schaller collabora co uk>
Date:   Sun Nov 1 18:52:56 2009 +0000

    Switch userinterface from Glade to GtkBuilder, patch from Arun Raghavan

 src/Makefile.am      |    2 +-
 src/transmageddon.py |  103 +++--
 src/transmageddon.ui | 1170 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 1231 insertions(+), 44 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index b8f8cd8..cce6785 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -5,7 +5,7 @@ transmageddondir = $(datadir)/transmageddon
 transmageddon_PYTHON = \
 	transmageddon.py \
 	transcoder_engine.py \
-	transmageddon.glade \
+	transmageddon.ui \
 	codecfinder.py \
         discoverer.py \
 	presets.py \
diff --git a/src/transmageddon.py b/src/transmageddon.py
index 5cc8f89..dbae80d 100644
--- a/src/transmageddon.py
+++ b/src/transmageddon.py
@@ -42,7 +42,6 @@ try:
    pygtk.require("2.0")
    import glib
    import gtk
-   import gtk.glade
    import pygst
    pygst.require("0.10")
    import gst
@@ -117,43 +116,47 @@ supported_container_map = {
     'ASF':        [ 'wma2','wmv2','mp3']
 }
 
-class TransmageddonUI (gtk.glade.XML):
-   """This class loads the Glade file of the UI"""
+class TransmageddonUI:
+   """This class loads the GtkBuilder file of the UI"""
    def __init__(self):
        #Set up i18n
-       for module in gtk.glade, gettext:
-           module.bindtextdomain("transmageddon","../../share/locale")
-           module.textdomain("transmageddon")
+       gettext.bindtextdomain("transmageddon","../../share/locale")
+       gettext.textdomain("transmageddon")
+
+       self.builder = gtk.Builder()
+
+       self.builder.set_translation_domain("transmageddon")
 
        #Set the Glade file
-       self.gladefile = "transmageddon.glade"
-       gtk.glade.XML.__init__ (self, self.gladefile)
+       self.uifile = "transmageddon.ui"
+       self.builder.add_from_file(self.uifile)
+       self.builder.connect_signals(self) # Initialize User Interface
 
        #Define functionality of our button and main window
-       self.TopWindow = self.get_widget("TopWindow")
-       self.FileChooser = self.get_widget("FileChooser")
-       self.videoinformation = self.get_widget("videoinformation")
-       self.audioinformation = self.get_widget("audioinformation")
-       self.videocodec = self.get_widget("videocodec")
-       self.audiocodec = self.get_widget("audiocodec")
-       self.CodecBox = self.get_widget("CodecBox")
-       self.presetchoice = self.get_widget("presetchoice")
-       self.containerchoice = self.get_widget("containerchoice")
-       self.rotationchoice = self.get_widget("rotationchoice")
+       self.TopWindow = self.builder.get_object("TopWindow")
+       self.FileChooser = self.builder.get_object("FileChooser")
+       self.videoinformation = self.builder.get_object("videoinformation")
+       self.audioinformation = self.builder.get_object("audioinformation")
+       self.videocodec = self.builder.get_object("videocodec")
+       self.audiocodec = self.builder.get_object("audiocodec")
+       self.CodecBox = self.builder.get_object("CodecBox")
+       self.presetchoice = self.builder.get_object("presetchoice")
+       self.containerchoice = self.builder.get_object("containerchoice")
+       self.rotationchoice = self.builder.get_object("rotationchoice")
        self.codec_buttons = dict()
        for c in supported_audio_codecs:
-           self.codec_buttons[c] = self.get_widget(c+"button")
+           self.codec_buttons[c] = self.builder.get_object(c+"button")
            self.codec_buttons[c].connect("clicked",
                                          self.on_audiobutton_pressed, c)
        for c in supported_video_codecs:
-           self.codec_buttons[c] = self.get_widget(c+"button")
+           self.codec_buttons[c] = self.builder.get_object(c+"button")
            self.codec_buttons[c].connect("clicked",
                                          self.on_videobutton_pressed, c)
 
-       self.transcodebutton = self.get_widget("transcodebutton")
-       self.ProgressBar = self.get_widget("ProgressBar")
-       self.cancelbutton = self.get_widget("cancelbutton")
-       self.StatusBar = self.get_widget("StatusBar")
+       self.transcodebutton = self.builder.get_object("transcodebutton")
+       self.ProgressBar = self.builder.get_object("ProgressBar")
+       self.cancelbutton = self.builder.get_object("cancelbutton")
+       self.StatusBar = self.builder.get_object("StatusBar")
 
        self.TopWindow.connect("destroy", gtk.main_quit)
        
@@ -172,14 +175,12 @@ class TransmageddonUI (gtk.glade.XML):
        def on_drag_data_received(widget, context, x, y, selection, target_type, timestamp):
            if target_type == TARGET_TYPE_URI_LIST:
                uri = selection.data.strip('\r\n\x00')
-               self.get_widget ("FileChooser").set_uri(uri)
+               self.builder.get_object ("FileChooser").set_uri(uri)
 
        self.TopWindow.connect('drag_data_received', on_drag_data_received)
        self.TopWindow.drag_dest_set( gtk.DEST_DEFAULT_MOTION |
            gtk.DEST_DEFAULT_HIGHLIGHT | gtk.DEST_DEFAULT_DROP, dnd_list, gtk.gdk.ACTION_COPY)
 
-       self.signal_autoconnect(self) # Initialize User Interface
-
        self.start_time = False
        self.multipass = False
        self.passcounter = False
@@ -239,34 +240,50 @@ class TransmageddonUI (gtk.glade.XML):
 
        # Populate the Container format combobox
        self.lst = supported_containers
+       liststore = gtk.ListStore(gobject.TYPE_STRING)
        for i in self.lst:
-           self.containerchoice.append_text(i)
+           liststore.append([i])
+       self.containerchoice.set_model(liststore)
+       cell = gtk.CellRendererText()
+       self.containerchoice.pack_start(cell, True)
+       self.containerchoice.add_attribute(cell, "text", 0)
 
        # Populate the rotatation box
        self.rotationlist = [_("No rotation (default)"), _("Clockwise 90 degrees"), _("Rotate 180 degrees"), 
                            _("Counterclockwise 90 degrees"), _("Horizontal flip"),
                            _("Vertical flip"), _("Upper left diagonal flip"),
                            _("Upper right diagnonal flip") ]
+       liststore = gtk.ListStore(gobject.TYPE_STRING)
        for y in self.rotationlist: 
-           self.rotationchoice.append_text(y)
+           liststore.append([y])
+       self.rotationchoice.set_model(liststore)
+       cell = gtk.CellRendererText()
+       self.rotationchoice.pack_start(cell, True)
+       self.rotationchoice.add_attribute(cell, "text", 0)
 
        self.rotationchoice.set_active(0)
-       self.rotationvalue == int(0) 
+       self.rotationvalue = int(0) 
       
        # Populate Device Presets combobox
        devicelist = []
        shortname = []
+       liststore = gtk.ListStore(gobject.TYPE_STRING)
        for x, (name, device) in enumerate(sorted(presets.get().items(),
                                    lambda x, y: cmp(x[1].make + x[1].model,
                                                     y[1].make + y[1].model))):
-           iter = self.presetchoice.append_text(str(device))
+           liststore.append([str(device)])
            devicelist.append(str(device))
            shortname.append(str(name))
 
        #for (name, device) in (presets.get().items()):
        #    shortname.append(str(name))
-       self.presetchoices = dict(zip(devicelist, shortname))     
-       self.presetchoice.prepend_text("No Presets")
+       self.presetchoices = dict(zip(devicelist, shortname))
+       liststore.prepend(["No Presets"])
+
+       self.presetchoice.set_model(liststore)
+       cell = gtk.CellRendererText()
+       self.presetchoice.pack_start(cell, True)
+       self.presetchoice.add_attribute(cell, "text", 0)
 
        self.waiting_for_signal="False"
 
@@ -479,7 +496,7 @@ class TransmageddonUI (gtk.glade.XML):
 
    # define the behaviour of the other buttons
    def on_FileChooser_file_set(self, widget):
-       self.filename = self.get_widget ("FileChooser").get_filename()
+       self.filename = self.builder.get_object ("FileChooser").get_filename()
        self.audiodata = {}
        if self.filename is not None: 
            codecinfo = self.mediacheck(self.filename)
@@ -490,8 +507,8 @@ class TransmageddonUI (gtk.glade.XML):
            self.ProgressBar.set_text(_("Transcoding Progress"))
 
    def _start_transcoding(self): 
-       filechoice = self.get_widget ("FileChooser").get_uri()
-       self.filename = self.get_widget ("FileChooser").get_filename()
+       filechoice = self.builder.get_object ("FileChooser").get_uri()
+       self.filename = self.builder.get_object ("FileChooser").get_filename()
        vheight = self.videodata['videoheight']
        vwidth = self.videodata['videowidth']
        ratenum = self.videodata['fratenum']
@@ -505,7 +522,7 @@ class TransmageddonUI (gtk.glade.XML):
            audiocodec = codecfinder.codecmap[self.AudioCodec]
        else:
            audiocodec = gst.Caps.to_string(self.asourcecaps)
-       container = self.get_widget ("containerchoice").get_active_text ()
+       container = self.builder.get_object ("containerchoice").get_active_text ()
        self._transcoder = transcoder_engine.Transcoder(filechoice, self.filename, self.videodirectory, container, 
                                                        audiocodec, videocodec, self.devicename, 
                                                        vheight, vwidth, ratenum, ratednom, achannels, 
@@ -553,7 +570,7 @@ class TransmageddonUI (gtk.glade.XML):
            self.StatusBar.push(context_id, _("Missing plugin installation failed: ")) + gst.pbutils.InstallPluginsReturn()
 
    def check_for_elements(self):
-       containerchoice = self.get_widget ("containerchoice").get_active_text ()
+       containerchoice = self.builder.get_object ("containerchoice").get_active_text ()
        containerstatus = codecfinder.get_muxer_element(codecfinder.containermap[containerchoice])
        # print "containerstatus is " + str(containerstatus)
        if self.AudioCodec != "apass":
@@ -602,7 +619,7 @@ class TransmageddonUI (gtk.glade.XML):
        # Remove suffix from inbound filename so we can reuse it together with suffix to create outbound filename
        self.nosuffix = os.path.splitext(os.path.basename(self.filename))[0]
        # pick output suffix
-       container = self.get_widget ("containerchoice").get_active_text ()
+       container = self.builder.get_object ("containerchoice").get_active_text ()
        self.ContainerFormatSuffix = codecfinder.csuffixmap[container]
        self.outputfilename = str(self.nosuffix+self.timestamp+self.ContainerFormatSuffix)
        context_id = self.StatusBar.get_context_id("EOS")
@@ -638,7 +655,7 @@ class TransmageddonUI (gtk.glade.XML):
        self.rotationchoice.set_sensitive(True)
        self.ProgressBar.set_fraction(0.0)
        self.ProgressBar.set_text(_("Transcoding Progress"))
-       self.container = self.get_widget ("containerchoice").get_active_text ()
+       self.container = self.builder.get_object ("containerchoice").get_active_text ()
        codecs = supported_container_map[self.container]
        self.AudioCodec = codecs[0]
        self.VideoCodec = codecs[1]
@@ -653,7 +670,7 @@ class TransmageddonUI (gtk.glade.XML):
            self.check_for_passthrough(self.container)
 
    def on_presetchoice_changed(self, widget):
-       presetchoice = self.get_widget ("presetchoice").get_active_text ()
+       presetchoice = self.builder.get_object ("presetchoice").get_active_text ()
        self.ProgressBar.set_fraction(0.0)
        if presetchoice == "No Presets":
            self.devicename = "nopreset"
@@ -662,7 +679,7 @@ class TransmageddonUI (gtk.glade.XML):
            self.multipass = False
            self.passcounter = False
            self.rotationchoice.set_sensitive(True)
-           if self.get_widget("containerchoice").get_active_text():
+           if self.builder.get_object("containerchoice").get_active_text():
                self.CodecBox.set_sensitive(True)
                self.transcodebutton.set_sensitive(True)
        else:
@@ -673,7 +690,7 @@ class TransmageddonUI (gtk.glade.XML):
            self.containerchoice.set_sensitive(False)
            self.CodecBox.set_sensitive(False)
            self.rotationchoice.set_sensitive(False)
-           if self.get_widget("containerchoice").get_active_text():
+           if self.builder.get_object("containerchoice").get_active_text():
                self.transcodebutton.set_sensitive(True)
 
    def on_rotationchoice_changed(self, widget):
diff --git a/src/transmageddon.ui b/src/transmageddon.ui
new file mode 100644
index 0000000..8c87857
--- /dev/null
+++ b/src/transmageddon.ui
@@ -0,0 +1,1170 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkWindow" id="TopWindow">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">Transmageddon</property>
+    <property name="icon_name">TransmageddonIcon</property>
+    <child>
+      <object class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <child>
+          <object class="GtkMenuBar" id="menubar">
+            <property name="visible">True</property>
+            <property name="no_show_all">True</property>
+            <property name="pack_direction">rtl</property>
+            <property name="child_pack_direction">rtl</property>
+            <child>
+              <object class="GtkMenuItem" id="menuitem5">
+                <property name="label" translatable="yes">_File</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu" id="menu4">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem11">
+                        <property name="label">gtk-new</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem12">
+                        <property name="label">gtk-open</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem13">
+                        <property name="label">gtk-save</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem14">
+                        <property name="label">gtk-save-as</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
+                        <property name="visible">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem15">
+                        <property name="label">gtk-quit</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="menuitem6">
+                <property name="label" translatable="yes">_Edit</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu" id="menu5">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem16">
+                        <property name="label">gtk-cut</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem17">
+                        <property name="label">gtk-copy</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem18">
+                        <property name="label">gtk-paste</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="imagemenuitem19">
+                        <property name="label">gtk-delete</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="menuitem7">
+                <property name="label" translatable="yes">_View</property>
+                <property name="use_underline">True</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkMenuItem" id="help">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Help</property>
+                <property name="use_underline">True</property>
+                <child type="submenu">
+                  <object class="GtkMenu" id="menu6">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkImageMenuItem" id="debug">
+                        <property name="label">Debug</property>
+                        <property name="visible">True</property>
+                        <property name="use_stock">False</property>
+                        <signal name="activate" handler="on_debug_activate"/>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkImageMenuItem" id="about_dialog">
+                        <property name="label">gtk-about</property>
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_about_dialog_activate"/>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="vbox2">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <child>
+              <object class="GtkTable" id="table1">
+                <property name="visible">True</property>
+                <property name="n_rows">9</property>
+                <property name="n_columns">3</property>
+                <child>
+                  <object class="GtkLabel" id="vspacer3">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </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="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="audioinformation">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;small&gt;Audio Channels:&lt;/small&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="videoinformation">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">&lt;small&gt;Video height&amp;#47;width:&lt;/small&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="preset_label">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Presets:&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">5</property>
+                    <property name="bottom_attach">6</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer6">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">5</property>
+                    <property name="bottom_attach">6</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="presetchoice">
+                    <property name="visible">True</property>
+                    <property name="active">0</property>
+                    <signal name="changed" handler="on_presetchoice_changed"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">5</property>
+                    <property name="bottom_attach">6</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="ChooseFileLabel">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Choose Input File:&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                    <property name="use_underline">True</property>
+                    <property name="max_width_chars">0</property>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkFileChooserButton" id="FileChooser">
+                    <property name="visible">True</property>
+                    <signal name="file_set" handler="on_FileChooser_file_set"/>
+                    <signal name="selection_changed" handler="on_FileChooser_file_set"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer1">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer4">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer4">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer3">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer2">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer2">
+                    <property name="width_request">12</property>
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options"></property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer1">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer7">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">8</property>
+                    <property name="bottom_attach">9</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer8">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">8</property>
+                    <property name="bottom_attach">9</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer8">
+                    <property name="width_request">12</property>
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">8</property>
+                    <property name="bottom_attach">9</property>
+                    <property name="x_options"></property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="presets_label1">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Output Format:&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">6</property>
+                    <property name="bottom_attach">7</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="containerchoice">
+                    <property name="visible">True</property>
+                    <property name="active">0</property>
+                    <signal name="changed" handler="on_containerchoice_changed"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">6</property>
+                    <property name="bottom_attach">7</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer5">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">7</property>
+                    <property name="bottom_attach">8</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="hspacer6">
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">7</property>
+                    <property name="bottom_attach">8</property>
+                    <property name="y_options">GTK_EXPAND</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer5">
+                    <property name="width_request">12</property>
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">7</property>
+                    <property name="bottom_attach">8</property>
+                    <property name="x_options"></property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer7">
+                    <property name="width_request">12</property>
+                    <property name="height_request">6</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">6</property>
+                    <property name="bottom_attach">7</property>
+                    <property name="x_options"></property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="videocodec">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">&lt;small&gt;Video codec:&lt;/small&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="audiocodec">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">&lt;small&gt;Audio codec:&lt;/small&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer10">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </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="x_options"></property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkTable" id="CodecBox">
+                <property name="visible">True</property>
+                <property name="n_rows">12</property>
+                <property name="n_columns">3</property>
+                <child>
+                  <object class="GtkLabel" id="label3">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">11</property>
+                    <property name="bottom_attach">12</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">11</property>
+                    <property name="bottom_attach">12</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer15">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">11</property>
+                    <property name="bottom_attach">12</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer16">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">9</property>
+                    <property name="bottom_attach">10</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer17">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">8</property>
+                    <property name="bottom_attach">9</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer18">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">7</property>
+                    <property name="bottom_attach">8</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer19">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">6</property>
+                    <property name="bottom_attach">7</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer20">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">5</property>
+                    <property name="bottom_attach">6</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer21">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer22">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </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="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer23">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </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="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="mpeg4button">
+                    <property name="label" translatable="yes">MPEG_4/DivX5</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">6</property>
+                    <property name="bottom_attach">7</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="mpeg2button">
+                    <property name="label" translatable="yes">MPEG_2</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">5</property>
+                    <property name="bottom_attach">6</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="celtbutton">
+                    <property name="label" translatable="yes">Celt _Ultra</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">8</property>
+                    <property name="bottom_attach">9</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="speexbutton">
+                    <property name="label" translatable="yes">_Speex</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">7</property>
+                    <property name="bottom_attach">8</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="ac3button">
+                    <property name="label" translatable="yes">AC_3</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">6</property>
+                    <property name="bottom_attach">7</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="aacbutton">
+                    <property name="label" translatable="yes">AA_C</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">5</property>
+                    <property name="bottom_attach">6</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="h264button">
+                    <property name="label" translatable="yes">H2_64</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="mp3button">
+                    <property name="label" translatable="yes">_mp3</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="diracbutton">
+                    <property name="label" translatable="yes">_Dirac</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="flacbutton">
+                    <property name="label" translatable="yes">F_LAC</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="theorabutton">
+                    <property name="label" translatable="yes">Theo_ra</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="vorbisbutton">
+                    <property name="label" translatable="yes">V_orbis</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer24">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label14">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Choose Video Codec&lt;/b&gt;:</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label15">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Choose Audio Codec&lt;/b&gt;:</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="xvidbutton">
+                    <property name="label" translatable="yes">_xvid</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">7</property>
+                    <property name="bottom_attach">8</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="amrnbbutton">
+                    <property name="label" translatable="yes">AMR-N_B</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="relief">none</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">9</property>
+                    <property name="bottom_attach">10</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="h263pbutton">
+                    <property name="label" translatable="yes">H263_plus</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="relief">none</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">8</property>
+                    <property name="bottom_attach">9</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="apassbutton">
+                    <property name="label" translatable="yes">_Audio passthrough</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="vpassbutton">
+                    <property name="label" translatable="yes">_Video passthrough</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer9">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="wma2button">
+                    <property name="label" translatable="yes">W_indowsMediaAudio 2</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="relief">none</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">vorbisbutton</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">10</property>
+                    <property name="bottom_attach">11</property>
+                    <property name="y_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">10</property>
+                    <property name="bottom_attach">11</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="vspacer11">
+                    <property name="width_request">12</property>
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">10</property>
+                    <property name="bottom_attach">11</property>
+                    <property name="x_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="wmv2button">
+                    <property name="label" translatable="yes">_WindowsMediaVideo2</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="relief">none</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">theorabutton</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="right_attach">3</property>
+                    <property name="top_attach">9</property>
+                    <property name="bottom_attach">10</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox3">
+                <property name="visible">True</property>
+                <child>
+                  <object class="GtkLabel" id="rotationlabel">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">&lt;small&gt;Rotate the video image if needed&lt;/small&gt;</property>
+                    <property name="use_markup">True</property>
+                    <property name="justify">right</property>
+                  </object>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="rotationchoice">
+                    <property name="visible">True</property>
+                    <property name="active">0</property>
+                    <signal name="changed" handler="on_rotationchoice_changed"/>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkProgressBar" id="ProgressBar">
+                <property name="visible">True</property>
+              </object>
+              <packing>
+                <property name="padding">6</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHBox" id="hbox1">
+                <property name="visible">True</property>
+                <child>
+                  <object class="GtkLabel" id="label8">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                  </object>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="cancelbutton">
+                    <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="on_cancelbutton_clicked"/>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="transcodebutton">
+                    <property name="label" translatable="yes">_Transcode</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="use_underline">True</property>
+                    <signal name="clicked" handler="on_transcodebutton_clicked"/>
+                  </object>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="padding">3</property>
+                <property name="position">4</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkStatusbar" id="StatusBar">
+            <property name="visible">True</property>
+            <property name="spacing">2</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>



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