[longomatch] Inetgrate capture device selection with the GUI



commit 18fb746eb2bfd512cf1b0bc300f9a76d8d304cd3
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Sun May 30 16:14:00 2010 +0200

    Inetgrate capture device selection with the GUI

 LongoMatch/Gui/Component/ProjectDetailsWidget.cs   |   63 +++++++----
 ...ongoMatch.Gui.Component.ProjectDetailsWidget.cs |  112 ++++++++------------
 LongoMatch/gtk-gui/gui.stetic                      |   94 +++++------------
 LongoMatch/gtk-gui/objects.xml                     |   16 ++--
 4 files changed, 116 insertions(+), 169 deletions(-)
---
diff --git a/LongoMatch/Gui/Component/ProjectDetailsWidget.cs b/LongoMatch/Gui/Component/ProjectDetailsWidget.cs
index 27f27e1..15e443e 100644
--- a/LongoMatch/Gui/Component/ProjectDetailsWidget.cs
+++ b/LongoMatch/Gui/Component/ProjectDetailsWidget.cs
@@ -19,6 +19,7 @@
 //
 
 using System;
+using System.Collections.Generic;
 using Mono.Unix;
 using Gtk;
 using LongoMatch.Common;
@@ -52,6 +53,7 @@ namespace LongoMatch.Gui.Component
 		private TeamTemplate actualVisitorTeam;
 		private TeamTemplate actualLocalTeam;
 		private ProjectType useType;
+		private List<object[]> videoDevices;
 		private const string PAL_FORMAT = "720x576 (4:3)";
 		private const string PAL_3_4_FORMAT = "540x432 (4:3)";
 		private const string PAL_1_2_FORMAT = "360x288 (4:3)";
@@ -71,10 +73,12 @@ namespace LongoMatch.Gui.Component
 				cp.Hide();
 				cp.DateSelectedEvent += new DateSelectedHandler(OnDateSelected);
 			}
-
+			
 			FillSections();
 			FillTeamsTemplate();
 			FillFormats();
+			
+			videoDevices = new List<object[]>();
 
 			Use=ProjectType.FileProject;
 		}
@@ -84,9 +88,6 @@ namespace LongoMatch.Gui.Component
 				bool visible1 = value == ProjectType.CaptureProject; 
 				bool visible2 = value != ProjectType.FakeCaptureProject;
 				bool visible3 = value == ProjectType.EditProject;
-				bool visible4 = visible1 && Environment.OSVersion.Platform == PlatformID.Win32NT;
-				
-				expander1.Visible = visible1;
 				
 				filelabel.Visible = visible2;
 				filehbox.Visible = visible2;
@@ -95,12 +96,14 @@ namespace LongoMatch.Gui.Component
 				localcombobox.Visible = visible3;
 				visitorcombobox.Visible = visible3;
 				
-				videodevice.Visible = visible4;
-				videodevicecombobox.Visible = visible4;
-				audiodevicelabel.Visible = visible4;
-				audiodevicecombobox.Visible = visible4;
+				expander1.Visible = visible1;
+				device.Visible = visible1;
+				devicecombobox.Visible = visible1;
 				
 				useType = value;
+				
+				if (useType == ProjectType.CaptureProject)
+					FillDevices();
 			}
 			get {
 				return useType;
@@ -216,20 +219,6 @@ namespace LongoMatch.Gui.Component
 			}
 		}
 
