split out the ProxyField to a seperate file
This commit is contained in:
parent
c430ef9a84
commit
c987b74d61
|
@ -0,0 +1,170 @@
|
|||
/*!
|
||||
* Deluge.preferences.ProxyField.js
|
||||
*
|
||||
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, write to:
|
||||
* The Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* In addition, as a special exception, the copyright holders give
|
||||
* permission to link the code of portions of this program with the OpenSSL
|
||||
* library.
|
||||
* You must obey the GNU General Public License in all respects for all of
|
||||
* the code used other than OpenSSL. If you modify file(s) with this
|
||||
* exception, you may extend this exception to your version of the file(s),
|
||||
* but you are not obligated to do so. If you do not wish to do so, delete
|
||||
* this exception statement from your version. If you delete this exception
|
||||
* statement from all source files in the program, then also delete it here.
|
||||
*/
|
||||
Ext.ns('Deluge.preferences');
|
||||
|
||||
/**
|
||||
* @class Deluge.preferences.ProxyField
|
||||
* @extends Ext.form.FieldSet
|
||||
*/
|
||||
Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, {
|
||||
|
||||
constructor: function(config) {
|
||||
config = Ext.apply({
|
||||
border: false,
|
||||
autoHeight: true,
|
||||
labelWidth: 70
|
||||
}, config);
|
||||
Deluge.preferences.ProxyField.superclass.constructor.call(this, config);
|
||||
},
|
||||
|
||||
initComponent: function() {
|
||||
Deluge.preferences.ProxyField.superclass.initComponent.call(this);
|
||||
this.type = this.add({
|
||||
xtype: 'combo',
|
||||
fieldLabel: _('Type'),
|
||||
name: 'type',
|
||||
mode: 'local',
|
||||
width: 150,
|
||||
store: new Ext.data.SimpleStore({
|
||||
fields: ['id', 'text'],
|
||||
data: [
|
||||
[0, _('None')],
|
||||
[1, _('Socksv4')],
|
||||
[2, _('Socksv5')],
|
||||
[3, _('Socksv5 with Auth')],
|
||||
[4, _('HTTP')],
|
||||
[5, _('HTTP with Auth')],
|
||||
]
|
||||
}),
|
||||
value: 0,
|
||||
triggerAction: 'all',
|
||||
valueField: 'id',
|
||||
displayField: 'text'
|
||||
})
|
||||
this.hostname = this.add({
|
||||
xtype: 'textfield',
|
||||
name: 'hostname',
|
||||
fieldLabel: _('Host'),
|
||||
width: 220
|
||||
});
|
||||
|
||||
this.port = this.add({
|
||||
xtype: 'spinnerfield',
|
||||
name: 'port',
|
||||
fieldLabel: _('Port'),
|
||||
width: 80,
|
||||
strategy: {
|
||||
xtype: 'number',
|
||||
decimalPrecision: 0,
|
||||
minValue: -1,
|
||||
maxValue: 99999
|
||||
}
|
||||
});
|
||||
|
||||
this.username = this.add({
|
||||
xtype: 'textfield',
|
||||
name: 'username',
|
||||
fieldLabel: _('Username'),
|
||||
width: 220
|
||||
});
|
||||
|
||||
this.password = this.add({
|
||||
xtype: 'textfield',
|
||||
name: 'password',
|
||||
fieldLabel: _('Password'),
|
||||
inputType: 'password',
|
||||
width: 220
|
||||
});
|
||||
|
||||
this.type.on('change', this.onFieldChange, this);
|
||||
this.type.on('select', this.onTypeSelect, this);
|
||||
this.setting = false;
|
||||
},
|
||||
|
||||
getName: function() {
|
||||
return this.initialConfig.name;
|
||||
},
|
||||
|
||||
getValue: function() {
|
||||
return {
|
||||
'type': this.type.getValue(),
|
||||
'hostname': this.hostname.getValue(),
|
||||
'port': Number(this.port.getValue()),
|
||||
'username': this.username.getValue(),
|
||||
'password': this.password.getValue()
|
||||
}
|
||||
},
|
||||
|
||||
// Set the values of the proxies
|
||||
setValue: function(value) {
|
||||
this.setting = true;
|
||||
this.type.setValue(value['type']);
|
||||
var index = this.type.getStore().find('id', value['type']);
|
||||
var record = this.type.getStore().getAt(index);
|
||||
|
||||
this.hostname.setValue(value['hostname']);
|
||||
this.port.setValue(value['port']);
|
||||
this.username.setValue(value['username']);
|
||||
this.password.setValue(value['password']);
|
||||
this.onTypeSelect(this.type, record, index);
|
||||
this.setting = false;
|
||||
},
|
||||
|
||||
onFieldChange: function(field, newValue, oldValue) {
|
||||
if (this.setting) return;
|
||||
var newValues = this.getValue();
|
||||
var oldValues = Ext.apply({}, newValues);
|
||||
oldValues[field.getName()] = oldValue;
|
||||
|
||||
this.fireEvent('change', this, newValues, oldValues);
|
||||
},
|
||||
|
||||
onTypeSelect: function(combo, record, index) {
|
||||
var typeId = record.get('id');
|
||||
if (typeId > 0) {
|
||||
this.hostname.show();
|
||||
this.port.show();
|
||||
} else {
|
||||
this.hostname.hide();
|
||||
this.port.hide();
|
||||
}
|
||||
|
||||
if (typeId == 3 || typeId == 5) {
|
||||
this.username.show();
|
||||
this.password.show();
|
||||
} else {
|
||||
this.username.hide();
|
||||
this.password.hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -33,143 +33,6 @@ Copyright:
|
|||
|
||||
Ext.namespace('Deluge.preferences');
|
||||
|
||||
/**
|
||||
* @class Deluge.preferences.ProxyField
|
||||
* @extends Ext.form.FormSet
|
||||
*/
|
||||
Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, {
|
||||
|
||||
constructor: function(config) {
|
||||
config = Ext.apply({
|
||||
border: false,
|
||||
autoHeight: true,
|
||||
labelWidth: 70
|
||||
}, config);
|
||||
Deluge.preferences.ProxyField.superclass.constructor.call(this, config);
|
||||
},
|
||||
|
||||
initComponent: function() {
|
||||
Deluge.preferences.ProxyField.superclass.initComponent.call(this);
|
||||
this.type = this.add({
|
||||
xtype: 'combo',
|
||||
fieldLabel: _('Type'),
|
||||
name: 'type',
|
||||
mode: 'local',
|
||||
width: 150,
|
||||
store: new Ext.data.SimpleStore({
|
||||
fields: ['id', 'text'],
|
||||
data: [
|
||||
[0, _('None')],
|
||||
[1, _('Socksv4')],
|
||||
[2, _('Socksv5')],
|
||||
[3, _('Socksv5 with Auth')],
|
||||
[4, _('HTTP')],
|
||||
[5, _('HTTP with Auth')],
|
||||
]
|
||||
}),
|
||||
value: 0,
|
||||
triggerAction: 'all',
|
||||
valueField: 'id',
|
||||
displayField: 'text'
|
||||
})
|
||||
this.hostname = this.add({
|
||||
xtype: 'textfield',
|
||||
name: 'hostname',
|
||||
fieldLabel: _('Host'),
|
||||
width: 220
|
||||
});
|
||||
|
||||
this.port = this.add({
|
||||
xtype: 'spinnerfield',
|
||||
name: 'port',
|
||||
fieldLabel: _('Port'),
|
||||
width: 80,
|
||||
strategy: {
|
||||
xtype: 'number',
|
||||
decimalPrecision: 0,
|
||||
minValue: -1,
|
||||
maxValue: 99999
|
||||
}
|
||||
});
|
||||
|
||||
this.username = this.add({
|
||||
xtype: 'textfield',
|
||||
name: 'username',
|
||||
fieldLabel: _('Username'),
|
||||
width: 220
|
||||
});
|
||||
|
||||
this.password = this.add({
|
||||
xtype: 'textfield',
|
||||
name: 'password',
|
||||
fieldLabel: _('Password'),
|
||||
inputType: 'password',
|
||||
width: 220
|
||||
});
|
||||
|
||||
this.type.on('change', this.onFieldChange, this);
|
||||
this.type.on('select', this.onTypeSelect, this);
|
||||
this.setting = false;
|
||||
},
|
||||
|
||||
getName: function() {
|
||||
return this.initialConfig.name;
|
||||
},
|
||||
|
||||
getValue: function() {
|
||||
return {
|
||||
'type': this.type.getValue(),
|
||||
'hostname': this.hostname.getValue(),
|
||||
'port': Number(this.port.getValue()),
|
||||
'username': this.username.getValue(),
|
||||
'password': this.password.getValue()
|
||||
}
|
||||
},
|
||||
|
||||
// Set the values of the proxies
|
||||
setValue: function(value) {
|
||||
this.setting = true;
|
||||
this.type.setValue(value['type']);
|
||||
var index = this.type.getStore().find('id', value['type']);
|
||||
var record = this.type.getStore().getAt(index);
|
||||
|
||||
this.hostname.setValue(value['hostname']);
|
||||
this.port.setValue(value['port']);
|
||||
this.username.setValue(value['username']);
|
||||
this.password.setValue(value['password']);
|
||||
this.onTypeSelect(this.type, record, index);
|
||||
this.setting = false;
|
||||
},
|
||||
|
||||
onFieldChange: function(field, newValue, oldValue) {
|
||||
if (this.setting) return;
|
||||
var newValues = this.getValue();
|
||||
var oldValues = Ext.apply({}, newValues);
|
||||
oldValues[field.getName()] = oldValue;
|
||||
|
||||
this.fireEvent('change', this, newValues, oldValues);
|
||||
},
|
||||
|
||||
onTypeSelect: function(combo, record, index) {
|
||||
var typeId = record.get('id');
|
||||
if (typeId > 0) {
|
||||
this.hostname.show();
|
||||
this.port.show();
|
||||
} else {
|
||||
this.hostname.hide();
|
||||
this.port.hide();
|
||||
}
|
||||
|
||||
if (typeId == 3 || typeId == 5) {
|
||||
this.username.show();
|
||||
this.password.show();
|
||||
} else {
|
||||
this.username.hide();
|
||||
this.password.hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* @class Deluge.preferences.Proxy
|
||||
* @extends Ext.form.FormPanel
|
||||
|
|
Loading…
Reference in New Issue