[longomatch] Use the media file choorser in the project properties panel



commit ca35e26f7b57ec6890b18fc6372a639b778e3275
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Wed Aug 27 18:06:36 2014 +0200

    Use the media file choorser in the project properties panel

 LongoMatch.GUI/Gui/Component/MediaFileChooser.cs   |   50 ++-
 LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs        |   31 +-
 .../LongoMatch.Gui.Panel.NewProjectPanel.cs        |  324 ++++++++---------
 LongoMatch.GUI/gtk-gui/gui.stetic                  |  394 ++++++++++----------
 LongoMatch.GUI/gtk-gui/objects.xml                 |   16 +-
 5 files changed, 408 insertions(+), 407 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/Component/MediaFileChooser.cs 
b/LongoMatch.GUI/Gui/Component/MediaFileChooser.cs
index f216be9..c9cd61e 100644
--- a/LongoMatch.GUI/Gui/Component/MediaFileChooser.cs
+++ b/LongoMatch.GUI/Gui/Component/MediaFileChooser.cs
@@ -16,6 +16,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 //
 using System;
+using System.IO;
 using Mono.Unix;
 using LongoMatch.Store;
 using LongoMatch.Gui.Helpers;
@@ -26,31 +27,62 @@ namespace LongoMatch.Gui.Component
        public partial class MediaFileChooser : Gtk.Bin
        {
                public event EventHandler ChangedEvent;
-               MediaFile file;
+               MediaFile mediaFile;
+               string file;
 
                public MediaFileChooser ()
                {
                        this.Build ();
+                       MediaFileMode = true;
+                       UpdateFile ();
                        addbutton.Clicked += HandleClicked;
                }
 
-               public MediaFile File {
+               public bool MediaFileMode {
+                       get;
+                       set;
+               }
+               
+               public string File {
+                       set {
+                               file = value;
+                               UpdateFile ();
+                       }
                        get {
                                return file;
                        }
+               }
+               
+               public MediaFile MediaFile {
+                       get {
+                               return mediaFile;
+                       }
                        set {
-                               file = value;
-                               if (file != null) {
-                                       fileentry.Text = file.FilePath;
-                               } else {
-                                       fileentry.Text = Catalog.GetString ("Select file...");
-                               }
+                               mediaFile = value;
+                               UpdateFile ();
+                       }
+               }
+               
+               void UpdateFile ()
+               {
+                       if (mediaFile != null) {
+                               fileentry.Text = System.IO.Path.GetFileName (mediaFile.FilePath);
+                       } else if (file != null) {
+                               fileentry.Text = System.IO.Path.GetFileName (file);
+                       } else {
+                               fileentry.Text = Catalog.GetString ("Select file...");
                        }
                }
                
                void HandleClicked (object sender, EventArgs e)
                {
-                       File = Misc.OpenFile (this);
+                       if (MediaFileMode) {
+                               MediaFile = Misc.OpenFile (this);
+                       } else {
+                               File = FileChooserHelper.SaveFile (this, Catalog.GetString ("Output file"),
+                                                                  "Capture.mp4", Config.VideosDir, "MP4",
+                                                                  new string[] { "*.mp4" });
+                       }
                        if (ChangedEvent != null) {
                                ChangedEvent (this, null);
                        }
diff --git a/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs b/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs
index 8808936..de38c61 100644
--- a/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs
+++ b/LongoMatch.GUI/Gui/Panel/NewProjectPanel.cs
@@ -152,12 +152,11 @@ namespace LongoMatch.Gui.Panel
 
                void ConnectSignals ()
                {
-                       savebutton.Clicked += HandleSavebuttonClicked;
                        urientry.Changed += HandleEntryChanged;
-                       outfileEntry.Changed += HandleEntryChanged;
                        tagscombobox.Changed += HandleSportsTemplateChanged;
                        mediafilechooser1.ChangedEvent += (sender, e) => {
-                               mediaFile = mediafilechooser1.File;};
+                               mediaFile = mediafilechooser1.MediaFile;};
+                       capturemediafilechooser.ChangedEvent += HandleEntryChanged;
                }
 
                void FillProjectDetails ()
@@ -201,9 +200,11 @@ namespace LongoMatch.Gui.Panel
                        } else if (projectType == ProjectType.URICaptureProject) {
                                urimode = true;
                        }
+                       filelabel.Visible = filemode;
                        filetable.Visible = filemode;
                        outputfiletable.Visible = capturemode || urimode;
-                       capturetable.Visible = capturemode || urimode;
+                       rcapturetable.Visible = capturemode || urimode;
+                       lcapturetable.Visible = capturemode || urimode;
                        urientry.Visible = urimode;
                        urilabel.Visible = urimode;
                        device.Visible = capturemode;
@@ -278,7 +279,7 @@ namespace LongoMatch.Gui.Panel
                        
                        if (projectType == ProjectType.FileProject ||
                                projectType == ProjectType.EditProject) {
-                               if (mediafilechooser1.File == null) {
+                               if (mediafilechooser1.MediaFile == null) {
                                        gtoolkit.WarningMessage (Catalog.GetString ("No input video file"));
                                        return false;
                                }
@@ -291,7 +292,7 @@ namespace LongoMatch.Gui.Panel
                        
                        if (projectType == ProjectType.CaptureProject ||
                                projectType == ProjectType.URICaptureProject) {
-                               if (outfileEntry.Text == "") {
+                               if (String.IsNullOrEmpty (capturemediafilechooser.File)) {
                                        gtoolkit.WarningMessage (Catalog.GetString ("No output video file"));
                                        return false;
                                }
@@ -317,12 +318,12 @@ namespace LongoMatch.Gui.Panel
                        encSettings = new EncodingSettings ();
                        captureSettings = new CaptureSettings ();
                                
-                       encSettings.OutputFile = outfileEntry.Text;
+                       encSettings.OutputFile = capturemediafilechooser.File;
                        
                        if (project.Description.File == null) {
                                project.Description.File = new MediaFile ();
                                project.Description.File.Fps = (ushort)(Config.FPS_N / Config.FPS_D);
-                               project.Description.File.FilePath = outfileEntry.Text;
+                               project.Description.File.FilePath = capturemediafilechooser.File;
                        }
                        if (projectType == ProjectType.CaptureProject) {
                                Device device = videoDevices [devicecombobox.Active];
@@ -356,18 +357,6 @@ namespace LongoMatch.Gui.Panel
                        return true;
                }
 
-               void HandleSavebuttonClicked (object sender, System.EventArgs e)
-               {
-                       string filename;
-                               
-                       filename = FileChooserHelper.SaveFile (this, Catalog.GetString ("Output file"),
-                                                              "Capture.mp4", Config.VideosDir, "MP4",
-                                                              new string[] { "*.mp4" });
-                       if (filename != null) {
-                               outfileEntry.Text = System.IO.Path.ChangeExtension (filename, "mp4");
-                       }
-               }
-
                void HandleEntryChanged (object sender, EventArgs e)
                {
                        if (urientry.Text != "") {
@@ -375,7 +364,7 @@ namespace LongoMatch.Gui.Panel
                        } else {
                                urilabel.ModifyFg (StateType.Normal, red);
                        }
-                       if (outfileEntry.Text != "") {
+                       if (String.IsNullOrEmpty (capturemediafilechooser.File)) {
                                outputfilelabel.ModifyFg (StateType.Normal);
                        } else {
                                outputfilelabel.ModifyFg (StateType.Normal, red);
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs 
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
index ccc198e..86723c4 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
@@ -51,12 +51,10 @@ namespace LongoMatch.Gui.Panel
                private global::LongoMatch.Gui.Component.MediaFileChooser mediafilechooser1;
                private global::LongoMatch.Gui.Component.MediaFileChooser mediafilechooser2;
                private global::Gtk.Table outputfiletable;
-               private global::Gtk.HBox outputfilehbox1;
-               private global::Gtk.Entry outfileEntry;
-               private global::Gtk.Button savebutton;
+               private global::LongoMatch.Gui.Component.MediaFileChooser capturemediafilechooser;
                private global::Gtk.Label outputfilelabel;
-               private global::Gtk.Table capturetable;
-               private global::Gtk.ComboBox encodingcombobox;
+               private global::Gtk.HBox hbox10;
+               private global::Gtk.Table lcapturetable;
                private global::Gtk.HBox hbox6;
                private global::Gtk.Label device;
                private global::Gtk.Label urilabel;
@@ -64,9 +62,11 @@ namespace LongoMatch.Gui.Panel
                private global::Gtk.ComboBox devicecombobox;
                private global::Gtk.Entry urientry;
                private global::Gtk.ComboBox imagecombobox;
+               private global::Gtk.Label sizelabel;
+               private global::Gtk.Table rcapturetable;
+               private global::Gtk.ComboBox encodingcombobox;
                private global::Gtk.ComboBox qualitycombobox;
                private global::Gtk.Label qualitylabel;
-               private global::Gtk.Label sizelabel;
                private global::Gtk.Label videoformatlabel;
                private global::Gtk.Table righttable;
                private global::Gtk.Label analysislabel;
@@ -103,7 +103,7 @@ namespace LongoMatch.Gui.Panel
                        this.notebook1 = new global::Gtk.Notebook ();
                        this.notebook1.CanFocus = true;
                        this.notebook1.Name = "notebook1";
-                       this.notebook1.CurrentPage = 0;
+                       this.notebook1.CurrentPage = 1;
                        this.notebook1.ShowBorder = false;
                        this.notebook1.Scrollable = true;
                        // Container child notebook1.Gtk.Notebook+NotebookChild
@@ -421,6 +421,7 @@ namespace LongoMatch.Gui.Panel
                        this.mediafilechooser1 = new global::LongoMatch.Gui.Component.MediaFileChooser ();
                        this.mediafilechooser1.Events = ((global::Gdk.EventMask)(256));
                        this.mediafilechooser1.Name = "mediafilechooser1";
+                       this.mediafilechooser1.MediaFileMode = true;
                        this.filetable.Add (this.mediafilechooser1);
                        global::Gtk.Table.TableChild w37 = ((global::Gtk.Table.TableChild)(this.filetable 
[this.mediafilechooser1]));
                        w37.YOptions = ((global::Gtk.AttachOptions)(4));
@@ -428,6 +429,7 @@ namespace LongoMatch.Gui.Panel
                        this.mediafilechooser2 = new global::LongoMatch.Gui.Component.MediaFileChooser ();
                        this.mediafilechooser2.Events = ((global::Gdk.EventMask)(256));
                        this.mediafilechooser2.Name = "mediafilechooser2";
+                       this.mediafilechooser2.MediaFileMode = true;
                        this.filetable.Add (this.mediafilechooser2);
                        global::Gtk.Table.TableChild w38 = ((global::Gtk.Table.TableChild)(this.filetable 
[this.mediafilechooser2]));
                        w38.LeftAttach = ((uint)(1));
@@ -442,96 +444,61 @@ namespace LongoMatch.Gui.Panel
                        this.outputfiletable.RowSpacing = ((uint)(6));
                        this.outputfiletable.ColumnSpacing = ((uint)(6));
                        // Container child outputfiletable.Gtk.Table+TableChild
-                       this.outputfilehbox1 = new global::Gtk.HBox ();
-                       this.outputfilehbox1.Name = "outputfilehbox1";
-                       this.outputfilehbox1.Spacing = 6;
-                       // Container child outputfilehbox1.Gtk.Box+BoxChild
-                       this.outfileEntry = new global::Gtk.Entry ();
-                       this.outfileEntry.CanFocus = true;
-                       this.outfileEntry.Name = "outfileEntry";
-                       this.outfileEntry.IsEditable = false;
-                       this.outfileEntry.HasFrame = false;
-                       this.outfileEntry.InvisibleChar = '●';
-                       this.outputfilehbox1.Add (this.outfileEntry);
-                       global::Gtk.Box.BoxChild w40 = ((global::Gtk.Box.BoxChild)(this.outputfilehbox1 
[this.outfileEntry]));
-                       w40.Position = 0;
-                       // Container child outputfilehbox1.Gtk.Box+BoxChild
-                       this.savebutton = new global::Gtk.Button ();
-                       this.savebutton.CanFocus = true;
-                       this.savebutton.Name = "savebutton";
-                       this.savebutton.UseUnderline = true;
-                       // Container child savebutton.Gtk.Container+ContainerChild
-                       global::Gtk.Alignment w41 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
-                       // Container child GtkAlignment.Gtk.Container+ContainerChild
-                       global::Gtk.HBox w42 = new global::Gtk.HBox ();
-                       w42.Spacing = 2;
-                       // Container child GtkHBox.Gtk.Container+ContainerChild
-                       global::Gtk.Image w43 = new global::Gtk.Image ();
-                       w43.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-save-as", 
global::Gtk.IconSize.Menu);
-                       w42.Add (w43);
-                       // Container child GtkHBox.Gtk.Container+ContainerChild
-                       global::Gtk.Label w45 = new global::Gtk.Label ();
-                       w42.Add (w45);
-                       w41.Add (w42);
-                       this.savebutton.Add (w41);
-                       this.outputfilehbox1.Add (this.savebutton);
-                       global::Gtk.Box.BoxChild w49 = ((global::Gtk.Box.BoxChild)(this.outputfilehbox1 
[this.savebutton]));
-                       w49.Position = 1;
-                       w49.Expand = false;
-                       this.outputfiletable.Add (this.outputfilehbox1);
-                       global::Gtk.Table.TableChild w50 = 
((global::Gtk.Table.TableChild)(this.outputfiletable [this.outputfilehbox1]));
-                       w50.LeftAttach = ((uint)(1));
-                       w50.RightAttach = ((uint)(2));
-                       w50.YOptions = ((global::Gtk.AttachOptions)(4));
+                       this.capturemediafilechooser = new global::LongoMatch.Gui.Component.MediaFileChooser 
();
+                       this.capturemediafilechooser.Events = ((global::Gdk.EventMask)(256));
+                       this.capturemediafilechooser.Name = "capturemediafilechooser";
+                       this.capturemediafilechooser.MediaFileMode = false;
+                       this.outputfiletable.Add (this.capturemediafilechooser);
+                       global::Gtk.Table.TableChild w40 = 
((global::Gtk.Table.TableChild)(this.outputfiletable [this.capturemediafilechooser]));
+                       w40.LeftAttach = ((uint)(1));
+                       w40.RightAttach = ((uint)(2));
+                       w40.YOptions = ((global::Gtk.AttachOptions)(4));
                        // Container child outputfiletable.Gtk.Table+TableChild
                        this.outputfilelabel = new global::Gtk.Label ();
                        this.outputfilelabel.Name = "outputfilelabel";
-                       this.outputfilelabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Output file:");
+                       this.outputfilelabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Output file");
                        this.outputfiletable.Add (this.outputfilelabel);
-                       global::Gtk.Table.TableChild w51 = 
((global::Gtk.Table.TableChild)(this.outputfiletable [this.outputfilelabel]));
-                       w51.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w51.YOptions = ((global::Gtk.AttachOptions)(4));
+                       global::Gtk.Table.TableChild w41 = 
((global::Gtk.Table.TableChild)(this.outputfiletable [this.outputfilelabel]));
+                       w41.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w41.YOptions = ((global::Gtk.AttachOptions)(4));
                        this.centerbox.Add (this.outputfiletable);
-                       global::Gtk.Box.BoxChild w52 = ((global::Gtk.Box.BoxChild)(this.centerbox 
[this.outputfiletable]));
-                       w52.Position = 3;
-                       w52.Expand = false;
-                       w52.Fill = false;
+                       global::Gtk.Box.BoxChild w42 = ((global::Gtk.Box.BoxChild)(this.centerbox 
[this.outputfiletable]));
+                       w42.Position = 3;
+                       w42.Expand = false;
+                       w42.Fill = false;
                        // Container child centerbox.Gtk.Box+BoxChild
-                       this.capturetable = new global::Gtk.Table (((uint)(2)), ((uint)(4)), true);
-                       this.capturetable.Name = "capturetable";
-                       this.capturetable.RowSpacing = ((uint)(6));
-                       this.capturetable.ColumnSpacing = ((uint)(6));
-                       // Container child capturetable.Gtk.Table+TableChild
-                       this.encodingcombobox = global::Gtk.ComboBox.NewText ();
-                       this.encodingcombobox.Name = "encodingcombobox";
-                       this.capturetable.Add (this.encodingcombobox);
-                       global::Gtk.Table.TableChild w53 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.encodingcombobox]));
-                       w53.LeftAttach = ((uint)(3));
-                       w53.RightAttach = ((uint)(4));
-                       w53.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child capturetable.Gtk.Table+TableChild
+                       this.hbox10 = new global::Gtk.HBox ();
+                       this.hbox10.Name = "hbox10";
+                       this.hbox10.Homogeneous = true;
+                       this.hbox10.Spacing = 6;
+                       // Container child hbox10.Gtk.Box+BoxChild
+                       this.lcapturetable = new global::Gtk.Table (((uint)(2)), ((uint)(2)), false);
+                       this.lcapturetable.Name = "lcapturetable";
+                       this.lcapturetable.RowSpacing = ((uint)(6));
+                       this.lcapturetable.ColumnSpacing = ((uint)(6));
+                       // Container child lcapturetable.Gtk.Table+TableChild
                        this.hbox6 = new global::Gtk.HBox ();
                        this.hbox6.Name = "hbox6";
                        this.hbox6.Spacing = 6;
                        // Container child hbox6.Gtk.Box+BoxChild
                        this.device = new global::Gtk.Label ();
                        this.device.Name = "device";
-                       this.device.LabelProp = global::Mono.Unix.Catalog.GetString ("Device:");
+                       this.device.LabelProp = global::Mono.Unix.Catalog.GetString ("Device");
                        this.hbox6.Add (this.device);
-                       global::Gtk.Box.BoxChild w54 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.device]));
-                       w54.Position = 0;
+                       global::Gtk.Box.BoxChild w43 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.device]));
+                       w43.Position = 0;
                        // Container child hbox6.Gtk.Box+BoxChild
                        this.urilabel = new global::Gtk.Label ();
                        this.urilabel.Name = "urilabel";
