diff --git a/deluge/ui/web/js/ext-extensions-debug.js b/deluge/ui/web/js/ext-extensions-debug.js index 51b87d595..2e20232d0 100644 --- a/deluge/ui/web/js/ext-extensions-debug.js +++ b/deluge/ui/web/js/ext-extensions-debug.js @@ -306,7 +306,7 @@ Ext.extend(Ext.ux.form.Spinner, Ext.form.TriggerField, { setValue: function(value) { value = this.strategy.fixBoundries(value); - this.setRawValue(value); + Ext.ux.form.Spinner.superclass.setValue.call(this, value); } }); @@ -793,4 +793,166 @@ Ext.override(Ext.form.RadioGroup, { item.setValue(checked); }); } -}); \ No newline at end of file +}); + +Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, { + + // private + defaultType: 'uxspinner', + + // private + groupCls: 'x-form-uxspinner-group', + + colCfg: {}, + + // private + onRender : function(ct, position){ + if(!this.el){ + var panelCfg = { + cls: this.groupCls, + layout: 'column', + border: false, + renderTo: ct + }; + var colCfg = Ext.apply({ + defaultType: this.defaultType, + layout: 'form', + border: false, + labelWidth: 60, + defaults: { + hideLabel: true, + anchor: '100%' + } + }, this.colCfg); + + if(this.items[0].items){ + + // The container has standard ColumnLayout configs, so pass them in directly + + Ext.apply(panelCfg, { + layoutConfig: {columns: this.items.length}, + defaults: this.defaults, + items: this.items + }) + for(var i=0, len=this.items.length; i0 && i%rows==0){ + ri++; + } + if(this.items[i].fieldLabel){ + this.items[i].hideLabel = false; + } + cols[ri].items.push(this.items[i]); + }; + }else{ + for(var i=0, len=this.items.length; i