diff --git a/modules/UI/videolayout/LocalVideo.js b/modules/UI/videolayout/LocalVideo.js index f9a621210..d806c6efb 100644 --- a/modules/UI/videolayout/LocalVideo.js +++ b/modules/UI/videolayout/LocalVideo.js @@ -11,6 +11,7 @@ function LocalVideo(VideoLayout, emitter) { this.videoSpanId = "localVideoContainer"; this.container = $("#localVideoContainer").get(0); this.localVideoId = null; + this.bindHoverHandler(); if(config.enableLocalVideoFlip) this._buildContextMenu(); this.isLocal = true; diff --git a/modules/UI/videolayout/RemoteVideo.js b/modules/UI/videolayout/RemoteVideo.js index 00e99712c..4633d7f7f 100644 --- a/modules/UI/videolayout/RemoteVideo.js +++ b/modules/UI/videolayout/RemoteVideo.js @@ -31,6 +31,7 @@ function RemoteVideo(user, VideoLayout, emitter) { this.addRemoteVideoContainer(); this.connectionIndicator = new ConnectionIndicator(this, this.id); this.setDisplayName(); + this.bindHoverHandler(); this.flipX = false; this.isLocal = false; /** diff --git a/modules/UI/videolayout/SmallVideo.js b/modules/UI/videolayout/SmallVideo.js index 535995d67..561b3be90 100644 --- a/modules/UI/videolayout/SmallVideo.js +++ b/modules/UI/videolayout/SmallVideo.js @@ -155,6 +155,26 @@ SmallVideo.getStreamElementID = function (stream) { return (isVideo ? 'remoteVideo_' : 'remoteAudio_') + stream.getId(); }; +/** + * Configures hoverIn/hoverOut handlers. + */ +SmallVideo.prototype.bindHoverHandler = function () { + // Add hover handler + var self = this; + $(this.container).hover( + function () { + self.showDisplayName(true); + }, + function () { + // If the video has been "pinned" by the user we want to + // keep the display name on place. + if (!self.VideoLayout.isLargeVideoVisible() || + !self.VideoLayout.isCurrentlyOnLarge(self.id)) + self.showDisplayName(false); + } + ); +}; + /** * Updates the data for the indicator * @param id the id of the indicator