When applying settings, log ime-change only if needed

Change-Id: I62b4ce777948c18cec5117279523198f4514c3a6
This commit is contained in:
Amir E. Aharoni
2013-08-20 12:42:52 +03:00
parent b2aafc435d
commit 628923c812

View File

@@ -528,18 +528,26 @@
* Handle the apply button press * Handle the apply button press
*/ */
apply: function () { apply: function () {
var toggleHookName, var previousIM,
inputSettings = this; inputSettings = this,
previousLanguage = inputSettings.savedRegistry.language,
currentlyEnabled = $.ime.preferences.isEnabled(),
currentLanguage = $.ime.preferences.getLanguage(),
currentIM = $.ime.preferences.getIM( currentLanguage );
mw.hook( 'mw.uls.ime.change' ).fire( if ( previousLanguage ) {
$.ime.preferences.getIM( $.ime.preferences.getLanguage() ) previousIM = inputSettings.savedRegistry.imes[previousLanguage];
); }
if ( inputSettings.savedRegistry.enable !== $.ime.preferences.isEnabled() ) { if ( currentLanguage !== inputSettings.savedRegistry.language ||
toggleHookName = $.ime.preferences.isEnabled() ? currentIM !== previousIM
'mw.uls.ime.enable' : ) {
'mw.uls.ime.disable'; mw.hook( 'mw.uls.ime.change' ).fire( currentIM );
mw.hook( toggleHookName ).fire( 'inputsettings' ); }
if ( inputSettings.savedRegistry.enable !== currentlyEnabled ) {
mw.hook( currentlyEnabled ? 'mw.uls.ime.enable' : 'mw.uls.ime.disable' )
.fire( 'inputsettings' );
} }
// Save the preferences // Save the preferences