[longomatch] Add new UI for the video conversion tool
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Add new UI for the video conversion tool
- Date: Sat, 22 Nov 2014 10:53:24 +0000 (UTC)
commit 81aee50303555b0d96a8cbed3517b3368c8f35bf
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Fri Nov 14 15:51:24 2014 +0100
Add new UI for the video conversion tool
LongoMatch.GUI/Gui/Component/VideoFileInfo.cs | 33 ++-
LongoMatch.GUI/Gui/Dialog/VideoConversionTool.cs | 103 ++++---
.../LongoMatch.Gui.Component.VideoFileInfo.cs | 1 -
.../LongoMatch.Gui.Dialog.VideoConversionTool.cs | 243 +++++++-------
LongoMatch.GUI/gtk-gui/gui.stetic | 348 ++++++++++---------
5 files changed, 378 insertions(+), 350 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/Component/VideoFileInfo.cs b/LongoMatch.GUI/Gui/Component/VideoFileInfo.cs
index 7d18593..692394f 100644
--- a/LongoMatch.GUI/Gui/Component/VideoFileInfo.cs
+++ b/LongoMatch.GUI/Gui/Component/VideoFileInfo.cs
@@ -20,6 +20,7 @@ using Mono.Unix;
using LongoMatch.Core.Common;
using LongoMatch.Core.Store;
using Misc = LongoMatch.Gui.Helpers.Misc;
+using Gtk;
namespace LongoMatch.Gui.Component
{
@@ -29,12 +30,14 @@ namespace LongoMatch.Gui.Component
MediaFileSet fileSet;
MediaFileAngle angle;
MediaFile mediaFile;
+ bool disableChanges;
public VideoFileInfo ()
{
this.Build ();
eventbox3.ButtonPressEvent += HandleButtonPressEvent;
HeightRequest = 100;
+ filelabel.ModifyFg (StateType.Normal, Misc.ToGdkColor (Config.Style.PaletteText));
}
public void SetMediaFile (MediaFileSet fileSet, MediaFileAngle angle)
@@ -42,6 +45,14 @@ namespace LongoMatch.Gui.Component
this.fileSet = fileSet;
this.angle = angle;
mediaFile = fileSet.GetAngle (angle);
+ disableChanges = false;
+ UpdateMediaFile ();
+ }
+
+ public void SetMediaFile (MediaFile file)
+ {
+ mediaFile = file;
+ disableChanges = true;
UpdateMediaFile ();
}
@@ -51,26 +62,24 @@ namespace LongoMatch.Gui.Component
Visible = false;
return;
}
- else
- if (mediaFile.FilePath == Constants.FAKE_PROJECT) {
- filelabel.Text = Catalog.GetString ("No video file associated yet for
live project");
- snapshotimage.Pixbuf = Misc.LoadIcon ("longomatch-video-device-fake",
80);
- table1.Visible = false;
- return;
- }
+ if (mediaFile.FilePath == Constants.FAKE_PROJECT) {
+ filelabel.Text = Catalog.GetString ("No video file associated yet for live
project");
+ snapshotimage.Pixbuf = Misc.LoadIcon ("longomatch-video-device-fake", 80);
+ table1.Visible = false;
+ disableChanges = true;
+ return;
+ }
table1.Visible = true;
filelabel.Text = mediaFile.FilePath;
if (mediaFile.Preview != null) {
snapshotimage.Pixbuf = mediaFile.Preview.Value;
- }
- else {
+ } else {
snapshotimage.Pixbuf = Misc.LoadIcon ("longomatch-video-file", 80);
}
if (mediaFile.Duration != null) {
durationlabel.Text = String.Format ("{0}: {1}", Catalog.GetString
("Duration"),
mediaFile.Duration.ToSecondsString ());
- }
- else {
+ } else {
durationlabel.Text = Catalog.GetString ("Missing duration info, reload this
file.");
}
formatlabel.Text = String.Format ("{0}: {1}x{2} {3}fps", Catalog.GetString ("Format"),
@@ -85,7 +94,7 @@ namespace LongoMatch.Gui.Component
void HandleButtonPressEvent (object o, Gtk.ButtonPressEventArgs args)
{
- if (args.Event.Button != 1 || mediaFile.FilePath == Constants.FAKE_PROJECT) {
+ if (args.Event.Button != 1 || disableChanges) {
return;
}
MediaFile file = Misc.OpenFile (this);
diff --git a/LongoMatch.GUI/Gui/Dialog/VideoConversionTool.cs
b/LongoMatch.GUI/Gui/Dialog/VideoConversionTool.cs
index 21c11d2..a0b53a4 100644
--- a/LongoMatch.GUI/Gui/Dialog/VideoConversionTool.cs
+++ b/LongoMatch.GUI/Gui/Dialog/VideoConversionTool.cs
@@ -22,8 +22,10 @@ using Gtk;
using Mono.Unix;
using LongoMatch.Core.Common;
using LongoMatch.Gui;
+using LongoMatch.Gui.Component;
using LongoMatch.Core.Store;
using LongoMatch.Gui.Helpers;
+using Misc = LongoMatch.Gui.Helpers.Misc;
namespace LongoMatch.Gui.Dialog
{
@@ -39,7 +41,6 @@ namespace LongoMatch.Gui.Dialog
public VideoConversionTool ()
{
this.Build ();
- SetTreeView ();
buttonOk.Sensitive = false;
Files = new List<MediaFile> ();
supportedVideoStandards = VideoStandards.Transcode;
@@ -48,9 +49,13 @@ namespace LongoMatch.Gui.Dialog
mediafilechooser1.ChangedEvent += HandleFileChanges;
FillStandards ();
FillBitrates ();
- addbutton.Clicked += OnAddbuttonClicked;
- removebutton.Clicked += OnRemovebuttonClicked;
+ addbutton1.Clicked += OnAddbuttonClicked;
buttonOk.Clicked += OnButtonOkClicked;
+ convertimage.Pixbuf = Misc.LoadIcon ("longomatch-video-converter-big", 64);
+ addimage.Pixbuf = Misc.LoadIcon ("gtk-add", IconSize.Button);
+ eventbox1.ModifyBg (StateType.Normal, Misc.ToGdkColor
(Config.Style.PaletteBackgroundDark));
+ addbutton1.CanFocus = false;
+ scrolledwindow1.Visible = false;
}
public List<MediaFile> Files {
@@ -65,23 +70,10 @@ namespace LongoMatch.Gui.Dialog
void CheckStatus ()
{
+ scrolledwindow1.Visible = Files.Count != 0;
buttonOk.Sensitive = mediafilechooser1.CurrentPath != null && Files.Count != 0;
}
- void SetTreeView ()
- {
- TreeViewColumn mediaFileCol = new TreeViewColumn ();
- mediaFileCol.Title = Catalog.GetString ("Input files");
- CellRendererText mediaFileCell = new CellRendererText ();
- mediaFileCol.PackStart (mediaFileCell, true);
- mediaFileCol.SetCellDataFunc (mediaFileCell, new TreeCellDataFunc (RenderMediaFile));
- treeview1.AppendColumn (mediaFileCol);
-
- store = new ListStore (typeof(MediaFile));
- treeview1.Model = store;
-
- }
-
void FillStandards ()
{
int index = 0, active = 0;
@@ -110,6 +102,34 @@ namespace LongoMatch.Gui.Dialog
bitratecombobox.Active = 1;
}
+ void AppendFile (MediaFile file) {
+ HBox box;
+ Button delButton;
+ Gtk.Image delImage;
+ VideoFileInfo fileinfo;
+
+ if (file == null)
+ return;
+ Files.Add (file);
+ box = new HBox();
+ delButton = new Button ();
+ delButton.Relief = ReliefStyle.None;
+ delButton.CanFocus = false;
+ delImage = new Gtk.Image ("gtk-remove", IconSize.Button);
+ delButton.Add (delImage);
+ delButton.Clicked += (object sender, EventArgs e) => {
+ filesbox.Remove (box);
+ Files.Remove (file);
+ CheckStatus ();
+ };
+ fileinfo = new VideoFileInfo ();
+ fileinfo.SetMediaFile (file);
+ box.PackStart (fileinfo, true, true, 0);
+ box.PackStart (delButton, false, false, 0);
+ box.ShowAll ();
+ filesbox.PackStart (box, false, true, 0);
+ }
+
protected void OnAddbuttonClicked (object sender, System.EventArgs e)
{
TreeIter iter;
@@ -120,9 +140,22 @@ namespace LongoMatch.Gui.Dialog
List<string> errors = new List<string> ();
foreach (string path in paths) {
try {
- MediaFile file = Config.MultimediaToolkit.DiscoverFile (path, false);
- store.AppendValues (file);
- Files.Add (file);
+ string error = null;
+ MediaFile mediaFile = Config.MultimediaToolkit.DiscoverFile (path,
true);
+ if (mediaFile == null) {
+ continue;
+ }
+ if(!mediaFile.HasVideo || mediaFile.VideoCodec == "") {
+ throw new Exception (Catalog.GetString("This file doesn't
contain a video stream."));
+ }
+ if(mediaFile.HasVideo && mediaFile.Duration.MSeconds == 0) {
+ throw new Exception (Catalog.GetString("This file contains a
video stream but its length is 0."));
+ }
+ if (error != null) {
+ Config.GUIToolkit.ErrorMessage (error, this);
+ } else {
+ AppendFile (Config.MultimediaToolkit.DiscoverFile (path,
true));
+ }
} catch (Exception) {
errors.Add (path);
}
@@ -136,10 +169,12 @@ namespace LongoMatch.Gui.Dialog
}
CheckStatus ();
- maxHeight = Files.Max (f => f.VideoHeight);
- sizecombobox.GetActiveIter (out iter);
- selectedVideoStandard = stdStore.GetValue (iter, 1) as VideoStandard;
- FillStandards ();
+ if (Files.Count > 0) {
+ maxHeight = Files.Max (f => f.VideoHeight);
+ sizecombobox.GetActiveIter (out iter);
+ selectedVideoStandard = stdStore.GetValue (iter, 1) as VideoStandard;
+ FillStandards ();
+ }
}
void HandleFileChanges (object sender, EventArgs e)
@@ -147,26 +182,6 @@ namespace LongoMatch.Gui.Dialog
CheckStatus ();
}
- protected void OnRemovebuttonClicked (object sender, System.EventArgs e)
- {
- TreeIter iter;
-
- treeview1.Selection.GetSelected (out iter);
- Files.Remove (store.GetValue (iter, 0) as MediaFile);
- CheckStatus ();
- store.Remove (ref iter);
- }
-
- private void RenderMediaFile (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel
model, Gtk.TreeIter iter)
- {
- MediaFile file = (MediaFile)store.GetValue (iter, 0);
-
- (cell as Gtk.CellRendererText).Text = String.Format ("{0} {1}x{2} (Video:'{3}'
Audio:'{4}')",
- System.IO.Path.GetFileName
(file.FilePath),
- file.VideoWidth,
file.VideoHeight,
- file.VideoCodec,
file.AudioCodec);
- }
-
protected void OnButtonOkClicked (object sender, System.EventArgs e)
{
EncodingSettings encSettings;
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.VideoFileInfo.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.VideoFileInfo.cs
index 46b7787..92e099b 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.VideoFileInfo.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.VideoFileInfo.cs
@@ -56,7 +56,6 @@ namespace LongoMatch.Gui.Component
this.vbox2.Add (this.filelabel);
global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.filelabel]));
w2.Position = 0;
- w2.Expand = false;
// Container child vbox2.Gtk.Box+BoxChild
this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(2)), false);
this.table1.Name = "table1";
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.VideoConversionTool.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.VideoConversionTool.cs
index 676fb40..aabc61f 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.VideoConversionTool.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Dialog.VideoConversionTool.cs
@@ -4,13 +4,15 @@ namespace LongoMatch.Gui.Dialog
{
public partial class VideoConversionTool
{
+ private global::Gtk.EventBox eventbox1;
private global::Gtk.VBox vbox2;
+ private global::Gtk.ScrolledWindow scrolledwindow1;
+ private global::Gtk.VBox filesbox;
+ private global::Gtk.Button addbutton1;
+ private global::Gtk.Image addimage;
+ private global::Gtk.HSeparator hseparator1;
private global::Gtk.HBox hbox1;
- private global::Gtk.ScrolledWindow GtkScrolledWindow;
- private global::Gtk.TreeView treeview1;
- private global::Gtk.VBox vbox3;
- private global::Gtk.Button addbutton;
- private global::Gtk.Button removebutton;
+ private global::Gtk.Image convertimage;
private global::Gtk.Table table1;
private global::Gtk.ComboBox bitratecombobox;
private global::Gtk.Label filenamelabel;
@@ -25,6 +27,7 @@ namespace LongoMatch.Gui.Dialog
{
global::Stetic.Gui.Initialize (this);
// Widget LongoMatch.Gui.Dialog.VideoConversionTool
+ this.HeightRequest = 0;
this.Name = "LongoMatch.Gui.Dialog.VideoConversionTool";
this.Title = global::Mono.Unix.Catalog.GetString ("Video converter tool");
this.Icon = global::Stetic.IconLoader.LoadIcon (this, "longomatch",
global::Gtk.IconSize.Menu);
@@ -39,86 +42,64 @@ namespace LongoMatch.Gui.Dialog
w1.Name = "dialog1_VBox";
w1.BorderWidth = ((uint)(2));
// Container child dialog1_VBox.Gtk.Box+BoxChild
+ this.eventbox1 = new global::Gtk.EventBox ();
+ this.eventbox1.Name = "eventbox1";
+ // Container child eventbox1.Gtk.Container+ContainerChild
this.vbox2 = new global::Gtk.VBox ();
this.vbox2.Name = "vbox2";
this.vbox2.Spacing = 6;
// Container child vbox2.Gtk.Box+BoxChild
+ this.scrolledwindow1 = new global::Gtk.ScrolledWindow ();
+ this.scrolledwindow1.CanFocus = true;
+ this.scrolledwindow1.Name = "scrolledwindow1";
+ // Container child scrolledwindow1.Gtk.Container+ContainerChild
+ global::Gtk.Viewport w2 = new global::Gtk.Viewport ();
+ w2.ShadowType = ((global::Gtk.ShadowType)(0));
+ // Container child GtkViewport.Gtk.Container+ContainerChild
+ this.filesbox = new global::Gtk.VBox ();
+ this.filesbox.Name = "filesbox";
+ this.filesbox.Spacing = 6;
+ w2.Add (this.filesbox);
+ this.scrolledwindow1.Add (w2);
+ this.vbox2.Add (this.scrolledwindow1);
+ global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.scrolledwindow1]));
+ w5.Position = 0;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.addbutton1 = new global::Gtk.Button ();
+ this.addbutton1.Name = "addbutton1";
+ this.addbutton1.Relief = ((global::Gtk.ReliefStyle)(2));
+ // Container child addbutton1.Gtk.Container+ContainerChild
+ this.addimage = new global::Gtk.Image ();
+ this.addimage.Name = "addimage";
+ this.addbutton1.Add (this.addimage);
+ this.addbutton1.Label = null;
+ this.vbox2.Add (this.addbutton1);
+ global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.addbutton1]));
+ w7.Position = 1;
+ w7.Expand = false;
+ w7.Fill = false;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.hseparator1 = new global::Gtk.HSeparator ();
+ this.hseparator1.Name = "hseparator1";
+ this.vbox2.Add (this.hseparator1);
+ global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.hseparator1]));
+ w8.Position = 2;
+ w8.Expand = false;
+ // Container child vbox2.Gtk.Box+BoxChild
this.hbox1 = new global::Gtk.HBox ();
+ this.hbox1.HeightRequest = 130;
this.hbox1.Name = "hbox1";
this.hbox1.Spacing = 6;
// Container child hbox1.Gtk.Box+BoxChild
- this.GtkScrolledWindow = new global::Gtk.ScrolledWindow ();
- this.GtkScrolledWindow.Name = "GtkScrolledWindow";
- this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child GtkScrolledWindow.Gtk.Container+ContainerChild
- this.treeview1 = new global::Gtk.TreeView ();
- this.treeview1.CanFocus = true;
- this.treeview1.Name = "treeview1";
- this.GtkScrolledWindow.Add (this.treeview1);
- this.hbox1.Add (this.GtkScrolledWindow);
- global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox1
[this.GtkScrolledWindow]));
- w3.Position = 0;
+ this.convertimage = new global::Gtk.Image ();
+ this.convertimage.WidthRequest = 170;
+ this.convertimage.Name = "convertimage";
+ this.hbox1.Add (this.convertimage);
+ global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox1
[this.convertimage]));
+ w9.Position = 0;
+ w9.Expand = false;
+ w9.Fill = false;
// Container child hbox1.Gtk.Box+BoxChild
- this.vbox3 = new global::Gtk.VBox ();
- this.vbox3.Name = "vbox3";
- this.vbox3.Spacing = 6;
- // Container child vbox3.Gtk.Box+BoxChild
- this.addbutton = new global::Gtk.Button ();
- this.addbutton.CanFocus = true;
- this.addbutton.Name = "addbutton";
- this.addbutton.UseUnderline = true;
- // Container child addbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w4 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
- // Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w5 = new global::Gtk.HBox ();
- w5.Spacing = 2;
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w6 = new global::Gtk.Image ();
- w6.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-add",
global::Gtk.IconSize.Menu);
- w5.Add (w6);
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w8 = new global::Gtk.Label ();
- w5.Add (w8);
- w4.Add (w5);
- this.addbutton.Add (w4);
- this.vbox3.Add (this.addbutton);
- global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox3
[this.addbutton]));
- w12.Position = 0;
- w12.Expand = false;
- w12.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.removebutton = new global::Gtk.Button ();
- this.removebutton.CanFocus = true;
- this.removebutton.Name = "removebutton";
- this.removebutton.UseUnderline = true;
- // Container child removebutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w13 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
- // Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w14 = new global::Gtk.HBox ();
- w14.Spacing = 2;
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w15 = new global::Gtk.Image ();
- w15.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-remove",
global::Gtk.IconSize.Menu);
- w14.Add (w15);
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w17 = new global::Gtk.Label ();
- w14.Add (w17);
- w13.Add (w14);
- this.removebutton.Add (w13);
- this.vbox3.Add (this.removebutton);
- global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox3
[this.removebutton]));
- w21.Position = 1;
- w21.Expand = false;
- w21.Fill = false;
- this.hbox1.Add (this.vbox3);
- global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3]));
- w22.Position = 1;
- w22.Expand = false;
- w22.Fill = false;
- this.vbox2.Add (this.hbox1);
- global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1]));
- w23.Position = 0;
- // Container child vbox2.Gtk.Box+BoxChild
this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(2)), false);
this.table1.Name = "table1";
this.table1.RowSpacing = ((uint)(6));
@@ -127,77 +108,83 @@ namespace LongoMatch.Gui.Dialog
this.bitratecombobox = global::Gtk.ComboBox.NewText ();
this.bitratecombobox.Name = "bitratecombobox";
this.table1.Add (this.bitratecombobox);
- global::Gtk.Table.TableChild w24 = ((global::Gtk.Table.TableChild)(this.table1
[this.bitratecombobox]));
- w24.TopAttach = ((uint)(1));
- w24.BottomAttach = ((uint)(2));
- w24.LeftAttach = ((uint)(1));
- w24.RightAttach = ((uint)(2));
- w24.XOptions = ((global::Gtk.AttachOptions)(4));
- w24.YOptions = ((global::Gtk.AttachOptions)(4));
+ global::Gtk.Table.TableChild w10 = ((global::Gtk.Table.TableChild)(this.table1
[this.bitratecombobox]));
+ w10.TopAttach = ((uint)(1));
+ w10.BottomAttach = ((uint)(2));
+ w10.LeftAttach = ((uint)(1));
+ w10.RightAttach = ((uint)(2));
+ w10.XOptions = ((global::Gtk.AttachOptions)(4));
+ w10.YOptions = ((global::Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.filenamelabel = new global::Gtk.Label ();
this.filenamelabel.Name = "filenamelabel";
this.filenamelabel.Xalign = 1F;
this.filenamelabel.LabelProp = global::Mono.Unix.Catalog.GetString ("File name: ");
this.table1.Add (this.filenamelabel);
- global::Gtk.Table.TableChild w25 = ((global::Gtk.Table.TableChild)(this.table1
[this.filenamelabel]));
- w25.TopAttach = ((uint)(2));
- w25.BottomAttach = ((uint)(3));
- w25.XOptions = ((global::Gtk.AttachOptions)(4));
- w25.YOptions = ((global::Gtk.AttachOptions)(4));
+ global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.table1
[this.filenamelabel]));
+ w11.TopAttach = ((uint)(2));
+ w11.BottomAttach = ((uint)(3));
+ w11.XOptions = ((global::Gtk.AttachOptions)(4));
+ w11.YOptions = ((global::Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.label2 = new global::Gtk.Label ();
this.label2.Name = "label2";
this.label2.Xalign = 1F;
this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Size: ");
this.table1.Add (this.label2);
- global::Gtk.Table.TableChild w26 = ((global::Gtk.Table.TableChild)(this.table1
[this.label2]));
- w26.YOptions = ((global::Gtk.AttachOptions)(4));
+ global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1
[this.label2]));
+ w12.YOptions = ((global::Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.label3 = new global::Gtk.Label ();
this.label3.Name = "label3";
this.label3.Xalign = 1F;
this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("Bitrate: ");
this.table1.Add (this.label3);
- global::Gtk.Table.TableChild w27 = ((global::Gtk.Table.TableChild)(this.table1
[this.label3]));
- w27.TopAttach = ((uint)(1));
- w27.BottomAttach = ((uint)(2));
- w27.XOptions = ((global::Gtk.AttachOptions)(4));
- w27.YOptions = ((global::Gtk.AttachOptions)(4));
+ global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.table1
[this.label3]));
+ w13.TopAttach = ((uint)(1));
+ w13.BottomAttach = ((uint)(2));
+ w13.XOptions = ((global::Gtk.AttachOptions)(4));
+ w13.YOptions = ((global::Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.mediafilechooser1 = new global::LongoMatch.Gui.Component.MediaFileChooser ();
this.mediafilechooser1.Events = ((global::Gdk.EventMask)(256));
this.mediafilechooser1.Name = "mediafilechooser1";
this.table1.Add (this.mediafilechooser1);
- global::Gtk.Table.TableChild w28 = ((global::Gtk.Table.TableChild)(this.table1
[this.mediafilechooser1]));
- w28.TopAttach = ((uint)(2));
- w28.BottomAttach = ((uint)(3));
- w28.LeftAttach = ((uint)(1));
- w28.RightAttach = ((uint)(2));
- w28.XOptions = ((global::Gtk.AttachOptions)(4));
- w28.YOptions = ((global::Gtk.AttachOptions)(4));
+ global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.table1
[this.mediafilechooser1]));
+ w14.TopAttach = ((uint)(2));
+ w14.BottomAttach = ((uint)(3));
+ w14.LeftAttach = ((uint)(1));
+ w14.RightAttach = ((uint)(2));
+ w14.XOptions = ((global::Gtk.AttachOptions)(4));
+ w14.YOptions = ((global::Gtk.AttachOptions)(4));
// Container child table1.Gtk.Table+TableChild
this.sizecombobox = global::Gtk.ComboBox.NewText ();
this.sizecombobox.Name = "sizecombobox";
this.table1.Add (this.sizecombobox);
- global::Gtk.Table.TableChild w29 = ((global::Gtk.Table.TableChild)(this.table1
[this.sizecombobox]));
- w29.LeftAttach = ((uint)(1));
- w29.RightAttach = ((uint)(2));
- w29.YOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox2.Add (this.table1);
- global::Gtk.Box.BoxChild w30 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.table1]));
- w30.Position = 1;
- w30.Expand = false;
- w30.Fill = false;
- w1.Add (this.vbox2);
- global::Gtk.Box.BoxChild w31 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox2]));
- w31.Position = 0;
+ global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.table1
[this.sizecombobox]));
+ w15.LeftAttach = ((uint)(1));
+ w15.RightAttach = ((uint)(2));
+ w15.XOptions = ((global::Gtk.AttachOptions)(4));
+ w15.YOptions = ((global::Gtk.AttachOptions)(4));
+ this.hbox1.Add (this.table1);
+ global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.table1]));
+ w16.Position = 1;
+ this.vbox2.Add (this.hbox1);
+ global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1]));
+ w17.PackType = ((global::Gtk.PackType)(1));
+ w17.Position = 3;
+ w17.Expand = false;
+ w17.Fill = false;
+ this.eventbox1.Add (this.vbox2);
+ w1.Add (this.eventbox1);
+ global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(w1 [this.eventbox1]));
+ w19.Position = 0;
// Internal child LongoMatch.Gui.Dialog.VideoConversionTool.ActionArea
- global::Gtk.HButtonBox w32 = this.ActionArea;
- w32.Name = "dialog1_ActionArea";
- w32.Spacing = 10;
- w32.BorderWidth = ((uint)(5));
- w32.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
+ global::Gtk.HButtonBox w20 = this.ActionArea;
+ w20.Name = "dialog1_ActionArea";
+ w20.Spacing = 10;
+ w20.BorderWidth = ((uint)(5));
+ w20.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
this.buttonCancel = new global::Gtk.Button ();
this.buttonCancel.CanDefault = true;
@@ -207,9 +194,9 @@ namespace LongoMatch.Gui.Dialog
this.buttonCancel.UseUnderline = true;
this.buttonCancel.Label = "gtk-cancel";
this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w33 =
((global::Gtk.ButtonBox.ButtonBoxChild)(w32 [this.buttonCancel]));
- w33.Expand = false;
- w33.Fill = false;
+ global::Gtk.ButtonBox.ButtonBoxChild w21 =
((global::Gtk.ButtonBox.ButtonBoxChild)(w20 [this.buttonCancel]));
+ w21.Expand = false;
+ w21.Fill = false;
// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
this.buttonOk = new global::Gtk.Button ();
this.buttonOk.CanDefault = true;
@@ -219,15 +206,15 @@ namespace LongoMatch.Gui.Dialog
this.buttonOk.UseUnderline = true;
this.buttonOk.Label = "gtk-ok";
this.AddActionWidget (this.buttonOk, -5);
- global::Gtk.ButtonBox.ButtonBoxChild w34 =
((global::Gtk.ButtonBox.ButtonBoxChild)(w32 [this.buttonOk]));
- w34.Position = 1;
- w34.Expand = false;
- w34.Fill = false;
+ global::Gtk.ButtonBox.ButtonBoxChild w22 =
((global::Gtk.ButtonBox.ButtonBoxChild)(w20 [this.buttonOk]));
+ w22.Position = 1;
+ w22.Expand = false;
+ w22.Fill = false;
if ((this.Child != null)) {
this.Child.ShowAll ();
}
- this.DefaultWidth = 456;
- this.DefaultHeight = 363;
+ this.DefaultWidth = 882;
+ this.DefaultHeight = 408;
this.Show ();
}
}
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index 536ba4c..7f0a07e 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -4570,8 +4570,9 @@ You can continue with the current capture, cancel it or save your project.
</widget>
</child>
</widget>
- <widget class="Gtk.Dialog" id="LongoMatch.Gui.Dialog.VideoConversionTool" design-size="456 363">
+ <widget class="Gtk.Dialog" id="LongoMatch.Gui.Dialog.VideoConversionTool" design-size="882 408">
<property name="MemberName" />
+ <property name="HeightRequest">0</property>
<property name="Title" translatable="yes">Video converter tool</property>
<property name="Icon">stock:longomatch Menu</property>
<property name="WindowPosition">CenterOnParent</property>
@@ -4587,22 +4588,35 @@ You can continue with the current capture, cancel it or save your project.
<property name="MemberName" />
<property name="BorderWidth">2</property>
<child>
- <widget class="Gtk.VBox" id="vbox2">
+ <widget class="Gtk.EventBox" id="eventbox1">
<property name="MemberName" />
- <property name="Spacing">6</property>
<child>
- <widget class="Gtk.HBox" id="hbox1">
+ <widget class="Gtk.VBox" id="vbox2">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
- <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
+ <widget class="Gtk.ScrolledWindow" id="scrolledwindow1">
<property name="MemberName" />
- <property name="ShadowType">In</property>
+ <property name="CanFocus">True</property>
<child>
- <widget class="Gtk.TreeView" id="treeview1">
+ <widget class="Gtk.Viewport" id="GtkViewport">
<property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShowScrollbars">True</property>
+ <property name="ShadowType">None</property>
+ <child>
+ <widget class="Gtk.VBox" id="filesbox">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <placeholder />
+ </child>
+ <child>
+ <placeholder />
+ </child>
+ <child>
+ <placeholder />
+ </child>
+ </widget>
+ </child>
</widget>
</child>
</widget>
@@ -4612,40 +4626,14 @@ You can continue with the current capture, cancel it or save your project.
</packing>
</child>
<child>
- <widget class="Gtk.VBox" id="vbox3">
+ <widget class="Gtk.Button" id="addbutton1">
<property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Button" id="addbutton">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-add Menu</property>
- <property name="Label" translatable="yes" />
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
+ <property name="Type">Custom</property>
+ <property name="Relief">None</property>
<child>
- <widget class="Gtk.Button" id="removebutton">
+ <widget class="Gtk.Image" id="addimage">
<property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-remove Menu</property>
- <property name="Label" translatable="yes" />
- <property name="UseUnderline">True</property>
</widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
</child>
</widget>
<packing>
@@ -4655,150 +4643,181 @@ You can continue with the current capture, cancel it or save your project.
<property name="Fill">False</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Table" id="table1">
- <property name="MemberName" />
- <property name="NRows">3</property>
- <property name="NColumns">2</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">6</property>
- <child>
- <widget class="Gtk.ComboBox" id="bitratecombobox">
- <property name="MemberName" />
- <property name="IsTextCombo">True</property>
- <property name="Items" />
- </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="filenamelabel">
- <property name="MemberName" />
- <property name="Xalign">1</property>
- <property name="LabelProp" translatable="yes">File name: </property>
- </widget>
- <packing>
- <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>
- <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="label2">
+ <widget class="Gtk.HSeparator" id="hseparator1">
<property name="MemberName" />
- <property name="Xalign">1</property>
- <property name="LabelProp" translatable="yes">Size: </property>
</widget>
<packing>
+ <property name="Position">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="label3">
- <property name="MemberName" />
- <property name="Xalign">1</property>
- <property name="LabelProp" translatable="yes">Bitrate: </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>
+ <property name="Expand">False</property>
</packing>
</child>
<child>
- <widget class="LongoMatch.Gui.Component.MediaFileChooser" id="mediafilechooser1">
+ <widget class="Gtk.HBox" id="hbox1">
<property name="MemberName" />
- <property name="Events">ButtonPressMask</property>
+ <property name="HeightRequest">130</property>
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Image" id="convertimage">
+ <property name="MemberName" />
+ <property name="WidthRequest">170</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">False</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Table" id="table1">
+ <property name="MemberName" />
+ <property name="NRows">3</property>
+ <property name="NColumns">2</property>
+ <property name="RowSpacing">6</property>
+ <property name="ColumnSpacing">6</property>
+ <child>
+ <widget class="Gtk.ComboBox" id="bitratecombobox">
+ <property name="MemberName" />
+ <property name="IsTextCombo">True</property>
+ <property name="Items" />
+ </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="filenamelabel">
+ <property name="MemberName" />
+ <property name="Xalign">1</property>
+ <property name="LabelProp" translatable="yes">File name: </property>
+ </widget>
+ <packing>
+ <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>
+ <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="label2">
+ <property name="MemberName" />
+ <property name="Xalign">1</property>
+ <property name="LabelProp" translatable="yes">Size: </property>
+ </widget>
+ <packing>
+ <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="label3">
+ <property name="MemberName" />
+ <property name="Xalign">1</property>
+ <property name="LabelProp" translatable="yes">Bitrate: </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="LongoMatch.Gui.Component.MediaFileChooser" id="mediafilechooser1">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <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>
+ <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="sizecombobox">
+ <property name="MemberName" />
+ <property name="IsTextCombo">True</property>
+ <property name="Items" />
+ </widget>
+ <packing>
+ <property name="LeftAttach">1</property>
+ <property name="RightAttach">2</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>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">False</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
+ <property name="PackType">End</property>
+ <property name="Position">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.ComboBox" id="sizecombobox">
- <property name="MemberName" />
- <property name="IsTextCombo">True</property>
- <property name="Items" />
- </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>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
</packing>
</child>
</widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
</child>
</widget>
<packing>
<property name="Position">0</property>
- <property name="AutoSize">False</property>
+ <property name="AutoSize">True</property>
</packing>
</child>
</widget>
@@ -11047,7 +11066,6 @@ Installing these codecs will therefore be entirely at your risk.</property>
<packing>
<property name="Position">0</property>
<property name="AutoSize">False</property>
- <property name="Expand">False</property>
</packing>
</child>
<child>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]