diff --git a/deluge/plugins/execute/execute/data/execute.js b/deluge/plugins/execute/execute/data/execute.js index dca5480ec..de0c69082 100644 --- a/deluge/plugins/execute/execute/data/execute.js +++ b/deluge/plugins/execute/execute/data/execute.js @@ -3,7 +3,7 @@ Script: execute.js The client-side javascript code for the Execute plugin. Copyright: - (C) Damien Churchill 2009 + (C) Damien Churchill 2009-2010 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) @@ -30,97 +30,85 @@ Copyright: 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.ux.execute'); -(function() { - EVENT_MAP = { - 'complete': _('Torrent Complete'), - 'added': _('Torrent Added') - } - EVENTS = ['complete', 'added'] - - ExecutePanel = Ext.extend(Ext.Panel, { - constructor: function(config) { - config = Ext.apply({ - border: false, - title: _('Execute'), - layout: 'border' - }, config); - ExecutePanel.superclass.constructor.call(this, config); - }, +/** + * @class Deluge.ux.execute.ExecutePreferencesPage + * @extends Ext.Panel + */ +Deluge.ux.execute.ExecutePreferencesPage = Ext.extend(Ext.Panel, { + + title: _('Execute'), + layout: 'border', + border: false, initComponent: function() { - ExecutePanel.superclass.initComponent.call(this); + Deluge.ux.execute.ExecutePreferencesPage.superclass.initComponent.call(this); this.commands = this.add({ - xtype: 'grid', - region: 'center', - store: new Ext.data.SimpleStore({ - fields: [ - {name: 'event', mapping: 1}, - {name: 'name', mapping: 2} - ], - id: 0 - }), - columns: [{ - width: 70, - header: _('Event'), - sortable: true, - renderer: fplain, - dataIndex: 'event' - }, { - id: 'name', - header: _('Command'), - sortable: true, - renderer: fplain, - dataIndex: 'name' - }], - stripRows: true, - selModel: new Ext.grid.RowSelectionModel({ - singleSelect: true - }), - autoExpandColumn: 'name' + xtype: 'grid', + region: 'center', + store: new Ext.data.SimpleStore({ + fields: [ + {name: 'event', mapping: 1}, + {name: 'name', mapping: 2} + ], + id: 0 + }), + columns: [{ + width: 70, + header: _('Event'), + sortable: true, + renderer: fplain, + dataIndex: 'event' + }, { + id: 'name', + header: _('Command'), + sortable: true, + renderer: fplain, + dataIndex: 'name' + }], + stripRows: true, + selModel: new Ext.grid.RowSelectionModel({ + singleSelect: true + }), + autoExpandColumn: 'name' }); this.details = this.add({ - xtype: 'tabpanel', - region: 'south', - activeTab: 0 + xtype: 'tabpanel', + region: 'south', + activeTab: 0 }); this.add = this.details.add({ - title: _('Add') + title: _('Add') }); this.edit = this.details.add({ - title: _('Edit') + title: _('Edit') }); }, onShow: function() { - ExecutePanel.superclass.onShow.call(this); - Deluge.Client.execute.get_commands({ - success: function(commands) { - this.commands.getStore().loadData(commands); - }, - scope: this + Deluge.ux.execute.ExecutePreferencesPage.superclass.onShow.call(this); + deluge.client.execute.get_commands({ + success: function(commands) { + this.commands.getStore().loadData(commands); + }, + scope: this }); } - }); - - ExecutePlugin = Ext.extend(Deluge.Plugin, { - constructor: function(config) { - config = Ext.apply({ - name: "Execute" - }, config); - ExecutePlugin.superclass.constructor.call(this, config); - }, +}); + +Deluge.plugins.ExecutePlugin = Ext.extend(Deluge.Plugin, { + + name: 'Execute', onDisable: function() { Deluge.Preferences.removePage(this.prefsPage); }, onEnable: function() { - this.prefsPage = new ExecutePanel(); - this.prefsPage = Deluge.Preferences.addPage(this.prefsPage); + this.prefsPage = new Deluge.ux.execute.ExecutePreferencesPage(); + this.prefsPage = deluge.preferences.addPage(this.prefsPage); } - }); - new ExecutePlugin(); -})(); \ No newline at end of file +}); diff --git a/deluge/plugins/execute/execute/webui.py b/deluge/plugins/execute/execute/webui.py index 591b03fd6..991219b04 100644 --- a/deluge/plugins/execute/execute/webui.py +++ b/deluge/plugins/execute/execute/webui.py @@ -44,4 +44,5 @@ from common import get_resource class WebUI(WebPluginBase): - scripts = [get_resource("execute.js")] \ No newline at end of file + scripts = [get_resource("execute.js")] + debug_scripts = scripts