[Execute] Tabs to spaces

This commit is contained in:
Calum Lind 2014-07-12 21:38:28 +01:00
parent 21691c5cc1
commit 7c22135bb4

View File

@ -32,107 +32,107 @@ Copyright:
*/ */
Ext.ns('Deluge.ux'); Ext.ns('Deluge.ux');
Deluge.ux.ExecuteWindowBase = Ext.extend(Ext.Window, { Deluge.ux.ExecuteWindowBase = Ext.extend(Ext.Window, {
layout: 'fit',
width: 400,
height: 130,
closeAction: 'hide',
initComponent: function() { layout: 'fit',
Deluge.ux.ExecuteWindowBase.superclass.initComponent.call(this); width: 400,
this.addButton(_('Cancel'), this.onCancelClick, this); height: 130,
closeAction: 'hide',
this.form = this.add({ initComponent: function() {
xtype: 'form', Deluge.ux.ExecuteWindowBase.superclass.initComponent.call(this);
baseCls: 'x-plain', this.addButton(_('Cancel'), this.onCancelClick, this);
bodyStyle: 'padding: 5px',
items: [{
xtype: 'combo',
width: 270,
fieldLabel: _('Event'),
store: new Ext.data.ArrayStore({
fields: ['id', 'text'],
data: [
['complete', _('Torrent Complete')],
['added', _('Torrent Added')]
]
}),
name: 'event',
mode: 'local',
editable: false,
triggerAction: 'all',
valueField: 'id',
displayField: 'text'
}, {
xtype: 'textfield',
fieldLabel: _('Command'),
name: 'command',
width: 270
}]
});
},
onCancelClick: function() { this.form = this.add({
this.hide(); xtype: 'form',
} baseCls: 'x-plain',
bodyStyle: 'padding: 5px',
items: [{
xtype: 'combo',
width: 270,
fieldLabel: _('Event'),
store: new Ext.data.ArrayStore({
fields: ['id', 'text'],
data: [
['complete', _('Torrent Complete')],
['added', _('Torrent Added')]
]
}),
name: 'event',
mode: 'local',
editable: false,
triggerAction: 'all',
valueField: 'id',
displayField: 'text'
}, {
xtype: 'textfield',
fieldLabel: _('Command'),
name: 'command',
width: 270
}]
});
},
onCancelClick: function() {
this.hide();
}
}); });
Deluge.ux.EditExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, { Deluge.ux.EditExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, {
title: _('Edit Command'), title: _('Edit Command'),
initComponent: function() { initComponent: function() {
Deluge.ux.EditExecuteCommandWindow.superclass.initComponent.call(this); Deluge.ux.EditExecuteCommandWindow.superclass.initComponent.call(this);
this.addButton(_('Save'), this.onSaveClick, this); this.addButton(_('Save'), this.onSaveClick, this);
this.addEvents({ this.addEvents({
'commandedit': true 'commandedit': true
}); });
}, },
show: function(command) { show: function(command) {
Deluge.ux.EditExecuteCommandWindow.superclass.show.call(this); Deluge.ux.EditExecuteCommandWindow.superclass.show.call(this);
this.command = command; this.command = command;
this.form.getForm().setValues({ this.form.getForm().setValues({
event: command.get('event'), event: command.get('event'),
command: command.get('name') command: command.get('name')
}); });
}, },
onSaveClick: function() { onSaveClick: function() {
var values = this.form.getForm().getFieldValues(); var values = this.form.getForm().getFieldValues();
deluge.client.execute.save_command(this.command.id, values.event, values.command, { deluge.client.execute.save_command(this.command.id, values.event, values.command, {
success: function() { success: function() {
this.fireEvent('commandedit', this, values.event, values.command); this.fireEvent('commandedit', this, values.event, values.command);
}, },
scope: this scope: this
}); });
this.hide(); this.hide();
} }
}); });
Deluge.ux.AddExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, { Deluge.ux.AddExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, {
title: _('Add Command'), title: _('Add Command'),
initComponent: function() { initComponent: function() {
Deluge.ux.AddExecuteCommandWindow.superclass.initComponent.call(this); Deluge.ux.AddExecuteCommandWindow.superclass.initComponent.call(this);
this.addButton(_('Add'), this.onAddClick, this); this.addButton(_('Add'), this.onAddClick, this);
this.addEvents({ this.addEvents({
'commandadd': true 'commandadd': true
}); });
}, },
onAddClick: function() { onAddClick: function() {
var values = this.form.getForm().getFieldValues(); var values = this.form.getForm().getFieldValues();
deluge.client.execute.add_command(values.event, values.command, { deluge.client.execute.add_command(values.event, values.command, {
success: function() { success: function() {
this.fireEvent('commandadd', this, values.event, values.command); this.fireEvent('commandadd', this, values.event, values.command);
}, },
scope: this scope: this
}); });
this.hide(); this.hide();
} }
}); });
@ -144,144 +144,144 @@ Ext.ns('Deluge.ux.preferences');
*/ */
Deluge.ux.preferences.ExecutePage = Ext.extend(Ext.Panel, { Deluge.ux.preferences.ExecutePage = Ext.extend(Ext.Panel, {
title: _('Execute'), title: _('Execute'),
layout: 'fit', layout: 'fit',
border: false, border: false,
initComponent: function() {
Deluge.ux.preferences.ExecutePage.superclass.initComponent.call(this);
var event_map = this.event_map = {
'complete': _('Torrent Complete'),
'added': _('Torrent Added')
}
this.list = new Ext.list.ListView({ initComponent: function() {
store: new Ext.data.SimpleStore({ Deluge.ux.preferences.ExecutePage.superclass.initComponent.call(this);
fields: [ var event_map = this.event_map = {
{name: 'event', mapping: 1}, 'complete': _('Torrent Complete'),
{name: 'name', mapping: 2} 'added': _('Torrent Added')
], }
id: 0
}),
columns: [{
width: .3,
header: _('Event'),
sortable: true,
dataIndex: 'event',
tpl: new Ext.XTemplate('{[this.getEvent(values.event)]}', {
getEvent: function(e) {
return (event_map[e]) ? event_map[e] : e;
}
})
}, {
id: 'name',
header: _('Command'),
sortable: true,
dataIndex: 'name'
}],
singleSelect: true,
autoExpandColumn: 'name'
});
this.list.on('selectionchange', this.onSelectionChange, this);
this.panel = this.add({ this.list = new Ext.list.ListView({
items: [this.list], store: new Ext.data.SimpleStore({
bbar: { fields: [
items: [{ {name: 'event', mapping: 1},
text: _('Add'), {name: 'name', mapping: 2}
iconCls: 'icon-add', ],
handler: this.onAddClick, id: 0
scope: this }),
}, { columns: [{
text: _('Edit'), width: .3,
iconCls: 'icon-edit', header: _('Event'),
handler: this.onEditClick, sortable: true,
scope: this, dataIndex: 'event',
disabled: true tpl: new Ext.XTemplate('{[this.getEvent(values.event)]}', {
}, '->', { getEvent: function(e) {
text: _('Remove'), return (event_map[e]) ? event_map[e] : e;
iconCls: 'icon-remove', }
handler: this.onRemoveClick, })
scope: this, }, {
disabled: true id: 'name',
}] header: _('Command'),
} sortable: true,
}); dataIndex: 'name'
}],
deluge.preferences.on('show', this.onPreferencesShow, this); singleSelect: true,
}, autoExpandColumn: 'name'
});
this.list.on('selectionchange', this.onSelectionChange, this);
updateCommands: function() { this.panel = this.add({
deluge.client.execute.get_commands({ items: [this.list],
success: function(commands) { bbar: {
this.list.getStore().loadData(commands); items: [{
}, text: _('Add'),
scope: this iconCls: 'icon-add',
}); handler: this.onAddClick,
}, scope: this
}, {
text: _('Edit'),
iconCls: 'icon-edit',
handler: this.onEditClick,
scope: this,
disabled: true
}, '->', {
text: _('Remove'),
iconCls: 'icon-remove',
handler: this.onRemoveClick,
scope: this,
disabled: true
}]
}
});
onAddClick: function() { deluge.preferences.on('show', this.onPreferencesShow, this);
if (!this.addWin) { },
this.addWin = new Deluge.ux.AddExecuteCommandWindow();
this.addWin.on('commandadd', function() {
this.updateCommands();
}, this);
}
this.addWin.show();
},
onCommandAdded: function(win, evt, cmd) { updateCommands: function() {
var record = new this.list.getStore().recordType({ deluge.client.execute.get_commands({
event: evt, success: function(commands) {
command: cmd this.list.getStore().loadData(commands);
}); },
}, scope: this
});
},
onEditClick: function() { onAddClick: function() {
if (!this.editWin) { if (!this.addWin) {
this.editWin = new Deluge.ux.EditExecuteCommandWindow(); this.addWin = new Deluge.ux.AddExecuteCommandWindow();
this.editWin.on('commandedit', function() { this.addWin.on('commandadd', function() {
this.updateCommands(); this.updateCommands();
}, this); }, this);
} }
this.editWin.show(this.list.getSelectedRecords()[0]); this.addWin.show();
}, },
onPreferencesShow: function() { onCommandAdded: function(win, evt, cmd) {
this.updateCommands(); var record = new this.list.getStore().recordType({
}, event: evt,
command: cmd
});
},
onRemoveClick: function() { onEditClick: function() {
var record = this.list.getSelectedRecords()[0]; if (!this.editWin) {
deluge.client.execute.remove_command(record.id, { this.editWin = new Deluge.ux.EditExecuteCommandWindow();
success: function() { this.editWin.on('commandedit', function() {
this.updateCommands(); this.updateCommands();
}, }, this);
scope: this }
}); this.editWin.show(this.list.getSelectedRecords()[0]);
}, },
onSelectionChange: function(dv, selections) { onPreferencesShow: function() {
if (selections.length) { this.updateCommands();
this.panel.getBottomToolbar().items.get(1).enable(); },
this.panel.getBottomToolbar().items.get(3).enable();
} else { onRemoveClick: function() {
this.panel.getBottomToolbar().items.get(1).disable(); var record = this.list.getSelectedRecords()[0];
this.panel.getBottomToolbar().items.get(3).disable(); deluge.client.execute.remove_command(record.id, {
} success: function() {
} this.updateCommands();
},
scope: this
});
},
onSelectionChange: function(dv, selections) {
if (selections.length) {
this.panel.getBottomToolbar().items.get(1).enable();
this.panel.getBottomToolbar().items.get(3).enable();
} else {
this.panel.getBottomToolbar().items.get(1).disable();
this.panel.getBottomToolbar().items.get(3).disable();
}
}
}); });
Deluge.plugins.ExecutePlugin = Ext.extend(Deluge.Plugin, { Deluge.plugins.ExecutePlugin = Ext.extend(Deluge.Plugin, {
name: 'Execute', name: 'Execute',
onDisable: function() { onDisable: function() {
deluge.preferences.removePage(this.prefsPage); deluge.preferences.removePage(this.prefsPage);
}, },
onEnable: function() { onEnable: function() {
this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.ExecutePage()); this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.ExecutePage());
} }
}); });
Deluge.registerPlugin('Execute', Deluge.plugins.ExecutePlugin); Deluge.registerPlugin('Execute', Deluge.plugins.ExecutePlugin);