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.
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
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();
})();
});

View File

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