Merge branch 'riadvice-2x-client-theme' into bbb-2x-mconf
This commit is contained in:
commit
a81dc2740b
@ -189,6 +189,10 @@ phonecomponents|MuteMeButton {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Logout");
|
||||
}
|
||||
|
||||
.logoutButtonStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Logout_RTL");
|
||||
}
|
||||
|
||||
.settingsButtonStyle {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Settings");
|
||||
}
|
||||
@ -576,6 +580,18 @@ chat|AddChatTabBox {
|
||||
fillColorDisabled : #F0F2F6;
|
||||
}
|
||||
|
||||
.chatControlBarSendButtonStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Send_RTL");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Send_Disabled_RTL");
|
||||
cornerRadius : 20;
|
||||
borderStyle : none;
|
||||
borderThickness : 0;
|
||||
fillColorUp : #1070D7;
|
||||
fillColorOver : #0A5EAC;
|
||||
fillColorDown : #1070D7;
|
||||
fillColorDisabled : #F0F2F6;
|
||||
}
|
||||
|
||||
.chatControlBarTextMsgStyle {
|
||||
borderStyle : solid;
|
||||
borderThickness : 1;
|
||||
@ -829,10 +845,14 @@ layout|LoadButton {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Upload_Template");
|
||||
}
|
||||
|
||||
layout|BroadcastButton {
|
||||
.broadcastLayoutButtonStyle {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Send_Layout");
|
||||
}
|
||||
|
||||
.broadcastLayoutButtonStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Send_Layout_RTL");
|
||||
}
|
||||
|
||||
/*
|
||||
//------------------------------
|
||||
// Logout Window
|
||||
@ -1112,21 +1132,21 @@ mx|Panel {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Polling");
|
||||
}
|
||||
|
||||
.presentationBackButtonStyle {
|
||||
.presentationBackButtonStyle, .presentationForwardButtonStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Arrow_Left");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Arrow_Left_Disabled");
|
||||
}
|
||||
|
||||
.presentationBackButtonDisabledStyle {
|
||||
.presentationBackButtonDisabledStyle, .presentationForwardButtonDisabledStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Arrow_Left_Disabled");
|
||||
}
|
||||
|
||||
.presentationForwardButtonStyle {
|
||||
.presentationForwardButtonStyle, .presentationBackButtonStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Arrow_Right");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Arrow_Right_Disabled");
|
||||
}
|
||||
|
||||
.presentationForwardButtonDisabledStyle {
|
||||
.presentationForwardButtonDisabledStyle, .presentationBackButtonDisabledStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Arrow_Right_Disabled");
|
||||
}
|
||||
|
||||
@ -1165,6 +1185,8 @@ mx|Panel {
|
||||
}
|
||||
|
||||
.uploadFileButton {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Go");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Go_Disabled");
|
||||
fillColorUp : #1070D7;
|
||||
fillColorOver : #0A5EAC;
|
||||
fillColorDown : #1070D7;
|
||||
@ -1176,9 +1198,18 @@ mx|Panel {
|
||||
borderThickness : 0;
|
||||
}
|
||||
|
||||
.uploadFileButton {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Go");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Go_Disabled");
|
||||
.uploadFileButtonRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Go_RTL");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Go_Disabled_RTL");
|
||||
fillColorUp : #1070D7;
|
||||
fillColorOver : #0A5EAC;
|
||||
fillColorDown : #1070D7;
|
||||
fillColorDisabled : #F0F2F6;
|
||||
color : #FFFFFF;
|
||||
textRollOverColor : #FFFFFF;
|
||||
textSelectedColor : #FFFFFF;
|
||||
borderStyle : none;
|
||||
borderThickness : 0;
|
||||
}
|
||||
|
||||
.presentationNameLabel {
|
||||
@ -1327,12 +1358,12 @@ sharednotes|SharedNotesRichTextEditor {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Save");
|
||||
}
|
||||
|
||||
.sharedNotesUndoButtonStyle {
|
||||
.sharedNotesUndoButtonStyle, .sharedNotesRedoButtonStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Undo");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Undo_Disabled");
|
||||
}
|
||||
|
||||
.sharedNotesRedoButtonStyle {
|
||||
.sharedNotesRedoButtonStyle, .sharedNotesUndoButtonStyleRTL {
|
||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Redo");
|
||||
disabledIcon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Redo_Disabled");
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
@ -7,7 +7,7 @@
|
||||
<porttest host="HOST" application="video/portTest" timeout="10000"/>
|
||||
<bwMon server="HOST" application="video/bwTest"/>
|
||||
<application uri="rtmp://HOST/bigbluebutton" host="http://HOST/bigbluebutton/api/enter"/>
|
||||
<language userSelectionEnabled="true" />
|
||||
<language userSelectionEnabled="true" rtlEnabled="true"/>
|
||||
<skinning enabled="true" url="http://HOST/client/branding/css/V2Theme.css.swf?v=VERSION" />
|
||||
<branding logo="logo.swf" copyright="© 2017 <u><a href="http://HOST/home.html" target="_blank">BigBlueButton Inc.</a></u> (build {0})" background="" toolbarColor="" />
|
||||
<shortcutKeys showButton="true" />
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<locales>
|
||||
<locale code="ar" name="Arabic"/>
|
||||
<locale code="ar" name="Arabic" direction="rtl"/>
|
||||
<locale code="az_AZ" name="Azerbaijani"/>
|
||||
<locale code="eu_EU" name="Basque" />
|
||||
<locale code="bn_BN" name="Bengali" />
|
||||
@ -21,7 +21,7 @@
|
||||
<locale code="ff_SN" name="Fulah"/>
|
||||
<locale code="de_DE" name="German"/>
|
||||
<locale code="el_GR" name="Greek"/>
|
||||
<locale code="he_IL" name="Hebrew"/>
|
||||
<locale code="he_IL" name="Hebrew" direction="rtl"/>
|
||||
<locale code="hu_HU" name="Hungarian"/>
|
||||
<locale code="id_ID" name="Indonesian"/>
|
||||
<locale code="it_IT" name="Italian"/>
|
||||
|
@ -23,6 +23,9 @@ package org.bigbluebutton.main.model.options {
|
||||
|
||||
[Bindable]
|
||||
public var userSelectionEnabled:Boolean = true;
|
||||
|
||||
[Bindable]
|
||||
public var rtlEnabled:Boolean = false;
|
||||
|
||||
public function LanguageOptions() {
|
||||
name = "language";
|
||||
|
@ -1,49 +1,49 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
|
||||
BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
||||
|
||||
Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU Lesser General Public License as published by the Free Software
|
||||
Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
version.
|
||||
|
||||
BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
|
||||
<mx:ComboBox xmlns:mx="library://ns.adobe.com/flex/mx"
|
||||
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
||||
xmlns:mate="http://mate.asfusion.com/"
|
||||
dataProvider="{ResourceUtil.getInstance().locales}"
|
||||
change="changeLanguage()"
|
||||
labelField="name"
|
||||
rowCount="15" width="120" height="22">
|
||||
|
||||
<fx:Declarations>
|
||||
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="localeChanged" />
|
||||
</fx:Declarations>
|
||||
|
||||
<fx:Script>
|
||||
<![CDATA[
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||
|
||||
private function localeChanged(e:LocaleChangeEvent):void {
|
||||
selectedIndex = ResourceUtil.getInstance().getCurrentLanguageIndex();
|
||||
}
|
||||
|
||||
private function changeLanguage():void {
|
||||
ResourceUtil.getInstance().setPreferredLocale(selectedItem.code);
|
||||
}
|
||||
]]>
|
||||
</fx:Script>
|
||||
</mx:ComboBox>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
|
||||
BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
||||
|
||||
Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU Lesser General Public License as published by the Free Software
|
||||
Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
version.
|
||||
|
||||
BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
|
||||
<mx:ComboBox xmlns:mx="library://ns.adobe.com/flex/mx"
|
||||
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
||||
xmlns:mate="http://mate.asfusion.com/"
|
||||
dataProvider="{ResourceUtil.getInstance().locales}"
|
||||
change="changeLanguage()"
|
||||
labelField="name"
|
||||
rowCount="15" width="120" height="22">
|
||||
|
||||
<fx:Declarations>
|
||||
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="localeChanged" />
|
||||
</fx:Declarations>
|
||||
|
||||
<fx:Script>
|
||||
<![CDATA[
|
||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
|
||||
private function localeChanged(e:LocaleChangeEvent):void {
|
||||
selectedIndex = ResourceUtil.getInstance().getCurrentLanguageIndex();
|
||||
}
|
||||
|
||||
private function changeLanguage():void {
|
||||
ResourceUtil.getInstance().setPreferredLocale(selectedItem);
|
||||
}
|
||||
]]>
|
||||
</fx:Script>
|
||||
</mx:ComboBox>
|
||||
|
@ -73,6 +73,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<mate:Listener type="{InvalidAuthTokenEvent.INVALID_AUTH_TOKEN}" method="handleInvalidAuthToken" />
|
||||
|
||||
<mate:Listener type="{SwitchedLayoutEvent.SWITCHED_LAYOUT_EVENT}" method="onLayoutChanged" />
|
||||
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="onLocaleChanged" />
|
||||
|
||||
<mate:Listener type="{NetworkStatsEvent.OPEN_NETSTATS_WIN}" method="openNetworkStatsWindow" />
|
||||
<mate:Listener type="{BBBEvent.RETRIEVE_GUEST_POLICY}" method="setGuestPolicy"/>
|
||||
@ -112,6 +113,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
import org.bigbluebutton.common.IBbbModuleWindow;
|
||||
import org.bigbluebutton.common.events.AddUIComponentToMainCanvas;
|
||||
import org.bigbluebutton.common.events.CloseWindowEvent;
|
||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||
import org.bigbluebutton.common.events.OpenWindowEvent;
|
||||
import org.bigbluebutton.common.events.ToolbarButtonEvent;
|
||||
import org.bigbluebutton.core.BBB;
|
||||
@ -886,6 +888,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
controlBar.styleName = "darkControlBarStyle";
|
||||
}
|
||||
}
|
||||
|
||||
private function onLocaleChanged(e:LocaleChangeEvent) : void {
|
||||
if (ResourceUtil.getInstance().isRTLEnabled()) {
|
||||
FlexGlobals.topLevelApplication.setStyle("layoutDirection", ResourceUtil.getInstance().getCurrentLanguageDirection());
|
||||
}
|
||||
}
|
||||
|
||||
]]>
|
||||
</fx:Script>
|
||||
|
@ -37,6 +37,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<mate:Listener type="{ConnectionFailedEvent.CONNECTION_CLOSED}" method="hideToolbar" />
|
||||
<mate:Listener type="{ConfigLoadedEvent.CONFIG_LOADED_EVENT}" method="handleConfigLoadedEvent" />
|
||||
<mate:Listener type="{SettingsEvent.SETTINGS_MODULE_LOADED}" method="showSettingsButton" />
|
||||
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="localeChanged" />
|
||||
<mate:Listener type="{ShortcutEvent.REMOTE_OPEN_SHORTCUT_WIN}" method="remoteShortcutClick" />
|
||||
<mate:Listener type="{ShortcutEvent.LOGOUT}" method="remoteLogout" />
|
||||
<mate:Listener type="{ShortcutEvent.FOCUS_SHORTCUT_BUTTON}" method="focusShortcutButton" />
|
||||
@ -53,45 +54,48 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
</fx:Declarations>
|
||||
<fx:Script>
|
||||
<![CDATA[
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import mx.binding.utils.BindingUtils;
|
||||
import mx.controls.Alert;
|
||||
import mx.core.FlexGlobals;
|
||||
import mx.core.IToolTip;
|
||||
import mx.core.UIComponent;
|
||||
import mx.events.CloseEvent;
|
||||
import mx.events.ToolTipEvent;
|
||||
import mx.managers.PopUpManager;
|
||||
|
||||
import org.as3commons.lang.StringUtils;
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
import org.as3commons.logging.api.getClassLogger;
|
||||
import org.bigbluebutton.common.events.SettingsComponentEvent;
|
||||
import org.bigbluebutton.common.events.ToolbarButtonEvent;
|
||||
import org.bigbluebutton.core.BBB;
|
||||
import org.bigbluebutton.core.Options;
|
||||
import org.bigbluebutton.core.TimerUtil;
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.core.events.MeetingTimeRemainingEvent;
|
||||
import org.bigbluebutton.core.model.Config;
|
||||
import org.bigbluebutton.core.model.LiveMeeting;
|
||||
import org.bigbluebutton.main.events.BBBEvent;
|
||||
import org.bigbluebutton.main.events.ConfigLoadedEvent;
|
||||
import org.bigbluebutton.main.events.LogoutEvent;
|
||||
import org.bigbluebutton.main.events.NetworkStatsEvent;
|
||||
import org.bigbluebutton.main.events.SettingsEvent;
|
||||
import org.bigbluebutton.main.events.ShortcutEvent;
|
||||
import org.bigbluebutton.main.events.SuccessfulLoginEvent;
|
||||
import org.bigbluebutton.main.model.NetworkStatsData;
|
||||
import org.bigbluebutton.main.model.options.BrandingOptions;
|
||||
import org.bigbluebutton.main.model.options.LayoutOptions;
|
||||
import org.bigbluebutton.main.model.options.ShortcutKeysOptions;
|
||||
import org.bigbluebutton.main.model.users.events.ChangeMyRole;
|
||||
import org.bigbluebutton.main.model.users.events.ConferenceCreatedEvent;
|
||||
import org.bigbluebutton.main.model.users.events.ConnectionFailedEvent;
|
||||
import org.bigbluebutton.modules.users.model.UsersOptions;
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import mx.binding.utils.BindingUtils;
|
||||
import mx.controls.Alert;
|
||||
import mx.core.FlexGlobals;
|
||||
import mx.core.IToolTip;
|
||||
import mx.core.UIComponent;
|
||||
import mx.events.CloseEvent;
|
||||
import mx.events.ToolTipEvent;
|
||||
import mx.managers.PopUpManager;
|
||||
|
||||
import flashx.textLayout.formats.Direction;
|
||||
|
||||
import org.as3commons.lang.StringUtils;
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
import org.as3commons.logging.api.getClassLogger;
|
||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||
import org.bigbluebutton.common.events.SettingsComponentEvent;
|
||||
import org.bigbluebutton.common.events.ToolbarButtonEvent;
|
||||
import org.bigbluebutton.core.BBB;
|
||||
import org.bigbluebutton.core.Options;
|
||||
import org.bigbluebutton.core.TimerUtil;
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.core.events.MeetingTimeRemainingEvent;
|
||||
import org.bigbluebutton.core.model.Config;
|
||||
import org.bigbluebutton.core.model.LiveMeeting;
|
||||
import org.bigbluebutton.main.events.BBBEvent;
|
||||
import org.bigbluebutton.main.events.ConfigLoadedEvent;
|
||||
import org.bigbluebutton.main.events.LogoutEvent;
|
||||
import org.bigbluebutton.main.events.NetworkStatsEvent;
|
||||
import org.bigbluebutton.main.events.SettingsEvent;
|
||||
import org.bigbluebutton.main.events.ShortcutEvent;
|
||||
import org.bigbluebutton.main.events.SuccessfulLoginEvent;
|
||||
import org.bigbluebutton.main.model.NetworkStatsData;
|
||||
import org.bigbluebutton.main.model.options.BrandingOptions;
|
||||
import org.bigbluebutton.main.model.options.LayoutOptions;
|
||||
import org.bigbluebutton.main.model.options.ShortcutKeysOptions;
|
||||
import org.bigbluebutton.main.model.users.events.ChangeMyRole;
|
||||
import org.bigbluebutton.main.model.users.events.ConferenceCreatedEvent;
|
||||
import org.bigbluebutton.main.model.users.events.ConnectionFailedEvent;
|
||||
import org.bigbluebutton.modules.users.model.UsersOptions;
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
|
||||
private static const LOGGER:ILogger = getClassLogger(MainToolbar);
|
||||
|
||||
@ -408,6 +412,15 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
this.addChild(b);
|
||||
}
|
||||
|
||||
private function localeChanged(event:LocaleChangeEvent) : void {
|
||||
var styleNameExt : String = "";
|
||||
if (ResourceUtil.getInstance().isRTLEnabled() && ResourceUtil.getInstance().getCurrentLanguageDirection() == Direction.RTL) {
|
||||
styleNameExt = "RTL";
|
||||
}
|
||||
|
||||
btnLogout.styleName = "logoutButtonStyle" + styleNameExt;
|
||||
}
|
||||
|
||||
private function openSettings(e:Event = null):void{
|
||||
var d:Dispatcher = new Dispatcher();
|
||||
d.dispatchEvent(new SettingsEvent(SettingsEvent.OPEN_SETTINGS_PANEL));
|
||||
@ -567,7 +580,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
styleName="helpLinkButtonStyle"
|
||||
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.helpBtn')}"
|
||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.micSettings.access.helpButton')}"/>
|
||||
<mx:Button label="" id="btnLogout" styleName="logoutButtonStyle"
|
||||
<mx:Button id="btnLogout" styleName="logoutButtonStyle"
|
||||
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.logoutBtn.toolTip')}" right="10" click="confirmLogout()" height="30"/>
|
||||
</mx:HBox>
|
||||
</mx:HBox>
|
||||
|
@ -48,38 +48,40 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
<fx:Script>
|
||||
<![CDATA[
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import flash.events.TextEvent;
|
||||
|
||||
import mx.binding.utils.BindingUtils;
|
||||
|
||||
import org.as3commons.lang.StringUtils;
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
import org.as3commons.logging.api.getClassLogger;
|
||||
import org.bigbluebutton.core.Options;
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.core.events.LockControlEvent;
|
||||
import org.bigbluebutton.core.model.LiveMeeting;
|
||||
import org.bigbluebutton.main.events.BBBEvent;
|
||||
import org.bigbluebutton.main.events.ShortcutEvent;
|
||||
import org.bigbluebutton.main.events.UserJoinedEvent;
|
||||
import org.bigbluebutton.main.events.UserLeftEvent;
|
||||
import org.bigbluebutton.main.model.users.events.ChangeMyRole;
|
||||
import org.bigbluebutton.modules.chat.ChatUtil;
|
||||
import org.bigbluebutton.modules.chat.events.ChatEvent;
|
||||
import org.bigbluebutton.modules.chat.events.ChatHistoryEvent;
|
||||
import org.bigbluebutton.modules.chat.events.ChatOptionsEvent;
|
||||
import org.bigbluebutton.modules.chat.events.ClearPublicChatEvent;
|
||||
import org.bigbluebutton.modules.chat.events.PrivateChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.events.PublicChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.events.SendPrivateChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.events.SendPublicChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.model.ChatConversation;
|
||||
import org.bigbluebutton.modules.chat.model.ChatOptions;
|
||||
import org.bigbluebutton.modules.chat.vo.ChatMessageVO;
|
||||
import org.bigbluebutton.modules.polling.events.StartCustomPollEvent;
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import flash.events.TextEvent;
|
||||
|
||||
import mx.binding.utils.BindingUtils;
|
||||
|
||||
import flashx.textLayout.formats.Direction;
|
||||
|
||||
import org.as3commons.lang.StringUtils;
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
import org.as3commons.logging.api.getClassLogger;
|
||||
import org.bigbluebutton.core.Options;
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.core.events.LockControlEvent;
|
||||
import org.bigbluebutton.core.model.LiveMeeting;
|
||||
import org.bigbluebutton.main.events.BBBEvent;
|
||||
import org.bigbluebutton.main.events.ShortcutEvent;
|
||||
import org.bigbluebutton.main.events.UserJoinedEvent;
|
||||
import org.bigbluebutton.main.events.UserLeftEvent;
|
||||
import org.bigbluebutton.main.model.users.events.ChangeMyRole;
|
||||
import org.bigbluebutton.modules.chat.ChatUtil;
|
||||
import org.bigbluebutton.modules.chat.events.ChatEvent;
|
||||
import org.bigbluebutton.modules.chat.events.ChatHistoryEvent;
|
||||
import org.bigbluebutton.modules.chat.events.ChatOptionsEvent;
|
||||
import org.bigbluebutton.modules.chat.events.ClearPublicChatEvent;
|
||||
import org.bigbluebutton.modules.chat.events.PrivateChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.events.PublicChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.events.SendPrivateChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.events.SendPublicChatMessageEvent;
|
||||
import org.bigbluebutton.modules.chat.model.ChatConversation;
|
||||
import org.bigbluebutton.modules.chat.model.ChatOptions;
|
||||
import org.bigbluebutton.modules.chat.vo.ChatMessageVO;
|
||||
import org.bigbluebutton.modules.polling.events.StartCustomPollEvent;
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
|
||||
private static const LOGGER:ILogger = getClassLogger(ChatBox);
|
||||
|
||||
@ -428,7 +430,18 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
var modifier:String = ExternalInterface.call("determineModifier");
|
||||
|
||||
addContextMenuItems();
|
||||
|
||||
updateStyles();
|
||||
}
|
||||
|
||||
private function updateStyles():void {
|
||||
var styleNameExt : String = "";
|
||||
if (ResourceUtil.getInstance().isRTLEnabled() && ResourceUtil.getInstance().getCurrentLanguageDirection() == Direction.RTL) {
|
||||
styleNameExt = "RTL";
|
||||
}
|
||||
|
||||
sendBtn.styleName = "chatControlBarSendButtonStyle" + styleNameExt;
|
||||
}
|
||||
|
||||
private function sendStartCustomPollEvent(answers:Array):void {
|
||||
var dispatcher:Dispatcher = new Dispatcher();
|
||||
|
@ -26,14 +26,21 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
toolTip="{ResourceUtil.getInstance().getString('bbb.layout.broadcastButton.toolTip')}"
|
||||
styleName="broadcastLayoutButtonStyle"
|
||||
click="onClick(event)">
|
||||
|
||||
<fx:Declarations>
|
||||
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="localeChanged" />
|
||||
</fx:Declarations>
|
||||
|
||||
<fx:Script>
|
||||
<![CDATA[
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.modules.layout.events.LayoutEvent;
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import flashx.textLayout.formats.Direction;
|
||||
|
||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.modules.layout.events.LayoutEvent;
|
||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||
|
||||
private var _dispatcher:Dispatcher = new Dispatcher();
|
||||
|
||||
@ -48,6 +55,15 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
public function refreshRole(amIModerator:Boolean):void {
|
||||
this.visible = this.includeInLayout = this.enabled = amIModerator;
|
||||
}
|
||||
|
||||
private function localeChanged(event:LocaleChangeEvent) : void {
|
||||
var styleNameExt : String = "";
|
||||
if (ResourceUtil.getInstance().isRTLEnabled() && ResourceUtil.getInstance().getCurrentLanguageDirection() == Direction.RTL) {
|
||||
styleNameExt = "RTL";
|
||||
}
|
||||
|
||||
this.styleName = "broadcastLayoutButtonStyle" + styleNameExt;
|
||||
}
|
||||
]]>
|
||||
</fx:Script>
|
||||
</views:LayoutButton>
|
||||
|
@ -23,13 +23,15 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<mx:TitleWindow xmlns:mx="library://ns.adobe.com/flex/mx"
|
||||
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
||||
xmlns:mate="http://mate.asfusion.com/"
|
||||
xmlns:common="org.bigbluebutton.common.*"
|
||||
xmlns:s="library://ns.adobe.com/flex/spark"
|
||||
width="580"
|
||||
verticalScrollPolicy="off"
|
||||
horizontalScrollPolicy="off"
|
||||
layout="absolute"
|
||||
close="onCancelClicked()"
|
||||
initialize="initData()"
|
||||
creationComplete="onCreationComplete(event)" xmlns:common="org.bigbluebutton.common.*" xmlns:s="library://ns.adobe.com/flex/spark">
|
||||
creationComplete="onCreationComplete(event)">
|
||||
|
||||
<fx:Declarations>
|
||||
<mate:Dispatcher id="globalDispatch" />
|
||||
@ -60,6 +62,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
import mx.events.ListEvent;
|
||||
import mx.utils.StringUtil;
|
||||
|
||||
import flashx.textLayout.formats.Direction;
|
||||
|
||||
import org.as3commons.lang.StringUtils;
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
import org.as3commons.logging.api.getClassLogger;
|
||||
@ -112,6 +116,16 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
protected function onCreationComplete(event:FlexEvent):void
|
||||
{
|
||||
dispatcher = new Dispatcher();
|
||||
updateStyles();
|
||||
}
|
||||
|
||||
private function updateStyles() : void {
|
||||
var styleNameExt : String = "";
|
||||
if (ResourceUtil.getInstance().isRTLEnabled() && ResourceUtil.getInstance().getCurrentLanguageDirection() == Direction.RTL) {
|
||||
styleNameExt = "RTL";
|
||||
}
|
||||
|
||||
uploadBtn.styleName = "uploadFileButton" + styleNameExt;
|
||||
}
|
||||
|
||||
private function initData():void {
|
||||
|
@ -71,6 +71,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
import mx.controls.Menu;
|
||||
import mx.events.MenuEvent;
|
||||
|
||||
import flashx.textLayout.formats.Direction;
|
||||
|
||||
import flexlib.mdi.events.MDIWindowEvent;
|
||||
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
@ -391,29 +393,34 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
shareEvent.presentationName = presentationName;
|
||||
dispatchEvent(shareEvent);
|
||||
}
|
||||
|
||||
|
||||
private function disableSlideNavigationButtons(pageNumber:int):void {
|
||||
var styleNameExt : String = "";
|
||||
if (ResourceUtil.getInstance().isRTLEnabled() && ResourceUtil.getInstance().getCurrentLanguageDirection() == Direction.RTL) {
|
||||
styleNameExt = "RTL";
|
||||
}
|
||||
|
||||
// We use mouseEnabled here instead of enabled because the tab position gets lost when going through
|
||||
//the pages. Please don't change this if you don't know why this is.
|
||||
if (pageNumber != 1) {
|
||||
backButton.mouseEnabled = true;
|
||||
backButton.styleName = "presentationBackButtonStyle";
|
||||
backButton.styleName = "presentationBackButtonStyle" + styleNameExt;
|
||||
} else {
|
||||
backButton.mouseEnabled = false;
|
||||
backButton.styleName = "presentationBackButtonDisabledStyle";
|
||||
backButton.styleName = "presentationBackButtonDisabledStyle" + styleNameExt;
|
||||
}
|
||||
|
||||
if (pageNumber < PresentationModel.getInstance().getNumberOfPages()) {
|
||||
forwardButton.mouseEnabled = true;
|
||||
forwardButton.styleName = "presentationForwardButtonStyle";
|
||||
forwardButton.styleName = "presentationForwardButtonStyle" + styleNameExt;
|
||||
} else {
|
||||
forwardButton.mouseEnabled = false;
|
||||
forwardButton.styleName = "presentationForwardButtonDisabledStyle";
|
||||
forwardButton.styleName = "presentationForwardButtonDisabledStyle" + styleNameExt;
|
||||
}
|
||||
}
|
||||
|
||||
private function displaySlideNumber(currentSlide:int):void {
|
||||
disableSlideNavigationButtons(currentSlide);
|
||||
disableSlideNavigationButtons(currentSlide);
|
||||
btnSlideNum.label = "" + currentSlide + '/' + PresentationModel.getInstance().getNumberOfPages();
|
||||
btnSlideNum.accessibilityName = ResourceUtil.getInstance().getString('bbb.presentation.btnSlideNum.accessibilityName', [currentSlide, PresentationModel.getInstance().getNumberOfPages()])
|
||||
}
|
||||
@ -490,6 +497,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
addContextMenuItems();
|
||||
|
||||
setPollMenuData();
|
||||
|
||||
updateStyles();
|
||||
}
|
||||
|
||||
private function localeChanged(e:Event):void{
|
||||
@ -564,20 +573,20 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
private function onUploadButtonClicked():void {
|
||||
openUploadWindow();
|
||||
}
|
||||
|
||||
|
||||
private function openUploadWindow():void {
|
||||
if (presentOptions.openExternalFileUploadDialog) {
|
||||
var fileEvent:UploadEvent = new UploadEvent(UploadEvent.OPEN_EXTERNAL_UPLOAD_WINDOW);
|
||||
fileEvent.maxFileSize = presentOptions.maxFileSize;
|
||||
var gDispatcher:Dispatcher = new Dispatcher();
|
||||
gDispatcher.dispatchEvent(fileEvent);
|
||||
} else {
|
||||
var event:UploadEvent = new UploadEvent(UploadEvent.OPEN_UPLOAD_WINDOW);
|
||||
event.maxFileSize = presentOptions.maxFileSize;
|
||||
dispatchEvent(event);
|
||||
}
|
||||
if (presentOptions.openExternalFileUploadDialog) {
|
||||
var fileEvent:UploadEvent = new UploadEvent(UploadEvent.OPEN_EXTERNAL_UPLOAD_WINDOW);
|
||||
fileEvent.maxFileSize = presentOptions.maxFileSize;
|
||||
var gDispatcher:Dispatcher = new Dispatcher();
|
||||
gDispatcher.dispatchEvent(fileEvent);
|
||||
} else {
|
||||
var event:UploadEvent = new UploadEvent(UploadEvent.OPEN_UPLOAD_WINDOW);
|
||||
event.maxFileSize = presentOptions.maxFileSize;
|
||||
dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private function quickPollClicked(e:MouseEvent):void {
|
||||
sendStartPollEvent(Button(e.target).name);
|
||||
}
|
||||
@ -594,7 +603,13 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
}
|
||||
pollMenuData.push({label: resourceUtil.getString("bbb.polling.customPollOption.label")});
|
||||
}
|
||||
|
||||
|
||||
private function updateStyles():void {
|
||||
if (PresentationModel.getInstance().getCurrentPage()) {
|
||||
disableSlideNavigationButtons(PresentationModel.getInstance().getCurrentPage().num);
|
||||
}
|
||||
}
|
||||
|
||||
private function onPollStartButtonClicked():void {
|
||||
openPollTypeMenu();
|
||||
}
|
||||
@ -836,7 +851,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
styleName="presentationDownloadButtonStyle"
|
||||
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.downloadPresBtn.toolTip')}"
|
||||
click="onDownloadButtonClicked()" creationComplete="updateDownloadBtn()"/>
|
||||
|
||||
</mx:HBox>
|
||||
|
||||
<mx:HBox id="presenterControls" width="30%" height="100%" paddingTop="0" visible="false" includeInLayout="false" horizontalAlign="center" verticalAlign="middle">
|
||||
|
@ -35,6 +35,7 @@
|
||||
<mate:Listener type="{SharedNotesEvent.CREATE_ADDITIONAL_NOTES_REPLY_EVENT}" method="handleNoteCreated"/>
|
||||
<mate:Listener type="{SharedNotesEvent.DESTROY_ADDITIONAL_NOTES_REPLY_EVENT}" method="handleNoteDestroyed"/>
|
||||
<mate:Listener type="{ShortcutEvent.FOCUS_SHARED_NOTES_WINDOW}" method="focusWindow" />
|
||||
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="onLocaleChanged" />
|
||||
</fx:Declarations>
|
||||
|
||||
<fx:Script>
|
||||
@ -51,16 +52,19 @@
|
||||
import mx.core.FlexGlobals;
|
||||
import mx.core.IFlexDisplayObject;
|
||||
import mx.events.CloseEvent;
|
||||
import mx.events.MenuEvent;
|
||||
import mx.events.FlexEvent;
|
||||
import mx.events.MenuEvent;
|
||||
import mx.managers.PopUpManager;
|
||||
|
||||
import flashx.textLayout.formats.Direction;
|
||||
|
||||
import flexlib.mdi.events.MDIWindowEvent;
|
||||
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
import org.as3commons.logging.api.getClassLogger;
|
||||
import org.bigbluebutton.common.IBbbModuleWindow;
|
||||
import org.bigbluebutton.common.Role;
|
||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||
import org.bigbluebutton.core.Options;
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.core.model.LiveMeeting;
|
||||
@ -554,6 +558,16 @@
|
||||
focusManager.setFocus(titleBarOverlay);
|
||||
}
|
||||
}
|
||||
|
||||
private function onLocaleChanged(event:LocaleChangeEvent):void {
|
||||
var styleNameExt : String = "";
|
||||
if (ResourceUtil.getInstance().isRTLEnabled() && ResourceUtil.getInstance().getCurrentLanguageDirection() == Direction.RTL) {
|
||||
styleNameExt = "RTL";
|
||||
}
|
||||
|
||||
btnRedo.styleName = "sharedNotesRedoButtonStyle" + styleNameExt;
|
||||
btnUndo.styleName = "sharedNotesUndoButtonStyle" + styleNameExt;
|
||||
}
|
||||
|
||||
]]>
|
||||
</fx:Script>
|
||||
|
@ -39,8 +39,10 @@ package org.bigbluebutton.util.i18n
|
||||
import org.as3commons.logging.api.ILogger;
|
||||
import org.as3commons.logging.api.getClassLogger;
|
||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||
import org.bigbluebutton.core.Options;
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.main.events.AppVersionEvent;
|
||||
import org.bigbluebutton.main.model.options.LanguageOptions;
|
||||
|
||||
public class ResourceUtil extends EventDispatcher {
|
||||
private static const LOGGER:ILogger = getClassLogger(ResourceUtil);
|
||||
@ -60,6 +62,7 @@ package org.bigbluebutton.util.i18n
|
||||
//private var eventDispatcher:IEventDispatcher;
|
||||
private var resourceManager:IResourceManager;
|
||||
private var preferredLocale:String
|
||||
private var preferredDirection:String
|
||||
private var masterLocaleLoaded:Boolean = false;
|
||||
private var masterLocaleLoadedCallback:Function = null;
|
||||
|
||||
@ -87,22 +90,23 @@ package org.bigbluebutton.util.i18n
|
||||
_urlLoader.load(new URLRequest(localeReqURL));
|
||||
}
|
||||
|
||||
private function buildRequestURL():String {
|
||||
var swfURL:String = FlexGlobals.topLevelApplication.url;
|
||||
var protocol:String = URLUtil.getProtocol(swfURL);
|
||||
var serverName:String = URLUtil.getServerNameWithPort(swfURL);
|
||||
return protocol + "://" + serverName + "/";
|
||||
}
|
||||
private function buildRequestURL():String {
|
||||
var swfURL:String = FlexGlobals.topLevelApplication.url;
|
||||
var protocol:String = URLUtil.getProtocol(swfURL);
|
||||
var serverName:String = URLUtil.getServerNameWithPort(swfURL);
|
||||
return protocol + "://" + serverName + "/";
|
||||
}
|
||||
|
||||
private function handleComplete(e:Event):void{
|
||||
parse(new XML(e.target.data));
|
||||
|
||||
preferredLocale = getDefaultLocale();
|
||||
if (preferredLocale != MASTER_LOCALE) {
|
||||
trace("Preferred locale=" + preferredLocale + " is not the same as master locale=" + MASTER_LOCALE);
|
||||
trace("Preferred locale=" + preferredLocale + " is not the same as master locale=" + MASTER_LOCALE);
|
||||
loadMasterLocale(MASTER_LOCALE);
|
||||
}
|
||||
setPreferredLocale(preferredLocale);
|
||||
// To improve
|
||||
setPreferredLocale({code:preferredLocale, direction:"ltr"});
|
||||
}
|
||||
|
||||
private function parse(xml:XML):void{
|
||||
@ -111,13 +115,15 @@ package org.bigbluebutton.util.i18n
|
||||
|
||||
locales.push({
|
||||
code: DEFAULT_LOCALE_IDENTIFIER,
|
||||
name: ""
|
||||
name: "",
|
||||
direction: "ltr"
|
||||
});
|
||||
|
||||
for each(locale in list){
|
||||
locales.push({
|
||||
code: locale.@code.toString(),
|
||||
name: locale.@name.toString()
|
||||
name: locale.@name.toString(),
|
||||
direction: locale.@direction.valueOf().toString().toLowerCase() == "rtl" ? "rtl" : "ltr"
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -142,17 +148,19 @@ package org.bigbluebutton.util.i18n
|
||||
return -1;
|
||||
}
|
||||
|
||||
public function setPreferredLocale(locale:String):void {
|
||||
if (locale == DEFAULT_LOCALE_IDENTIFIER) {
|
||||
locale = getDefaultLocale();
|
||||
public function setPreferredLocale(locale:Object):void {
|
||||
var localeCode : String = locale.code;
|
||||
if (localeCode == DEFAULT_LOCALE_IDENTIFIER) {
|
||||
localeCode = getDefaultLocale();
|
||||
}
|
||||
|
||||
if (isPreferredLocaleAvailable(locale)) {
|
||||
preferredLocale = locale;
|
||||
if (isPreferredLocaleAvailable(localeCode)) {
|
||||
preferredLocale = localeCode;
|
||||
}else{
|
||||
preferredLocale = MASTER_LOCALE;
|
||||
}
|
||||
|
||||
preferredDirection = locale.direction;
|
||||
changeLocale(preferredLocale);
|
||||
}
|
||||
|
||||
@ -204,7 +212,7 @@ package org.bigbluebutton.util.i18n
|
||||
|
||||
var date:Date = new Date();
|
||||
var localeURI:String = buildRequestURL() + 'client/locale/' + language + '_resources.swf?a=' + date.time;
|
||||
trace("Loading locale " + localeURI);
|
||||
trace("Loading locale " + localeURI);
|
||||
return resourceManager.loadResourceModule( localeURI, false);
|
||||
}
|
||||
|
||||
@ -216,7 +224,7 @@ package org.bigbluebutton.util.i18n
|
||||
}
|
||||
|
||||
private function changeLocaleHelper(locale:String):void {
|
||||
var eventDispatcher:IEventDispatcher = loadResource(locale);
|
||||
var eventDispatcher:IEventDispatcher = loadResource(locale);
|
||||
eventDispatcher.addEventListener(ResourceEvent.COMPLETE, localeChangeComplete);
|
||||
eventDispatcher.addEventListener(ResourceEvent.ERROR, handleResourceNotLoaded);
|
||||
}
|
||||
@ -226,7 +234,7 @@ package org.bigbluebutton.util.i18n
|
||||
trace("Loading immediately " + locale);
|
||||
changeLocaleHelper(locale);
|
||||
} else {
|
||||
trace("Registering callback to load " + locale + " later");
|
||||
trace("Registering callback to load " + locale + " later");
|
||||
masterLocaleLoadedCallback = function():void {
|
||||
changeLocaleHelper(locale);
|
||||
}
|
||||
@ -253,27 +261,27 @@ package org.bigbluebutton.util.i18n
|
||||
}
|
||||
|
||||
private function sendAppAndLocaleVersions():void {
|
||||
trace("Sending locale version");
|
||||
trace("Sending locale version");
|
||||
var dispatcher:Dispatcher = new Dispatcher();
|
||||
var versionEvent:AppVersionEvent = new AppVersionEvent();
|
||||
versionEvent.configLocaleVersion = false;
|
||||
dispatcher.dispatchEvent(versionEvent);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Defaults to DEFAULT_LANGUAGE when an error is thrown by the ResourceManager
|
||||
* Defaults to DEFAULT_LANGUAGE when an error is thrown by the ResourceManager
|
||||
* @param event
|
||||
*/
|
||||
private function handleResourceNotLoaded(event:ResourceEvent):void{
|
||||
trace("Resource locale [" + preferredLocale + "] could not be loaded.");
|
||||
resourceManager.localeChain = [MASTER_LOCALE];
|
||||
preferredLocale = MASTER_LOCALE;
|
||||
update();
|
||||
*/
|
||||
private function handleResourceNotLoaded(event:ResourceEvent):void {
|
||||
trace("Resource locale [" + preferredLocale + "] could not be loaded.");
|
||||
resourceManager.localeChain = [MASTER_LOCALE];
|
||||
preferredLocale = MASTER_LOCALE;
|
||||
update();
|
||||
}
|
||||
|
||||
public function update():void{
|
||||
reloadLocaleNames();
|
||||
sendAppAndLocaleVersions();
|
||||
sendAppAndLocaleVersions();
|
||||
var dispatcher:Dispatcher = new Dispatcher;
|
||||
dispatcher.dispatchEvent(new LocaleChangeEvent(LocaleChangeEvent.LOCALE_CHANGED));
|
||||
dispatchEvent(new Event(Event.CHANGE));
|
||||
@ -303,6 +311,10 @@ package org.bigbluebutton.util.i18n
|
||||
public function getCurrentLanguageCode():String{
|
||||
return preferredLocale;
|
||||
}
|
||||
|
||||
public function getCurrentLanguageDirection():String{
|
||||
return preferredDirection;
|
||||
}
|
||||
|
||||
public function getCurrentLanguage():Object {
|
||||
return locales[getCurrentLanguageIndex()];
|
||||
@ -311,6 +323,11 @@ package org.bigbluebutton.util.i18n
|
||||
public function getCurrentLanguageIndex():int {
|
||||
return getIndexForLocale(preferredLocale);
|
||||
}
|
||||
|
||||
public function isRTLEnabled() : Boolean {
|
||||
var languageOptions : LanguageOptions = Options.getOptions(LanguageOptions) as LanguageOptions;
|
||||
return languageOptions.rtlEnabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user