/*! * Deluge.AddTrackerWindow.js * * Copyright (c) Damien Churchill 2009-2010 * * 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.AddTrackerWindow * @extends Ext.Window */ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, { title: _('Add Tracker'), layout: 'fit', width: 375, height: 150, plain: true, closable: true, resizable: false, constrainHeader: true, bodyStyle: 'padding: 5px', buttonAlign: 'right', closeAction: 'hide', iconCls: 'x-deluge-edit-trackers', initComponent: function() { Deluge.AddTrackerWindow.superclass.initComponent.call(this); this.addButton(_('Cancel'), this.onCancelClick, this); this.addButton(_('Add'), this.onAddClick, this); this.addEvents('add'); this.form = this.add({ xtype: 'form', defaultType: 'textarea', baseCls: 'x-plain', labelWidth: 55, items: [{ fieldLabel: _('Trackers:'), labelSeparator: '', name: 'trackers', anchor: '100%' }] }) }, onAddClick: function() { var trackers = this.form.getForm().findField('trackers').getValue(); trackers = trackers.split('\n'); var cleaned = []; Ext.each(trackers, function(tracker) { if (Ext.form.VTypes.url(tracker)) { cleaned.push(tracker); } }, this); this.fireEvent('add', cleaned); this.hide(); this.form.getForm().findField('trackers').setValue(''); }, onCancelClick: function() { this.form.getForm().findField('trackers').setValue(''); this.hide(); } });