-                       this.urilabel.LabelProp = global::Mono.Unix.Catalog.GetString ("URL:");
+                       this.urilabel.LabelProp = global::Mono.Unix.Catalog.GetString ("URL");
                        this.hbox6.Add (this.urilabel);
-                       global::Gtk.Box.BoxChild w55 = ((global::Gtk.Box.BoxChild)(this.hbox6 
[this.urilabel]));
-                       w55.Position = 1;
-                       this.capturetable.Add (this.hbox6);
-                       global::Gtk.Table.TableChild w56 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.hbox6]));
-                       w56.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w56.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child capturetable.Gtk.Table+TableChild
+                       global::Gtk.Box.BoxChild w44 = ((global::Gtk.Box.BoxChild)(this.hbox6 
[this.urilabel]));
+                       w44.Position = 1;
+                       this.lcapturetable.Add (this.hbox6);
+                       global::Gtk.Table.TableChild w45 = ((global::Gtk.Table.TableChild)(this.lcapturetable 
[this.hbox6]));
+                       w45.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w45.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child lcapturetable.Gtk.Table+TableChild
                        this.hbox7 = new global::Gtk.HBox ();
                        this.hbox7.Name = "hbox7";
                        this.hbox7.Spacing = 6;
@@ -539,8 +506,8 @@ namespace LongoMatch.Gui.Panel
                        this.devicecombobox = global::Gtk.ComboBox.NewText ();
                        this.devicecombobox.Name = "devicecombobox";
                        this.hbox7.Add (this.devicecombobox);
