mistelix r12 - in trunk: . po src src/core src/datamodel src/dialogs



Author: jmas
Date: Mon Apr  6 17:54:36 2009
New Revision: 12
URL: http://svn.gnome.org/viewvc/mistelix?rev=12&view=rev

Log:
2009-04-05 Jordi Mas <jmas softcatala org>

	* src/dialogs/NewProjectDialog.cs: Allow to set output resolution
	* src/dialogs/PreferencesDialog.cs: Allow to set output resolution
	* src/dialogs/ProjectPropertiesDialog.cs: Allow to set output resolution
	* src/dialogs/AddSlideDialog.cs: Allow to set output resolution
	* src/core/Button.cs: Allow to set output resolution
	* src/core/ResolutionManager.cs: Allow to set output resolution
	* src/core/SlideShow.cs: Allow to set output resolution
	* src/core/ThumbnailSizeManager.cs: Allow to set output resolution
	* src/Makefile.am: New files
	* src/mistelix.glade: Allow to set output resolution
	* src/datamodel/ProjectDetails.cs: Allow to set output resolution
	* src/datamodel/ThumbnailSize.cs: Allow to set output resolution
	* src/datamodel/Resolution.cs: Allow to set output resolution
	* src/datamodel/Project.cs: Allow to set output resolution
	* autogen.sh: No need for gnome-docs



Added:
   trunk/src/core/ResolutionManager.cs
   trunk/src/datamodel/Resolution.cs   (contents, props changed)
      - copied, changed from r11, /trunk/src/datamodel/ThumbnailSize.cs
Removed:
   trunk/src/datamodel/ThumbnailSize.cs
Modified:
   trunk/ChangeLog
   trunk/autogen.sh
   trunk/po/POTFILES.in
   trunk/po/sk.po
   trunk/src/Makefile.am
   trunk/src/core/Button.cs
   trunk/src/core/SlideShow.cs
   trunk/src/core/ThumbnailSizeManager.cs
   trunk/src/datamodel/Project.cs
   trunk/src/datamodel/ProjectDetails.cs
   trunk/src/dialogs/AddSlideDialog.cs
   trunk/src/dialogs/NewProjectDialog.cs
   trunk/src/dialogs/PreferencesDialog.cs
   trunk/src/dialogs/ProjectPropertiesDialog.cs
   trunk/src/mistelix.glade

Modified: trunk/autogen.sh
==============================================================================
--- trunk/autogen.sh	(original)
+++ trunk/autogen.sh	Mon Apr  6 17:54:36 2009
@@ -55,11 +55,6 @@
   }
 }
 
-(which gnome-doc-prepare && gnome-doc-prepare )|| {
-	echo "**Error**: You must have gnome-common installed to compile $PROJECT."
-	DIE=1
-}
-
 if test "$DIE" -eq 1; then
 	exit 1
 fi

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Mon Apr  6 17:54:36 2009
@@ -7,6 +7,7 @@
 src/core/DvdProjectBuilder.cs
 src/core/MistelixLib.cs
 src/core/NoneTransition.cs
+src/core/ResolutionManager.cs
 src/core/TheoraProjectBuilder.cs
 src/core/ThumbnailSizeManager.cs
 src/datamodel/AspectRatio.cs

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Mon Apr  6 17:54:36 2009
@@ -55,7 +55,7 @@
 	$(srcdir)/dialogs/ProjectPropertiesDialog.cs \
 	$(srcdir)/core/Preferences.cs \
 	$(srcdir)/widgets/BrowseDirectory.cs \
-	$(srcdir)/datamodel/ThumbnailSize.cs  \
+	$(srcdir)/datamodel/Resolution.cs  \
 	$(srcdir)/core/ThumbnailSizeManager.cs \
 	$(srcdir)/datamodel/TextPosition.cs \
 	$(srcdir)/core/SvgImage.cs \
@@ -66,7 +66,8 @@
 	$(srcdir)/datamodel/ObservableList.cs \
 	$(srcdir)/datamodel/Effect.cs \
  	$(srcdir)/core/EffectManager.cs \
-	$(srcdir)/widgets/DataImageSurface.cs
+	$(srcdir)/widgets/DataImageSurface.cs \
+	$(srcdir)/core/ResolutionManager.cs
 
 ASSEMBLIES = \
 	 $(MISTELIX_LIBS)    		\

