diff --git a/bigbluebutton-client/locale/en_US/bbbResources.properties b/bigbluebutton-client/locale/en_US/bbbResources.properties index 95a7344566..e4c9fe61f0 100644 --- a/bigbluebutton-client/locale/en_US/bbbResources.properties +++ b/bigbluebutton-client/locale/en_US/bbbResources.properties @@ -550,7 +550,9 @@ bbb.shortcutkey.users.focusUsers = 85 bbb.shortcutkey.users.focusUsers.function = Focus to users list bbb.shortcutkey.users.muteAllButPres = 65 bbb.shortcutkey.users.muteAllButPres.function = Mute everyone but the Presenter -bbb.shortcutkey.users.focusBreakoutRooms = 66 +bbb.shortcutkey.users.breakoutRooms = 75 +bbb.shortcutkey.users.breakoutRooms.function = Breakout rooms window +bbb.shortcutkey.users.focusBreakoutRooms = 84 bbb.shortcutkey.users.focusBreakoutRooms.function = Focus to breakout rooms list bbb.shortcutkey.users.listenToBreakoutRoom = 76 bbb.shortcutkey.users.listenToBreakoutRoom.function = Listen to selected breakout room @@ -624,14 +626,14 @@ bbb.shortcutkey.specialKeys.plus = Plus bbb.shortcutkey.specialKeys.minus = Minus bbb.toolbar.videodock.toolTip.closeAllVideos = Close all videos -bbb.users.settings.lockAll=Lock All Users -bbb.users.settings.lockAllExcept=Lock Users Except Presenter -bbb.users.settings.lockSettings=Lock Viewers ... -bbb.users.settings.breakoutRooms=Breakout Rooms ... -bbb.users.settings.sendBreakoutRoomsInvitations=Send Breakout Rooms Invitations ... -bbb.users.settings.unlockAll=Unlock All Viewers -bbb.users.settings.roomIsLocked=Locked by default -bbb.users.settings.roomIsMuted=Muted by default +bbb.users.settings.lockAll = Lock All Users +bbb.users.settings.lockAllExcept = Lock Users Except Presenter +bbb.users.settings.lockSettings = Lock Viewers ... +bbb.users.settings.breakoutRooms = Breakout Rooms ... +bbb.users.settings.sendBreakoutRoomsInvitations = Send Breakout Rooms Invitations ... +bbb.users.settings.unlockAll = Unlock All Viewers +bbb.users.settings.roomIsLocked = Locked by default +bbb.users.settings.roomIsMuted = Muted by default bbb.lockSettings.save = Apply bbb.lockSettings.save.tooltip = Apply lock settings diff --git a/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml b/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml index 2ddc9372cd..b82548b830 100644 --- a/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml +++ b/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml @@ -166,6 +166,7 @@ with BigBlueButton; if not, see . keyCombos[globalModifier+(ResourceUtil.getInstance().getString('bbb.shortcutkey.raiseHand') as String)] = ShortcutEvent.RAISE_HAND; keyCombos[globalModifier+(ResourceUtil.getInstance().getString('bbb.shortcutkey.users.muteme') as String)] = ShortcutEvent.MUTE_ME_EVENT; keyCombos[globalModifier+(ResourceUtil.getInstance().getString('bbb.shortcutkey.users.muteAllButPres') as String)] = ShortcutEvent.MUTE_ALL_BUT_PRES; + keyCombos[globalModifier+(ResourceUtil.getInstance().getString('bbb.shortcutkey.users.breakoutRooms') as String)] = ShortcutEvent.OPEN_BREAKOUT_ROOMS; } if (ShortcutOptions.presentationActive){ keyCombos[globalModifier+(ResourceUtil.getInstance().getString('bbb.shortcutkey.focus.presentation') as String)] = ShortcutEvent.FOCUS_PRESENTATION_WINDOW; @@ -201,7 +202,7 @@ with BigBlueButton; if not, see . // Handle general-access hotkeys, regardless of what window the user is focused in private function handleKeyDown(e:KeyboardEvent) :void { - if (keyCombos == null) loadKeyCombos(globalModifier); + if (keyCombos == null) loadKeyCombos(globalModifier); var keyPress:String = KeyboardUtil.buildPressedKeys(e); diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/KeyboardUtil.as b/bigbluebutton-client/src/org/bigbluebutton/core/KeyboardUtil.as index 70cb504134..97b1685c6a 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/core/KeyboardUtil.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/KeyboardUtil.as @@ -17,6 +17,7 @@ * */ package org.bigbluebutton.core { + import flash.events.KeyboardEvent; public final class KeyboardUtil { diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/events/ShortcutEvent.as b/bigbluebutton-client/src/org/bigbluebutton/main/events/ShortcutEvent.as index 0881b47049..d44f70801f 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/main/events/ShortcutEvent.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/events/ShortcutEvent.as @@ -79,6 +79,7 @@ package org.bigbluebutton.main.events { //public static const FOCUS_LOOP_END:String = 'FOCUS_LOOP_END'; public static const FOCUS_SHORTCUT_BUTTON:String = 'FOCUS_SHORTCUT_BUTTON'; public static const MUTE_ALL_BUT_PRES:String = 'MUTE_ALL_BUT_PRES'; + public static const OPEN_BREAKOUT_ROOMS:String = 'OPEN_BREAKOUT_ROOMS'; public static const FOCUS_LOGOUT_BUTTON:String = 'FOCUS_LOGOUT_BUTTON'; public static const CLOSE_POLL_STATS:String = 'CLOSE_POLL_STATS'; diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/ShortcutOptions.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/ShortcutOptions.as index 80646d887f..136e0ab398 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/ShortcutOptions.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/ShortcutOptions.as @@ -90,6 +90,7 @@ package org.bigbluebutton.main.model generalResource.push('bbb.shortcutkey.logout'); if (users){generalResource.push('bbb.shortcutkey.raiseHand');} + if (users){generalResource.push('bbb.shortcutkey.users.breakoutRooms');} if (audio){generalResource.push('bbb.shortcutkey.users.muteme');} if (audio){generalResource.push('bbb.shortcutkey.users.muteAllButPres');} if (chat){generalResource.push('bbb.shortcutkey.chat.chatinput');} diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml old mode 100755 new mode 100644 index 904399336c..f2d118e6b6 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml @@ -34,6 +34,7 @@ + @@ -641,7 +642,13 @@ muteAll(); } } - + + private function handleOpenBreakoutRooms(e:ShortcutEvent):void{ + if (breakoutOptions.enabled && amIModerator && !UserManager.getInstance().getConference().isBreakout) { + breakoutRooms(); + } + } + private function breakoutRoomNameLabelFunction(item:Object, column:DataGridColumn) : String { return ResourceUtil.getInstance().getString('bbb.users.roomsGrid.room') + " " + item.sequence; }