[transmageddon/gtk3: 1/3] First steps towards GTK3 port
- From: Christian Fredrik Kalager Schaller <uraeus src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [transmageddon/gtk3: 1/3] First steps towards GTK3 port
- Date: Thu, 24 Nov 2011 13:55:32 +0000 (UTC)
commit cb0ae1f167b82560ad7c9dcec6d5c50c2b8c955a
Author: Christian Fredrik Kalager Schaller <christian schaller collabora co uk>
Date: Mon Nov 7 17:05:49 2011 +0000
First steps towards GTK3 port
src/transcoder_engine.py | 29 +++----
src/transmageddon.py | 111 ++++++++++++++--------------
src/transmageddon.ui | 187 +++++++++++++++++++++++++++++----------------
3 files changed, 188 insertions(+), 139 deletions(-)
---
diff --git a/src/transcoder_engine.py b/src/transcoder_engine.py
index c69d88c..c71987a 100644
--- a/src/transcoder_engine.py
+++ b/src/transcoder_engine.py
@@ -21,29 +21,24 @@ import os
import codecfinder
import presets
-try:
- import gobject; gobject.threads_init()
- import pygst
- import glib
- pygst.require("0.10")
- import gst
-except Exception, e:
- print "failed to import required modules"
- print e
- sys.exit(1)
-
-class Transcoder(gobject.GObject):
+from gi.repository import GObject
+GObject.threads_init()
+import pygst
+pygst.require("0.10")
+import gst
+
+class Transcoder(GObject.GObject):
__gsignals__ = {
- 'ready-for-querying' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, []),
- 'got-eos' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, []),
- 'got-error' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,))
+ 'ready-for-querying' : (GObject.SignalFlags.RUN_LAST, None, []),
+ 'got-eos' : (GObject.SignalFlags.RUN_LAST, None, []),
+ 'got-error' : (GObject.SignalFlags.RUN_LAST, None, (GObject.TYPE_PYOBJECT,))
}
def __init__(self, FILECHOSEN, FILENAME, DESTDIR, CONTAINERCHOICE, AUDIOCODECVALUE, VIDEOCODECVALUE, PRESET,
OHEIGHT, OWIDTH, FRATENUM, FRATEDEN, ACHANNELS, MULTIPASS, PASSCOUNTER, OUTPUTNAME,
TIMESTAMP, ROTATIONVALUE, AUDIOPASSTOGGLE, VIDEOPASSTOGGLE, INTERLACED, INPUTVIDEOCAPS):
- gobject.GObject.__init__(self)
+ GObject.GObject.__init__(self)
# Choose plugin based on Container name
self.container = CONTAINERCHOICE
@@ -368,7 +363,7 @@ class Transcoder(gobject.GObject):
# Grab element from encodebin which supports tagsetter interface and set app name
# to Transmageddon
- GstTagSetterType = gobject.type_from_name("GstTagSetter")
+ GstTagSetterType = GObject.type_from_name("GstTagSetter")
tag_setting_element=self.encodebin.get_by_interface(GstTagSetterType)
if tag_setting_element != None:
taglist=gst.TagList()
diff --git a/src/transmageddon.py b/src/transmageddon.py
index 51dfb5f..1f55d3c 100644
--- a/src/transmageddon.py
+++ b/src/transmageddon.py
@@ -26,7 +26,6 @@ os.putenv('GST_DEBUG_DUMP_DIR_DIR', '/tmp')
import which
import time
import transcoder_engine
-import gobject; gobject.threads_init()
from urlparse import urlparse
import codecfinder
import about
@@ -36,26 +35,23 @@ import datetime
from gettext import gettext as _
import gettext
-try:
- import pygtk
- pygtk.require("2.0")
- import glib
- import gtk
- import pygst
- pygst.require("0.10")
- import gst
- import gst.pbutils
-except Exception, e:
- print "failed to import required modules"
- print e
- sys.exit(1)
+import gi
+from gi.repository import Gtk
+from gi.repository import GObject
+GObject.threads_init()
+from gi.repository import GLib
+import pygst
+pygst.require("0.10")
+import gst
+import gst.pbutils
+
major, minor, patch = gst.pygst_version
if (major == 0) and (patch < 22):
print "You need version 0.10.22 or higher of gstreamer-python for Transmageddon"
sys.exit(1)
-major, minor, patch = gobject.pygobject_version
+major, minor, patch = GObject.pygobject_version
if (major == 2) and (minor < 18):
print "You need version 2.18.0 or higher of pygobject for Transmageddon"
sys.exit(1)
@@ -154,7 +150,7 @@ class TransmageddonUI:
gettext.bindtextdomain("transmageddon","../../share/locale")
gettext.textdomain("transmageddon")
- self.builder = gtk.Builder()
+ self.builder = Gtk.Builder()
# Set the translation domain of builder
# please note the call *right after* the builder is created
self.builder.set_translation_domain("transmageddon")
@@ -179,15 +175,15 @@ class TransmageddonUI:
# these dynamic comboboxes allow us to support files with multiple streams eventually
def dynamic_comboboxes_audio(streams,extra = []):
streams=1 # this will become a variable once we support multiple streams
- vbox = gtk.VBox()
+ vbox = Gtk.VBox()
x=-1
while x < (streams-1):
x=x+1
# print "x is " + str(x)
- store = gtk.ListStore(gobject.TYPE_STRING, *extra)
- combo = gtk.ComboBox(store)
- text_cell = gtk.CellRendererText()
+ # store = Gtk.ListStore(GObject.TYPE_STRING, *extra)
+ combo = Gtk.ComboBoxText.new()
+ text_cell = Gtk.CellRendererText()
combo.pack_start(text_cell, True)
combo.add_attribute(text_cell, 'text', 0)
self.audiorows.append(combo)
@@ -196,14 +192,14 @@ class TransmageddonUI:
def dynamic_comboboxes_video(streams,extra = []):
streams=1
- vbox = gtk.VBox()
+ vbox = Gtk.VBox()
x=-1
while x < (streams-1):
x=x+1
- store = gtk.ListStore(gobject.TYPE_STRING, *extra)
- combo = gtk.ComboBox(store)
- text_cell = gtk.CellRendererText()
+ # store = Gtk.ListStore(GObject.TYPE_STRING, *extra)
+ combo = Gtk.ComboBoxText.new()
+ text_cell = Gtk.CellRendererText()
combo.pack_start(text_cell, True)
combo.add_attribute(text_cell, 'text', 0)
self.videorows.append(combo)
@@ -217,8 +213,8 @@ class TransmageddonUI:
self.audioinformation = self.builder.get_object("audioinformation")
self.videocodec = self.builder.get_object("videocodec")
self.audiocodec = self.builder.get_object("audiocodec")
- self.audiobox = dynamic_comboboxes_audio([gobject.TYPE_PYOBJECT])
- self.videobox = dynamic_comboboxes_video([gobject.TYPE_PYOBJECT])
+ self.audiobox = dynamic_comboboxes_audio([GObject.TYPE_PYOBJECT])
+ self.videobox = dynamic_comboboxes_video([GObject.TYPE_PYOBJECT])
self.CodecBox = self.builder.get_object("CodecBox")
self.presetchoice = self.builder.get_object("presetchoice")
self.containerchoice = self.builder.get_object("containerchoice")
@@ -227,12 +223,12 @@ class TransmageddonUI:
self.ProgressBar = self.builder.get_object("ProgressBar")
self.cancelbutton = self.builder.get_object("cancelbutton")
self.StatusBar = self.builder.get_object("StatusBar")
- self.CodecBox.attach(self.audiobox, 0, 1, 1, 2, yoptions = gtk.FILL)
- self.CodecBox.attach(self.videobox, 2, 3, 1, 2, yoptions = gtk.FILL)
+ self.CodecBox.attach(self.audiobox, 0, 1, 1, 2, yoptions = Gtk.AttachOptions.FILL)
+ self.CodecBox.attach(self.videobox, 2, 3, 1, 2, yoptions = Gtk.AttachOptions.FILL)
self.CodecBox.show_all()
self.audiorows[0].connect("changed", self.on_audiocodec_changed)
self.videorows[0].connect("changed", self.on_videocodec_changed)
- self.TopWindow.connect("destroy", gtk.main_quit)
+ self.TopWindow.connect("destroy", Gtk.main_quit)
def get_file_path_from_dnd_dropped_uri(self, uri):
# get the path to file
path = ""
@@ -250,10 +246,10 @@ class TransmageddonUI:
uri = selection.data.strip('\r\n\x00')
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.TopWindow.connect('drag_data_received', on_drag_data_received)
+ #self.Gtk.drag_dest_set(TopWindow, Gtk.DEST_DEFAULT_MOTION |
+ # Gtk.DEST_DEFAULT_HIGHLIGHT | Gtk.DEST_DEFAULT_DROP, dnd_list, \
+ # Gdk.DragAction.COPY)
self.start_time = False
self.multipass = False
@@ -261,11 +257,11 @@ class TransmageddonUI:
# Set the Videos XDG UserDir as the default directory for the filechooser
# also make sure directory exists
- if 'get_user_special_dir' in glib.__dict__:
+ if 'get_user_special_dir' in GLib.__dict__:
self.videodirectory = \
- glib.get_user_special_dir(glib.USER_DIRECTORY_VIDEOS)
+ GLib.get_user_special_dir(GLib.USER_DIRECTORY_VIDEOS)
self.audiodirectory = \
- glib.get_user_special_dir(glib.USER_DIRECTORY_MUSIC)
+ GLib.get_user_special_dir(GLib.USER_DIRECTORY_MUSIC)
else:
print "XDG video or audio directory not available"
self.videodirectory = os.getenv('HOME')
@@ -338,10 +334,10 @@ class TransmageddonUI:
self.p_time = gst.FORMAT_TIME
# Populate the Container format combobox
- for i in supported_containers:
- self.containerchoice.append_text(i)
+ # for i in supported_containers:
+ # self.containerchoice.append_text(i)
# add i18n "No container"option
- self.containerchoice.append_text(_("No container (Audio-only)"))
+ # self.containerchoice.append_text(_("No container (Audio-only)"))
# Populate the rotatation box
self.rotationlist = [_("No rotation (default)"),\
@@ -369,8 +365,8 @@ class TransmageddonUI:
devicelist.append(str(device))
shortname.append(str(name))
- #for (name, device) in (presets.get().items()):
- # 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"))
@@ -486,11 +482,11 @@ class TransmageddonUI:
else:
return False
- # Call gobject.timeout_add with a value of 500millisecond to regularly poll
+ # Call GObject.timeout_add with a value of 500millisecond to regularly poll
# for position so we can
# use it for the progressbar
def ProgressBarUpdate(self, source):
- gobject.timeout_add(500, self.Increment_Progressbar)
+ GObject.timeout_add(500, self.Increment_Progressbar)
# print "ProgressBar timeout_add startet"
def _on_eos(self, source):
@@ -687,7 +683,7 @@ class TransmageddonUI:
# removing bogus text from supported_containers
if self.bogus==0:
- self.containerchoice.remove_text(12)
+ self.containerchoice.remove(12)
self.bogus=1
self.nocontaineroptiontoggle=False
self.containerchoice.set_sensitive(True)
@@ -896,12 +892,12 @@ class TransmageddonUI:
# clean up stuff from previous run
self.houseclean=True # set this to avoid triggering events when cleaning out menus
for c in self.audiocodecs: #
- self.audiorows[0].remove_text(0)
+ self.audiorows[0].remove(0)
self.audiocodecs =[]
if self.havevideo==True:
if self.container != False:
for c in self.videocodecs:
- self.videorows[0].remove_text(0)
+ self.videorows[0].remove(0)
self.videocodecs=[]
self.houseclean=False
# end of housecleaning
@@ -985,9 +981,10 @@ class TransmageddonUI:
self.populate_menu_choices()
def on_presetchoice_changed(self, widget):
- presetchoice = self.builder.get_object ("presetchoice").get_active_text ()
+ presetchoice = self.builder.get_object ("presetchoice").get_active()
+ print "presetchoice is " + str(presetchoice)
self.ProgressBar.set_fraction(0.0)
- if presetchoice == _("No Presets"):
+ if presetchoice == 0:
self.usingpreset=False
self.devicename = "nopreset"
self.containerchoice.set_sensitive(True)
@@ -1003,11 +1000,15 @@ class TransmageddonUI:
else:
self.usingpreset=True
self.ProgressBar.set_fraction(0.0)
- self.devicename= self.presetchoices[presetchoice]
- self.provide_presets(self.devicename)
- self.containerchoice.set_sensitive(False)
- self.CodecBox.set_sensitive(False)
- self.rotationchoice.set_sensitive(False)
+ if presetchoice != None:
+ print "am I getting here"
+ self.devicename= self.presetchoices[presetchoice]
+ self.provide_presets(self.devicename)
+ self.containerchoice.set_sensitive(False)
+ self.CodecBox.set_sensitive(False)
+ self.rotationchoice.set_sensitive(False)
+ else:
+ print "no presetchoice values found"
if self.builder.get_object("containerchoice").get_active_text():
self.transcodebutton.set_sensitive(True)
@@ -1084,11 +1085,11 @@ class TransmageddonUI:
try:
dot = which.which("dot")
os.system(dot + " -Tpng -o " + pngfile + " " + dotfile)
- gtk.show_uri(gtk.gdk.Screen(), "file://"+pngfile, 0)
+ Gtk.show_uri(Gdk.Screen(), "file://"+pngfile, 0)
except which.WhichError:
print "The debug feature requires graphviz (dot) to be installed."
print "Transmageddon can not find the (dot) binary."
if __name__ == "__main__":
hwg = TransmageddonUI()
- gtk.main()
+ Gtk.main()
diff --git a/src/transmageddon.ui b/src/transmageddon.ui
index 8663d46..a74de14 100644
--- a/src/transmageddon.ui
+++ b/src/transmageddon.ui
@@ -1,45 +1,53 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.16"/>
- <!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="TopWindow">
<property name="visible">True</property>
+ <property name="can_focus">False</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>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkMenuBar" id="menubar">
<property name="visible">True</property>
+ <property name="can_focus">False</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="help">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</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>
+ <property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="debug">
<property name="label" translatable="yes">_Debug</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">False</property>
- <signal name="activate" handler="on_debug_activate"/>
+ <signal name="activate" handler="on_debug_activate" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="about_dialog">
<property name="label">gtk-about</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
- <signal name="activate" handler="on_about_dialog_activate"/>
+ <signal name="activate" handler="on_about_dialog_activate" swapped="no"/>
</object>
</child>
</object>
@@ -49,23 +57,26 @@
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="border_width">12</property>
- <property name="orientation">vertical</property>
<child>
<object class="GtkTable" id="table1">
<property name="visible">True</property>
+ <property name="can_focus">False</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>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -78,6 +89,7 @@
<child>
<object class="GtkLabel" id="audioinformation">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><small>Audio Channels:</small></property>
<property name="use_markup">True</property>
@@ -92,6 +104,7 @@
<child>
<object class="GtkLabel" id="videoinformation">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes"><small>Video height&#47;width:</small></property>
@@ -105,6 +118,7 @@
<child>
<object class="GtkLabel" id="preset_label">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Presets:</b></property>
<property name="use_markup">True</property>
@@ -118,6 +132,7 @@
<object class="GtkLabel" id="vspacer6">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -128,28 +143,9 @@
</packing>
</child>
<child>
- <object class="GtkComboBox" id="presetchoice">
- <property name="visible">True</property>
- <property name="model">presetsmodel</property>
- <property name="active">0</property>
- <signal name="changed" handler="on_presetchoice_changed"/>
- <child>
- <object class="GtkCellRendererText" id="cellrenderertext1"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
- </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="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Choose Input File:</b></property>
<property name="use_markup">True</property>
@@ -160,8 +156,9 @@
<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"/>
+ <property name="can_focus">False</property>
+ <signal name="selection-changed" handler="on_FileChooser_file_set" swapped="no"/>
+ <signal name="file-set" handler="on_FileChooser_file_set" swapped="no"/>
</object>
<packing>
<property name="left_attach">2</property>
@@ -172,6 +169,7 @@
<object class="GtkLabel" id="vspacer1">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -183,6 +181,7 @@
<object class="GtkLabel" id="hspacer4">
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -196,6 +195,7 @@
<object class="GtkLabel" id="vspacer4">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -209,6 +209,7 @@
<object class="GtkLabel" id="hspacer3">
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="top_attach">4</property>
@@ -220,6 +221,7 @@
<object class="GtkLabel" id="hspacer2">
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -234,6 +236,7 @@
<property name="width_request">12</property>
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -248,6 +251,7 @@
<object class="GtkLabel" id="hspacer1">
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="top_attach">1</property>
@@ -259,6 +263,7 @@
<object class="GtkLabel" id="hspacer7">
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="top_attach">8</property>
@@ -270,6 +275,7 @@
<object class="GtkLabel" id="hspacer8">
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -284,6 +290,7 @@
<property name="width_request">12</property>
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -297,6 +304,7 @@
<child>
<object class="GtkLabel" id="presets_label1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Output Format:</b></property>
<property name="use_markup">True</property>
@@ -307,29 +315,10 @@
</packing>
</child>
<child>
- <object class="GtkComboBox" id="containerchoice">
- <property name="visible">True</property>
- <property name="model">outputformatmodel</property>
- <property name="active">0</property>
- <signal name="changed" handler="on_containerchoice_changed"/>
- <child>
- <object class="GtkCellRendererText" id="cellrenderertext3"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
- </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>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="top_attach">7</property>
@@ -341,6 +330,7 @@
<object class="GtkLabel" id="hspacer6">
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -355,6 +345,7 @@
<property name="width_request">12</property>
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -370,6 +361,7 @@
<property name="width_request">12</property>
<property name="height_request">6</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -383,6 +375,7 @@
<child>
<object class="GtkLabel" id="videocodec">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes"><small>Video codec:</small></property>
@@ -396,6 +389,7 @@
<child>
<object class="GtkLabel" id="audiocodec">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes"><small>Audio codec:</small></property>
@@ -412,6 +406,7 @@
<object class="GtkLabel" id="vspacer10">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -421,20 +416,49 @@
<property name="x_options"></property>
</packing>
</child>
+ <child>
+ <object class="GtkComboBoxText" id="presetchoice">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <signal name="changed" handler="on_presetchoice_changed" swapped="no"/>
+ </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="GtkComboBoxText" id="containerchoice">
+ <property name="visible">True</property>
+ <property name="can_focus">False</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>
+ </packing>
+ </child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkTable" id="CodecBox">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="n_rows">4</property>
<property name="n_columns">3</property>
<child>
<object class="GtkLabel" id="vspacer15">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -448,6 +472,7 @@
<object class="GtkLabel" id="vspacer23">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -461,6 +486,7 @@
<object class="GtkLabel" id="vspacer24">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
@@ -473,6 +499,7 @@
<child>
<object class="GtkLabel" id="label15">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Choose Audio Codec</b>:</property>
<property name="use_markup">True</property>
@@ -482,6 +509,7 @@
<object class="GtkLabel" id="vspacer9">
<property name="width_request">12</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -494,6 +522,7 @@
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="top_attach">3</property>
@@ -503,6 +532,7 @@
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -514,6 +544,7 @@
<child>
<object class="GtkLabel" id="label14">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes"><b>Choose Video Codec</b>:</property>
<property name="use_markup">True</property>
@@ -537,16 +568,19 @@
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkVBox" id="vbox3">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="rotationlabel">
<property name="visible">True</property>
+ <property name="can_focus">False</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>
@@ -554,36 +588,38 @@
<property name="justify">right</property>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkComboBox" id="rotationchoice">
+ <object class="GtkComboBoxText" id="rotationchoice">
<property name="visible">True</property>
- <property name="model">rotationmodel</property>
- <property name="active">0</property>
- <signal name="changed" handler="on_rotationchoice_changed"/>
- <child>
- <object class="GtkCellRendererText" id="cellrenderertext2"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
+ <property name="can_focus">False</property>
+ <signal name="changed" handler="on_rotationchoice_changed" swapped="no"/>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkProgressBar" id="ProgressBar">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="padding">6</property>
<property name="position">3</property>
</packing>
@@ -591,12 +627,16 @@
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="label8">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="xalign">0</property>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
@@ -606,10 +646,13 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
- <signal name="clicked" handler="on_cancelbutton_clicked"/>
+ <signal name="clicked" handler="on_cancelbutton_clicked" swapped="no"/>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
@@ -619,38 +662,52 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
- <signal name="clicked" handler="on_transcodebutton_clicked"/>
+ <signal name="clicked" handler="on_transcodebutton_clicked" swapped="no"/>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="padding">3</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkStatusbar" id="StatusBar">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="spacing">2</property>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
- <object class="GtkListStore" id="rotationmodel">
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-dialog-info</property>
+ </object>
+ <object class="GtkListStore" id="outputformatmodel">
<columns>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
@@ -662,14 +719,10 @@
<column type="gchararray"/>
</columns>
</object>
- <object class="GtkListStore" id="outputformatmodel">
+ <object class="GtkListStore" id="rotationmodel">
<columns>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
- <object class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-info</property>
- </object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]