-		public string[] AudioDevices{
-			set {
-				foreach (string name in value)
-					audiodevicecombobox.AppendText(name);
-			}
-		}
-		
-		public string[] VideoDevices{
-			set {
-				foreach ( string name in value)
-					videodevicecombobox.AppendText(name);
-			}
-		}
-
 		private string SectionsFile {
 			get {
 				return tagscombobox.ActiveText + ".sct";
@@ -253,8 +242,8 @@ namespace LongoMatch.Gui.Component
 				CapturePropertiesStruct s = new CapturePropertiesStruct();
 				s.AudioBitrate = (uint)audiobitratespinbutton.Value;
 				s.VideoBitrate = (uint)videobitratespinbutton.Value;
-				s.AudioDevice = audiodevicecombobox.ActiveText;
-				s.VideoDevice =  videodevicecombobox.ActiveText;
+				s.SourceType = (CapturerType)videoDevices[devicecombobox.Active][1];
+				s.DeviceID = (String)videoDevices[devicecombobox.Active][0];
 				switch (sizecombobox.ActiveText){
 					/* FIXME: Don't harcode size values */
 					case PAL_FORMAT:
@@ -433,6 +422,32 @@ namespace LongoMatch.Gui.Component
 			videoformatcombobox.AppendText(AVI);
 			videoformatcombobox.Active = 0;
 		}
+		
+		private void FillDevices(){
+			/* Generate the list of devices and add the gconf one at the bottom
+			 * so that DV sources are always selected before */
+			foreach (string devName in GstCameraCapturer.VideoDevices)
+					videoDevices.Add(new object[2] {devName, CapturerType.DVCAM});
+			if (Environment.OSVersion.Platform == PlatformID.Unix){
+				videoDevices.Add(new object[2] {
+					Catalog.GetString("GConf configured device"),
+					CapturerType.WEBCAM});
+			}
+
+			foreach (object[] device in videoDevices){
+				string deviceElement;
+				if (Environment.OSVersion.Platform == PlatformID.Unix){
+					if ((int)device[1] == (int)CapturerType.DVCAM)
+						deviceElement = Catalog.GetString("DV camera");
+					else 
+						deviceElement = Catalog.GetString("GConf Source");
+				} else 
+					deviceElement = Catalog.GetString("DirectShow Source");
+				
+				devicecombobox.AppendText(device[0]+" ("+deviceElement+")");
+				devicecombobox.Active = 0;
+			}
+		}
 
 		protected virtual void OnDateSelected(DateTime dateTime) {
 			Date = dateTime;
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectDetailsWidget.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectDetailsWidget.cs
index 131548e..69e4624 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectDetailsWidget.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.ProjectDetailsWidget.cs
@@ -89,9 +89,9 @@ namespace LongoMatch.Gui.Component {
         
         private Gtk.SpinButton audiobitratespinbutton;
         
-        private Gtk.ComboBox audiodevicecombobox;
+        private Gtk.Label device;
         
-        private Gtk.Label audiodevicelabel;
+        private Gtk.ComboBox devicecombobox;
         
         private Gtk.ComboBox sizecombobox;
         
@@ -101,10 +101,6 @@ namespace LongoMatch.Gui.Component {
         
         private Gtk.SpinButton videobitratespinbutton;
         
-        private Gtk.Label videodevice;
-        
-        private Gtk.ComboBox videodevicecombobox;
-        
         private Gtk.ComboBox videoformatcombobox;
         
         private Gtk.Label videoformatlabel;
@@ -492,7 +488,7 @@ namespace LongoMatch.Gui.Component {
             this.expander1.CanFocus = true;
             this.expander1.Name = "expander1";
             // Container child expander1.Gtk.Container+ContainerChild
-            this.table2 = new Gtk.Table(((uint)(6)), ((uint)(2)), false);
+            this.table2 = new Gtk.Table(((uint)(5)), ((uint)(2)), false);
             this.table2.Name = "table2";
             this.table2.RowSpacing = ((uint)(6));
             this.table2.ColumnSpacing = ((uint)(6));
@@ -502,8 +498,8 @@ namespace LongoMatch.Gui.Component {
             this.audiobitratelabel.LabelProp = Mono.Unix.Catalog.GetString("Audio Bitrate (kbps):");
             this.table2.Add(this.audiobitratelabel);
             Gtk.Table.TableChild w42 = ((Gtk.Table.TableChild)(this.table2[this.audiobitratelabel]));
-            w42.TopAttach = ((uint)(5));
-            w42.BottomAttach = ((uint)(6));
+            w42.TopAttach = ((uint)(4));
+            w42.BottomAttach = ((uint)(5));
             w42.XOptions = ((Gtk.AttachOptions)(4));
             w42.YOptions = ((Gtk.AttachOptions)(4));
             // Container child table2.Gtk.Table+TableChild
@@ -516,31 +512,27 @@ namespace LongoMatch.Gui.Component {
             this.audiobitratespinbutton.Value = 64;
             this.table2.Add(this.audiobitratespinbutton);
             Gtk.Table.TableChild w43 = ((Gtk.Table.TableChild)(this.table2[this.audiobitratespinbutton]));
-            w43.TopAttach = ((uint)(5));
-            w43.BottomAttach = ((uint)(6));
+            w43.TopAttach = ((uint)(4));
+            w43.BottomAttach = ((uint)(5));
             w43.LeftAttach = ((uint)(1));
             w43.RightAttach = ((uint)(2));
             w43.XOptions = ((Gtk.AttachOptions)(1));
             w43.YOptions = ((Gtk.AttachOptions)(1));
             // Container child table2.Gtk.Table+TableChild
-            this.audiodevicecombobox = Gtk.ComboBox.NewText();
-            this.audiodevicecombobox.Name = "audiodevicecombobox";
-            this.table2.Add(this.audiodevicecombobox);
-            Gtk.Table.TableChild w44 = ((Gtk.Table.TableChild)(this.table2[this.audiodevicecombobox]));
-            w44.TopAttach = ((uint)(1));
-            w44.BottomAttach = ((uint)(2));
-            w44.LeftAttach = ((uint)(1));
-            w44.RightAttach = ((uint)(2));
+            this.device = new Gtk.Label();
+            this.device.Name = "device";
+            this.device.LabelProp = Mono.Unix.Catalog.GetString("Device:");
+            this.table2.Add(this.device);
+            Gtk.Table.TableChild w44 = ((Gtk.Table.TableChild)(this.table2[this.device]));
             w44.XOptions = ((Gtk.AttachOptions)(4));
             w44.YOptions = ((Gtk.AttachOptions)(4));
             // Container child table2.Gtk.Table+TableChild
-            this.audiodevicelabel = new Gtk.Label();
-            this.audiodevicelabel.Name = "audiodevicelabel";
-            this.audiodevicelabel.LabelProp = Mono.Unix.Catalog.GetString("Audio Device:");
-            this.table2.Add(this.audiodevicelabel);
-            Gtk.Table.TableChild w45 = ((Gtk.Table.TableChild)(this.table2[this.audiodevicelabel]));
-            w45.TopAttach = ((uint)(1));
-            w45.BottomAttach = ((uint)(2));
+            this.devicecombobox = Gtk.ComboBox.NewText();
+            this.devicecombobox.Name = "devicecombobox";
+            this.table2.Add(this.devicecombobox);
+            Gtk.Table.TableChild w45 = ((Gtk.Table.TableChild)(this.table2[this.devicecombobox]));
+            w45.LeftAttach = ((uint)(1));
+            w45.RightAttach = ((uint)(2));
             w45.XOptions = ((Gtk.AttachOptions)(4));
             w45.YOptions = ((Gtk.AttachOptions)(4));
             // Container child table2.Gtk.Table+TableChild
@@ -548,8 +540,8 @@ namespace LongoMatch.Gui.Component {
             this.sizecombobox.Name = "sizecombobox";
             this.table2.Add(this.sizecombobox);
             Gtk.Table.TableChild w46 = ((Gtk.Table.TableChild)(this.table2[this.sizecombobox]));
-            w46.TopAttach = ((uint)(3));
-            w46.BottomAttach = ((uint)(4));
+            w46.TopAttach = ((uint)(2));
+            w46.BottomAttach = ((uint)(3));
             w46.LeftAttach = ((uint)(1));
             w46.RightAttach = ((uint)(2));
             w46.XOptions = ((Gtk.AttachOptions)(4));
@@ -560,8 +552,8 @@ namespace LongoMatch.Gui.Component {
             this.sizelabel.LabelProp = Mono.Unix.Catalog.GetString("Video Size:");
             this.table2.Add(this.sizelabel);
             Gtk.Table.TableChild w47 = ((Gtk.Table.TableChild)(this.table2[this.sizelabel]));
-            w47.TopAttach = ((uint)(3));
-            w47.BottomAttach = ((uint)(4));
+            w47.TopAttach = ((uint)(2));
+            w47.BottomAttach = ((uint)(3));
             w47.XOptions = ((Gtk.AttachOptions)(4));
             w47.YOptions = ((Gtk.AttachOptions)(4));
             // Container child table2.Gtk.Table+TableChild
@@ -570,8 +562,8 @@ namespace LongoMatch.Gui.Component {
             this.videobitratelabel1.LabelProp = Mono.Unix.Catalog.GetString("Video Bitrate (kbps):");
             this.table2.Add(this.videobitratelabel1);
             Gtk.Table.TableChild w48 = ((Gtk.Table.TableChild)(this.table2[this.videobitratelabel1]));
-            w48.TopAttach = ((uint)(4));
-            w48.BottomAttach = ((uint)(5));
+            w48.TopAttach = ((uint)(3));
+            w48.BottomAttach = ((uint)(4));
             w48.XOptions = ((Gtk.AttachOptions)(4));
             w48.YOptions = ((Gtk.AttachOptions)(4));
             // Container child table2.Gtk.Table+TableChild
@@ -584,50 +576,33 @@ namespace LongoMatch.Gui.Component {
             this.videobitratespinbutton.Value = 4000;
             this.table2.Add(this.videobitratespinbutton);
             Gtk.Table.TableChild w49 = ((Gtk.Table.TableChild)(this.table2[this.videobitratespinbutton]));
-            w49.TopAttach = ((uint)(4));
-            w49.BottomAttach = ((uint)(5));
+            w49.TopAttach = ((uint)(3));
+            w49.BottomAttach = ((uint)(4));
             w49.LeftAttach = ((uint)(1));
             w49.RightAttach = ((uint)(2));
             w49.XOptions = ((Gtk.AttachOptions)(1));
             w49.YOptions = ((Gtk.AttachOptions)(1));
             // Container child table2.Gtk.Table+TableChild
-            this.videodevice = new Gtk.Label();
-            this.videodevice.Name = "videodevice";
-            this.videodevice.LabelProp = Mono.Unix.Catalog.GetString("Video Device:");
-            this.table2.Add(this.videodevice);
-            Gtk.Table.TableChild w50 = ((Gtk.Table.TableChild)(this.table2[this.videodevice]));
-            w50.XOptions = ((Gtk.AttachOptions)(4));
-            w50.YOptions = ((Gtk.AttachOptions)(4));
-            // Container child table2.Gtk.Table+TableChild
-            this.videodevicecombobox = Gtk.ComboBox.NewText();
-            this.videodevicecombobox.Name = "videodevicecombobox";
-            this.table2.Add(this.videodevicecombobox);
-            Gtk.Table.TableChild w51 = ((Gtk.Table.TableChild)(this.table2[this.videodevicecombobox]));
-            w51.LeftAttach = ((uint)(1));
-            w51.RightAttach = ((uint)(2));
-            w51.XOptions = ((Gtk.AttachOptions)(4));
-            w51.YOptions = ((Gtk.AttachOptions)(4));
-            // Container child table2.Gtk.Table+TableChild
             this.videoformatcombobox = Gtk.ComboBox.NewText();
             this.videoformatcombobox.Name = "videoformatcombobox";
             this.table2.Add(this.videoformatcombobox);
-            Gtk.Table.TableChild w52 = ((Gtk.Table.TableChild)(this.table2[this.videoformatcombobox]));
-            w52.TopAttach = ((uint)(2));
-            w52.BottomAttach = ((uint)(3));
-            w52.LeftAttach = ((uint)(1));
-            w52.RightAttach = ((uint)(2));
-            w52.XOptions = ((Gtk.AttachOptions)(4));
-            w52.YOptions = ((Gtk.AttachOptions)(4));
+            Gtk.Table.TableChild w50 = ((Gtk.Table.TableChild)(this.table2[this.videoformatcombobox]));
+            w50.TopAttach = ((uint)(1));
+            w50.BottomAttach = ((uint)(2));
+            w50.LeftAttach = ((uint)(1));
+            w50.RightAttach = ((uint)(2));
+            w50.XOptions = ((Gtk.AttachOptions)(4));
+            w50.YOptions = ((Gtk.AttachOptions)(4));
             // Container child table2.Gtk.Table+TableChild
             this.videoformatlabel = new Gtk.Label();
             this.videoformatlabel.Name = "videoformatlabel";
             this.videoformatlabel.LabelProp = Mono.Unix.Catalog.GetString("Video Format:");
             this.table2.Add(this.videoformatlabel);
-            Gtk.Table.TableChild w53 = ((Gtk.Table.TableChild)(this.table2[this.videoformatlabel]));
-            w53.TopAttach = ((uint)(2));
-            w53.BottomAttach = ((uint)(3));
-            w53.XOptions = ((Gtk.AttachOptions)(4));
-            w53.YOptions = ((Gtk.AttachOptions)(4));
+            Gtk.Table.TableChild w51 = ((Gtk.Table.TableChild)(this.table2[this.videoformatlabel]));
+            w51.TopAttach = ((uint)(1));
+            w51.BottomAttach = ((uint)(2));
+            w51.XOptions = ((Gtk.AttachOptions)(4));
+            w51.YOptions = ((Gtk.AttachOptions)(4));
             this.expander1.Add(this.table2);
             this.GtkLabel5 = new Gtk.Label();
             this.GtkLabel5.Name = "GtkLabel5";
@@ -635,18 +610,17 @@ namespace LongoMatch.Gui.Component {
             this.GtkLabel5.UseUnderline = true;
             this.expander1.LabelWidget = this.GtkLabel5;
             this.vbox2.Add(this.expander1);
-            Gtk.Box.BoxChild w55 = ((Gtk.Box.BoxChild)(this.vbox2[this.expander1]));
-            w55.Position = 1;
-            w55.Expand = false;
-            w55.Fill = false;
+            Gtk.Box.BoxChild w53 = ((Gtk.Box.BoxChild)(this.vbox2[this.expander1]));
+            w53.Position = 1;
+            w53.Expand = false;
+            w53.Fill = false;
             this.Add(this.vbox2);
             if ((this.Child != null)) {
                 this.Child.ShowAll();
             }
             this.editbutton.Hide();
-            this.audiodevicelabel.Hide();
+            this.device.Hide();
             this.videobitratelabel1.Hide();
-            this.videodevice.Hide();
             this.Show();
             this.visitorTeamEntry.Changed += new System.EventHandler(this.OnEdited);
             this.visitorSpinButton.ValueChanged += new System.EventHandler(this.OnEdited);
diff --git a/LongoMatch/gtk-gui/gui.stetic b/LongoMatch/gtk-gui/gui.stetic
index 28e8b69..7cb6d21 100644
--- a/LongoMatch/gtk-gui/gui.stetic
+++ b/LongoMatch/gtk-gui/gui.stetic
@@ -15,7 +15,7 @@
       </source>
     </icon-set>
   </icon-factory>
-  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.ProjectDetailsWidget" design-size="378 363">
+  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.ProjectDetailsWidget" design-size="378 357">
     <property name="MemberName" />
     <child>
       <widget class="Gtk.VBox" id="vbox2">
@@ -646,7 +646,7 @@
             <child>
               <widget class="Gtk.Table" id="table2">
                 <property name="MemberName" />
-                <property name="NRows">6</property>
+                <property name="NRows">5</property>
                 <property name="NColumns">2</property>
                 <property name="RowSpacing">6</property>
                 <property name="ColumnSpacing">6</property>
@@ -656,8 +656,8 @@
                     <property name="LabelProp" translatable="yes">Audio Bitrate (kbps):</property>
                   </widget>
                   <packing>
-                    <property name="TopAttach">5</property>
-                    <property name="BottomAttach">6</property>
+                    <property name="TopAttach">4</property>
+                    <property name="BottomAttach">5</property>
                     <property name="AutoSize">True</property>
                     <property name="XOptions">Fill</property>
                     <property name="YOptions">Fill</property>
@@ -681,8 +681,8 @@
                     <property name="Value">64</property>
                   </widget>
                   <packing>
-                    <property name="TopAttach">5</property>
-                    <property name="BottomAttach">6</property>
+                    <property name="TopAttach">4</property>
+                    <property name="BottomAttach">5</property>
                     <property name="LeftAttach">1</property>
                     <property name="RightAttach">2</property>
                     <property name="AutoSize">False</property>
@@ -697,16 +697,12 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="Gtk.ComboBox" id="audiodevicecombobox">
+                  <widget class="Gtk.Label" id="device">
                     <property name="MemberName" />
-                    <property name="IsTextCombo">True</property>
-                    <property name="Items" translatable="yes" />
+                    <property name="Visible">False</property>
+                    <property name="LabelProp" translatable="yes">Device:</property>
                   </widget>
                   <packing>
-                    <property name="TopAttach">1</property>
-                    <property name="BottomAttach">2</property>
-                    <property name="LeftAttach">1</property>
-                    <property name="RightAttach">2</property>
                     <property name="AutoSize">True</property>
                     <property name="XOptions">Fill</property>
                     <property name="YOptions">Fill</property>
@@ -719,14 +715,14 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="Gtk.Label" id="audiodevicelabel">
+                  <widget class="Gtk.ComboBox" id="devicecombobox">
                     <property name="MemberName" />
-                    <property name="Visible">False</property>
-                    <property name="LabelProp" translatable="yes">Audio Device:</property>
+                    <property name="IsTextCombo">True</property>
+                    <property name="Items" translatable="yes" />
                   </widget>
                   <packing>
-                    <property name="TopAttach">1</property>
-                    <property name="BottomAttach">2</property>
+                    <property name="LeftAttach">1</property>
+                    <property name="RightAttach">2</property>
                     <property name="AutoSize">True</property>
                     <property name="XOptions">Fill</property>
                     <property name="YOptions">Fill</property>
@@ -745,8 +741,8 @@
                     <property name="Items" translatable="yes" />
                   </widget>
                   <packing>
-                    <property name="TopAttach">3</property>
-                    <property name="BottomAttach">4</property>
+                    <property name="TopAttach">2</property>
+                    <property name="BottomAttach">3</property>
                     <property name="LeftAttach">1</property>
                     <property name="RightAttach">2</property>
                     <property name="AutoSize">True</property>
@@ -766,8 +762,8 @@
                     <property name="LabelProp" translatable="yes">Video Size:</property>
                   </widget>
                   <packing>
-                    <property name="TopAttach">3</property>
-                    <property name="BottomAttach">4</property>
+                    <property name="TopAttach">2</property>
+                    <property name="BottomAttach">3</property>
                     <property name="AutoSize">True</property>
                     <property name="XOptions">Fill</property>
                     <property name="YOptions">Fill</property>
@@ -786,8 +782,8 @@
                     <property name="LabelProp" translatable="yes">Video Bitrate (kbps):</property>
                   </widget>
                   <packing>
-                    <property name="TopAttach">4</property>
-                    <property name="BottomAttach">5</property>
+                    <property name="TopAttach">3</property>
+                    <property name="BottomAttach">4</property>
                     <property name="AutoSize">True</property>
                     <property name="XOptions">Fill</property>
                     <property name="YOptions">Fill</property>
@@ -812,8 +808,8 @@
                     <property name="Value">4000</property>
                   </widget>
                   <packing>
-                    <property name="TopAttach">4</property>
-                    <property name="BottomAttach">5</property>
+                    <property name="TopAttach">3</property>
+                    <property name="BottomAttach">4</property>
                     <property name="LeftAttach">1</property>
                     <property name="RightAttach">2</property>
                     <property name="AutoSize">False</property>
@@ -828,52 +824,14 @@
                   </packing>
                 </child>
                 <child>
-                  <widget class="Gtk.Label" id="videodevice">
-                    <property name="MemberName" />
-                    <property name="Visible">False</property>
-                    <property name="LabelProp" translatable="yes">Video Device:</property>
-                  </widget>
-                  <packing>
-                    <property name="AutoSize">True</property>
-                    <property name="XOptions">Fill</property>
-                    <property name="YOptions">Fill</property>
-                    <property name="XExpand">False</property>
-                    <property name="XFill">True</property>
-                    <property name="XShrink">False</property>
-                    <property name="YExpand">False</property>
-                    <property name="YFill">True</property>
-                    <property name="YShrink">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="Gtk.ComboBox" id="videodevicecombobox">
-                    <property name="MemberName" />
-                    <property name="IsTextCombo">True</property>
-                    <property name="Items" translatable="yes" />
-                  </widget>
-                  <packing>
-                    <property name="LeftAttach">1</property>
-                    <property name="RightAttach">2</property>
-                    <property name="AutoSize">True</property>
-                    <property name="XOptions">Fill</property>
-                    <property name="YOptions">Fill</property>
-                    <property name="XExpand">False</property>
-                    <property name="XFill">True</property>
-                    <property name="XShrink">False</property>
-                    <property name="YExpand">False</property>
-                    <property name="YFill">True</property>
-                    <property name="YShrink">False</property>
-                  </packing>
-                </child>
-                <child>
                   <widget class="Gtk.ComboBox" id="videoformatcombobox">
                     <property name="MemberName" />
                     <property name="IsTextCombo">True</property>
                     <property name="Items" translatable="yes" />
                   </widget>
                   <packing>
-                    <property name="TopAttach">2</property>
-                    <property name="BottomAttach">3</property>
+                    <property name="TopAttach">1</property>
+                    <property name="BottomAttach">2</property>
                     <property name="LeftAttach">1</property>
                     <property name="RightAttach">2</property>
                     <property name="AutoSize">True</property>
@@ -893,8 +851,8 @@
                     <property name="LabelProp" translatable="yes">Video Format:</property>
                   </widget>
                   <packing>
-                    <property name="TopAttach">2</property>
-                    <property name="BottomAttach">3</property>
+                    <property name="TopAttach">1</property>
+                    <property name="BottomAttach">2</property>
                     <property name="AutoSize">True</property>
                     <property name="XOptions">Fill</property>
                     <property name="YOptions">Fill</property>
diff --git a/LongoMatch/gtk-gui/objects.xml b/LongoMatch/gtk-gui/objects.xml
index a9f72c3..6a0f9ab 100644
--- a/LongoMatch/gtk-gui/objects.xml
+++ b/LongoMatch/gtk-gui/objects.xml
@@ -246,6 +246,14 @@
       </itemgroup>
     </signals>
   </object>
+  <object type="LongoMatch.Gui.Component.ProjectListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+    <itemgroups />
+    <signals>
+      <itemgroup label="ProjectListWidget Signals">
+        <signal name="ProjectSelectedEvent" />
+      </itemgroup>
+    </signals>
+  </object>
   <object type="LongoMatch.Gui.Component.ProjectDetailsWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
     <itemgroups>
       <itemgroup label="ProjectDetailsWidget Properties">
@@ -265,12 +273,4 @@
       </itemgroup>
     </signals>
   </object>
-  <object type="LongoMatch.Gui.Component.ProjectListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
-    <itemgroups />
-    <signals>
-      <itemgroup label="ProjectListWidget Signals">
-        <signal name="ProjectSelectedEvent" />
-      </itemgroup>
-    </signals>
-  </object>
 </objects>
\ No newline at end of file



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