[ease/presenter: 3/3] Holds a reference of the player in the PresenterWindow
- From: Stéphane Maniaci <maniacis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ease/presenter: 3/3] Holds a reference of the player in the PresenterWindow
- Date: Tue, 17 Aug 2010 01:43:17 +0000 (UTC)
commit d4d6c3884d263541a0d95127fa5c7aa833161394
Author: Stéphane Maniaci <stephane maniaci gmail com>
Date: Mon Aug 16 20:40:17 2010 -0500
Holds a reference of the player in the PresenterWindow
ease/ease-player.vala | 5 +++--
ease/ease-presenter-window.vala | 22 +++++++++++++---------
2 files changed, 16 insertions(+), 11 deletions(-)
---
diff --git a/ease/ease-player.vala b/ease/ease-player.vala
index 94de01f..90cc40a 100644
--- a/ease/ease-player.vala
+++ b/ease/ease-player.vala
@@ -152,7 +152,7 @@ internal class Ease.Player : Gtk.Window
show_all();
present();
- presenter = new PresenterWindow (this.document);
+ presenter = new PresenterWindow (this.document, this);
presenter.show_all ();
can_animate = true;
advance();
@@ -234,8 +234,9 @@ internal class Ease.Player : Gtk.Window
switch (event.keyval) {
case Key.ESCAPE:
debug ("Quitting player.");
- stage.hide ();
+ this.hide ();
presenter_window.hide ();
+ complete ();
break;
case Key.RIGHT:
case Key.DOWN:
diff --git a/ease/ease-presenter-window.vala b/ease/ease-presenter-window.vala
index d432d4f..8193b68 100644
--- a/ease/ease-presenter-window.vala
+++ b/ease/ease-presenter-window.vala
@@ -10,6 +10,7 @@
*/
internal class Ease.PresenterWindow : Gtk.Window
{
+ internal Player player;
internal Document document { get; set; }
internal int slide_index { get; set; }
internal Clutter.Stage stage { get; set; }
@@ -19,7 +20,7 @@ internal class Ease.PresenterWindow : Gtk.Window
private Clutter.Group current_display;
private Clutter.Group bottom_display;
- private SlideActor current_slide;
+ private Clutter.Clone current_slide;
private SlideActor next_slide;
private Clutter.Text notes;
private Clutter.Text time_elapsed;
@@ -28,8 +29,9 @@ internal class Ease.PresenterWindow : Gtk.Window
/* other data */
Timer timer;
- internal PresenterWindow (Document doc)
+ internal PresenterWindow (Document doc, Player p)
{
+ player = p;
document = doc;
slide_index = -1;
@@ -43,7 +45,12 @@ internal class Ease.PresenterWindow : Gtk.Window
current_display = new Clutter.Group ();
bottom_display = new Clutter.Group ();
+ stage.add (current_display, bottom_display);
+ current_slide = new Clutter.Clone (p.stage);
+ current_slide.set_size (doc.width/2, doc.height/2);
+
+ current_display.add_actor (current_slide);
int docsize = doc.length;
var slidenum = @"Slide n°$slide_index / $docsize";
var elapsed = (uint)timer.elapsed ();
@@ -53,14 +60,11 @@ internal class Ease.PresenterWindow : Gtk.Window
time_elapsed = new Clutter.Text.full ("Sans 20",
@"$elapsed s",
Clutter.Color.from_string ("white"));
- time_elapsed.set_position (stage.width - time_elapsed.width,
- stage.height - time_elapsed.height);
+ bottom_display.add (slides_elapsed, time_elapsed);
+
+ time_elapsed.set_position (bottom_display.width - time_elapsed.width,
+ bottom_display.height - time_elapsed.height);
bottom_display.set_position (0, stage.height/4*3);
- bottom_display.add (slides_elapsed,
- time_elapsed,
- null);
- stage.add (current_display,
- bottom_display);
stage.color = { 0, 0, 0, 255 };
stage.set_fullscreen (true);
stage.show_all ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]