[transmageddon] Switch userinterface from Glade to GtkBuilder, patch from Arun Raghavan
- From: Christian Fredrik Kalager Schaller <uraeus src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [transmageddon] Switch userinterface from Glade to GtkBuilder, patch from Arun Raghavan
- Date: Sun, 1 Nov 2009 18:54:54 +0000 (UTC)
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"><small>Audio Channels:</small></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"><small>Video height&#47;width:</small></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"><b>Presets:</b></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"><b>Choose Input File:</b></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"><b>Output Format:</b></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"><small>Video codec:</small></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"><small>Audio codec:</small></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"><b>Choose Video Codec</b>:</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"><b>Choose Audio Codec</b>:</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"><small>Rotate the video image if needed</small></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]