-                       global::Gtk.Box.BoxChild w57 = ((global::Gtk.Box.BoxChild)(this.hbox7 
[this.devicecombobox]));
-                       w57.Position = 0;
+                       global::Gtk.Box.BoxChild w46 = ((global::Gtk.Box.BoxChild)(this.hbox7 
[this.devicecombobox]));
+                       w46.Position = 0;
                        // Container child hbox7.Gtk.Box+BoxChild
                        this.urientry = new global::Gtk.Entry ();
                        this.urientry.CanFocus = true;
@@ -548,74 +515,93 @@ namespace LongoMatch.Gui.Panel
                        this.urientry.IsEditable = true;
                        this.urientry.InvisibleChar = '•';
                        this.hbox7.Add (this.urientry);
-                       global::Gtk.Box.BoxChild w58 = ((global::Gtk.Box.BoxChild)(this.hbox7 
[this.urientry]));
-                       w58.Position = 1;
-                       this.capturetable.Add (this.hbox7);
-                       global::Gtk.Table.TableChild w59 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.hbox7]));
-                       w59.LeftAttach = ((uint)(1));
-                       w59.RightAttach = ((uint)(2));
-                       w59.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child capturetable.Gtk.Table+TableChild
+                       global::Gtk.Box.BoxChild w47 = ((global::Gtk.Box.BoxChild)(this.hbox7 
[this.urientry]));
+                       w47.Position = 1;
+                       this.lcapturetable.Add (this.hbox7);
+                       global::Gtk.Table.TableChild w48 = ((global::Gtk.Table.TableChild)(this.lcapturetable 
[this.hbox7]));
+                       w48.LeftAttach = ((uint)(1));
+                       w48.RightAttach = ((uint)(2));
+                       w48.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w48.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child lcapturetable.Gtk.Table+TableChild
                        this.imagecombobox = global::Gtk.ComboBox.NewText ();
                        this.imagecombobox.Name = "imagecombobox";
