refs #934 Now the moderator and the presenter can have user status
This commit is contained in:
parent
fb550226a5
commit
ccffb5074c
@ -24,17 +24,17 @@ package org.bigbluebutton.main.model.users.events
|
|||||||
{
|
{
|
||||||
public static const CHANGE_STATUS:String = "CHANGE_STATUS_EVENT";
|
public static const CHANGE_STATUS:String = "CHANGE_STATUS_EVENT";
|
||||||
|
|
||||||
public static const CLEAR_STATUS:String = "clear_status";
|
public static const CLEAR_STATUS:String = "CLEAR_STATUS";
|
||||||
public static const RAISE_HAND:String = "raise_hand";
|
public static const RAISE_HAND:String = "RAISE_HAND";
|
||||||
public static const AGREE:String = "agree";
|
public static const AGREE:String = "AGREE";
|
||||||
public static const DISAGREE:String = "disagree";
|
public static const DISAGREE:String = "DISAGREE";
|
||||||
public static const SPEAK_LOUDER:String = "speak_louder";
|
public static const SPEAK_LOUDER:String = "SPEAK_LOUDER";
|
||||||
public static const SPEAK_LOWER:String = "speak_lower";
|
public static const SPEAK_LOWER:String = "SPEAK_LOWER";
|
||||||
public static const SPEAK_FASTER:String = "speak_faster";
|
public static const SPEAK_FASTER:String = "SPEAK_FASTER";
|
||||||
public static const SPEAK_SLOWER:String = "speak_slower";
|
public static const SPEAK_SLOWER:String = "SPEAK_SLOWER";
|
||||||
public static const BE_RIGHT_BACK:String = "be_right_back";
|
public static const BE_RIGHT_BACK:String = "BE_RIGHT_BACK";
|
||||||
public static const LAUGHTER:String = "laughter";
|
public static const LAUGHTER:String = "LAUGHTER";
|
||||||
public static const SAD:String = "sad";
|
public static const SAD:String = "SAD";
|
||||||
|
|
||||||
private var status:String;
|
private var status:String;
|
||||||
public var userId:String;
|
public var userId:String;
|
||||||
|
@ -92,116 +92,129 @@
|
|||||||
private function updateButton(unneeded:Object = null):void {
|
private function updateButton(unneeded:Object = null):void {
|
||||||
if (data != null)
|
if (data != null)
|
||||||
{
|
{
|
||||||
if (data.presenter)
|
if (rolledOver) //if i'm moderator and I rolled the mouse
|
||||||
{
|
{
|
||||||
roleImg.source = images.presenter_new;
|
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.presenter');
|
|
||||||
roleImg.visible = true;
|
|
||||||
roleBtn.visible = false;
|
|
||||||
roleBtn.enabled = false;
|
|
||||||
}
|
|
||||||
else if (rolledOver)
|
|
||||||
{
|
|
||||||
roleImg.visible = false;
|
|
||||||
roleBtn.visible = true;
|
|
||||||
roleBtn.enabled = true;
|
|
||||||
|
|
||||||
if (data.userHasStatus)
|
if (data.userHasStatus)
|
||||||
{
|
{
|
||||||
roleBtn.setStyle("icon", images.delete_icon);
|
statusBtn.setStyle("icon", images.delete_icon);
|
||||||
roleBtn.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.clearStatus');
|
statusBtn.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.clearStatus');
|
||||||
|
|
||||||
|
statusImg.visible = false;
|
||||||
|
statusBtn.visible = true;
|
||||||
|
statusBtn.enabled = true;
|
||||||
}
|
}
|
||||||
else
|
if(!data.presenter)
|
||||||
{
|
{
|
||||||
roleBtn.setStyle("icon", images.presenter_new);
|
roleBtn.setStyle("icon", images.presenter_new);
|
||||||
roleBtn.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.changePresenter');
|
roleBtn.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.changePresenter');
|
||||||
|
|
||||||
|
roleImg.visible = false;
|
||||||
|
roleBtn.visible = true;
|
||||||
|
roleBtn.enabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (data.role == Role.MODERATOR)
|
|
||||||
{
|
else
|
||||||
roleImg.source = images.moderator;
|
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.moderator');
|
|
||||||
roleImg.visible = true;
|
|
||||||
roleBtn.visible = false;
|
|
||||||
roleBtn.enabled = false;
|
|
||||||
}
|
|
||||||
else if (data.userHasStatus)
|
|
||||||
{
|
{
|
||||||
|
//updating which role to show: presenter or moderator
|
||||||
|
if (data.presenter)
|
||||||
|
{
|
||||||
|
roleImg.source = images.presenter_new;
|
||||||
|
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.presenter')
|
||||||
|
}
|
||||||
|
|
||||||
|
else if(data.role == Role.MODERATOR)
|
||||||
|
{
|
||||||
|
roleImg.source = images.moderator;
|
||||||
|
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.moderator');
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
roleImg.source = null;
|
||||||
|
roleImg.toolTip = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//updating which status to show
|
||||||
switch(data.currentStatus)
|
switch(data.currentStatus)
|
||||||
{
|
{
|
||||||
case ChangeStatusEvent.RAISE_HAND:
|
case ChangeStatusEvent.RAISE_HAND:
|
||||||
roleImg.source = images.hand_new;
|
statusImg.source = images.hand_new;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.handRaised');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.handRaised');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.AGREE:
|
case ChangeStatusEvent.AGREE:
|
||||||
roleImg.source = images.agree;
|
statusImg.source = images.agree;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.agree');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.agree');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.DISAGREE:
|
case ChangeStatusEvent.DISAGREE:
|
||||||
roleImg.source = images.disagree;
|
statusImg.source = images.disagree;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.disagree');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.disagree');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.SPEAK_LOUDER:
|
case ChangeStatusEvent.SPEAK_LOUDER:
|
||||||
roleImg.source = images.speak_louder;
|
statusImg.source = images.speak_louder;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_louder');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_louder');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.SPEAK_LOWER:
|
case ChangeStatusEvent.SPEAK_LOWER:
|
||||||
roleImg.source = images.speak_lower;
|
statusImg.source = images.speak_lower;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_lower');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_lower');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.SPEAK_FASTER:
|
case ChangeStatusEvent.SPEAK_FASTER:
|
||||||
roleImg.source = images.speak_faster;
|
statusImg.source = images.speak_faster;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_faster');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_faster');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.SPEAK_SLOWER:
|
case ChangeStatusEvent.SPEAK_SLOWER:
|
||||||
roleImg.source = images.speak_slower;
|
statusImg.source = images.speak_slower;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_slower');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.speak_slower');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.BE_RIGHT_BACK:
|
case ChangeStatusEvent.BE_RIGHT_BACK:
|
||||||
roleImg.source = images.be_right_back;
|
statusImg.source = images.be_right_back;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.be_right_back');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer.be_right_back');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.LAUGHTER:
|
case ChangeStatusEvent.LAUGHTER:
|
||||||
roleImg.source = images.laughter;
|
statusImg.source = images.laughter;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.laughter');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.laughter');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ChangeStatusEvent.SAD:
|
case ChangeStatusEvent.SAD:
|
||||||
roleImg.source = images.sad;
|
statusImg.source = images.sad;
|
||||||
roleImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.sad');
|
statusImg.toolTip = ResourceUtil.getInstance().getString('bbb.users.status.sad');
|
||||||
}
|
break;
|
||||||
|
|
||||||
roleImg.visible = true;
|
default: //user has no status...
|
||||||
|
statusImg.source = null;
|
||||||
|
statusImg.toolTip = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
roleImg.visible = true;
|
||||||
|
statusImg.visible = true;
|
||||||
|
|
||||||
roleBtn.visible = false;
|
roleBtn.visible = false;
|
||||||
|
statusBtn.visible = false;
|
||||||
|
|
||||||
roleBtn.enabled = false;
|
roleBtn.enabled = false;
|
||||||
}
|
statusBtn.enabled = false;
|
||||||
else
|
|
||||||
{
|
}
|
||||||
roleImg.source = null;
|
}
|
||||||
roleImg.toolTip = "";
|
}
|
||||||
roleImg.visible = true;
|
|
||||||
roleBtn.visible = false;
|
|
||||||
roleBtn.enabled = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onRollOver(e:UsersRollEvent):void{
|
private function onRollOver(e:UsersRollEvent):void{ //descobrir qual botão: role ou status
|
||||||
if (moderator && (e.userID == data.userID) && !data.phoneUser) {
|
if (moderator && (e.userID == data.userID) && !data.phoneUser) {
|
||||||
rolledOver = true;
|
rolledOver = true;
|
||||||
updateButton();
|
updateButton();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onRollOut(e:UsersRollEvent):void{
|
private function onRollOut(e:UsersRollEvent):void{ //descobrir qual botão: role ou status
|
||||||
if (moderator) {
|
if (moderator) {
|
||||||
rolledOver = false;
|
rolledOver = false;
|
||||||
updateButton();
|
updateButton();
|
||||||
@ -210,20 +223,15 @@
|
|||||||
|
|
||||||
private function roleBtnClicked():void
|
private function roleBtnClicked():void
|
||||||
{
|
{
|
||||||
// Ignore if the selected user is already the presenter.
|
var e:RoleChangeEvent = new RoleChangeEvent(RoleChangeEvent.ASSIGN_PRESENTER);
|
||||||
if (data.presenter) return;
|
e.userid = data.userID;
|
||||||
|
e.username = data.name;
|
||||||
if (data.userHasStatus)
|
dispatchEvent(e);
|
||||||
{
|
}
|
||||||
dispatchEvent( new ChangeStatusEvent(data.userID, ChangeStatusEvent.CLEAR_STATUS) )
|
|
||||||
}
|
private function statusBtnClicked():void
|
||||||
else
|
{
|
||||||
{
|
dispatchEvent( new ChangeStatusEvent(data.userID, ChangeStatusEvent.CLEAR_STATUS) )
|
||||||
var e:RoleChangeEvent = new RoleChangeEvent(RoleChangeEvent.ASSIGN_PRESENTER);
|
|
||||||
e.userid = data.userID;
|
|
||||||
e.username = data.name;
|
|
||||||
dispatchEvent(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Need to refresh the roleBtn toolTip text on locale change
|
// Need to refresh the roleBtn toolTip text on locale change
|
||||||
@ -233,7 +241,10 @@
|
|||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
<mx:Image id="roleImg" visible="true" width="16" height="16" includeInLayout="{roleImg.visible}" />
|
<mx:Image id="roleImg" visible="true" width="16" height="16" includeInLayout="{roleImg.visible}" />
|
||||||
<mx:Button id="roleBtn" visible="false" enabled="false" width="20" height="20" click="roleBtnClicked()" includeInLayout="{roleBtn.visible}" />
|
<mx:Button id="roleBtn" visible="false" enabled="false" width="16" height="16" click="roleBtnClicked()" includeInLayout="{roleBtn.visible}" />
|
||||||
|
|
||||||
|
<mx:Image id="statusImg" visible="true" width="16" height="16" includeInLayout="{statusImg.visible}" />
|
||||||
|
<mx:Button id="statusBtn" visible="false" enabled="false" width="16" height="16" click="statusBtnClicked()" includeInLayout="{statusBtn.visible}" />
|
||||||
|
|
||||||
<!-- Helper objects because direct bindings to data break when the itemRenderer is recycled -->
|
<!-- Helper objects because direct bindings to data break when the itemRenderer is recycled -->
|
||||||
<mx:Image id="presenterInd" includeInLayout="false" visible="{data.presenter}" />
|
<mx:Image id="presenterInd" includeInLayout="false" visible="{data.presenter}" />
|
||||||
|
@ -89,6 +89,7 @@
|
|||||||
private var users:ArrayCollection = new ArrayCollection();
|
private var users:ArrayCollection = new ArrayCollection();
|
||||||
|
|
||||||
private var amIModerator:Boolean = false;
|
private var amIModerator:Boolean = false;
|
||||||
|
private var baseIndex:int = 0;
|
||||||
|
|
||||||
private const FOCUS_USERS_LIST:String = "Focus Users List";
|
private const FOCUS_USERS_LIST:String = "Focus Users List";
|
||||||
private const MAKE_PRESENTER:String = "Make Presenter";
|
private const MAKE_PRESENTER:String = "Make Presenter";
|
||||||
@ -104,9 +105,8 @@
|
|||||||
users = UserManager.getInstance().getConference().users;
|
users = UserManager.getInstance().getConference().users;
|
||||||
amIModerator = UserManager.getInstance().getConference().amIModerator();
|
amIModerator = UserManager.getInstance().getConference().amIModerator();
|
||||||
|
|
||||||
settingsBtn.visible = settingsBtn.includeInLayout = partOptions.enableSettingsButton && amIModerator;
|
//settingsBtn.visible = settingsBtn.includeInLayout = partOptions.enableSettingsButton && amIModerator;
|
||||||
|
|
||||||
BindingUtils.bindSetter(changeButtons, UserManager.getInstance().getConference(), "amIPresenter");
|
|
||||||
BindingUtils.bindSetter(updateNumberofUsers, users, "length");
|
BindingUtils.bindSetter(updateNumberofUsers, users, "length");
|
||||||
|
|
||||||
this.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
|
this.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
|
||||||
@ -115,8 +115,6 @@
|
|||||||
modifier = ExternalInterface.call("determineModifier");
|
modifier = ExternalInterface.call("determineModifier");
|
||||||
loadKeyCombos(modifier);
|
loadKeyCombos(modifier);
|
||||||
|
|
||||||
changeButtons(UserManager.getInstance().getConference().amIPresenter);
|
|
||||||
|
|
||||||
resourcesChanged();
|
resourcesChanged();
|
||||||
|
|
||||||
titleBarOverlay.tabIndex = partOptions.baseTabIndex;
|
titleBarOverlay.tabIndex = partOptions.baseTabIndex;
|
||||||
@ -142,10 +140,6 @@
|
|||||||
resourcesChanged();
|
resourcesChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function changeButtons(presenter:Boolean):void {
|
|
||||||
statusBtn.visible = statusBtn.includeInLayout = partOptions.enableRaiseHand && !(presenter || amIModerator);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onItemRollOver(event:ListEvent):void{
|
private function onItemRollOver(event:ListEvent):void{
|
||||||
var item:IListItemRenderer = event.itemRenderer;
|
var item:IListItemRenderer = event.itemRenderer;
|
||||||
var user:BBBUser = item.data as BBBUser;
|
var user:BBBUser = item.data as BBBUser;
|
||||||
@ -168,80 +162,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function openParticipantStatus():void {
|
|
||||||
|
|
||||||
var menuStatusData:Array = [];
|
|
||||||
|
|
||||||
menuStatusData[0] = {label: ResourceUtil.getInstance().getString('bbb.users.status.clearStatus'), icon: images.delete_icon};
|
|
||||||
menuStatusData[1] = {label: ResourceUtil.getInstance().getString('bbb.shortcutkey.raiseHand.function'), icon: images.hand_new};
|
|
||||||
menuStatusData[2] = {label: ResourceUtil.getInstance().getString('bbb.users.status.agree'), icon: images.agree};
|
|
||||||
menuStatusData[3] = {label: ResourceUtil.getInstance().getString('bbb.users.status.disagree'), icon: images.disagree};
|
|
||||||
menuStatusData[4] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_louder'), icon: images.speak_louder};
|
|
||||||
menuStatusData[5] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_lower'), icon: images.speak_lower};
|
|
||||||
menuStatusData[6] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_faster'), icon: images.speak_faster};
|
|
||||||
menuStatusData[7] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_slower'), icon: images.speak_slower};
|
|
||||||
menuStatusData[8] = {label: ResourceUtil.getInstance().getString('bbb.users.status.be_right_back'), icon: images.be_right_back};
|
|
||||||
menuStatusData[9] = {label: ResourceUtil.getInstance().getString('bbb.users.status.laughter'), icon: images.laughter};
|
|
||||||
menuStatusData[10] = {label: ResourceUtil.getInstance().getString('bbb.users.status.sad'), icon: images.sad};
|
|
||||||
|
|
||||||
|
|
||||||
// make sure the previous menu is closed before opening a new one
|
|
||||||
// This could be improved to include a flag that tells if the menu is open,
|
|
||||||
// but it would require an extra listener for the MenuCloseEvent.
|
|
||||||
if (menuStatus) menuStatus.hide();
|
|
||||||
|
|
||||||
menuStatus = Menu.createMenu(null, menuStatusData, true);
|
|
||||||
|
|
||||||
menuStatus.variableRowHeight = true;
|
|
||||||
menuStatus.show(this.x + settingsBtn.x + 2, this.y + this.height + 25);
|
|
||||||
menuStatus.addEventListener(MenuEvent.ITEM_CLICK, menuStatusClickHandler);
|
|
||||||
menuStatus.setFocus();
|
|
||||||
}
|
|
||||||
|
|
||||||
private function menuStatusClickHandler(e:MenuEvent):void {
|
|
||||||
switch (e.index) {
|
|
||||||
case 0:
|
|
||||||
changeStatus(ChangeStatusEvent.CLEAR_STATUS);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
changeStatus(ChangeStatusEvent.RAISE_HAND);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
changeStatus(ChangeStatusEvent.AGREE);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
changeStatus(ChangeStatusEvent.DISAGREE);
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
changeStatus(ChangeStatusEvent.SPEAK_LOUDER);
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
changeStatus(ChangeStatusEvent.SPEAK_LOWER);
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
changeStatus(ChangeStatusEvent.SPEAK_FASTER);
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
changeStatus(ChangeStatusEvent.SPEAK_SLOWER);
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
changeStatus(ChangeStatusEvent.BE_RIGHT_BACK);
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
changeStatus(ChangeStatusEvent.LAUGHTER);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
changeStatus(ChangeStatusEvent.SAD);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function changeStatus(whichStatus:String):void{
|
|
||||||
if (UserManager.getInstance().getConference().getMyRole() == Role.VIEWER) {
|
|
||||||
var e:ChangeStatusEvent = new ChangeStatusEvent(UserManager.getInstance().getConference().getMyUserId(), whichStatus);
|
|
||||||
dispatchEvent(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function clearAllStatus():void { // Pendente: ver clear status do moderador
|
private function clearAllStatus():void { // Pendente: ver clear status do moderador
|
||||||
for (var i:int = 0; i < users.length; i++) {
|
for (var i:int = 0; i < users.length; i++) {
|
||||||
var p:BBBUser = users.getItemAt(i) as BBBUser;
|
var p:BBBUser = users.getItemAt(i) as BBBUser;
|
||||||
@ -253,15 +173,41 @@
|
|||||||
private function openSettings():void {
|
private function openSettings():void {
|
||||||
// everyone can see the audio settings
|
// everyone can see the audio settings
|
||||||
var myMenuData:Array = [];
|
var myMenuData:Array = [];
|
||||||
|
|
||||||
myMenuData[0] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.clearAllStats'), icon: images.delete_icon};
|
if(amIModerator)
|
||||||
if (!roomMuted) {
|
{
|
||||||
myMenuData[1] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.muteAll'), icon: images.audio_muted};
|
myMenuData[0] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.clearAllStats'), icon: images.delete_icon};
|
||||||
if (UserManager.getInstance().getConference().getPresenter())
|
if (!roomMuted)
|
||||||
myMenuData[2] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.muteAllExcept') + ": " + UserManager.getInstance().getConference().getPresenter().name, icon: images.audio_muted};
|
{
|
||||||
} else
|
myMenuData[1] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.muteAll'), icon: images.audio_muted};
|
||||||
myMenuData[1] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.unmuteAll'), icon: images.audio};
|
if (UserManager.getInstance().getConference().getPresenter())
|
||||||
|
myMenuData[2] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.muteAllExcept') + ": " + UserManager.getInstance().getConference().getPresenter().name, icon: images.audio_muted};
|
||||||
|
baseIndex = 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
myMenuData[1] = {label: ResourceUtil.getInstance().getString('bbb.users.settings.unmuteAll'), icon: images.audio};
|
||||||
|
baseIndex = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(partOptions.enableRaiseHand)
|
||||||
|
{
|
||||||
|
myMenuData[baseIndex+1] = {label: ResourceUtil.getInstance().getString('bbb.users.status.clearStatus'), icon: images.delete_icon};
|
||||||
|
myMenuData[baseIndex+2] = {label: ResourceUtil.getInstance().getString('bbb.shortcutkey.raiseHand.function'), icon: images.hand_new};
|
||||||
|
myMenuData[baseIndex+3] = {label: ResourceUtil.getInstance().getString('bbb.users.status.agree'), icon: images.agree};
|
||||||
|
myMenuData[baseIndex+4] = {label: ResourceUtil.getInstance().getString('bbb.users.status.disagree'), icon: images.disagree};
|
||||||
|
myMenuData[baseIndex+5] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_louder'), icon: images.speak_louder};
|
||||||
|
myMenuData[baseIndex+6] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_lower'), icon: images.speak_lower};
|
||||||
|
myMenuData[baseIndex+7] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_faster'), icon: images.speak_faster};
|
||||||
|
myMenuData[baseIndex+8] = {label: ResourceUtil.getInstance().getString('bbb.users.status.speak_slower'), icon: images.speak_slower};
|
||||||
|
myMenuData[baseIndex+9] = {label: ResourceUtil.getInstance().getString('bbb.users.status.be_right_back'), icon: images.be_right_back};
|
||||||
|
myMenuData[baseIndex+10] = {label: ResourceUtil.getInstance().getString('bbb.users.status.laughter'), icon: images.laughter};
|
||||||
|
myMenuData[baseIndex+11] = {label: ResourceUtil.getInstance().getString('bbb.users.status.sad'), icon: images.sad};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// make sure the previous menu is closed before opening a new one
|
// make sure the previous menu is closed before opening a new one
|
||||||
// This could be improved to include a flag that tells if the menu is open,
|
// This could be improved to include a flag that tells if the menu is open,
|
||||||
// but it would require an extra listener for the MenuCloseEvent.
|
// but it would require an extra listener for the MenuCloseEvent.
|
||||||
@ -276,19 +222,89 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private function menuClickHandler(e:MenuEvent):void {
|
private function menuClickHandler(e:MenuEvent):void
|
||||||
// case 1 is the separator and can never get called
|
{
|
||||||
switch (e.index) {
|
if(baseIndex == 0) //not a moderator
|
||||||
case 0:
|
{
|
||||||
clearAllStatus();
|
changeStatusHandler(e.index)
|
||||||
break;
|
}
|
||||||
case 1:
|
|
||||||
muteAll();
|
else if(baseIndex == 1) //i'm a moderator and there is NOT the "mute all except" option
|
||||||
break;
|
{
|
||||||
case 2:
|
switch (e.index) {
|
||||||
muteAlmostAll();
|
case 0:
|
||||||
|
clearAllStatus();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
muteAll();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
changeStatusHandler(e.index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else //i'm a moderator and the option "mute all except" is enabled
|
||||||
|
{
|
||||||
|
switch (e.index) {
|
||||||
|
case 0:
|
||||||
|
clearAllStatus();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
muteAll();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
muteAlmostAll();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
changeStatusHandler(e.index);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function changeStatusHandler(index:int):void {
|
||||||
|
switch (index) {
|
||||||
|
case baseIndex+1:
|
||||||
|
changeStatus(ChangeStatusEvent.CLEAR_STATUS);
|
||||||
|
break;
|
||||||
|
case baseIndex+2:
|
||||||
|
changeStatus(ChangeStatusEvent.RAISE_HAND);
|
||||||
|
break;
|
||||||
|
case baseIndex+3:
|
||||||
|
changeStatus(ChangeStatusEvent.AGREE);
|
||||||
|
break;
|
||||||
|
case baseIndex+4:
|
||||||
|
changeStatus(ChangeStatusEvent.DISAGREE);
|
||||||
|
break;
|
||||||
|
case baseIndex+5:
|
||||||
|
changeStatus(ChangeStatusEvent.SPEAK_LOUDER);
|
||||||
|
break;
|
||||||
|
case baseIndex+6:
|
||||||
|
changeStatus(ChangeStatusEvent.SPEAK_LOWER);
|
||||||
|
break;
|
||||||
|
case baseIndex+7:
|
||||||
|
changeStatus(ChangeStatusEvent.SPEAK_FASTER);
|
||||||
|
break;
|
||||||
|
case baseIndex+8:
|
||||||
|
changeStatus(ChangeStatusEvent.SPEAK_SLOWER);
|
||||||
|
break;
|
||||||
|
case baseIndex+9:
|
||||||
|
changeStatus(ChangeStatusEvent.BE_RIGHT_BACK);
|
||||||
|
break;
|
||||||
|
case baseIndex+10:
|
||||||
|
changeStatus(ChangeStatusEvent.LAUGHTER);
|
||||||
|
break;
|
||||||
|
case baseIndex+11:
|
||||||
|
changeStatus(ChangeStatusEvent.SAD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function changeStatus(whichStatus:String):void
|
||||||
|
{
|
||||||
|
var e:ChangeStatusEvent = new ChangeStatusEvent(UserManager.getInstance().getConference().getMyUserId(), whichStatus);
|
||||||
|
dispatchEvent(e);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private function setRoomMute(e:UsersEvent):void {
|
private function setRoomMute(e:UsersEvent):void {
|
||||||
roomMuted = e.mute_state;
|
roomMuted = e.mute_state;
|
||||||
@ -465,7 +481,7 @@
|
|||||||
tabIndex="{partOptions.baseTabIndex+5}"
|
tabIndex="{partOptions.baseTabIndex+5}"
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.users.usersGrid.accessibilityName')}" >
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.users.usersGrid.accessibilityName')}" >
|
||||||
<mx:columns>
|
<mx:columns>
|
||||||
<mx:DataGridColumn dataField="userStatus" headerText="{ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer')}" editable="false" width="45" minWidth="45"
|
<mx:DataGridColumn dataField="userStatus" headerText="{ResourceUtil.getInstance().getString('bbb.users.usersGrid.statusItemRenderer')}" editable="false" width="60" minWidth="60"
|
||||||
itemRenderer="org.bigbluebutton.modules.users.views.StatusItemRenderer" sortable="false" />
|
itemRenderer="org.bigbluebutton.modules.users.views.StatusItemRenderer" sortable="false" />
|
||||||
<mx:DataGridColumn dataField="name" headerText="{ResourceUtil.getInstance().getString('bbb.users.usersGrid.nameItemRenderer')}" editable="false" sortable="false" minWidth="60"
|
<mx:DataGridColumn dataField="name" headerText="{ResourceUtil.getInstance().getString('bbb.users.usersGrid.nameItemRenderer')}" editable="false" sortable="false" minWidth="60"
|
||||||
itemRenderer="org.bigbluebutton.modules.users.views.NameItemRenderer"/>
|
itemRenderer="org.bigbluebutton.modules.users.views.NameItemRenderer"/>
|
||||||
@ -480,11 +496,6 @@
|
|||||||
click="openSettings()" visible="true"
|
click="openSettings()" visible="true"
|
||||||
tabIndex="{partOptions.baseTabIndex+10}" />
|
tabIndex="{partOptions.baseTabIndex+10}" />
|
||||||
|
|
||||||
<mx:Button id="statusBtn" icon="{images.status}" width="30" height="30"
|
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.users.statusBtn.toolTip')}"
|
|
||||||
click="openParticipantStatus()" visible="false"
|
|
||||||
tabIndex="{partOptions.baseTabIndex+15}" />
|
|
||||||
|
|
||||||
<mx:Label id="roomMutedLbl" text="{ResourceUtil.getInstance().getString('bbb.users.settings.muteAll')}" />
|
<mx:Label id="roomMutedLbl" text="{ResourceUtil.getInstance().getString('bbb.users.settings.muteAll')}" />
|
||||||
<mx:Spacer width="100%"/>
|
<mx:Spacer width="100%"/>
|
||||||
</mx:ControlBar>
|
</mx:ControlBar>
|
||||||
|
Loading…
Reference in New Issue
Block a user