fix a bug in converting non-boolean values back to boolean in the options manager

This commit is contained in:
Damien Churchill 2009-10-12 09:53:13 +00:00
commit 81eeb6edf7

View file

@ -207,7 +207,12 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, {
value = Number(value); value = Number(value);
break; break;
case 'boolean': case 'boolean':
value = Boolean(value); if (Ext.type(value) == 'string') {
value = value.toLowerCase();
value = (value == 'true' || value == '1' || value == 'on') ? true : false;
} else {
value = Boolean(value);
}
break; break;
} }
} }
@ -243,7 +248,7 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, {
* @private * @private
*/ */
onFieldChange: function(field, event) { onFieldChange: function(field, event) {
this.update(field._doption, field.getValue()); this.update(field._doption, field.getValue());
}, },
/** /**
@ -268,4 +273,4 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, {
bind.setValue(newValue); bind.setValue(newValue);
}, this) }, this)
} }
}); });