-                       this.capturetable.Add (this.imagecombobox);
-                       global::Gtk.Table.TableChild w60 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.imagecombobox]));
-                       w60.TopAttach = ((uint)(1));
-                       w60.BottomAttach = ((uint)(2));
-                       w60.LeftAttach = ((uint)(1));
-                       w60.RightAttach = ((uint)(2));
-                       w60.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child capturetable.Gtk.Table+TableChild
+                       this.lcapturetable.Add (this.imagecombobox);
+                       global::Gtk.Table.TableChild w49 = ((global::Gtk.Table.TableChild)(this.lcapturetable 
[this.imagecombobox]));
+                       w49.TopAttach = ((uint)(1));
+                       w49.BottomAttach = ((uint)(2));
+                       w49.LeftAttach = ((uint)(1));
+                       w49.RightAttach = ((uint)(2));
+                       w49.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w49.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child lcapturetable.Gtk.Table+TableChild
+                       this.sizelabel = new global::Gtk.Label ();
+                       this.sizelabel.Name = "sizelabel";
+                       this.sizelabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Size");
+                       this.lcapturetable.Add (this.sizelabel);
+                       global::Gtk.Table.TableChild w50 = ((global::Gtk.Table.TableChild)(this.lcapturetable 
[this.sizelabel]));
+                       w50.TopAttach = ((uint)(1));
+                       w50.BottomAttach = ((uint)(2));
+                       w50.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w50.YOptions = ((global::Gtk.AttachOptions)(4));
+                       this.hbox10.Add (this.lcapturetable);
+                       global::Gtk.Box.BoxChild w51 = ((global::Gtk.Box.BoxChild)(this.hbox10 
[this.lcapturetable]));
+                       w51.Position = 0;
+                       w51.Expand = false;
+                       w51.Fill = false;
+                       // Container child hbox10.Gtk.Box+BoxChild
+                       this.rcapturetable = new global::Gtk.Table (((uint)(2)), ((uint)(2)), false);
+                       this.rcapturetable.Name = "rcapturetable";
+                       this.rcapturetable.RowSpacing = ((uint)(6));
+                       this.rcapturetable.ColumnSpacing = ((uint)(6));
+                       // Container child rcapturetable.Gtk.Table+TableChild
+                       this.encodingcombobox = global::Gtk.ComboBox.NewText ();
+                       this.encodingcombobox.Name = "encodingcombobox";
+                       this.rcapturetable.Add (this.encodingcombobox);
+                       global::Gtk.Table.TableChild w52 = ((global::Gtk.Table.TableChild)(this.rcapturetable 
[this.encodingcombobox]));
+                       w52.LeftAttach = ((uint)(1));
+                       w52.RightAttach = ((uint)(2));
+                       w52.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child rcapturetable.Gtk.Table+TableChild
                        this.qualitycombobox = global::Gtk.ComboBox.NewText ();
                        this.qualitycombobox.Name = "qualitycombobox";
