diff --git a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiItemRenderer.mxml b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiItemRenderer.mxml index f9fe6bd9f2b57be8f6f20cc79fb365424c6304d0..637d0249995ddda24e52f841575b623491f52f4f 100644 --- a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiItemRenderer.mxml +++ b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiItemRenderer.mxml @@ -1,8 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" - xmlns:mx="library://ns.adobe.com/flex/mx" - styleName="statusItemStyle"> + xmlns:mx="library://ns.adobe.com/flex/mx"> <s:states> <s:State name="normal" /> <s:State name="selected" /> @@ -10,8 +9,6 @@ <fx:Script> <![CDATA[ - import org.bigbluebutton.air.user.models.EmojiStatus; - override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { icon.text = getStyle("icon"); icon.setStyle("fontFamily", getStyle("iconFont")); @@ -37,7 +34,7 @@ <s:HGroup id="content" width="100%" verticalAlign="middle" - padding="6" + padding="8" height="{getStyle('itemHeight')}"> <s:Label id="icon" /> diff --git a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiListSkin.mxml b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiListSkin.mxml index 76a8654d935a0e9824158a7f8372a9cf1f32c657..f7a8114075603a588ef618c2dcef330727df813b 100644 --- a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiListSkin.mxml +++ b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiListSkin.mxml @@ -170,7 +170,7 @@ <!--- The default layout is vertical and measures at least for 5 rows. When switching to a different layout, HorizontalLayout for example, make sure to adjust the minWidth, minHeight sizes of the skin --> - <s:VerticalLayout gap="0" horizontalAlign="contentJustify" requestedMinRowCount="5" /> + <s:VerticalLayout gap="0" horizontalAlign="contentJustify" requestedMinRowCount="9" /> </s:layout> </s:DataGroup> </s:Scroller> diff --git a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUp.as b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUp.as index fa7d85aa162bdbe5b15c2e397bfd2bc95ca7fd7e..409708b0f733280e8edf6a8d8f979a22fb98e728 100644 --- a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUp.as +++ b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUp.as @@ -1,5 +1,4 @@ package org.bigbluebutton.air.main.views { - import mx.collections.ArrayCollection; import mx.core.ScrollPolicy; import spark.components.List; @@ -8,8 +7,6 @@ package org.bigbluebutton.air.main.views { import spark.layouts.HorizontalAlign; import spark.layouts.VerticalAlign; - import org.bigbluebutton.air.user.models.EmojiStatus; - public class EmojiPopUp extends SkinnablePopUpContainer { private var _statusList:List; @@ -27,32 +24,20 @@ package org.bigbluebutton.air.main.views { this.addElement(mainGroup); _statusList = new List(); - _statusList.percentWidth = 100; _statusList.minWidth = 160; _statusList.styleName = "statusList"; _statusList.percentHeight = 100; _statusList.labelField = "label"; - _statusList.dataProvider = new ArrayCollection([ - {label: "Raise", signal: EmojiStatus.RAISE_HAND, icon: "hand"}, - {label: "Happy", signal: EmojiStatus.HAPPY, icon: "happy"}, - {label: "Undecided", signal: EmojiStatus.NEUTRAL, icon: "undecided"}, - {label: "Sad", signal: EmojiStatus.SAD, icon: "sad"}, - {label: "Confused", signal: EmojiStatus.CONFUSED, icon: "confused"}, - {label: "Away", signal: EmojiStatus.AWAY, icon: "hand"}, - {label: "Thumbs up", signal: EmojiStatus.THUMBS_UP, icon: "thumbs-up"}, - {label: "Thumbs down", signal: EmojiStatus.THUMBS_DOWN, icon: "thumbs-down"}, - {label: "Applause", signal: EmojiStatus.APPLAUSE, icon: "applause"}, - {label: "Clear", signal: EmojiStatus.NO_STATUS, icon: "clear-status"}] - ); mainGroup.addElement(_statusList); } - override protected function updateDisplayList(w:Number, h:Number):void { super.updateDisplayList(w, h); _statusList.setStyle('verticalScrollPolicy', ScrollPolicy.OFF); _statusList.setStyle('horizontalScrollPolicy', ScrollPolicy.OFF); + + this.width = _statusList.width; } } } diff --git a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUpMediator.as b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUpMediator.as index af9e14aa1ea1b3ce7a3d3f7e5f37f22388383605..09dedada4fc15079ce8b0abffe406c1dcb6d7948 100644 --- a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUpMediator.as +++ b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/EmojiPopUpMediator.as @@ -8,6 +8,7 @@ package org.bigbluebutton.air.main.views { import org.bigbluebutton.air.main.commands.EmojiSignal; import org.bigbluebutton.air.main.models.IMeetingData; + import org.bigbluebutton.air.user.models.EmojiStatus; import robotlegs.bender.bundles.mvcs.Mediator; @@ -25,7 +26,7 @@ package org.bigbluebutton.air.main.views { protected var dataProvider:ArrayCollection; override public function initialize():void { - view.statusList.addEventListener(MouseEvent.CLICK, onSelectStatus); + fillEmojiData(); for (var i:Number = 0; i < view.statusList.dataProvider.length; i++) { if (meetingData.users.me.emoji == view.statusList.dataProvider.getItemAt(i).signal) { @@ -33,7 +34,8 @@ package org.bigbluebutton.air.main.views { break; } } - updateListOrientation(); + + view.statusList.addEventListener(MouseEvent.CLICK, onSelectStatus); view.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, closePopUp); } @@ -41,24 +43,19 @@ package org.bigbluebutton.air.main.views { (view as SkinnablePopUpContainer).close(false); } - private function updateListOrientation():void { - /* - if (FlexGlobals.topLevelApplication.aspectRatio == "landscape") { - view.statusList.layout = new HorizontalLayout(); - view.statusList.width = FlexGlobals.topLevelApplication.width; - view.statusList.setStyle('verticalScrollPolicy', ScrollPolicy.OFF); - view.statusList.itemRenderer = new ClassFactory(HorizontalStatusItemRenderer); - } else { - - } - */ - } - private function onSelectStatus(event:MouseEvent):void { emojiSignal.dispatch(meetingData.users.me, view.statusList.selectedItem.signal); view.close(); } + private function fillEmojiData():void { + view.statusList.dataProvider = new ArrayCollection([{label: "Raise", signal: EmojiStatus.RAISE_HAND, icon: "hand"}, {label: "Happy", signal: EmojiStatus.HAPPY, icon: "happy"}, {label: "Undecided", signal: EmojiStatus.NEUTRAL, icon: "undecided"}, {label: "Sad", signal: EmojiStatus.SAD, icon: "sad"}, {label: "Confused", signal: EmojiStatus.CONFUSED, icon: "confused"}, {label: "Away", signal: EmojiStatus.AWAY, icon: "hand"}, {label: "Thumbs up", signal: EmojiStatus.THUMBS_UP, icon: "thumbs-up"}, {label: "Thumbs down", signal: EmojiStatus.THUMBS_DOWN, icon: "thumbs-down"}, {label: "Applause", signal: EmojiStatus.APPLAUSE, icon: "applause"},]); + + if (meetingData.users.me.emoji != EmojiStatus.NO_STATUS) { + ArrayCollection(view.statusList.dataProvider).addItem({label: "Clear", signal: EmojiStatus.NO_STATUS, icon: "clear-status"}); + } + } + override public function destroy():void { view.statusList.addEventListener(MouseEvent.CLICK, onSelectStatus); view.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, closePopUp); diff --git a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/MenuButtonsMediator.as b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/MenuButtonsMediator.as index fed60934919386d9cb12df05c7e05ece023d8f16..cc1d4da97e52b2af27ae8a3c8f7183f6870781be 100755 --- a/clients/flash/air-client/src/org/bigbluebutton/air/main/views/MenuButtonsMediator.as +++ b/clients/flash/air-client/src/org/bigbluebutton/air/main/views/MenuButtonsMediator.as @@ -3,10 +3,13 @@ package org.bigbluebutton.air.main.views { import flash.display.DisplayObjectContainer; import flash.events.MouseEvent; + import spark.events.PopUpEvent; + import org.bigbluebutton.air.common.PageEnum; import org.bigbluebutton.air.main.models.IConferenceParameters; import org.bigbluebutton.air.main.models.IMeetingData; import org.bigbluebutton.air.main.models.IUISession; + import org.bigbluebutton.air.user.models.EmojiStatus; import org.bigbluebutton.air.video.commands.ShareCameraSignal; import org.bigbluebutton.air.video.models.WebcamStreamInfo; import org.bigbluebutton.air.voice.commands.MicrophoneMuteSignal; @@ -63,7 +66,11 @@ package org.bigbluebutton.air.main.views { emojiPopUp.open(view.parentApplication as DisplayObjectContainer, true); emojiPopUp.x = view.x + view.statusButton.x - 10; - emojiPopUp.y = view.y - emojiPopUp.height * 2 - 35; + if (meetingData.users.me.emoji != EmojiStatus.NO_STATUS) { + emojiPopUp.y = view.y - emojiPopUp.height * 2 - 35; + } else { + emojiPopUp.y = view.y - emojiPopUp.height * 2 - 5; + } } protected function micOnOff(e:MouseEvent):void {