From d007f3c570225923e273726af291ba0084793eef Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Wed, 20 Feb 2013 19:32:25 +0200 Subject: [Player] Create the adjustment like other widgets Create the adjustment on init(), only do set_upper() when duration is available. Signed-off-by: Jussi Kukkonen --- src/msd/msd_player.py | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/src/msd/msd_player.py b/src/msd/msd_player.py index b8c39ab..aff23f2 100644 --- a/src/msd/msd_player.py +++ b/src/msd/msd_player.py @@ -122,6 +122,11 @@ class GStreamerWindow(PlayWindowBase): self.__play_pause_button.add(self.__play_pause_image) self.__scale = gtk.HScale() + self.__adjustment = gtk.Adjustment(0, 0, 0, + 1.0, 30.0, 1.0) + self.__adjustment.connect("value-changed", self.__adjusted) + self.__scale.set_adjustment(self.__adjustment) + self.__scale.connect("format-value", self.__format_time) button_bar.pack_start(self.__play_pause_button, True, False, 0) @@ -129,10 +134,7 @@ class GStreamerWindow(PlayWindowBase): self.private_area.pack_start(button_bar, False, False, 0) self.get_container().show_all() - self.__scale.hide() - self.__duration = -1 self.__update_pos_id = 0 - self.__adjustment = None self.__state = gst.STATE_NULL self.player.set_state(gst.STATE_PLAYING) @@ -178,21 +180,12 @@ class GStreamerWindow(PlayWindowBase): return self.__state = state - if self.__duration == -1 and (self.__state == gst.STATE_PLAYING or - self.__state == gst.STATE_PAUSED): + if (self.__state > gst.STATE_NULL and + self.__adjustment.get_upper() == 0.0): try: - duration = self.player.query_duration(gst.FORMAT_TIME, - None)[0] - if duration != -1: - self.__duration = duration / 1000000000 - self.__adjustment = gtk.Adjustment(0, 0, - self.__duration, - .5, .5, 0) - self.__scale.set_adjustment(self.__adjustment) - self.__adjustment.connect("value-changed", - self.__adjusted) - self.__scale.connect("format-value", self.__format_time) - self.__scale.show() + duration = self.player.query_duration(gst.FORMAT_TIME, None) + if duration[0] != -1: + self.__adjustment.set_upper(duration[0] / 1000000000) except Exception: pass -- cgit v1.2.1