-                       this.capturetable.Add (this.qualitycombobox);
-                       global::Gtk.Table.TableChild w61 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.qualitycombobox]));
-                       w61.TopAttach = ((uint)(1));
-                       w61.BottomAttach = ((uint)(2));
-                       w61.LeftAttach = ((uint)(3));
-                       w61.RightAttach = ((uint)(4));
-                       w61.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child capturetable.Gtk.Table+TableChild
+                       this.rcapturetable.Add (this.qualitycombobox);
+                       global::Gtk.Table.TableChild w53 = ((global::Gtk.Table.TableChild)(this.rcapturetable 
[this.qualitycombobox]));
+                       w53.TopAttach = ((uint)(1));
+                       w53.BottomAttach = ((uint)(2));
+                       w53.LeftAttach = ((uint)(1));
+                       w53.RightAttach = ((uint)(2));
+                       w53.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child rcapturetable.Gtk.Table+TableChild
                        this.qualitylabel = new global::Gtk.Label ();
                        this.qualitylabel.Name = "qualitylabel";
-                       this.qualitylabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Quality:");
-                       this.capturetable.Add (this.qualitylabel);
-                       global::Gtk.Table.TableChild w62 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.qualitylabel]));
-                       w62.TopAttach = ((uint)(1));
-                       w62.BottomAttach = ((uint)(2));
-                       w62.LeftAttach = ((uint)(2));
-                       w62.RightAttach = ((uint)(3));
-                       w62.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w62.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child capturetable.Gtk.Table+TableChild
-                       this.sizelabel = new global::Gtk.Label ();
-                       this.sizelabel.Name = "sizelabel";
-                       this.sizelabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Size:");
-                       this.capturetable.Add (this.sizelabel);
-                       global::Gtk.Table.TableChild w63 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.sizelabel]));
-                       w63.TopAttach = ((uint)(1));
-                       w63.BottomAttach = ((uint)(2));
-                       w63.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w63.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child capturetable.Gtk.Table+TableChild
+                       this.qualitylabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Quality");
+                       this.rcapturetable.Add (this.qualitylabel);
+                       global::Gtk.Table.TableChild w54 = ((global::Gtk.Table.TableChild)(this.rcapturetable 
[this.qualitylabel]));
+                       w54.TopAttach = ((uint)(1));
+                       w54.BottomAttach = ((uint)(2));
+                       w54.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w54.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child rcapturetable.Gtk.Table+TableChild
                        this.videoformatlabel = new global::Gtk.Label ();
                        this.videoformatlabel.Name = "videoformatlabel";
-                       this.videoformatlabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Format:");
-                       this.capturetable.Add (this.videoformatlabel);
-                       global::Gtk.Table.TableChild w64 = ((global::Gtk.Table.TableChild)(this.capturetable 
[this.videoformatlabel]));
-                       w64.LeftAttach = ((uint)(2));
-                       w64.RightAttach = ((uint)(3));
-                       w64.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w64.YOptions = ((global::Gtk.AttachOptions)(4));
-                       this.centerbox.Add (this.capturetable);
-                       global::Gtk.Box.BoxChild w65 = ((global::Gtk.Box.BoxChild)(this.centerbox 
[this.capturetable]));
-                       w65.Position = 4;
-                       w65.Expand = false;
-                       w65.Fill = false;
+                       this.videoformatlabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Format");
+                       this.rcapturetable.Add (this.videoformatlabel);
+                       global::Gtk.Table.TableChild w55 = ((global::Gtk.Table.TableChild)(this.rcapturetable 
[this.videoformatlabel]));
+                       w55.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w55.YOptions = ((global::Gtk.AttachOptions)(4));
+                       this.hbox10.Add (this.rcapturetable);
+                       global::Gtk.Box.BoxChild w56 = ((global::Gtk.Box.BoxChild)(this.hbox10 
[this.rcapturetable]));
+                       w56.Position = 1;
+                       this.centerbox.Add (this.hbox10);
+                       global::Gtk.Box.BoxChild w57 = ((global::Gtk.Box.BoxChild)(this.centerbox 
[this.hbox10]));
+                       w57.Position = 4;
+                       w57.Expand = false;
+                       w57.Fill = false;
                        this.topbox.Add (this.centerbox);
-                       global::Gtk.Box.BoxChild w66 = ((global::Gtk.Box.BoxChild)(this.topbox 
[this.centerbox]));
-                       w66.Position = 1;
-                       w66.Fill = false;
+                       global::Gtk.Box.BoxChild w58 = ((global::Gtk.Box.BoxChild)(this.topbox 
[this.centerbox]));
+                       w58.Position = 1;
+                       w58.Fill = false;
                        // Container child topbox.Gtk.Box+BoxChild
                        this.righttable = new global::Gtk.Table (((uint)(3)), ((uint)(2)), true);
                        this.righttable.Name = "righttable";
@@ -626,28 +612,28 @@ namespace LongoMatch.Gui.Panel
                        this.analysislabel.Name = "analysislabel";
                        this.analysislabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Analisys 
Template:");
                        this.righttable.Add (this.analysislabel);
-                       global::Gtk.Table.TableChild w67 = ((global::Gtk.Table.TableChild)(this.righttable 
[this.analysislabel]));
-                       w67.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w67.YOptions = ((global::Gtk.AttachOptions)(4));
+                       global::Gtk.Table.TableChild w59 = ((global::Gtk.Table.TableChild)(this.righttable 
[this.analysislabel]));
+                       w59.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w59.YOptions = ((global::Gtk.AttachOptions)(4));
                        // Container child righttable.Gtk.Table+TableChild
                        this.tagscombobox = global::Gtk.ComboBox.NewText ();
                        this.tagscombobox.Name = "tagscombobox";
                        this.righttable.Add (this.tagscombobox);
