From 709e8d2474e7fc06e00b11c130b9c34cc90486a3 Mon Sep 17 00:00:00 2001 From: rlx <0x0073@0x2620.org> Date: Tue, 6 Aug 2013 10:49:54 +0000 Subject: [PATCH] video player panel: fix in/out/annotation select --- source/Ox.UI/js/Video/VideoPanel.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/source/Ox.UI/js/Video/VideoPanel.js b/source/Ox.UI/js/Video/VideoPanel.js index a8df7501..ade42b76 100644 --- a/source/Ox.UI/js/Video/VideoPanel.js +++ b/source/Ox.UI/js/Video/VideoPanel.js @@ -155,7 +155,7 @@ Ox.VideoPanel = function(options, self) { }, key_i: function() { self.$annotationPanel.options({selected: ''}); - setPoint('in', self.options.position, true); + setPoint('in', self.options.position, false, true); }, key_l: toggleLoop, key_left: function() { @@ -166,7 +166,7 @@ Ox.VideoPanel = function(options, self) { }, key_o: function() { self.$annotationPanel.options({selected: ''}); - setPoint('out', self.options.position, true); + setPoint('out', self.options.position, false, true); }, key_p: playInToOut, key_right: function() { @@ -516,8 +516,8 @@ Ox.VideoPanel = function(options, self) { self.options.selected = data.id; if (self.options.selected) { setPosition(data['in']); - setPoint('in', data['in']); - setPoint('out', data.out); + setPoint('in', data['in'], true); + setPoint('out', data.out, true); } self.$annotationPanel.options({selected: self.options.selected}); that.triggerEvent('select', {id: self.options.selected}); @@ -541,15 +541,17 @@ Ox.VideoPanel = function(options, self) { setPoint('out', points.out); } - function setPoint(point, position, triggerEvent) { + function setPoint(point, position, keepSelected, triggerEvent) { self.options[point] = position; + if (self.options.selected && !keepSelected) { + selectAnnotation({id: ''}); + } self.$video.options(point, position); self.$timeline.options(point, position); self.$annotationPanel.options(point, position); if (self.options['in'] > self.options.out) { - setPoint(point == 'in' ? 'out' : 'in', position); - } - if (triggerEvent) { + setPoint(point == 'in' ? 'out' : 'in', position, keepSelected); + } else if (triggerEvent) { that.triggerEvent('points', { 'in': self.options['in'], out: self.options.out,