diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml index 5bd58e9ae4..8c5069a289 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml @@ -23,12 +23,15 @@ with BigBlueButton; if not, see . + + . import org.bigbluebutton.common.Images; import org.bigbluebutton.core.EventConstants; + import org.bigbluebutton.main.events.BBBEvent; import org.bigbluebutton.core.events.CoreEvent; import org.bigbluebutton.core.events.VoiceConfEvent; import org.bigbluebutton.core.UsersUtil; @@ -60,6 +64,13 @@ with BigBlueButton; if not, see . private const TITLE_BACKGROUND_TALKING:uint = 0x20c600; private const TITLE_BACKGROUND_NOT_TALKING:uint = 0x42444c; + private var _hideMuteBtnTimer:Timer; + + protected function init():void { + _hideMuteBtnTimer = new Timer(500, 1); + _hideMuteBtnTimer.addEventListener(TimerEvent.TIMER, onHideMuteBtnTimerComplete); + } + protected function onCreationComplete():void { } @@ -174,9 +185,11 @@ with BigBlueButton; if not, see . } if (_rolledOverCanvas || _rolledOverMuteBtn) { - muteBtnWrapper.visible = user.voiceJoined; + // muteBtnWrapper.visible = user.voiceJoined; + setMuteBtnVisibility(user.voiceJoined); } else { - muteBtnWrapper.visible = user.voiceJoined && user.voiceMuted; + // muteBtnWrapper.visible = user.voiceJoined && user.voiceMuted; + setMuteBtnVisibility(user.voiceJoined && user.voiceMuted); } var userIconVisibility:Boolean; @@ -212,9 +225,40 @@ with BigBlueButton; if not, see . } } + private function handleUserVoiceChangedEvent(event:BBBEvent):void { + if (user && event.payload.userID == user.userID) { + updateButtons(); + } + } + + private function onHideMuteBtnTimerComplete(event:TimerEvent):void { + muteBtnWrapper.visible = false; + } + + private function setMuteBtnVisibility(visible:Boolean):void { + if (visible) { + showMuteBtn(); + } else { + hideMuteBtn(); + } + } + + private function hideMuteBtn():void { + _hideMuteBtnTimer.reset(); + _hideMuteBtnTimer.start(); + } + + private function showMuteBtn():void { + _hideMuteBtnTimer.reset(); + muteBtnWrapper.visible = true; + } + ]]> + + + @@ -250,7 +294,8 @@ with BigBlueButton; if not, see . verticalScrollPolicy="off" > + visible="false" + hideEffect="{fadeOut}" showEffect="{fadeIn}" >