-                       global::Gtk.Table.TableChild w68 = ((global::Gtk.Table.TableChild)(this.righttable 
[this.tagscombobox]));
-                       w68.LeftAttach = ((uint)(1));
-                       w68.RightAttach = ((uint)(2));
-                       w68.YOptions = ((global::Gtk.AttachOptions)(0));
+                       global::Gtk.Table.TableChild w60 = ((global::Gtk.Table.TableChild)(this.righttable 
[this.tagscombobox]));
+                       w60.LeftAttach = ((uint)(1));
+                       w60.RightAttach = ((uint)(2));
+                       w60.YOptions = ((global::Gtk.AttachOptions)(0));
                        this.topbox.Add (this.righttable);
-                       global::Gtk.Box.BoxChild w69 = ((global::Gtk.Box.BoxChild)(this.topbox 
[this.righttable]));
-                       w69.Position = 2;
-                       w69.Expand = false;
-                       w69.Fill = false;
+                       global::Gtk.Box.BoxChild w61 = ((global::Gtk.Box.BoxChild)(this.topbox 
[this.righttable]));
+                       w61.Position = 2;
+                       w61.Expand = false;
+                       w61.Fill = false;
                        this.alignment1.Add (this.topbox);
                        this.vbox5.Add (this.alignment1);
-                       global::Gtk.Box.BoxChild w71 = ((global::Gtk.Box.BoxChild)(this.vbox5 
[this.alignment1]));
-                       w71.Position = 0;
-                       w71.Expand = false;
-                       w71.Fill = false;
+                       global::Gtk.Box.BoxChild w63 = ((global::Gtk.Box.BoxChild)(this.vbox5 
[this.alignment1]));
+                       w63.Position = 0;
+                       w63.Expand = false;
+                       w63.Fill = false;
                        // Container child vbox5.Gtk.Box+BoxChild
                        this.vbox6 = new global::Gtk.VBox ();
                        this.vbox6.Name = "vbox6";
@@ -656,16 +642,16 @@ namespace LongoMatch.Gui.Panel
                        this.drawingarea = new global::Gtk.DrawingArea ();
                        this.drawingarea.Name = "drawingarea";
                        this.vbox6.Add (this.drawingarea);
-                       global::Gtk.Box.BoxChild w72 = ((global::Gtk.Box.BoxChild)(this.vbox6 
[this.drawingarea]));
-                       w72.Position = 0;
+                       global::Gtk.Box.BoxChild w64 = ((global::Gtk.Box.BoxChild)(this.vbox6 
[this.drawingarea]));
+                       w64.Position = 0;
                        this.vbox5.Add (this.vbox6);
-                       global::Gtk.Box.BoxChild w73 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.vbox6]));
-                       w73.Position = 1;
+                       global::Gtk.Box.BoxChild w65 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.vbox6]));
+                       w65.Position = 1;
                        this.notebook1.Add (this.vbox5);
-                       global::Gtk.Notebook.NotebookChild w74 = 
((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.vbox5]));
-                       w74.Position = 1;
-                       w74.TabFill = false;
-                       w74.MenuLabel = "";
+                       global::Gtk.Notebook.NotebookChild w66 = 
((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.vbox5]));
+                       w66.Position = 1;
+                       w66.TabFill = false;
+                       w66.MenuLabel = "";
                        // Notebook tab
                        this.label3 = new global::Gtk.Label ();
                        this.label3.Name = "label3";
@@ -677,8 +663,8 @@ namespace LongoMatch.Gui.Panel
                        this.projectperiods1.Events = ((global::Gdk.EventMask)(256));
                        this.projectperiods1.Name = "projectperiods1";
                        this.notebook1.Add (this.projectperiods1);
-                       global::Gtk.Notebook.NotebookChild w75 = 
((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.projectperiods1]));
-                       w75.Position = 2;
+                       global::Gtk.Notebook.NotebookChild w67 = 
((global::Gtk.Notebook.NotebookChild)(this.notebook1 [this.projectperiods1]));
+                       w67.Position = 2;
                        // Notebook tab
                        this.label7 = new global::Gtk.Label ();
                        this.label7.Name = "label7";
@@ -686,8 +672,8 @@ namespace LongoMatch.Gui.Panel
                        this.notebook1.SetTabLabel (this.projectperiods1, this.label7);
                        this.label7.ShowAll ();
                        this.vbox3.Add (this.notebook1);
-                       global::Gtk.Box.BoxChild w76 = ((global::Gtk.Box.BoxChild)(this.vbox3 
[this.notebook1]));
-                       w76.Position = 1;
+                       global::Gtk.Box.BoxChild w68 = ((global::Gtk.Box.BoxChild)(this.vbox3 
[this.notebook1]));
+                       w68.Position = 1;
                        this.Add (this.vbox3);
                        if ((this.Child != null)) {
                                this.Child.ShowAll ();
@@ -696,7 +682,7 @@ namespace LongoMatch.Gui.Panel
                        this.urilabel.Hide ();
                        this.devicecombobox.Hide ();
                        this.urientry.Hide ();
-                       this.capturetable.Hide ();
+                       this.rcapturetable.Hide ();
                        this.Hide ();
                }
        }
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index 9141aa1..ba2d277 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -6860,6 +6860,7 @@ You can continue with the current capture, cancel it or save your project.
                                   <widget class="LongoMatch.Gui.Component.MediaFileChooser" 
id="mediafilechooser1">
                                     <property name="MemberName" />
                                     <property name="Events">ButtonPressMask</property>
+                                    <property name="MediaFileMode">True</property>
                                   </widget>
                                   <packing>
                                     <property name="AutoSize">False</property>
@@ -6876,6 +6877,7 @@ You can continue with the current capture, cancel it or save your project.
                                   <widget class="LongoMatch.Gui.Component.MediaFileChooser" 
