[longomatch/newui: 32/50] Customize player widget
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch/newui: 32/50] Customize player widget
- Date: Thu, 21 Aug 2014 11:27:41 +0000 (UTC)
commit 89f09452044a54c8a93605c1475b2b259c88cb74
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Thu Aug 21 03:57:56 2014 +0200
Customize player widget
Create a new video window component which takes care
of keeping DAR and drawing the borders with our background
color
LongoMatch.Core/Interfaces/GUI/IPlayerBin.cs | 2 +-
LongoMatch.Drawing/Widgets/Blackboard.cs | 2 +-
LongoMatch.GUI.Multimedia/Gui/PlayerBin.cs | 67 +++--
LongoMatch.GUI.Multimedia/Gui/PlayerCapturerBin.cs | 6 +-
LongoMatch.GUI.Multimedia/Gui/VideoWindow.cs | 93 ++++++
LongoMatch.GUI.Multimedia/Gui/VolumeWindow.cs | 31 +--
.../LongoMatch.GUI.Multimedia.mdp | 2 +
.../gtk-gui/LongoMatch.Gui.PlayerBin.cs | 322 ++++++++++----------
.../gtk-gui/LongoMatch.Gui.VideoWindow.cs | 25 ++
LongoMatch.GUI.Multimedia/gtk-gui/gui.stetic | 70 +++--
LongoMatch.GUI.Multimedia/gtk-gui/objects.xml | 11 +
LongoMatch.GUI/Gui/Component/ProjectPeriods.cs | 2 +-
.../LongoMatch.Gui.Component.CodingWidget.cs | 27 +--
.../LongoMatch.Gui.Panel.NewProjectPanel.cs | 2 +-
LongoMatch.GUI/gtk-gui/gui.stetic | 48 ++--
LongoMatch.GUI/gtk-gui/objects.xml | 11 +
LongoMatch.Services/Services/ProjectsManager.cs | 2 +-
.../scalable/actions/longomatch-control-attach.svg | 15 +
.../scalable/actions/longomatch-control-back.svg | 11 +
.../scalable/actions/longomatch-control-detach.svg | 15 +
.../scalable/actions/longomatch-control-draw.svg | 34 ++
.../scalable/actions/longomatch-control-ff.svg | 8 +
.../scalable/actions/longomatch-control-pause.svg | 10 +
.../scalable/actions/longomatch-control-play.svg | 7 +
.../scalable/actions/longomatch-control-rw.svg | 8 +
.../actions/longomatch-control-volume-hi.svg | 17 +
.../actions/longomatch-control-volume-low.svg | 13 +
.../actions/longomatch-control-volume-med.svg | 15 +
.../actions/longomatch-control-volume-off.svg | 16 +
libcesarplayer/lgm-video-player.c | 2 -
30 files changed, 598 insertions(+), 296 deletions(-)
---
diff --git a/LongoMatch.Core/Interfaces/GUI/IPlayerBin.cs b/LongoMatch.Core/Interfaces/GUI/IPlayerBin.cs
index 0dc668f..6ad523f 100644
--- a/LongoMatch.Core/Interfaces/GUI/IPlayerBin.cs
+++ b/LongoMatch.Core/Interfaces/GUI/IPlayerBin.cs
@@ -35,7 +35,7 @@ namespace LongoMatch.Interfaces.GUI
bool SeekingEnabled {set;}
bool Sensitive {set; get;}
- void Open (string mrl);
+ void Open (MediaFile file);
void Close();
void Play ();
void Pause ();
diff --git a/LongoMatch.Drawing/Widgets/Blackboard.cs b/LongoMatch.Drawing/Widgets/Blackboard.cs
index 1a96b10..64ef6f3 100644
--- a/LongoMatch.Drawing/Widgets/Blackboard.cs
+++ b/LongoMatch.Drawing/Widgets/Blackboard.cs
@@ -324,7 +324,7 @@ namespace LongoMatch.Drawing.Widgets
{
tk.Context = context;
tk.Begin ();
- tk.Clear (Color.Black);
+ tk.Clear (Config.Style.PaletteBackground);
tk.End ();
base.Draw (context, area);
diff --git a/LongoMatch.GUI.Multimedia/Gui/PlayerBin.cs b/LongoMatch.GUI.Multimedia/Gui/PlayerBin.cs
index d2c53c1..17b0d94 100644
--- a/LongoMatch.GUI.Multimedia/Gui/PlayerBin.cs
+++ b/LongoMatch.GUI.Multimedia/Gui/PlayerBin.cs
@@ -59,7 +59,7 @@ namespace LongoMatch.Gui
Time length, lastTime;
bool seeking, IsPlayingPrevState, muted, emitRateScale, readyToSeek;
bool ignoreTick, stillimageLoaded;
- string filename;
+ MediaFile file;
double previousVLevel = 1;
double[] seeksQueue;
object[] pendingSeek;
@@ -82,7 +82,7 @@ namespace LongoMatch.Gui
timescale.Adjustment.PageIncrement = 0.01;
timescale.Adjustment.StepIncrement = 0.0001;
LongoMatch.Gui.Helpers.Misc.DisableFocus (vbox3);
- videodrawingarea.CanFocus = true;
+ videowindow.CanFocus = true;
seeksQueue = new double[2];
seeksQueue [0] = -1;
seeksQueue [1] = -1;
@@ -146,7 +146,7 @@ namespace LongoMatch.Gui
public bool Opened {
get {
- return filename != null;
+ return file != null;
}
}
@@ -164,9 +164,9 @@ namespace LongoMatch.Gui
}
#endregion
#region Public methods
- public void Open (string filename)
+ public void Open (MediaFile file)
{
- Open (filename, true);
+ Open (file, true);
}
public void Play ()
@@ -199,7 +199,7 @@ namespace LongoMatch.Gui
IsPlayingPrevState = false;
muted = false;
emitRateScale = true;
- videodrawingarea.Visible = true;
+ videowindow.Visible = true;
blackboarddrawingarea.Visible = false;
}
@@ -237,7 +237,7 @@ namespace LongoMatch.Gui
{
ReconfigureTimeout (0);
player.Close ();
- filename = null;
+ file = null;
timescale.Value = 0;
UnSensitive ();
}
@@ -318,21 +318,22 @@ namespace LongoMatch.Gui
#region Private methods
bool DrawingsVisible {
set {
- videodrawingarea.Visible = !value;
+ videowindow.Visible = !value;
blackboarddrawingarea.Visible = value;
}
}
- void Open (string filename, bool seek)
+ void Open (MediaFile file, bool seek)
{
ResetGui ();
CloseSegment ();
- if (filename != this.filename) {
+ videowindow.Ratio = (float) (file.VideoWidth * file.Par / file.VideoHeight);
+ if (file != this.file) {
readyToSeek = false;
- this.filename = filename;
+ this.file = file;
try {
- Log.Debug ("Openning new file " + filename);
- player.Open (filename);
+ Log.Debug ("Openning new file " + file.FilePath);
+ player.Open (file.FilePath);
} catch (Exception ex) {
Log.Exception (ex);
//We handle this error async
@@ -387,8 +388,8 @@ namespace LongoMatch.Gui
Log.Debug (String.Format ("Update player segment {0} {1} {2}",
start.ToMSecondsString (),
stop.ToMSecondsString (), rate));
- if (filename != this.filename) {
- Open (file.FilePath, false);
+ if (file != this.file) {
+ Open (file, false);
}
Pause ();
segment.Start = start;
@@ -417,7 +418,7 @@ namespace LongoMatch.Gui
blackboard.Drawing = drawing;
DrawingsVisible = true;
blackboarddrawingarea.QueueDraw ();
- videodrawingarea.Visible = false;
+ videowindow.Visible = false;
}
void LoadStillImage (Image image)
@@ -491,18 +492,17 @@ namespace LongoMatch.Gui
void CreatePlayer ()
{
- videodrawingarea.DoubleBuffered = false;
player = Config.MultimediaToolkit.GetPlayer ();
player.Error += OnError;
player.StateChange += OnStateChanged;
player.Eos += OnEndOfStream;
player.ReadyToSeek += OnReadyToSeek;
- videoeventbox.ButtonPressEvent += OnVideoboxButtonPressEvent;
- videoeventbox.ScrollEvent += OnVideoboxScrollEvent;
- videodrawingarea.Realized += HandleRealized;
- videodrawingarea.ExposeEvent += HandleExposeEvent;
- videodrawingarea.CanFocus = false;
+ videowindow.ButtonPressEvent += OnVideoboxButtonPressEvent;
+ videowindow.ScrollEvent += OnVideoboxScrollEvent;
+ videowindow.Realized += HandleRealized;
+ videowindow.ExposeEvent += HandleExposeEvent;
+ videowindow.CanFocus = true;
}
void ReconfigureTimeout (uint mseconds)
@@ -657,8 +657,27 @@ namespace LongoMatch.Gui
vwin.Show ();
}
+ void SetVolumeIcon (string name)
+ {
+ Gtk.Image img;
+ img = ((volumebutton.Child as Bin).Child as Box).Children[0] as Gtk.Image;
+ img.Pixbuf = Stetic.IconLoader.LoadIcon (this, name, IconSize.Button);
+ }
+
void OnVolumeChanged (double level)
{
+ double prevLevel;
+
+ prevLevel = player.Volume;
+ if (prevLevel > 0 && level == 0) {
+ SetVolumeIcon ("longomatch-control-volume-off");
+ } else if (prevLevel > 0.5 && level <= 0.5) {
+ SetVolumeIcon ("longomatch-control-volume-low");
+ } else if (prevLevel <= 0.5 && level > 0.5) {
+ SetVolumeIcon ("longomatch-control-volume-med");
+ } else if (prevLevel < 1 && level == 1) {
+ SetVolumeIcon ("longomatch-control-volume-hi");
+ }
player.Volume = level;
if (level == 0)
muted = true;
@@ -734,7 +753,7 @@ namespace LongoMatch.Gui
void OnVideoboxButtonPressEvent (object o, Gtk.ButtonPressEventArgs args)
{
- if (filename == null)
+ if (file == null)
return;
/* FIXME: The pointer is grabbed when the event box is clicked.
* Make sure to ungrab it in order to avoid clicks outisde the window
@@ -771,7 +790,7 @@ namespace LongoMatch.Gui
void HandleRealized (object sender, EventArgs e)
{
- player.WindowHandle = WindowHandle.GetWindowHandle (videodrawingarea.GdkWindow);
+ player.WindowHandle = WindowHandle.GetWindowHandle (videowindow.Window.GdkWindow);
}
void HandleSeekEvent (SeekType type, Time start, float rate)
diff --git a/LongoMatch.GUI.Multimedia/Gui/PlayerCapturerBin.cs
b/LongoMatch.GUI.Multimedia/Gui/PlayerCapturerBin.cs
index 60889c5..9fb82b3 100644
--- a/LongoMatch.GUI.Multimedia/Gui/PlayerCapturerBin.cs
+++ b/LongoMatch.GUI.Multimedia/Gui/PlayerCapturerBin.cs
@@ -190,8 +190,8 @@ namespace LongoMatch.Gui
}
}
- public void Open (string mrl) {
- playerbin.Open (mrl);
+ public void Open (MediaFile file) {
+ playerbin.Open (file);
}
public void Play () {
@@ -284,7 +284,7 @@ namespace LongoMatch.Gui
/* The output video file is now created, it's time to
* load it in the player */
- playerbin.Open (file.FilePath);
+ playerbin.Open (file);
playerbin.SeekingEnabled = false;
Log.Debug ("Loading encoded file in the backround player");
backLoaded = true;
diff --git a/LongoMatch.GUI.Multimedia/Gui/VideoWindow.cs b/LongoMatch.GUI.Multimedia/Gui/VideoWindow.cs
new file mode 100644
index 0000000..a2fe316
--- /dev/null
+++ b/LongoMatch.GUI.Multimedia/Gui/VideoWindow.cs
@@ -0,0 +1,93 @@
+//
+// Copyright (C) 2014 Andoni Morales Alastruey
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+using System;
+using Gtk;
+
+namespace LongoMatch.Gui
+{
+ [System.ComponentModel.ToolboxItem(true)]
+ public partial class VideoWindow : Gtk.Bin
+ {
+ AspectFrame frame;
+ public new event EventHandler Realized;
+ public new event ExposeEventHandler ExposeEvent;
+ public new event ButtonPressEventHandler ButtonPressEvent;
+ public new event ScrollEventHandler ScrollEvent;
+
+ public VideoWindow ()
+ {
+ this.Build ();
+ frame = new AspectFrame (null, 0.5f, 0.5f, 1f, false);
+ frame.Shadow = ShadowType.None;
+
+ Window = new DrawingArea ();
+ Window.DoubleBuffered = false;
+ Window.Realized += HandleRealized;
+ Window.ExposeEvent += HandleExposeEvent;
+ eventbox.ButtonPressEvent += HandleButtonPressEvent;
+ eventbox.ScrollEvent += HandleScrollEvent;
+ eventbox.BorderWidth = 0;
+
+ frame.Add (Window);
+ eventbox.Add (frame);
+ ShowAll ();
+ }
+
+ void HandleScrollEvent (object o, ScrollEventArgs args)
+ {
+ if (ScrollEvent != null) {
+ ScrollEvent (o, args);
+ }
+
+ }
+
+ void HandleExposeEvent (object o, ExposeEventArgs args)
+ {
+ if (ExposeEvent != null) {
+ ExposeEvent (o, args);
+ }
+ }
+
+ void HandleButtonPressEvent (object o, ButtonPressEventArgs args)
+ {
+ if (ButtonPressEvent != null) {
+ ButtonPressEvent (o, args);
+ }
+ }
+
+ void HandleRealized (object sender, EventArgs e)
+ {
+ if (Realized != null) {
+ Realized (sender, e);
+ }
+
+ }
+
+ public DrawingArea Window {
+ get;
+ protected set;
+ }
+
+ public float Ratio {
+ set {
+ frame.Ratio = value;
+ }
+ }
+ }
+}
+
diff --git a/LongoMatch.GUI.Multimedia/Gui/VolumeWindow.cs b/LongoMatch.GUI.Multimedia/Gui/VolumeWindow.cs
index 6f83f90..6bea6bc 100644
--- a/LongoMatch.GUI.Multimedia/Gui/VolumeWindow.cs
+++ b/LongoMatch.GUI.Multimedia/Gui/VolumeWindow.cs
@@ -23,49 +23,42 @@ using LongoMatch.Handlers;
namespace LongoMatch.Gui
{
-
-
public partial class VolumeWindow : Gtk.Window
{
+ public event VolumeChangedHandler VolumeChanged;
-
- public event VolumeChangedHandler VolumeChanged;
-
-
- public VolumeWindow() :
+ public VolumeWindow () :
base(Gtk.WindowType.Toplevel)
{
- this.Build();
+ this.Build ();
volumescale.Adjustment.PageIncrement = 0.0001;
volumescale.Adjustment.StepIncrement = 0.0001;
}
- public void SetLevel(double level) {
- volumescale.Value = level ;
+ public void SetLevel (double level)
+ {
+ volumescale.Value = level;
}
- protected virtual void OnLessbuttonClicked(object sender, System.EventArgs e)
+ protected virtual void OnLessbuttonClicked (object sender, System.EventArgs e)
{
volumescale.Value = volumescale.Value - 0.1;
}
- protected virtual void OnMorebuttonClicked(object sender, System.EventArgs e)
+ protected virtual void OnMorebuttonClicked (object sender, System.EventArgs e)
{
volumescale.Value = volumescale.Value + 0.1;
}
- protected virtual void OnVolumescaleValueChanged(object sender, System.EventArgs e)
+ protected virtual void OnVolumescaleValueChanged (object sender, System.EventArgs e)
{
- VolumeChanged(volumescale.Value);
+ VolumeChanged (volumescale.Value);
}
- protected virtual void OnFocusOutEvent(object o, Gtk.FocusOutEventArgs args)
+ protected virtual void OnFocusOutEvent (object o, Gtk.FocusOutEventArgs args)
{
- this.Hide();
+ this.Hide ();
}
-
-
-
}
}
diff --git a/LongoMatch.GUI.Multimedia/LongoMatch.GUI.Multimedia.mdp
b/LongoMatch.GUI.Multimedia/LongoMatch.GUI.Multimedia.mdp
index 750461c..b973535 100644
--- a/LongoMatch.GUI.Multimedia/LongoMatch.GUI.Multimedia.mdp
+++ b/LongoMatch.GUI.Multimedia/LongoMatch.GUI.Multimedia.mdp
@@ -31,6 +31,8 @@
<File subtype="Code" buildaction="Compile" name="Gui/Utils/Remuxer.cs" />
<File subtype="Code" buildaction="Compile" name="MultimediaToolkit.cs" />
<File subtype="Code" buildaction="Compile" name="Gui/Utils/FramesCapturer.cs" />
+ <File subtype="Code" buildaction="Compile" name="Gui/VideoWindow.cs" />
+ <File subtype="Code" buildaction="Compile" name="gtk-gui/LongoMatch.Gui.VideoWindow.cs" />
</Contents>
<MonoDevelop.Autotools.MakefileInfo RelativeMakefileName="Makefile.am" RelativeConfigureInPath="../">
<BuildFilesVar Name="FILES" />
diff --git a/LongoMatch.GUI.Multimedia/gtk-gui/LongoMatch.Gui.PlayerBin.cs
b/LongoMatch.GUI.Multimedia/gtk-gui/LongoMatch.Gui.PlayerBin.cs
index 050f1aa..606c82f 100644
--- a/LongoMatch.GUI.Multimedia/gtk-gui/LongoMatch.Gui.PlayerBin.cs
+++ b/LongoMatch.GUI.Multimedia/gtk-gui/LongoMatch.Gui.PlayerBin.cs
@@ -8,9 +8,8 @@ namespace LongoMatch.Gui
private global::Gtk.HBox mainbox;
private global::Gtk.VBox vbox2;
private global::Gtk.HBox videobox;
- private global::Gtk.EventBox videoeventbox;
private global::Gtk.HBox hbox2;
- private global::Gtk.DrawingArea videodrawingarea;
+ private global::LongoMatch.Gui.VideoWindow videowindow;
private global::Gtk.DrawingArea blackboarddrawingarea;
private global::Gtk.VBox vbox5;
private global::Gtk.VScale vscale1;
@@ -54,18 +53,15 @@ namespace LongoMatch.Gui
this.videobox.Name = "videobox";
this.videobox.Spacing = 6;
// Container child videobox.Gtk.Box+BoxChild
- this.videoeventbox = new global::Gtk.EventBox ();
- this.videoeventbox.Name = "videoeventbox";
- // Container child videoeventbox.Gtk.Container+ContainerChild
this.hbox2 = new global::Gtk.HBox ();
this.hbox2.Name = "hbox2";
this.hbox2.Spacing = 6;
// Container child hbox2.Gtk.Box+BoxChild
- this.videodrawingarea = new global::Gtk.DrawingArea ();
- this.videodrawingarea.CanFocus = true;
- this.videodrawingarea.Name = "videodrawingarea";
- this.hbox2.Add (this.videodrawingarea);
- global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.hbox2
[this.videodrawingarea]));
+ this.videowindow = new global::LongoMatch.Gui.VideoWindow ();
+ this.videowindow.Events = ((global::Gdk.EventMask)(256));
+ this.videowindow.Name = "videowindow";
+ this.hbox2.Add (this.videowindow);
+ global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.hbox2
[this.videowindow]));
w1.Position = 0;
// Container child hbox2.Gtk.Box+BoxChild
this.blackboarddrawingarea = new global::Gtk.DrawingArea ();
@@ -73,16 +69,15 @@ namespace LongoMatch.Gui
this.hbox2.Add (this.blackboarddrawingarea);
global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox2
[this.blackboarddrawingarea]));
w2.Position = 1;
- this.videoeventbox.Add (this.hbox2);
- this.videobox.Add (this.videoeventbox);
- global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.videobox
[this.videoeventbox]));
- w4.Position = 0;
+ this.videobox.Add (this.hbox2);
+ global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.videobox
[this.hbox2]));
+ w3.Position = 0;
this.vbox2.Add (this.videobox);
- global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.videobox]));
- w5.Position = 0;
+ global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.videobox]));
+ w4.Position = 0;
this.mainbox.Add (this.vbox2);
- global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.mainbox [this.vbox2]));
- w6.Position = 0;
+ global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.mainbox [this.vbox2]));
+ w5.Position = 0;
// Container child mainbox.Gtk.Box+BoxChild
this.vbox5 = new global::Gtk.VBox ();
this.vbox5.Name = "vbox5";
@@ -104,16 +99,16 @@ namespace LongoMatch.Gui
this.vscale1.Digits = 0;
this.vscale1.ValuePos = ((global::Gtk.PositionType)(3));
this.vbox5.Add (this.vscale1);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.vscale1]));
- w7.Position = 0;
+ global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.vscale1]));
+ w6.Position = 0;
this.mainbox.Add (this.vbox5);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.mainbox [this.vbox5]));
- w8.Position = 1;
- w8.Expand = false;
- w8.Fill = false;
+ global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.mainbox [this.vbox5]));
+ w7.Position = 1;
+ w7.Expand = false;
+ w7.Fill = false;
this.vbox3.Add (this.mainbox);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.mainbox]));
- w9.Position = 0;
+ global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.mainbox]));
+ w8.Position = 0;
// Container child vbox3.Gtk.Box+BoxChild
this.controlsbox = new global::Gtk.HBox ();
this.controlsbox.Name = "controlsbox";
@@ -126,121 +121,122 @@ namespace LongoMatch.Gui
this.closebutton = new global::Gtk.Button ();
this.closebutton.Name = "closebutton";
this.closebutton.UseUnderline = true;
+ this.closebutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child closebutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w10 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w9 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w11 = new global::Gtk.HBox ();
- w11.Spacing = 2;
+ global::Gtk.HBox w10 = new global::Gtk.HBox ();
+ w10.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w12 = new global::Gtk.Image ();
- w12.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-close",
global::Gtk.IconSize.Dnd);
- w11.Add (w12);
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w14 = new global::Gtk.Label ();
- w11.Add (w14);
+ global::Gtk.Image w11 = new global::Gtk.Image ();
+ w11.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "longomatch-control-back",
global::Gtk.IconSize.Button);
w10.Add (w11);
- this.closebutton.Add (w10);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w13 = new global::Gtk.Label ();
+ w10.Add (w13);
+ w9.Add (w10);
+ this.closebutton.Add (w9);
this.buttonsbox.Add (this.closebutton);
- global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.closebutton]));
- w18.Position = 0;
- w18.Expand = false;
- w18.Fill = false;
+ global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.closebutton]));
+ w17.Position = 0;
+ w17.Expand = false;
+ w17.Fill = false;
// Container child buttonsbox.Gtk.Box+BoxChild
this.drawbutton = new global::Gtk.Button ();
this.drawbutton.Name = "drawbutton";
this.drawbutton.UseUnderline = true;
this.drawbutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child drawbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w19 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w18 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w20 = new global::Gtk.HBox ();
- w20.Spacing = 2;
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w21 = new global::Gtk.Image ();
- w21.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-select-color",
global::Gtk.IconSize.Menu);
- w20.Add (w21);
+ global::Gtk.HBox w19 = new global::Gtk.HBox ();
+ w19.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w23 = new global::Gtk.Label ();
- w20.Add (w23);
+ global::Gtk.Image w20 = new global::Gtk.Image ();
+ w20.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "longomatch-control-draw",
global::Gtk.IconSize.Button);
w19.Add (w20);
- this.drawbutton.Add (w19);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w22 = new global::Gtk.Label ();
+ w19.Add (w22);
+ w18.Add (w19);
+ this.drawbutton.Add (w18);
this.buttonsbox.Add (this.drawbutton);
- global::Gtk.Box.BoxChild w27 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.drawbutton]));
- w27.Position = 1;
- w27.Expand = false;
- w27.Fill = false;
+ global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.drawbutton]));
+ w26.Position = 1;
+ w26.Expand = false;
+ w26.Fill = false;
// Container child buttonsbox.Gtk.Box+BoxChild
this.playbutton = new global::Gtk.Button ();
this.playbutton.Name = "playbutton";
this.playbutton.UseUnderline = true;
this.playbutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child playbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w28 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w27 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w29 = new global::Gtk.HBox ();
- w29.Spacing = 2;
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w30 = new global::Gtk.Image ();
- w30.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-play",
global::Gtk.IconSize.Button);
- w29.Add (w30);
+ global::Gtk.HBox w28 = new global::Gtk.HBox ();
+ w28.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w32 = new global::Gtk.Label ();
- w29.Add (w32);
+ global::Gtk.Image w29 = new global::Gtk.Image ();
+ w29.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "longomatch-control-play",
global::Gtk.IconSize.Button);
w28.Add (w29);
- this.playbutton.Add (w28);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w31 = new global::Gtk.Label ();
+ w28.Add (w31);
+ w27.Add (w28);
+ this.playbutton.Add (w27);
this.buttonsbox.Add (this.playbutton);
- global::Gtk.Box.BoxChild w36 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.playbutton]));
- w36.Position = 2;
- w36.Expand = false;
- w36.Fill = false;
+ global::Gtk.Box.BoxChild w35 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.playbutton]));
+ w35.Position = 2;
+ w35.Expand = false;
+ w35.Fill = false;
// Container child buttonsbox.Gtk.Box+BoxChild
this.pausebutton = new global::Gtk.Button ();
this.pausebutton.Name = "pausebutton";
this.pausebutton.UseUnderline = true;
this.pausebutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child pausebutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w37 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w36 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w38 = new global::Gtk.HBox ();
- w38.Spacing = 2;
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w39 = new global::Gtk.Image ();
- w39.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-pause",
global::Gtk.IconSize.Button);
- w38.Add (w39);
+ global::Gtk.HBox w37 = new global::Gtk.HBox ();
+ w37.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w41 = new global::Gtk.Label ();
- w38.Add (w41);
+ global::Gtk.Image w38 = new global::Gtk.Image ();
+ w38.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "longomatch-control-pause",
global::Gtk.IconSize.Button);
w37.Add (w38);
- this.pausebutton.Add (w37);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w40 = new global::Gtk.Label ();
+ w37.Add (w40);
+ w36.Add (w37);
+ this.pausebutton.Add (w36);
this.buttonsbox.Add (this.pausebutton);
- global::Gtk.Box.BoxChild w45 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.pausebutton]));
- w45.Position = 3;
- w45.Expand = false;
- w45.Fill = false;
+ global::Gtk.Box.BoxChild w44 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.pausebutton]));
+ w44.Position = 3;
+ w44.Expand = false;
+ w44.Fill = false;
// Container child buttonsbox.Gtk.Box+BoxChild
this.prevbutton = new global::Gtk.Button ();
this.prevbutton.Name = "prevbutton";
this.prevbutton.UseUnderline = true;
this.prevbutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child prevbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w46 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w45 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w47 = new global::Gtk.HBox ();
- w47.Spacing = 2;
+ global::Gtk.HBox w46 = new global::Gtk.HBox ();
+ w46.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w48 = new global::Gtk.Image ();
- w48.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-previous",
global::Gtk.IconSize.Button);
- w47.Add (w48);
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w50 = new global::Gtk.Label ();
- w47.Add (w50);
+ global::Gtk.Image w47 = new global::Gtk.Image ();
+ w47.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "longomatch-control-rw",
global::Gtk.IconSize.Button);
w46.Add (w47);
- this.prevbutton.Add (w46);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w49 = new global::Gtk.Label ();
+ w46.Add (w49);
+ w45.Add (w46);
+ this.prevbutton.Add (w45);
this.buttonsbox.Add (this.prevbutton);
- global::Gtk.Box.BoxChild w54 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.prevbutton]));
- w54.Position = 4;
- w54.Expand = false;
- w54.Fill = false;
+ global::Gtk.Box.BoxChild w53 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.prevbutton]));
+ w53.Position = 4;
+ w53.Expand = false;
+ w53.Fill = false;
// Container child buttonsbox.Gtk.Box+BoxChild
this.nextbutton = new global::Gtk.Button ();
this.nextbutton.Sensitive = false;
@@ -248,29 +244,29 @@ namespace LongoMatch.Gui
this.nextbutton.UseUnderline = true;
this.nextbutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child nextbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w55 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w54 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w56 = new global::Gtk.HBox ();
- w56.Spacing = 2;
+ global::Gtk.HBox w55 = new global::Gtk.HBox ();
+ w55.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w57 = new global::Gtk.Image ();
- w57.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-next",
global::Gtk.IconSize.Button);
- w56.Add (w57);
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w59 = new global::Gtk.Label ();
- w56.Add (w59);
+ global::Gtk.Image w56 = new global::Gtk.Image ();
+ w56.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "longomatch-control-ff",
global::Gtk.IconSize.Button);
w55.Add (w56);
- this.nextbutton.Add (w55);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w58 = new global::Gtk.Label ();
+ w55.Add (w58);
+ w54.Add (w55);
+ this.nextbutton.Add (w54);
this.buttonsbox.Add (this.nextbutton);
- global::Gtk.Box.BoxChild w63 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.nextbutton]));
- w63.Position = 5;
+ global::Gtk.Box.BoxChild w62 = ((global::Gtk.Box.BoxChild)(this.buttonsbox
[this.nextbutton]));
+ w62.Position = 5;
+ w62.Expand = false;
+ w62.Fill = false;
+ this.controlsbox.Add (this.buttonsbox);
+ global::Gtk.Box.BoxChild w63 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.buttonsbox]));
+ w63.Position = 0;
w63.Expand = false;
w63.Fill = false;
- this.controlsbox.Add (this.buttonsbox);
- global::Gtk.Box.BoxChild w64 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.buttonsbox]));
- w64.Position = 0;
- w64.Expand = false;
- w64.Fill = false;
// Container child controlsbox.Gtk.Box+BoxChild
this.hbox1 = new global::Gtk.HBox ();
this.hbox1.Name = "hbox1";
@@ -280,10 +276,10 @@ namespace LongoMatch.Gui
this.jumplabel.Name = "jumplabel";
this.jumplabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Jump (s):");
this.hbox1.Add (this.jumplabel);
- global::Gtk.Box.BoxChild w65 = ((global::Gtk.Box.BoxChild)(this.hbox1
[this.jumplabel]));
- w65.Position = 0;
- w65.Expand = false;
- w65.Fill = false;
+ global::Gtk.Box.BoxChild w64 = ((global::Gtk.Box.BoxChild)(this.hbox1
[this.jumplabel]));
+ w64.Position = 0;
+ w64.Expand = false;
+ w64.Fill = false;
// Container child hbox1.Gtk.Box+BoxChild
this.jumpspinbutton = new global::Gtk.SpinButton (1, 100, 1);
this.jumpspinbutton.TooltipMarkup = "Jump in seconds. Hold the Shift key with the
direction keys to activate it.";
@@ -293,24 +289,24 @@ namespace LongoMatch.Gui
this.jumpspinbutton.Numeric = true;
this.jumpspinbutton.Value = 10;
this.hbox1.Add (this.jumpspinbutton);
- global::Gtk.Box.BoxChild w66 = ((global::Gtk.Box.BoxChild)(this.hbox1
[this.jumpspinbutton]));
+ global::Gtk.Box.BoxChild w65 = ((global::Gtk.Box.BoxChild)(this.hbox1
[this.jumpspinbutton]));
+ w65.Position = 1;
+ w65.Expand = false;
+ w65.Fill = false;
+ this.controlsbox.Add (this.hbox1);
+ global::Gtk.Box.BoxChild w66 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.hbox1]));
w66.Position = 1;
w66.Expand = false;
w66.Fill = false;
- this.controlsbox.Add (this.hbox1);
- global::Gtk.Box.BoxChild w67 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.hbox1]));
- w67.Position = 1;
- w67.Expand = false;
- w67.Fill = false;
// Container child controlsbox.Gtk.Box+BoxChild
this.tlabel = new global::Gtk.Label ();
this.tlabel.Name = "tlabel";
this.tlabel.LabelProp = global::Mono.Unix.Catalog.GetString ("Time:");
this.controlsbox.Add (this.tlabel);
- global::Gtk.Box.BoxChild w68 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.tlabel]));
- w68.Position = 2;
- w68.Expand = false;
- w68.Fill = false;
+ global::Gtk.Box.BoxChild w67 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.tlabel]));
+ w67.Position = 2;
+ w67.Expand = false;
+ w67.Fill = false;
// Container child controlsbox.Gtk.Box+BoxChild
this.timescale = new global::Gtk.HScale (null);
this.timescale.Name = "timescale";
@@ -323,68 +319,68 @@ namespace LongoMatch.Gui
this.timescale.Digits = 0;
this.timescale.ValuePos = ((global::Gtk.PositionType)(2));
this.controlsbox.Add (this.timescale);
- global::Gtk.Box.BoxChild w69 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.timescale]));
- w69.Position = 3;
+ global::Gtk.Box.BoxChild w68 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.timescale]));
+ w68.Position = 3;
// Container child controlsbox.Gtk.Box+BoxChild
this.timelabel = new global::Gtk.Label ();
this.timelabel.Name = "timelabel";
this.controlsbox.Add (this.timelabel);
- global::Gtk.Box.BoxChild w70 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.timelabel]));
- w70.Position = 4;
- w70.Expand = false;
+ global::Gtk.Box.BoxChild w69 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.timelabel]));
+ w69.Position = 4;
+ w69.Expand = false;
// Container child controlsbox.Gtk.Box+BoxChild
this.volumebutton = new global::Gtk.Button ();
this.volumebutton.Name = "volumebutton";
this.volumebutton.UseUnderline = true;
this.volumebutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child volumebutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w71 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w70 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w72 = new global::Gtk.HBox ();
- w72.Spacing = 2;
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w73 = new global::Gtk.Image ();
- w73.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "stock_volume",
global::Gtk.IconSize.Button);
- w72.Add (w73);
+ global::Gtk.HBox w71 = new global::Gtk.HBox ();
+ w71.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w75 = new global::Gtk.Label ();
- w72.Add (w75);
+ global::Gtk.Image w72 = new global::Gtk.Image ();
+ w72.Pixbuf = global::Stetic.IconLoader.LoadIcon (this,
"longomatch-control-volume-hi", global::Gtk.IconSize.Button);
w71.Add (w72);
- this.volumebutton.Add (w71);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w74 = new global::Gtk.Label ();
+ w71.Add (w74);
+ w70.Add (w71);
+ this.volumebutton.Add (w70);
this.controlsbox.Add (this.volumebutton);
- global::Gtk.Box.BoxChild w79 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.volumebutton]));
- w79.Position = 5;
- w79.Expand = false;
- w79.Fill = false;
+ global::Gtk.Box.BoxChild w78 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.volumebutton]));
+ w78.Position = 5;
+ w78.Expand = false;
+ w78.Fill = false;
// Container child controlsbox.Gtk.Box+BoxChild
this.detachbutton = new global::Gtk.Button ();
this.detachbutton.Name = "detachbutton";
this.detachbutton.UseUnderline = true;
this.detachbutton.Relief = ((global::Gtk.ReliefStyle)(2));
// Container child detachbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w80 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ global::Gtk.Alignment w79 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w81 = new global::Gtk.HBox ();
- w81.Spacing = 2;
- // Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w82 = new global::Gtk.Image ();
- w82.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-disconnect",
global::Gtk.IconSize.Menu);
- w81.Add (w82);
+ global::Gtk.HBox w80 = new global::Gtk.HBox ();
+ w80.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w84 = new global::Gtk.Label ();
- w81.Add (w84);
+ global::Gtk.Image w81 = new global::Gtk.Image ();
+ w81.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "longomatch-control-detach",
global::Gtk.IconSize.Button);
w80.Add (w81);
- this.detachbutton.Add (w80);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w83 = new global::Gtk.Label ();
+ w80.Add (w83);
+ w79.Add (w80);
+ this.detachbutton.Add (w79);
this.controlsbox.Add (this.detachbutton);
- global::Gtk.Box.BoxChild w88 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.detachbutton]));
- w88.Position = 6;
+ global::Gtk.Box.BoxChild w87 = ((global::Gtk.Box.BoxChild)(this.controlsbox
[this.detachbutton]));
+ w87.Position = 6;
+ w87.Expand = false;
+ w87.Fill = false;
+ this.vbox3.Add (this.controlsbox);
+ global::Gtk.Box.BoxChild w88 = ((global::Gtk.Box.BoxChild)(this.vbox3
[this.controlsbox]));
+ w88.Position = 1;
w88.Expand = false;
w88.Fill = false;
- this.vbox3.Add (this.controlsbox);
- global::Gtk.Box.BoxChild w89 = ((global::Gtk.Box.BoxChild)(this.vbox3
[this.controlsbox]));
- w89.Position = 1;
- w89.Expand = false;
- w89.Fill = false;
this.Add (this.vbox3);
if ((this.Child != null)) {
this.Child.ShowAll ();
diff --git a/LongoMatch.GUI.Multimedia/gtk-gui/LongoMatch.Gui.VideoWindow.cs
b/LongoMatch.GUI.Multimedia/gtk-gui/LongoMatch.Gui.VideoWindow.cs
new file mode 100644
index 0000000..7d80bf1
--- /dev/null
+++ b/LongoMatch.GUI.Multimedia/gtk-gui/LongoMatch.Gui.VideoWindow.cs
@@ -0,0 +1,25 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace LongoMatch.Gui
+{
+ public partial class VideoWindow
+ {
+ private global::Gtk.EventBox eventbox;
+
+ protected virtual void Build ()
+ {
+ global::Stetic.Gui.Initialize (this);
+ // Widget LongoMatch.Gui.VideoWindow
+ global::Stetic.BinContainer.Attach (this);
+ this.Name = "LongoMatch.Gui.VideoWindow";
+ // Container child LongoMatch.Gui.VideoWindow.Gtk.Container+ContainerChild
+ this.eventbox = new global::Gtk.EventBox ();
+ this.eventbox.Name = "eventbox";
+ this.Add (this.eventbox);
+ if ((this.Child != null)) {
+ this.Child.ShowAll ();
+ }
+ this.Hide ();
+ }
+ }
+}
diff --git a/LongoMatch.GUI.Multimedia/gtk-gui/gui.stetic b/LongoMatch.GUI.Multimedia/gtk-gui/gui.stetic
index ff6effa..d458f93 100644
--- a/LongoMatch.GUI.Multimedia/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI.Multimedia/gtk-gui/gui.stetic
@@ -93,33 +93,28 @@
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
- <widget class="Gtk.EventBox" id="videoeventbox">
+ <widget class="Gtk.HBox" id="hbox2">
<property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="LongoMatch.Gui.VideoWindow" id="videowindow">
+ <property name="MemberName" />
+ <property name="Events">ButtonPressMask</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
<child>
- <widget class="Gtk.HBox" id="hbox2">
+ <widget class="Gtk.DrawingArea" id="blackboarddrawingarea">
<property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.DrawingArea" id="videodrawingarea">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.DrawingArea" id="blackboarddrawingarea">
- <property name="MemberName" />
- <property name="Visible">False</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
+ <property name="Visible">False</property>
</widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
</child>
</widget>
<packing>
@@ -193,9 +188,10 @@
<property name="MemberName" />
<property name="Visible">False</property>
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-close Dnd</property>
+ <property name="Icon">stock:longomatch-control-back Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
+ <property name="Relief">None</property>
</widget>
<packing>
<property name="Position">0</property>
@@ -208,7 +204,7 @@
<widget class="Gtk.Button" id="drawbutton">
<property name="MemberName" />
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-select-color Menu</property>
+ <property name="Icon">stock:longomatch-control-draw Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
@@ -224,7 +220,7 @@
<widget class="Gtk.Button" id="playbutton">
<property name="MemberName" />
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-media-play Button</property>
+ <property name="Icon">stock:longomatch-control-play Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
@@ -240,7 +236,7 @@
<widget class="Gtk.Button" id="pausebutton">
<property name="MemberName" />
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-media-pause Button</property>
+ <property name="Icon">stock:longomatch-control-pause Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
@@ -257,7 +253,7 @@
<property name="MemberName" />
<property name="Visible">False</property>
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-media-previous Button</property>
+ <property name="Icon">stock:longomatch-control-rw Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
@@ -275,7 +271,7 @@
<property name="Visible">False</property>
<property name="Sensitive">False</property>
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-media-next Button</property>
+ <property name="Icon">stock:longomatch-control-ff Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
@@ -381,7 +377,7 @@
<widget class="Gtk.Button" id="volumebutton">
<property name="MemberName" />
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:stock_volume Button</property>
+ <property name="Icon">stock:longomatch-control-volume-hi Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
@@ -397,7 +393,7 @@
<widget class="Gtk.Button" id="detachbutton">
<property name="MemberName" />
<property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-disconnect Menu</property>
+ <property name="Icon">stock:longomatch-control-detach Button</property>
<property name="Label" translatable="yes" />
<property name="UseUnderline">True</property>
<property name="Relief">None</property>
@@ -621,4 +617,16 @@
</widget>
</child>
</widget>
+ <widget class="Gtk.Bin" id="LongoMatch.Gui.VideoWindow" design-size="742 342">
+ <property name="MemberName" />
+ <property name="Visible">False</property>
+ <child>
+ <widget class="Gtk.EventBox" id="eventbox">
+ <property name="MemberName" />
+ <child>
+ <placeholder />
+ </child>
+ </widget>
+ </child>
+ </widget>
</stetic-interface>
\ No newline at end of file
diff --git a/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml b/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml
index cdd9b58..8d87d61 100644
--- a/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml
+++ b/LongoMatch.GUI.Multimedia/gtk-gui/objects.xml
@@ -32,4 +32,15 @@
</itemgroup>
</signals>
</object>
+ <object type="LongoMatch.Gui.VideoWindow" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
+ <itemgroups />
+ <signals>
+ <itemgroup label="VideoWindow Signals">
+ <signal name="Realized" />
+ <signal name="ExposeEvent" />
+ <signal name="ButtonPressEvent" />
+ <signal name="ScrollEvent" />
+ </itemgroup>
+ </signals>
+ </object>
</objects>
\ No newline at end of file
diff --git a/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs b/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs
index f50aa0c..08e557d 100644
--- a/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs
+++ b/LongoMatch.GUI/Gui/Component/ProjectPeriods.cs
@@ -74,7 +74,7 @@ namespace LongoMatch.Gui.Component
timerule.Duration = duration;
SetZoom ();
- playerbin2.Open (value.Description.File.FilePath);
+ playerbin2.Open (value.Description.File);
foreach (string s in gamePeriods) {
Period period = new Period {Name = s};
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
index 8afe38f..f14ce89 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
@@ -18,9 +18,7 @@ namespace LongoMatch.Gui.Component
private global::Gtk.DrawingArea teamsdrawingarea;
private global::Gtk.HBox hbox5;
private global::LongoMatch.Gui.Component.ButtonsWidget buttonswidget;
- private global::Gtk.Label label18;
private global::LongoMatch.Gui.Component.Timeline timeline;
- private global::Gtk.Label label21;
private global::LongoMatch.Gui.Component.PlaysPositionViewer playspositionviewer1;
private global::Gtk.Label label19;
@@ -40,12 +38,12 @@ namespace LongoMatch.Gui.Component
this.zoomFitAction = new global::Gtk.Action ("zoomFitAction", null, null,
"gtk-zoom-fit");
w2.Add (this.zoomFitAction, null);
this.convertAction = new global::Gtk.RadioAction ("convertAction", null, null,
"gtk-convert", 0);
- this.convertAction.Group = this.autoTaggingMode.Group;
+ this.convertAction.Group = this.timelineMode.Group;
w2.Add (this.convertAction, null);
this.UIManager.InsertActionGroup (w2, 0);
global::Gtk.ActionGroup w3 = new global::Gtk.ActionGroup ("Timeline");
this.positionMode = new global::Gtk.RadioAction ("positionMode", null, null,
"gtk-justify-fill", 0);
- this.positionMode.Group = this.autoTaggingMode.Group;
+ this.positionMode.Group = this.convertAction.Group;
w3.Add (this.positionMode, null);
this.UIManager.InsertActionGroup (w3, 1);
this.Name = "LongoMatch.Gui.Component.CodingWidget";
@@ -103,12 +101,6 @@ namespace LongoMatch.Gui.Component
w7.Position = 0;
this.hpaned1.Add (this.hbox5);
this.notebook.Add (this.hpaned1);
- // Notebook tab
- this.label18 = new global::Gtk.Label ();
- this.label18.Name = "label18";
- this.label18.LabelProp = global::Mono.Unix.Catalog.GetString ("page2");
- this.notebook.SetTabLabel (this.hpaned1, this.label18);
- this.label18.ShowAll ();
// Container child notebook.Gtk.Notebook+NotebookChild
this.timeline = new global::LongoMatch.Gui.Component.Timeline ();
this.timeline.Events = ((global::Gdk.EventMask)(256));
@@ -116,12 +108,6 @@ namespace LongoMatch.Gui.Component
this.notebook.Add (this.timeline);
global::Gtk.Notebook.NotebookChild w10 =
((global::Gtk.Notebook.NotebookChild)(this.notebook [this.timeline]));
w10.Position = 1;
- // Notebook tab
- this.label21 = new global::Gtk.Label ();
- this.label21.Name = "label21";
- this.label21.LabelProp = global::Mono.Unix.Catalog.GetString ("page1");
- this.notebook.SetTabLabel (this.timeline, this.label21);
- this.label21.ShowAll ();
// Container child notebook.Gtk.Notebook+NotebookChild
this.playspositionviewer1 = new global::LongoMatch.Gui.Component.PlaysPositionViewer
();
this.playspositionviewer1.Events = ((global::Gdk.EventMask)(256));
@@ -130,14 +116,17 @@ namespace LongoMatch.Gui.Component
global::Gtk.Notebook.NotebookChild w11 =
((global::Gtk.Notebook.NotebookChild)(this.notebook [this.playspositionviewer1]));
w11.Position = 2;
// Notebook tab
+ global::Gtk.Label w12 = new global::Gtk.Label ();
+ w12.Visible = true;
+ this.notebook.Add (w12);
this.label19 = new global::Gtk.Label ();
this.label19.Name = "label19";
this.label19.LabelProp = global::Mono.Unix.Catalog.GetString ("page3");
- this.notebook.SetTabLabel (this.playspositionviewer1, this.label19);
+ this.notebook.SetTabLabel (w12, this.label19);
this.label19.ShowAll ();
this.vbox.Add (this.notebook);
- global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox
[this.notebook]));
- w12.Position = 1;
+ global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox
[this.notebook]));
+ w13.Position = 1;
this.Add (this.vbox);
if ((this.Child != null)) {
this.Child.ShowAll ();
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
index a5d5a53..13fcfab 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Panel.NewProjectPanel.cs
@@ -198,7 +198,7 @@ namespace LongoMatch.Gui.Panel
this.notebook1 = new global::Gtk.Notebook ();
this.notebook1.CanFocus = true;
this.notebook1.Name = "notebook1";
- this.notebook1.CurrentPage = 2;
+ this.notebook1.CurrentPage = 1;
this.notebook1.ShowBorder = false;
this.notebook1.Scrollable = true;
// Container child notebook1.Gtk.Notebook+NotebookChild
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index e705518..5a82720 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -6379,7 +6379,7 @@ You can continue with the current capture, cancel it or save your project.
<widget class="Gtk.Notebook" id="notebook1">
<property name="MemberName" />
<property name="CanFocus">True</property>
- <property name="CurrentPage">2</property>
+ <property name="CurrentPage">1</property>
<property name="ShowBorder">False</property>
<property name="Scrollable">True</property>
<child>
@@ -9368,6 +9368,17 @@ You can continue with the current capture, cancel it or save your project.
</child>
</widget>
<widget class="Gtk.Bin" id="LongoMatch.Gui.Component.CodingWidget" design-size="1305 494">
+ <action-group name="Timeline">
+ <action id="positionMode">
+ <property name="Type">Radio</property>
+ <property name="Label" translatable="yes" />
+ <property name="StockId">gtk-justify-fill</property>
+ <property name="DrawAsRadio">False</property>
+ <property name="Active">False</property>
+ <property name="Value">0</property>
+ <property name="Group">codingmode</property>
+ </action>
+ </action-group>
<action-group name="Default">
<action id="timelineMode">
<property name="Type">Radio</property>
@@ -9404,17 +9415,6 @@ You can continue with the current capture, cancel it or save your project.
<property name="Group">codingmode</property>
</action>
</action-group>
- <action-group name="Timeline">
- <action id="positionMode">
- <property name="Type">Radio</property>
- <property name="Label" translatable="yes" />
- <property name="StockId">gtk-justify-fill</property>
- <property name="DrawAsRadio">False</property>
- <property name="Active">False</property>
- <property name="Value">0</property>
- <property name="Group">codingmode</property>
- </action>
- </action-group>
<property name="MemberName" />
<property name="Visible">False</property>
<child>
@@ -9495,15 +9495,6 @@ You can continue with the current capture, cancel it or save your project.
</widget>
</child>
<child>
- <widget class="Gtk.Label" id="label18">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">page2</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
<widget class="LongoMatch.Gui.Component.Timeline" id="timeline">
<property name="MemberName" />
<property name="Events">ButtonPressMask</property>
@@ -9513,15 +9504,6 @@ You can continue with the current capture, cancel it or save your project.
</packing>
</child>
<child>
- <widget class="Gtk.Label" id="label21">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">page1</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
<widget class="LongoMatch.Gui.Component.PlaysPositionViewer" id="playspositionviewer1">
<property name="MemberName" />
<property name="Events">ButtonPressMask</property>
@@ -9531,6 +9513,12 @@ You can continue with the current capture, cancel it or save your project.
</packing>
</child>
<child>
+ <placeholder />
+ </child>
+ <child>
+ <placeholder />
+ </child>
+ <child>
<widget class="Gtk.Label" id="label19">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">page3</property>
diff --git a/LongoMatch.GUI/gtk-gui/objects.xml b/LongoMatch.GUI/gtk-gui/objects.xml
index ea18bfb..2e72cbc 100644
--- a/LongoMatch.GUI/gtk-gui/objects.xml
+++ b/LongoMatch.GUI/gtk-gui/objects.xml
@@ -328,4 +328,15 @@
</itemgroups>
<signals />
</object>
+ <object type="LongoMatch.Gui.VideoWindow" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
+ <itemgroups />
+ <signals>
+ <itemgroup label="VideoWindow Signals">
+ <signal name="Realized" />
+ <signal name="ExposeEvent" />
+ <signal name="ButtonPressEvent" />
+ <signal name="ScrollEvent" />
+ </itemgroup>
+ </signals>
+ </object>
</objects>
\ No newline at end of file
diff --git a/LongoMatch.Services/Services/ProjectsManager.cs b/LongoMatch.Services/Services/ProjectsManager.cs
index a6f6337..25781da 100644
--- a/LongoMatch.Services/Services/ProjectsManager.cs
+++ b/LongoMatch.Services/Services/ProjectsManager.cs
@@ -189,7 +189,7 @@ namespace LongoMatch.Services
return false;
}
try {
- Player.Open (project.Description.File.FilePath);
+ Player.Open (project.Description.File);
} catch (Exception ex) {
Log.Exception (ex);
guiToolkit.ErrorMessage (Catalog.GetString ("An error occurred
opening this project:") + "\n" + ex.Message);
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-attach.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-attach.svg
new file mode 100644
index 0000000..6de9bea
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-attach.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<g>
+ <path fill="#6A6A6A"
d="M5.625,25C4.729,25,4,24.272,4,23.376V0.625C4-0.271,4.729-1,5.625-1h10.561C16.637-1,17-0.636,17-0.188
+
v1.626c0,0.449-0.362,0.811-0.813,0.811H7.25v19.502h19.499v-8.938c0-0.45,0.364-0.813,0.813-0.813h1.625
+ C29.638,12,30,12.363,30,12.813v10.562C30,24.272,29.271,25,28.374,25H5.625z"/>
+ <path fill="#50B44B"
d="M13.688,16.127h8.125c0.329,0,0.625-0.196,0.751-0.501c0.126-0.301,0.057-0.653-0.176-0.884l-2.914-2.915
+
l8.124-8.126c0.317-0.316,0.317-0.83,0-1.148l-1.148-1.15c-0.318-0.317-0.832-0.317-1.15,0l-8.125,8.126l-2.913-2.915
+
c-0.155-0.154-0.363-0.239-0.574-0.239c-0.107,0-0.211,0.022-0.312,0.065c-0.304,0.124-0.502,0.423-0.502,0.749v8.125
+ C12.875,15.764,13.237,16.127,13.688,16.127z"/>
+</g>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-back.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-back.svg
new file mode 100644
index 0000000..8b2bdb1
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-back.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<path id="reply_1_" fill-rule="evenodd" clip-rule="evenodd" fill="#6A6A6A" d="M13.75,7.938V3.064
+
c0.001-0.333-0.202-0.631-0.509-0.755C13.142,2.268,13.04,2.25,12.938,2.25c-0.217,0-0.431,0.087-0.589,0.252L4.32,11.296
+
C4.071,11.545,3.992,11.762,4.001,12c-0.016,0.22,0.141,0.518,0.304,0.688l0.022,0.009L4.32,12.703l8.028,8.794
+
c0.158,0.164,0.373,0.253,0.589,0.253c0.102,0,0.205-0.02,0.303-0.059c0.308-0.125,0.511-0.423,0.509-0.756v-4.874
+ c15.693,0,16.231,5.32,16.25,5.688C29.981,8.718,13.75,7.938,13.75,7.938z"/>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-detach.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-detach.svg
new file mode 100644
index 0000000..9222701
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-detach.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="34px" height="24px" viewBox="0 0 34 24" enable-background="new 0 0 34 24"
xml:space="preserve">
+<g id="external">
+ <path fill="#6A6A6A"
d="M6.485,24.018c-0.829,0-1.503-0.673-1.503-1.501V1.484c0-0.828,0.674-1.501,1.503-1.501h9.763
+
c0.417,0,0.751,0.336,0.751,0.75v1.503c0,0.415-0.335,0.75-0.751,0.75H7.986v18.028h18.025v-8.263c0-0.416,0.337-0.751,0.752-0.751
+ h1.502c0.417,0,0.752,0.336,0.752,0.751v9.765c0,0.828-0.675,1.501-1.503,1.501H6.485z"/>
+ <path fill="#50B44B"
d="M28.266-0.015h-7.511c-0.304,0-0.578,0.181-0.694,0.462c-0.116,0.28-0.052,0.604,0.163,0.819l2.693,2.694
+
l-7.51,7.511c-0.294,0.292-0.294,0.768,0,1.062l1.062,1.062c0.295,0.293,0.77,0.293,1.063,0l7.511-7.512l2.692,2.694
+
c0.143,0.143,0.336,0.221,0.53,0.221c0.099,0,0.195-0.021,0.288-0.06c0.28-0.114,0.464-0.391,0.464-0.693V0.735
+ C29.018,0.319,28.683-0.015,28.266-0.015z"/>
+</g>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-draw.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-draw.svg
new file mode 100644
index 0000000..92ef88a
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-draw.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="34px" height="24px" viewBox="0 0 34 24" enable-background="new 0 0 34 24"
xml:space="preserve">
+<g>
+ <path fill="none"
d="M15.583,15.572c-0.505,0.413-0.833,1.032-0.833,1.735c0,1.243,1.006,2.251,2.249,2.251
+ c0.703,0,1.323-0.329,1.735-0.834"/>
+ <circle fill="none" cx="10.25" cy="15.306" r="2.251"/>
+ <path fill="#676767"
d="M28.062,8.609C26.242,5.374,21.976,3.102,17,3.102c-1.182,0-2.318,0.133-3.396,0.372l3.562,3.563
+
c-0.036-0.162-0.061-0.329-0.061-0.503c0-1.244,1.006-2.25,2.249-2.25c1.244,0,2.251,1.007,2.251,2.25
+
c0,0.935-0.569,1.736-1.381,2.076c-0.268,0.112-0.562,0.175-0.87,0.175c-0.172,0-0.34-0.023-0.501-0.061l4.438,4.437
+
c0.176-0.045,0.358-0.076,0.55-0.076c1.243,0,2.249,1.008,2.249,2.251c0,0.19-0.03,0.373-0.075,0.55l1.001,1.001l0.003-0.002
+ l0.073,0.075C28.294,15.556,29,13.893,29,12.102C29,10.863,28.665,9.683,28.062,8.609z
M24.47,11.53
+
c-1.243,0-2.249-1.007-2.249-2.25c0-0.235,0.046-0.458,0.112-0.671c0.286-0.913,1.129-1.58,2.137-1.58
+
c1.009,0,1.851,0.667,2.138,1.58c0.066,0.213,0.112,0.436,0.112,0.671C26.72,10.523,25.714,11.53,24.47,11.53z"/>
+ <path fill="#676767"
d="M18.734,18.725c-0.412,0.505-1.032,0.834-1.735,0.834c-1.243,0-2.249-1.008-2.249-2.251
+ c0-0.703,0.328-1.322,0.833-1.735L8.618,8.609L8.055,8.045l0,0L7.558,7.548L7.3,7.291L7.064,7.055
+
c-0.44,0.486-0.818,1.006-1.127,1.554C5.334,9.683,5,10.863,5,12.102c0,3.095,2.577,6.348,5.256,7.443
+
c2.678,1.094,4.429,1.385,4.429,1.385c0.751,0.11,1.523,0.172,2.315,0.172c1.283,0,2.518-0.154,3.677-0.435L18.734,18.725z
+
M10.25,17.557c-1.243,0-2.25-1.009-2.25-2.251c0-1.244,1.007-2.251,2.25-2.251c1.242,0,2.25,1.007,2.25,2.251
+ C12.5,16.548,11.492,17.557,10.25,17.557z"/>
+ <g id="pen_10_">
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#50B34B"
d="M11.397,3.051C10.559,2.212,9.99,1.645,9.853,1.508
+
c-0.836-0.835-1.67,0-1.67,0S7.347,2.343,6.511,3.18C5.675,4.014,6.512,4.851,6.512,4.851l1.543,1.544L11.397,3.051z"/>
+ <g>
+ <polygon fill-rule="evenodd" clip-rule="evenodd" fill="#50B34B" points="23.675,22.013
23.688,22.028 27.867,22.863
+ 27.032,18.686 27.016,18.671 "/>
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#50B34B"
d="M9.018,7.358l13.697,13.695l3.341-3.342
+ c-2.595-2.597-9.762-9.765-13.694-13.696L9.018,7.358z"/>
+ </g>
+ </g>
+</g>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-ff.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-ff.svg
new file mode 100644
index 0000000..3783ac1
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-ff.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<polygon fill-rule="evenodd" clip-rule="evenodd" fill="#6A6A6A" points="30,12 15.895,2.222 15.895,10.468
4,2.222 4,21.778
+ 15.895,13.532 15.895,21.778 "/>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-pause.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-pause.svg
new file mode 100644
index 0000000..215d761
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-pause.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<g>
+ <rect x="8.307" y="0.018" fill="#6B6B6A" width="5.114" height="23.965"/>
+ <rect x="20.58" y="0.018" fill="#6B6B6A" width="5.113" height="23.965"/>
+</g>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-play.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-play.svg
new file mode 100644
index 0000000..081ce9e
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-play.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<polygon fill-rule="evenodd" clip-rule="evenodd" fill="#6A6A6A" points="4,0.695 30,12 4,23.305 "/>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-rw.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-rw.svg
new file mode 100644
index 0000000..ef6df99
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-rw.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<polygon fill-rule="evenodd" clip-rule="evenodd" fill="#6A6A6A" points="4,12 18.105,2.222 18.105,10.468
30,2.222 30,21.778
+ 18.105,13.532 18.105,21.778 "/>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-volume-hi.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-volume-hi.svg
new file mode 100644
index 0000000..277d9aa
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-volume-hi.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<g>
+ <path fill="#6B6B6A"
d="M30,12c0-5.396-4.234-9.808-9.553-10.12v2.256c4.074,0.307,7.296,3.713,7.296,7.864
+ c0,4.152-3.223,7.559-7.296,7.864v2.256C25.766,21.808,30,17.396,30,12z"/>
+ <path fill="#6B6B6A"
d="M25.641,12c0-3.081-2.418-5.6-5.454-5.778v1.288c2.326,0.176,4.166,2.12,4.166,4.492
+ c0,2.371-1.84,4.316-4.166,4.492v1.287C23.224,17.6,25.641,15.08,25.641,12z"/>
+ <path fill="#6B6B6A"
d="M18.326,2.076l-6.317,5.471H5.805C4.808,7.547,4,8.44,4,9.542v4.667c0,1.1,0.808,1.994,1.805,1.994h5.917
+ l6.605,5.721V2.076z"/>
+ <g>
+ <path fill="#6B6B6A"
d="M20.445,9.862v4.275c1.181,0,2.137-0.957,2.137-2.138C22.583,10.819,21.626,9.862,20.445,9.862z"/>
+ </g>
+</g>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-volume-low.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-volume-low.svg
new file mode 100644
index 0000000..ecae65f
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-volume-low.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<g>
+ <path fill="#6B6B6A"
d="M18.326,2.076l-6.317,5.471H5.805C4.808,7.547,4,8.44,4,9.542v4.667c0,1.1,0.808,1.994,1.805,1.994h5.917
+ l6.605,5.721V2.076z"/>
+ <g>
+ <path fill="#6B6B6A"
d="M20.445,9.862v4.275c1.181,0,2.137-0.957,2.137-2.138C22.583,10.819,21.626,9.862,20.445,9.862z"/>
+ </g>
+</g>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-volume-med.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-volume-med.svg
new file mode 100644
index 0000000..24e4d1f
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-volume-med.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<g>
+ <path fill="#6B6B6A"
d="M25.641,12c0-3.081-2.418-5.6-5.454-5.778v1.288c2.326,0.176,4.166,2.12,4.166,4.492
+ c0,2.371-1.84,4.316-4.166,4.492v1.287C23.224,17.6,25.641,15.08,25.641,12z"/>
+ <path fill="#6B6B6A"
d="M18.326,2.076l-6.317,5.471H5.805C4.808,7.547,4,8.44,4,9.542v4.667c0,1.1,0.808,1.994,1.805,1.994h5.917
+ l6.605,5.721V2.076z"/>
+ <g>
+ <path fill="#6B6B6A"
d="M20.445,9.862v4.275c1.181,0,2.137-0.957,2.137-2.138C22.583,10.819,21.626,9.862,20.445,9.862z"/>
+ </g>
+</g>
+</svg>
diff --git a/data/icons/hicolor/scalable/actions/longomatch-control-volume-off.svg
b/data/icons/hicolor/scalable/actions/longomatch-control-volume-off.svg
new file mode 100644
index 0000000..0b1855a
--- /dev/null
+++ b/data/icons/hicolor/scalable/actions/longomatch-control-volume-off.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="28px" height="28px" viewBox="3 -2 28 28" enable-background="new 3 -2 28 28"
xml:space="preserve">
+<g>
+ <path fill="#6B6B6A"
d="M18.326,2.076l-6.317,5.471H5.805C4.808,7.547,4,8.44,4,9.542v4.667c0,1.1,0.808,1.994,1.805,1.994h5.917
+ l6.605,5.721V2.076z"/>
+</g>
+<path id="cross" fill="#D33B37"
d="M24.096,10.627l-2.183-2.182c-0.125-0.126-0.331-0.125-0.458,0.001l-0.913,0.915
+ c-0.064,0.062-0.097,0.146-0.097,0.228c0.002,0.082,0.032,0.166,0.097,0.229l2.18,2.182l-2.182,2.182
+
c-0.127,0.127-0.125,0.331,0.001,0.457l0.914,0.915c0.063,0.063,0.146,0.096,0.227,0.096c0.083,0,0.166-0.032,0.229-0.096
+
l2.182-2.181l2.182,2.181c0.128,0.127,0.33,0.126,0.456,0l0.915-0.914c0.062-0.063,0.093-0.146,0.093-0.228
+
c0.001-0.084-0.028-0.167-0.093-0.229l-2.181-2.183l2.181-2.18c0.126-0.127,0.126-0.331,0-0.457l-0.914-0.915
+ c-0.063-0.063-0.146-0.095-0.229-0.094c-0.082-0.001-0.165,0.032-0.228,0.094L24.096,10.627z"/>
+</svg>
diff --git a/libcesarplayer/lgm-video-player.c b/libcesarplayer/lgm-video-player.c
index bd80f41..fadabc0 100644
--- a/libcesarplayer/lgm-video-player.c
+++ b/libcesarplayer/lgm-video-player.c
@@ -175,8 +175,6 @@ lgm_element_msg_sync_cb (GstBus * bus, GstMessage * msg, gpointer data)
gst_object_unref (lvp->priv->xoverlay);
}
lvp->priv->xoverlay = gst_object_ref (GST_X_OVERLAY (sender));
- g_object_set (GST_ELEMENT (lvp->priv->xoverlay), "force-aspect-ratio",
- TRUE, NULL);
lgm_set_window_handle(lvp->priv->xoverlay, lvp->priv->window_handle);
g_mutex_unlock (&lvp->priv->overlay_lock);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]