Module: deluge
Branch: master
Commit: c987b74d61aaa1ef4348a7da7115adaab5207f67

Author: Damien Churchill <[email protected]>
Date:   Sun Mar 28 05:09:01 2010 +0100

split out the ProxyField to a seperate file

---

 deluge/ui/web/js/deluge-all/ProxyField.js          |  170 ++++++++++++++++++++
 .../ui/web/js/deluge-all/preferences/ProxyPage.js  |  137 ----------------
 2 files changed, 170 insertions(+), 137 deletions(-)

diff --git a/deluge/ui/web/js/deluge-all/ProxyField.js 
b/deluge/ui/web/js/deluge-all/ProxyField.js
new file mode 100644
index 0000000..638a1fe
--- /dev/null
+++ b/deluge/ui/web/js/deluge-all/ProxyField.js
@@ -0,0 +1,170 @@
+/*!
+ * Deluge.preferences.ProxyField.js
+ * 
+ * Copyright (c) Damien Churchill 2009-2010 <[email protected]>
+ *
+ * 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();
+        }
+    }
+});
+
diff --git a/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js 
b/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js
index 0b9a095..e6801d2 100644
--- a/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js
+++ b/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js
@@ -34,143 +34,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
  */

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to