id="mediafilechooser2">
                                     <property name="MemberName" />
                                     <property name="Events">ButtonPressMask</property>
+                                    <property name="MediaFileMode">True</property>
                                   </widget>
                                   <packing>
                                     <property name="LeftAttach">1</property>
@@ -6903,37 +6905,10 @@ You can continue with the current capture, cancel it or save your project.
                                 <property name="RowSpacing">6</property>
                                 <property name="ColumnSpacing">6</property>
                                 <child>
-                                  <widget class="Gtk.HBox" id="outputfilehbox1">
+                                  <widget class="LongoMatch.Gui.Component.MediaFileChooser" 
id="capturemediafilechooser">
                                     <property name="MemberName" />
-                                    <property name="Spacing">6</property>
-                                    <child>
-                                      <widget class="Gtk.Entry" id="outfileEntry">
-                                        <property name="MemberName" />
-                                        <property name="CanFocus">True</property>
-                                        <property name="IsEditable">False</property>
-                                        <property name="HasFrame">False</property>
-                                        <property name="InvisibleChar">●</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="Position">0</property>
-                                        <property name="AutoSize">False</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="Gtk.Button" id="savebutton">
-                                        <property name="MemberName" />
-                                        <property name="CanFocus">True</property>
-                                        <property name="Type">TextAndIcon</property>
-                                        <property name="Icon">stock:gtk-save-as Menu</property>
-                                        <property name="Label" translatable="yes" />
-                                        <property name="UseUnderline">True</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="Position">1</property>
-                                        <property name="AutoSize">False</property>
-                                        <property name="Expand">False</property>
-                                      </packing>
-                                    </child>
+                                    <property name="Events">ButtonPressMask</property>
+                                    <property name="MediaFileMode">False</property>
                                   </widget>
                                   <packing>
                                     <property name="LeftAttach">1</property>
@@ -6951,7 +6926,7 @@ You can continue with the current capture, cancel it or save your project.
                                 <child>
                                   <widget class="Gtk.Label" id="outputfilelabel">
                                     <property name="MemberName" />
-                                    <property name="LabelProp" translatable="yes">Output file:</property>
+                                    <property name="LabelProp" translatable="yes">Output file</property>
                                   </widget>
                                   <packing>
                                     <property name="AutoSize">True</property>
@@ -6974,214 +6949,237 @@ You can continue with the current capture, cancel it or save your project.
                               </packing>
                             </child>
                             <child>
-                              <widget class="Gtk.Table" id="capturetable">
+                              <widget class="Gtk.HBox" id="hbox10">
                                 <property name="MemberName" />
-                                <property name="Visible">False</property>
-                                <property name="NRows">2</property>
-                                <property name="NColumns">4</property>
                                 <property name="Homogeneous">True</property>
-                                <property name="RowSpacing">6</property>
-                                <property name="ColumnSpacing">6</property>
-                                <child>
-                                  <widget class="Gtk.ComboBox" id="encodingcombobox">
-                                    <property name="MemberName" />
-                                    <property name="IsTextCombo">True</property>
-                                    <property name="Items" translatable="yes" />
-                                  </widget>
-                                  <packing>
-                                    <property name="LeftAttach">3</property>
-                                    <property name="RightAttach">4</property>
-                                    <property name="AutoSize">False</property>
-                                    <property name="YOptions">Fill</property>
-                                    <property name="XExpand">True</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>
+                                <property name="Spacing">6</property>
                                 <child>
-                                  <widget class="Gtk.HBox" id="hbox6">
+                                  <widget class="Gtk.Table" id="lcapturetable">
                                     <property name="MemberName" />
-                                    <property name="Spacing">6</property>
+                                    <property name="NRows">2</property>
+                                    <property name="NColumns">2</property>
+                                    <property name="RowSpacing">6</property>
+                                    <property name="ColumnSpacing">6</property>
                                     <child>
-                                      <widget class="Gtk.Label" id="device">
+                                      <widget class="Gtk.HBox" id="hbox6">
                                         <property name="MemberName" />
-                                        <property name="Visible">False</property>
-                                        <property name="LabelProp" translatable="yes">Device:</property>
+                                        <property name="Spacing">6</property>
+                                        <child>
+                                          <widget class="Gtk.Label" id="device">
+                                            <property name="MemberName" />
+                                            <property name="Visible">False</property>
+                                            <property name="LabelProp" translatable="yes">Device</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="Position">0</property>
+                                            <property name="AutoSize">False</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="Gtk.Label" id="urilabel">
+                                            <property name="MemberName" />
+                                            <property name="Visible">False</property>
+                                            <property name="LabelProp" translatable="yes">URL</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="Position">1</property>
+                                            <property name="AutoSize">False</property>
+                                          </packing>
+                                        </child>
                                       </widget>
                                       <packing>
-                                        <property name="Position">0</property>
-                                        <property name="AutoSize">False</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.Label" id="urilabel">
+                                      <widget class="Gtk.HBox" id="hbox7">
                                         <property name="MemberName" />
-                                        <property name="Visible">False</property>
-                                        <property name="LabelProp" translatable="yes">URL:</property>
+                                        <property name="Spacing">6</property>
+                                        <child>
+                                          <widget class="Gtk.ComboBox" id="devicecombobox">
+                                            <property name="MemberName" />
+                                            <property name="Visible">False</property>
+                                            <property name="IsTextCombo">True</property>
+                                            <property name="Items" translatable="yes" />
+                                          </widget>
+                                          <packing>
+                                            <property name="Position">0</property>
+                                            <property name="AutoSize">False</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="Gtk.Entry" id="urientry">
+                                            <property name="MemberName" />
+                                            <property name="Visible">False</property>
+                                            <property name="CanFocus">True</property>
+                                            <property name="IsEditable">True</property>
+                                            <property name="InvisibleChar">•</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="Position">1</property>
+                                            <property name="AutoSize">False</property>
+                                          </packing>
+                                        </child>
                                       </widget>
                                       <packing>