Modified: trunk/src/core/Button.cs
==============================================================================
--- trunk/src/core/Button.cs	(original)
+++ trunk/src/core/Button.cs	Mon Apr  6 17:54:36 2009
@@ -130,7 +130,7 @@
 		void LoadThumbnail (Project project)
 		{
 			Gdk.Pixbuf pix = null;
-			ThumbnailSize size;
+			Resolution size;
 
 			size = ThumbnailSizeManager.List [project.Details.ButtonThumbnailSize];
 

Added: trunk/src/core/ResolutionManager.cs
==============================================================================
--- (empty file)
+++ trunk/src/core/ResolutionManager.cs	Mon Apr  6 17:54:36 2009
@@ -0,0 +1,57 @@
+//
+// Copyright (C) 2009 Jordi Mas i Hernandez, jmas softcatala org
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Mono.Unix;
+
+using Mistelix.DataModel;
+
+namespace Mistelix.Core
+{
+	// Resolution Manager
+	public static class ResolutionManager
+	{
+		static Resolution[] sizes;
+		static ResolutionManager ()
+		{
+			// See: http://en.wikipedia.org/wiki/Display_resolution#Current_standards
+			sizes = new Resolution [6];
+			sizes[0] = new Resolution (Catalog.GetString ("320x240 pixels"), 320, 240);
+			sizes[1] = new Resolution (Catalog.GetString ("640x480 pixels"), 640, 480);
+			sizes[2] = new Resolution (Catalog.GetString ("1024x768 pixels"), 1024, 768);
+			sizes[3] = new Resolution (Catalog.GetString ("1280x720 pixels (720p)"), 1280, 720);
+			sizes[4] = new Resolution (Catalog.GetString ("1600x1200 pixels"), 1600, 1200);
+			sizes[5] = new Resolution (Catalog.GetString ("1920x1080 pixels (1080i)"), 1920, 1080);
+		}
+
+		static public Resolution Default {
+			get { return sizes[2]; } // 1024x768
+		}
+
+		static public Resolution[] List {
+			get {
+				return sizes;
+			}
+		}
+	}
+}

Modified: trunk/src/core/SlideShow.cs
==============================================================================
--- trunk/src/core/SlideShow.cs	(original)
+++ trunk/src/core/SlideShow.cs	Mon Apr  6 17:54:36 2009
@@ -101,6 +101,7 @@
 
 			Logger.Debug ("SlideShow.GenerateMPEG ->Send Fixed image time {0} (frames)", (uint) (frames_sec * images[images.Count -1].ShowTime));
 			lib.SlideShowAddImageFixed (((SlideImage)images[images.Count - 1]), (uint) (frames_sec * images[images.Count -1].ShowTime));
+			((SlideImage) images[images.Count - 1]).ReleasePixels ();
 	
 			if (progress != null) {
 				args.Progress = args.Progress + 1;

Modified: trunk/src/core/ThumbnailSizeManager.cs
==============================================================================
--- trunk/src/core/ThumbnailSizeManager.cs	(original)
+++ trunk/src/core/ThumbnailSizeManager.cs	Mon Apr  6 17:54:36 2009
@@ -31,23 +31,23 @@
 	// Manages all thumbnails sizes
 	public static class ThumbnailSizeManager
 	{
-		static ThumbnailSize[] sizes;
+		static Resolution[] sizes;
 		static ThumbnailSizeManager ()
 		{
-			sizes = new ThumbnailSize [4];
-			sizes[0] = new ThumbnailSize (Catalog.GetString ("Small (64x64 pixels)"), 64, 64);
-			sizes[1] = new ThumbnailSize (Catalog.GetString ("Medium (96x96 pixels)"), 96, 96);
-			sizes[2] = new ThumbnailSize (Catalog.GetString ("Large (128x128 pixels)"), 128, 128);
-			sizes[3] = new ThumbnailSize (Catalog.GetString ("Very Large (192x192 pixels)"), 192, 192);
+			sizes = new Resolution [4];
+			sizes[0] = new Resolution (Catalog.GetString ("Small (64x64 pixels)"), 64, 64);
+			sizes[1] = new Resolution (Catalog.GetString ("Medium (96x96 pixels)"), 96, 96);
+			sizes[2] = new Resolution (Catalog.GetString ("Large (128x128 pixels)"), 128, 128);
+			sizes[3] = new Resolution (Catalog.GetString ("Very Large (192x192 pixels)"), 192, 192);
 		}
 
-		static public ThumbnailSize[] List {
+		static public Resolution[] List {
 			get {
 				return sizes;
 			}
 		}
 
-		static public ThumbnailSize Current {
+		static public Resolution Current {
 			get {
 				int thumbnail = Mistelix.Preferences.GetIntValue (Preferences.ThumbnailSizeKey);
 				return sizes [thumbnail];

Modified: trunk/src/datamodel/Project.cs
==============================================================================
--- trunk/src/datamodel/Project.cs	(original)
+++ trunk/src/datamodel/Project.cs	Mon Apr  6 17:54:36 2009
@@ -101,8 +101,8 @@
 		public void AddElement (VisibleProjectElement element)
 		{
 			// It is not necessary to reflect the ID in the object passed (passed by value)
-			element.id = details.next_id;
-			details.IncreaseElement ();
+			element.id = details.NextID;
+			details.IncreaseNextID ();
 			elements.Add (element);
 		}
 

Modified: trunk/src/datamodel/ProjectDetails.cs
==============================================================================
--- trunk/src/datamodel/ProjectDetails.cs	(original)
+++ trunk/src/datamodel/ProjectDetails.cs	Mon Apr  6 17:54:36 2009
@@ -51,7 +51,7 @@
 		int height;
 		string theme;
 		string output_dir;
-		public int next_id;
+		int next_id;
 		ProjectType type;
 		string buttons_fontname;
 		Cairo.Color buttons_back_color;
@@ -73,7 +73,10 @@
 			slideshows_fontname = "sans 12";
 		}
 
-		public void IncreaseElement () { next_id++; }
+		public void IncreaseNextID () 
+		{ 
+			next_id++; 
+		}
 
 		[XmlElementAttribute ("type", DataType="int")]
 		public ProjectType Type {
@@ -177,6 +180,12 @@
 			set { custom_background = value;}
 		}
 
+		[XmlElementAttribute ("next_id")]
+		public int NextID {
+			get { return next_id;}
+			set { next_id = value;}
+		}
+
 		public Theme Theme {
 			get {
 				if (theme == null)
@@ -186,7 +195,7 @@
 			}
 		}
 
-		public void SetResolution ()
+		public void SetDvdResolution ()
 		{
 			if (format == VideoFormat.PAL) {
 				Width = 720;
@@ -197,6 +206,12 @@
 			}
 		}
 
+		public void SetResolution (int width, int height)
+		{
+			Width = width;
+			Height = height;
+		}
+
 		public int FramesPerSecond {
 			get {
 				if (format == VideoFormat.PAL)

Copied: trunk/src/datamodel/Resolution.cs (from r11, /trunk/src/datamodel/ThumbnailSize.cs)
==============================================================================
--- /trunk/src/datamodel/ThumbnailSize.cs	(original)
+++ trunk/src/datamodel/Resolution.cs	Mon Apr  6 17:54:36 2009
@@ -26,13 +26,14 @@
 
 namespace Mistelix.DataModel
 {
-	public struct ThumbnailSize
+	// Used to specify resolutions for thumbnails and videos
+	public struct Resolution
 	{
 		string name;
 		int width;
 		int height;
 
-		public ThumbnailSize (string name, int width, int height)
+		public Resolution (string name, int width, int height)
 		{
 			this.name = name;
 			this.width = width;

Modified: trunk/src/dialogs/AddSlideDialog.cs
==============================================================================
--- trunk/src/dialogs/AddSlideDialog.cs	(original)
+++ trunk/src/dialogs/AddSlideDialog.cs	Mon Apr  6 17:54:36 2009
@@ -50,7 +50,7 @@
 	
 		ImagesFileView file_view;
 		SlideShowImageView image_view;
-		ListStore transitions_combo, textposition_store;
+		ListStore transition_store, textposition_store;
 		SlideImage selected_image;
 		SlideShow slide;
 		TransitionPreview drawing_area;
@@ -95,9 +95,9 @@
 			vpaned.Position = 500; // W (left)
 			hpaned.Position = 300; // H (right)
 
-			transitions_combo = new ListStore (typeof (string), typeof (string)); // DisplayName, Name
+			transition_store = new ListStore (typeof (string), typeof (string)); // DisplayName, Name
 			LoadTransitionsIntoCombo ();
-			transition_combo.Model = transitions_combo;
+			transition_combo.Model = transition_store;
 
 			textposition_store = new ListStore (typeof (string), typeof (int)); // DisplayName, int
 			textposition_combo.Model = textposition_store;
@@ -166,7 +166,7 @@
 		void SetTransisitionToNone ()
 		{
 			TreeIter iter;
-			transitions_combo.GetIterFirst (out iter);
+			transition_store.GetIterFirst (out iter);
 			transition_combo.SetActiveIter (iter);
 		}
 
@@ -175,7 +175,7 @@
 			ITransition[] transitions = TransitionManager.List;
 
 			foreach (ITransition transition in transitions) {
-				transitions_combo.AppendValues (transition.DisplayName, transition.Name);
+				transition_store.AppendValues (transition.DisplayName, transition.Name);
 			}
 		}
 
@@ -290,15 +290,15 @@
 			drawing_area.UpdateTransitionType (string.Empty);
 	
 			// Transition for this image
-			more = transitions_combo.GetIterFirst (out iter);
+			more = transition_store.GetIterFirst (out iter);
 			while (more)
 			{
-				transition = (string) transitions_combo.GetValue (iter, (int) ColumnsCombo.Column_Data);
+				transition = (string) transition_store.GetValue (iter, (int) ColumnsCombo.Column_Data);
 				if (selected_image.Transition.Equals (transition)) {
 					transition_combo.SetActiveIter (iter);
 					break;
 				}
-				more = transitions_combo.IterNext (ref iter);
+				more = transition_store.IterNext (ref iter);
 			}
 		
 			if (more == false)

Modified: trunk/src/dialogs/NewProjectDialog.cs
==============================================================================
--- trunk/src/dialogs/NewProjectDialog.cs	(original)
+++ trunk/src/dialogs/NewProjectDialog.cs	Mon Apr  6 17:54:36 2009
@@ -40,17 +40,58 @@
 		[Glade.Widget] Gtk.Entry output_dir;
 		[Glade.Widget] Gtk.Entry name;
 		[Glade.Widget] Gtk.RadioButton slideshows_radio;
-		[Glade.Widget] Gtk.RadioButton pal_radio;
-		[Glade.Widget] Gtk.RadioButton ntsc_radio;
-		[Glade.Widget] Gtk.RadioButton fourbythree_radio;
-		[Glade.Widget] Gtk.RadioButton sixteenbynine_radio;
 		[Glade.Widget] Gtk.Label vformat_label;
 		[Glade.Widget] Gtk.Label aratio_label;
+		[Glade.Widget] Gtk.Label resolution_label;
+		[Glade.Widget] Gtk.Box palradio_vbox;
+		[Glade.Widget] Gtk.Box videoformat_vbox;
+		[Glade.Widget] Gtk.Box aspectratio_vbox;
+		[Glade.Widget] Gtk.ComboBox resolution_combobox;
+
+		Gtk.RadioButton pal_radio;
+		Gtk.RadioButton ntsc_radio;
+		Gtk.RadioButton fourbythree_radio;
+		Gtk.RadioButton sixteenbynine_radio;
 		Project project;
 		bool changed;
+		ListStore resolution_store;
+
+		const int COL_INDEX = 1;
 
 		public NewProjectDialog () : base ("newproject")
 		{
+			TreeIter iter;
+
+			// Comboboxes are added with a HBox to be able to align them
+			pal_radio = new Gtk.RadioButton (Catalog.GetString ("PAL (Europe)"));
+			AddRadioButton (videoformat_vbox, pal_radio, 24);
+
+			ntsc_radio = new Gtk.RadioButton (pal_radio, Catalog.GetString ("NTSC"));
+			AddRadioButton (videoformat_vbox, ntsc_radio, 24);
+
+			fourbythree_radio = new Gtk.RadioButton (Catalog.GetString ("4:3 (TV)"));
+			AddRadioButton (aspectratio_vbox, fourbythree_radio, 10);
+
+			sixteenbynine_radio = new Gtk.RadioButton (fourbythree_radio, Catalog.GetString ("16:9 (Widescreen)"));
+			AddRadioButton (aspectratio_vbox, sixteenbynine_radio, 10);
+
+			resolution_store = new ListStore (typeof (string), typeof (int)); // DisplayName, index to array
+			resolution_combobox.Model = resolution_store;
+			LoadResolutionIntoCombo ();
+
+			// Select default item in the combobox list
+			bool more = resolution_store.GetIterFirst (out iter);
+			while (more)
+			{
+				int idx = (int) resolution_store.GetValue (iter, COL_INDEX);
+				if (ResolutionManager.List[idx].Width == ResolutionManager.Default.Width &&
+					ResolutionManager.List[idx].Height == ResolutionManager.Default.Height) {
+					resolution_combobox.SetActiveIter (iter);
+					break;
+				}
+				more = resolution_store.IterNext (ref iter);
+			}
+
 			// Translators: This is the default project name for a new project
 			name.Text = Catalog.GetString ("Project");
 			output_dir.Text = OutputDirFromName ();
@@ -65,6 +106,24 @@
 			get { return project; }
 		}
 
+		void LoadResolutionIntoCombo ()
+		{		
+			for (int i = 0; i < ResolutionManager.List.Length; i++)
+				resolution_store.AppendValues (ResolutionManager.List[i].Name, i);
+		}
+
+		void AddRadioButton (Box parent, RadioButton button, uint padding)
+		{
+			Gtk.Box.BoxChild child;
+			HBox hbox = new HBox (false, 0);
+
+			parent.Add (hbox);
+			hbox.Add (button);
+			child = (Gtk.Box.BoxChild) (hbox [button]);
+			child.Padding = padding;
+			hbox.ShowAll ();
+		}
+
 		void OnChangedProjectName (object sender, EventArgs args)
 		{
 			if (changed)
@@ -86,6 +145,8 @@
 
 		void OnOK (object sender, EventArgs args)
 		{
+			TreeIter iter;
+
 			project = new Project ();
 			project.Details.OutputDir = output_dir.Text;
 			project.Details.Name = name.Text;
@@ -95,17 +156,22 @@
 			else
 				project.Details.Format = VideoFormat.NTSC;
 
-			if (slideshows_radio.Active)
+			if (slideshows_radio.Active) {
 				project.Details.Type = ProjectType.Theora;
-			else
+				if (resolution_combobox.GetActiveIter (out iter)) {
+					int idx = (int) resolution_combobox.Model.GetValue (iter, COL_INDEX);
+					project.Details.SetResolution (ResolutionManager.List[idx].Width, ResolutionManager.List[idx].Height);
+				}
+			}
+			else {
 				project.Details.Type = ProjectType.DVD;
+				project.Details.SetDvdResolution ();
+			}
 
 			if (fourbythree_radio.Active)
 				project.Details.AspectRatio = AspectRatio.FourByThree;
 			else
 				project.Details.AspectRatio = AspectRatio.SixteenByNine;
-
-			project.Details.SetResolution ();
 		}
 
 		void OnBrowse (object o, EventArgs args)
@@ -131,12 +197,17 @@
 		{
 			bool active = slideshows_radio.Active == false; // DVD project
 
+			// DVD Project
 			pal_radio.Sensitive = active;
 			ntsc_radio.Sensitive = active;
 			fourbythree_radio.Sensitive = active;
 			sixteenbynine_radio.Sensitive = active;
 			vformat_label.Sensitive = active;
 			aratio_label.Sensitive = active;
+
+			// Theora project
+			resolution_label.Sensitive = !active;
+			resolution_combobox.Sensitive = !active;
 		}
 
 		void OnProjectTypeToggled (object obj, EventArgs args)

Modified: trunk/src/dialogs/PreferencesDialog.cs
==============================================================================
--- trunk/src/dialogs/PreferencesDialog.cs	(original)
+++ trunk/src/dialogs/PreferencesDialog.cs	Mon Apr  6 17:54:36 2009
@@ -169,7 +169,7 @@
 
 		void LoadThumbnailsIntoCombo ()
 		{
-			ThumbnailSize[] sizes = ThumbnailSizeManager.List;
+			Resolution[] sizes = ThumbnailSizeManager.List;
 
 			for (int i = 0; i < sizes.Length; i++) {
 				thumbnail_store.AppendValues (sizes[i].Name, i);

Modified: trunk/src/dialogs/ProjectPropertiesDialog.cs
==============================================================================
--- trunk/src/dialogs/ProjectPropertiesDialog.cs	(original)
+++ trunk/src/dialogs/ProjectPropertiesDialog.cs	Mon Apr  6 17:54:36 2009
@@ -148,7 +148,7 @@
 				needs_repaint = true;
 			}
 
-			project.Details.SetResolution ();
+			project.Details.SetDvdResolution ();
 
 			if (thumbnail_combo.GetActiveIter (out iter)) {
 				int size = (int) thumbnail_combo.Model.GetValue (iter, COLUMN_ID);
@@ -178,7 +178,7 @@
 
 		void LoadThumbnailsIntoCombo ()
 		{
-			ThumbnailSize[] sizes = ThumbnailSizeManager.List;
+			Resolution[] sizes = ThumbnailSizeManager.List;
 
 			for (int i = 0; i < sizes.Length; i++) {
 				thumbnail_store.AppendValues (sizes[i].Name, i);

Modified: trunk/src/mistelix.glade
==============================================================================
--- trunk/src/mistelix.glade	(original)
+++ trunk/src/mistelix.glade	Mon Apr  6 17:54:36 2009
@@ -1387,7 +1387,7 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkVBox" id="vbox24">
+	    <widget class="GtkVBox" id="project_type_vbox">
 	      <property name="visible">True</property>
 	      <property name="homogeneous">False</property>
 	      <property name="spacing">0</property>
@@ -1404,7 +1404,7 @@
 		  <property name="xalign">0</property>
 		  <property name="yalign">0</property>
 		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
+		  <property name="ypad">5</property>
 		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 		  <property name="width_chars">-1</property>
 		  <property name="single_line_mode">False</property>
@@ -1416,45 +1416,6 @@
 		  <property name="fill">False</property>
 		</packing>
 	      </child>
-
-	      <child>
-		<widget class="GtkRadioButton" id="slideshows_radio">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Theora project (slideshows to video)</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkRadioButton" id="dvd_radio">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">DVD-Video project</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <property name="group">slideshows_radio</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
 	    </widget>
 	    <packing>
 	      <property name="padding">0</property>
@@ -1464,28 +1425,22 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkVBox" id="vbox11">
+	    <widget class="GtkVBox" id="theora_project">
 	      <property name="visible">True</property>
 	      <property name="homogeneous">False</property>
 	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkLabel" id="vformat_label">
+		<widget class="GtkRadioButton" id="slideshows_radio">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Video Format&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">Theora project (slideshows to video)</property>
+		  <property name="use_underline">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <property name="active">False</property>
+		  <property name="inconsistent">False</property>
+		  <property name="draw_indicator">True</property>
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
@@ -1495,22 +1450,28 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkVBox" id="vbox12">
+		<widget class="GtkHBox" id="theora_resolution_box">
 		  <property name="visible">True</property>
 		  <property name="homogeneous">False</property>
 		  <property name="spacing">0</property>
 
 		  <child>
-		    <widget class="GtkRadioButton" id="pal_radio">
+		    <widget class="GtkLabel" id="resolution_label">
 		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">PAL (Europe)</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
+		      <property name="label" translatable="yes">Resolution:</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0</property>
+		      <property name="xpad">20</property>
+		      <property name="ypad">5</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
 		    </widget>
 		    <packing>
 		      <property name="padding">0</property>
@@ -1520,22 +1481,16 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkRadioButton" id="ntsc_radio">
+		    <widget class="GtkComboBox" id="resolution_combobox">
 		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">NTSC</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="items" translatable="yes"></property>
+		      <property name="add_tearoffs">True</property>
 		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">pal_radio</property>
 		    </widget>
 		    <packing>
 		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
 		    </packing>
 		  </child>
 		</widget>
@@ -1548,53 +1503,29 @@
 	    </widget>
 	    <packing>
 	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
 	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkVBox" id="vbox27">
+	    <widget class="GtkVBox" id="dvd_box">
 	      <property name="visible">True</property>
 	      <property name="homogeneous">False</property>
 	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkLabel" id="aratio_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Aspect Ratio&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkRadioButton" id="fourbythree_radio">
+		<widget class="GtkRadioButton" id="dvd_radio">
 		  <property name="visible">True</property>
 		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">4:3 (TV)</property>
+		  <property name="label" translatable="yes">DVD-Video project</property>
 		  <property name="use_underline">True</property>
 		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
+		  <property name="focus_on_click">False</property>
 		  <property name="active">False</property>
 		  <property name="inconsistent">False</property>
 		  <property name="draw_indicator">True</property>
+		  <property name="group">slideshows_radio</property>
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
@@ -1604,22 +1535,107 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkRadioButton" id="sixteenbynine_radio">
+		<widget class="GtkHBox" id="hbox21">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">16:9 (Widescreen)</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <property name="group">fourbythree_radio</property>
+		  <property name="homogeneous">True</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkVBox" id="videoformat_vbox">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="vformat_label">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;Video Format&lt;/b&gt;</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">True</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0</property>
+			  <property name="xpad">20</property>
+			  <property name="ypad">3</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<placeholder/>
+		      </child>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkVBox" id="aspectratio_vbox">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkLabel" id="aratio_label">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;Aspect Ratio&lt;/b&gt;</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">True</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">3</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<placeholder/>
+		      </child>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
 		</packing>
 	      </child>
 	    </widget>



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