[Sugar-devel] [PATCH Jukebox] Current and total time SL #3714

Manuel Kaufmann humitos at gmail.com
Tue Jun 26 15:11:24 EDT 2012


Added the current and total time of the actual stream in the toolbar
and removed the separators to make them fit.

Signed-off-by: Manuel Kaufmann <humitos at gmail.com>
---
 ControlToolbar.py  |   20 +++++++++++---------
 jukeboxactivity.py |   17 ++++++++++++-----
 2 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/ControlToolbar.py b/ControlToolbar.py
index 4bb4935..d3cdfed 100644
--- a/ControlToolbar.py
+++ b/ControlToolbar.py
@@ -112,6 +112,12 @@ class Control(gobject.GObject):
         self.next_button.connect('clicked', self.next_button_clicked_cb)
         self.toolbar.insert(self.next_button, -1)
 
+        current_time = gtk.ToolItem()
+        self.current_time_label = gtk.Label('')
+        current_time.add(self.current_time_label)
+        current_time.show()
+        toolbar.insert(current_time, -1)
+
         self.adjustment = gtk.Adjustment(0.0, 0.00, 100.0, 0.1, 1.0, 1.0)
         self.hscale = gtk.HScale(self.adjustment)
         self.hscale.set_draw_value(False)
@@ -126,15 +132,11 @@ class Control(gobject.GObject):
         self.scale_item.add(self.hscale)
         self.toolbar.insert(self.scale_item, -1)
 
-        spacer = gtk.SeparatorToolItem()
-        spacer.props.draw = False
-        self.toolbar.insert(spacer, -1)
-        spacer.show()
-
-        spacer = gtk.SeparatorToolItem()
-        spacer.props.draw = False
-        self.toolbar.insert(spacer, -1)
-        spacer.show()
+        total_time = gtk.ToolItem()
+        self.total_time_label = gtk.Label('')
+        total_time.add(self.total_time_label)
+        total_time.show()
+        toolbar.insert(total_time, -1)
 
     def prev_button_clicked_cb(self, widget):
         self.jukebox.songchange('prev')
diff --git a/jukeboxactivity.py b/jukeboxactivity.py
index a16fbd1..952a998 100644
--- a/jukeboxactivity.py
+++ b/jukeboxactivity.py
@@ -124,11 +124,6 @@ class JukeboxActivity(activity.Activity):
 
             self.control = Control(toolbar_box.toolbar, self)
 
-            separator = gtk.SeparatorToolItem()
-            separator.props.draw = False
-            separator.set_expand(True)
-            toolbar_box.toolbar.insert(separator, -1)
-
             toolbar_box.toolbar.insert(StopButton(self), -1)
 
             self.set_toolbar_box(toolbar_box)
@@ -597,6 +592,18 @@ class JukeboxActivity(activity.Activity):
             value = self.p_position * 100.0 / self.p_duration
             self.control.adjustment.set_value(value)
 
+            # Update the current time
+            seconds = self.p_position * 10 ** -9
+            time = '%2d:%02d' % (int(seconds / 60), int(seconds % 60))
+            self.control.current_time_label.set_text(time)
+
+        # FIXME: this should be updated just once when the file starts
+        # the first time
+        if self.p_duration != gst.CLOCK_TIME_NONE:
+            seconds = self.p_duration * 10 ** -9
+            time = '%2d:%02d' % (int(seconds / 60), int(seconds % 60))
+            self.control.total_time_label.set_text(time)
+
         return True
 
     def _erase_playlist_entry_clicked_cb(self, widget):
-- 
1.7.10.2



More information about the Sugar-devel mailing list