-                                        <property name="Position">1</property>
-                                        <property name="AutoSize">False</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>
+                                        <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="imagecombobox">
+                                        <property name="MemberName" />
+                                        <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>
+                                        <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.Label" id="sizelabel">
+                                        <property name="MemberName" />
+                                        <property name="LabelProp" translatable="yes">Size</property>
+                                      </widget>
+                                      <packing>
+                                        <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>
+                                        <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>
                                   </widget>
                                   <packing>
-                                    <property name="AutoSize">False</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>
+                                    <property name="Position">0</property>
+                                    <property name="AutoSize">True</property>
+                                    <property name="Expand">False</property>
+                                    <property name="Fill">False</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="Gtk.HBox" id="hbox7">
+                                  <widget class="Gtk.Table" id="rcapturetable">
                                     <property name="MemberName" />
-                                    <property name="Spacing">6</property>
+                                    <property name="Visible">False</property>
+                                    <property name="NRows">2</property>
+                                    <property name="NColumns">2</property>
+                                    <property name="RowSpacing">6</property>
+                                    <property name="ColumnSpacing">6</property>
                                     <child>
-                                      <widget class="Gtk.ComboBox" id="devicecombobox">
+                                      <widget class="Gtk.ComboBox" id="encodingcombobox">
                                         <property name="MemberName" />
-                                        <property name="Visible">False</property>
                                         <property name="IsTextCombo">True</property>
                                         <property name="Items" translatable="yes" />
                                       </widget>
                                       <packing>
-                                        <property name="Position">0</property>
+                                        <property name="LeftAttach">1</property>
+                                        <property name="RightAttach">2</property>
                                         <property name="AutoSize">False</property>
+                                        <property name="YOptions">Fill</property>
+                                        <property name="XExpand">True</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.Entry" id="urientry">
+                                      <widget class="Gtk.ComboBox" id="qualitycombobox">
                                         <property name="MemberName" />
-                                        <property name="Visible">False</property>
-                                        <property name="CanFocus">True</property>
-                                        <property name="IsEditable">True</property>
-                                        <property name="InvisibleChar">•</property>
+                                        <property name="IsTextCombo">True</property>
+                                        <property name="Items" translatable="yes" />
                                       </widget>
                                       <packing>
-                                        <property name="Position">1</property>
+                                        <property name="TopAttach">1</property>
+                                        <property name="BottomAttach">2</property>
+                                        <property name="LeftAttach">1</property>
+                                        <property name="RightAttach">2</property>
                                         <property name="AutoSize">False</property>
+                                        <property name="YOptions">Fill</property>
+                                        <property name="XExpand">True</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.Label" id="qualitylabel">
+                                        <property name="MemberName" />
+                                        <property name="LabelProp" translatable="yes">Quality</property>
+                                      </widget>
+                                      <packing>
+                                        <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>
+                                        <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.Label" id="videoformatlabel">
+                                        <property name="MemberName" />
+                                        <property name="LabelProp" translatable="yes">Format</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>
                                   </widget>
                                   <packing>
-                                    <property name="LeftAttach">1</property>
-                                    <property name="RightAttach">2</property>
-                                    <property name="AutoSize">False</property>
-                                    <property name="YOptions">Fill</property>
-                                    <property name="XExpand">True</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="imagecombobox">
-                                    <property name="MemberName" />
-                                    <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">False</property>
-                                    <property name="YOptions">Fill</property>
-                                    <property name="XExpand">True</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="qualitycombobox">
-                                    <property name="MemberName" />
-                                    <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">3</property>
-                                    <property name="RightAttach">4</property>
-                                    <property name="AutoSize">False</property>
-                                    <property name="YOptions">Fill</property>
-                                    <property name="XExpand">True</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.Label" id="qualitylabel">
-                                    <property name="MemberName" />
-                                    <property name="LabelProp" translatable="yes">Quality:</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="TopAttach">1</property>
-                                    <property name="BottomAttach">2</property>
-                                    <property name="LeftAttach">2</property>
-                                    <property name="RightAttach">3</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.Label" id="sizelabel">
-                                    <property name="MemberName" />
-                                    <property name="LabelProp" translatable="yes">Size:</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="TopAttach">1</property>
-                                    <property name="BottomAttach">2</property>
+                                    <property name="Position">1</property>
                                     <property name="AutoSize">False</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.Label" id="videoformatlabel">
-                                    <property name="MemberName" />
-                                    <property name="LabelProp" translatable="yes">Format:</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="LeftAttach">2</property>
-                                    <property name="RightAttach">3</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>
                               </widget>
diff --git a/LongoMatch.GUI/gtk-gui/objects.xml b/LongoMatch.GUI/gtk-gui/objects.xml
index b13d44b..def2331 100644
--- a/LongoMatch.GUI/gtk-gui/objects.xml
+++ b/LongoMatch.GUI/gtk-gui/objects.xml
@@ -161,15 +161,6 @@
       </itemgroup>
     </signals>
   </object>
-  <object type="LongoMatch.Gui.Component.PlayerPropertiesTreeView" palette-category="General" 
allow-children="false" base-type="Gtk.TreeView">
-    <itemgroups />
-    <signals>
-      <itemgroup label="PlayerPropertiesTreeView Signals">
-        <signal name="PlayerClicked" />
-        <signal name="PlayersSelected" />
-      </itemgroup>
-    </signals>
-  </object>
   <object type="LongoMatch.Gui.Component.Stats.SubCategoryViewer" palette-category="General" 
allow-children="false" base-type="Gtk.Bin">
     <itemgroups />
     <signals />
@@ -292,7 +283,12 @@
     <signals />
   </object>
   <object type="LongoMatch.Gui.Component.MediaFileChooser" palette-category="General" allow-children="false" 
base-type="Gtk.Bin">
-    <itemgroups />
+    <itemgroups>
+      <itemgroup label="MediaFileChooser Properties">
+        <property name="MediaFileMode" />
+        <property name="File" />
+      </itemgroup>
+    </itemgroups>
     <signals>
       <itemgroup label="MediaFileChooser Signals">
         <signal name="ChangedEvent" />


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