1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
/**
* Deluge.AddConnectionWindow.js
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This file is part of Deluge and is licensed under GNU General Public License 3.0, or later, with
* the additional special exception to link portions of this program with the OpenSSL library.
* See LICENSE for more details.
*/
Ext.ns('Deluge');
/**
* @class Deluge.AddConnectionWindow
* @extends Ext.Window
*/
Deluge.AddConnectionWindow = Ext.extend(Ext.Window, {
title: _('Add Connection'),
iconCls: 'x-deluge-add-window-icon',
layout: 'fit',
width: 300,
height: 195,
constrainHeader: true,
bodyStyle: 'padding: 10px 5px;',
closeAction: 'hide',
initComponent: function () {
Deluge.AddConnectionWindow.superclass.initComponent.call(this);
this.addEvents('hostadded');
this.addButton(_('Close'), this.hide, this);
this.addButton(_('Add'), this.onAddClick, this);
this.on('hide', this.onHide, this);
this.form = this.add({
xtype: 'form',
defaultType: 'textfield',
baseCls: 'x-plain',
labelWidth: 60,
items: [
{
fieldLabel: _('Host:'),
labelSeparator: '',
name: 'host',
anchor: '75%',
value: '',
},
{
xtype: 'spinnerfield',
fieldLabel: _('Port:'),
labelSeparator: '',
name: 'port',
strategy: {
xtype: 'number',
decimalPrecision: 0,
minValue: -1,
maxValue: 65535,
},
value: '58846',
anchor: '40%',
},
{
fieldLabel: _('Username:'),
labelSeparator: '',
name: 'username',
anchor: '75%',
value: '',
},
{
fieldLabel: _('Password:'),
labelSeparator: '',
anchor: '75%',
name: 'password',
inputType: 'password',
value: '',
},
],
});
},
onAddClick: function () {
var values = this.form.getForm().getValues();
deluge.client.web.add_host(
values.host,
Number(values.port),
values.username,
values.password,
{
success: function (result) {
if (!result[0]) {
Ext.MessageBox.show({
title: _('Error'),
msg: String.format(
_('Unable to add host: {0}'),
result[1]
),
buttons: Ext.MessageBox.OK,
modal: false,
icon: Ext.MessageBox.ERROR,
iconCls: 'x-deluge-icon-error',
});
} else {
this.fireEvent('hostadded');
}
this.hide();
},
scope: this,
}
);
},
onHide: function () {
this.form.getForm().reset();
},
});
|