Merge "(bug 42375) Show current IME language in ULS input settings"

This commit is contained in:
Santhosh
2013-01-09 14:36:46 +00:00
committed by Gerrit Code Review

View File

@@ -90,7 +90,7 @@
this.$parent.$settingsPanel.append( this.$template ); this.$parent.$settingsPanel.append( this.$template );
if ( $.ime.preferences.isEnabled() ) { if ( $.ime.preferences.isEnabled() ) {
this.prepareLanguages(); this.prepareLanguages();
this.prepareInputmethods( this.imeLanguage ); this.prepareInputmethods( $.ime.preferences.getLanguage() );
} else { } else {
// Hide the language list // Hide the language list
@@ -200,10 +200,11 @@
*/ */
prepareLanguages: function () { prepareLanguages: function () {
var inputSettings = this, var inputSettings = this,
SUGGESTED_LANGUAGES_NUMBER = 3,
selectedImeLanguage = $.ime.preferences.getLanguage(),
languagesForButtons, $languages, suggestedLanguages, languagesForButtons, $languages, suggestedLanguages,
SUGGESTED_LANGUAGES_NUMBER, lang, i, language, $button, $caret; firstLanguage, lang, i, language, $button, $caret;
SUGGESTED_LANGUAGES_NUMBER = 3;
$languages = this.$template.find( 'div.uls-ui-languages' ); $languages = this.$template.find( 'div.uls-ui-languages' );
this.$template.find( 'div.uls-ui-languages' ).show(); this.$template.find( 'div.uls-ui-languages' ).show();
this.$template.find( 'div.uls-input-settings-languages-title' ).show(); this.$template.find( 'div.uls-input-settings-languages-title' ).show();
@@ -214,6 +215,7 @@
.concat( [ 'en', 'zh', 'fr' ] ); .concat( [ 'en', 'zh', 'fr' ] );
// Content language is always on the first button // Content language is always on the first button
languagesForButtons = [ this.contentLanguage ]; languagesForButtons = [ this.contentLanguage ];
// This is needed when drawing the panel for the second time // This is needed when drawing the panel for the second time
@@ -223,6 +225,14 @@
// UI language must always be present // UI language must always be present
if ( this.imeLanguage !== this.contentLanguage ) { if ( this.imeLanguage !== this.contentLanguage ) {
languagesForButtons.push( this.imeLanguage ); languagesForButtons.push( this.imeLanguage );
firstLanguage = this.imeLanguage;
}
// Selected IME language may be different, and it must
// be present, too
if ( $.inArray( selectedImeLanguage, languagesForButtons ) === -1 ) {
languagesForButtons.push( selectedImeLanguage );
firstLanguage = selectedImeLanguage;
} }
for ( lang in suggestedLanguages ) { for ( lang in suggestedLanguages ) {
@@ -262,7 +272,7 @@
dir: $.uls.data.getDir( language ) dir: $.uls.data.getDir( language )
} ); } );
if ( language === this.imeLanguage ) { if ( language === firstLanguage ) {
$button.addClass( 'down' ); $button.addClass( 'down' );
} }