fix the execute plugins webui section

This commit is contained in:
Damien Churchill 2010-04-23 19:29:53 +01:00
parent 2376e857d2
commit 8b7c1681ae
2 changed files with 60 additions and 71 deletions

View File

@ -3,7 +3,7 @@ Script: execute.js
The client-side javascript code for the Execute plugin. The client-side javascript code for the Execute plugin.
Copyright: Copyright:
(C) Damien Churchill 2009 <damoxc@gmail.com> (C) Damien Churchill 2009-2010 <damoxc@gmail.com>
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option) 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 this exception statement from your version. If you delete this exception
statement from all source files in the program, then also delete it here. statement from all source files in the program, then also delete it here.
*/ */
Ext.ns('Deluge.ux.execute');
(function() { /**
EVENT_MAP = { * @class Deluge.ux.execute.ExecutePreferencesPage
'complete': _('Torrent Complete'), * @extends Ext.Panel
'added': _('Torrent Added') */
} Deluge.ux.execute.ExecutePreferencesPage = Ext.extend(Ext.Panel, {
EVENTS = ['complete', 'added']
title: _('Execute'),
ExecutePanel = Ext.extend(Ext.Panel, { layout: 'border',
constructor: function(config) { border: false,
config = Ext.apply({
border: false,
title: _('Execute'),
layout: 'border'
}, config);
ExecutePanel.superclass.constructor.call(this, config);
},
initComponent: function() { initComponent: function() {
ExecutePanel.superclass.initComponent.call(this); Deluge.ux.execute.ExecutePreferencesPage.superclass.initComponent.call(this);
this.commands = this.add({ this.commands = this.add({
xtype: 'grid', xtype: 'grid',
region: 'center', region: 'center',
store: new Ext.data.SimpleStore({ store: new Ext.data.SimpleStore({
fields: [ fields: [
{name: 'event', mapping: 1}, {name: 'event', mapping: 1},
{name: 'name', mapping: 2} {name: 'name', mapping: 2}
], ],
id: 0 id: 0
}), }),
columns: [{ columns: [{
width: 70, width: 70,
header: _('Event'), header: _('Event'),
sortable: true, sortable: true,
renderer: fplain, renderer: fplain,
dataIndex: 'event' dataIndex: 'event'
}, { }, {
id: 'name', id: 'name',
header: _('Command'), header: _('Command'),
sortable: true, sortable: true,
renderer: fplain, renderer: fplain,
dataIndex: 'name' dataIndex: 'name'
}], }],
stripRows: true, stripRows: true,
selModel: new Ext.grid.RowSelectionModel({ selModel: new Ext.grid.RowSelectionModel({
singleSelect: true singleSelect: true
}), }),
autoExpandColumn: 'name' autoExpandColumn: 'name'
}); });
this.details = this.add({ this.details = this.add({
xtype: 'tabpanel', xtype: 'tabpanel',
region: 'south', region: 'south',
activeTab: 0 activeTab: 0
}); });
this.add = this.details.add({ this.add = this.details.add({
title: _('Add') title: _('Add')
}); });
this.edit = this.details.add({ this.edit = this.details.add({
title: _('Edit') title: _('Edit')
}); });
}, },
onShow: function() { onShow: function() {
ExecutePanel.superclass.onShow.call(this); Deluge.ux.execute.ExecutePreferencesPage.superclass.onShow.call(this);
Deluge.Client.execute.get_commands({ deluge.client.execute.get_commands({
success: function(commands) { success: function(commands) {
this.commands.getStore().loadData(commands); this.commands.getStore().loadData(commands);
}, },
scope: this scope: this
}); });
} }
}); });
ExecutePlugin = Ext.extend(Deluge.Plugin, { Deluge.plugins.ExecutePlugin = Ext.extend(Deluge.Plugin, {
constructor: function(config) {
config = Ext.apply({ name: 'Execute',
name: "Execute"
}, config);
ExecutePlugin.superclass.constructor.call(this, config);
},
onDisable: function() { onDisable: function() {
Deluge.Preferences.removePage(this.prefsPage); Deluge.Preferences.removePage(this.prefsPage);
}, },
onEnable: function() { onEnable: function() {
this.prefsPage = new ExecutePanel(); this.prefsPage = new Deluge.ux.execute.ExecutePreferencesPage();
this.prefsPage = Deluge.Preferences.addPage(this.prefsPage); this.prefsPage = deluge.preferences.addPage(this.prefsPage);
} }
}); });
new ExecutePlugin();
})();

View File

@ -44,4 +44,5 @@ from common import get_resource
class WebUI(WebPluginBase): class WebUI(WebPluginBase):
scripts = [get_resource("execute.js")] scripts = [get_resource("execute.js")]
debug_scripts = scripts