diff -r ff11367d4955 -r e9400c80e1e4 web/res/metadataplayer/Slider.js --- a/web/res/metadataplayer/Slider.js Mon Oct 15 14:34:47 2012 +0200 +++ b/web/res/metadataplayer/Slider.js Tue Oct 02 14:40:14 2012 +0200 @@ -15,12 +15,16 @@ set to zero for fixed slider */ }; +IriSP.Widgets.Slider.prototype.template = + '
00:00
' + IriSP.Widgets.Slider.prototype.draw = function() { - this.$slider = IriSP.jQuery('
') - .addClass("Ldt-Slider"); + this.renderTemplate(); - this.$.append(this.$slider); + this.$time = this.$.find(".Ldt-Slider-Time"); + + this.$slider = this.$.find(".Ldt-Slider"); var _this = this; @@ -30,34 +34,41 @@ min: 0, max: this.source.getDuration().milliseconds, slide: function(event, ui) { - _this.player.popcorn.currentTime(ui.value / 1000); - _this.player.popcorn.trigger("IriSP.Mediafragment.setHashToTime"); + _this.media.setCurrentTime(ui.value); + _this.player.trigger("Mediafragment.setHashToTime"); } }); this.$handle = this.$slider.find('.ui-slider-handle'); - this.bindPopcorn("timeupdate","onTimeupdate"); - this.bindPopcorn("IriSP.PlayerWidget.MouseOver","onMouseover"); - this.bindPopcorn("IriSP.PlayerWidget.MouseOut","onMouseout"); + this.onMediaEvent("timeupdate","onTimeupdate"); + this.onMdpEvent("Player.MouseOver","onMouseover"); + this.onMdpEvent("Player.MouseOut","onMouseout"); if (this.minimize_timeout) { this.$slider.css(this.calculateSliderCss(this.minimized_height)); this.$handle.css(this.calculateHandleCss(this.minimized_height)); - this.$ - .mouseover(this.functionWrapper("onMouseover")) - .mouseout(this.functionWrapper("onMouseout")); - this.maximized = false; this.timeoutId = false; } + + this.$ + .mouseover(function() { + _this.$time.show(); + _this.onMouseover(); + }) + .mouseout(this.functionWrapper("onMouseout")) + .mousemove(function(_e) { + var _x = _e.pageX - _this.$.offset().left, + _t = new IriSP.Model.Time(_this.media.duration * _x / _this.width); + _this.$time.text(_t.toString()).css("left",_x); + }); }; -IriSP.Widgets.Slider.prototype.onTimeupdate = function() { - var _time = 1000 * this.player.popcorn.currentTime(); +IriSP.Widgets.Slider.prototype.onTimeupdate = function(_time) { this.$slider.slider("value",_time); - this.player.popcorn.trigger("IriSP.Arrow.updatePosition",{widget: this.type, time: _time}); + this.player.trigger("Arrow.updatePosition",{widget: this.type, time: _time}); } IriSP.Widgets.Slider.prototype.onMouseover = function() { @@ -74,6 +85,7 @@ } IriSP.Widgets.Slider.prototype.onMouseout = function() { + this.$time.hide(); if (this.minimize_timeout) { if (this.timeoutId) { window.clearTimeout(this.timeoutId);