[#2008] [WebUI] Fix translation marked text

* Remove labelSeparator and manually add ':' so text matches gtk translations.
 * Use consistent quotes around strings. This can affect gettext script picking up
   marked strings.
 * Added the equivalent deffered translation as gtkui for Filters and Progressbar
This commit is contained in:
Calum Lind 2015-08-20 19:11:46 +01:00
parent 522815d266
commit 7af7ecd82a
25 changed files with 222 additions and 148 deletions

View File

@ -1,6 +1,6 @@
/*!
* Deluge.AddConnectionWindow.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -51,25 +51,27 @@ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, {
Deluge.AddConnectionWindow.superclass.initComponent.call(this);
this.addEvents('hostadded');
this.addButton(_('Close'), this.hide, this);
this.addButton(_('Add'), this.onAddClick, this);
this.on('hide', this.onHide, this);
this.form = this.add({
xtype: 'form',
defaultType: 'textfield',
baseCls: 'x-plain',
labelWidth: 60,
items: [{
fieldLabel: _('Host'),
fieldLabel: _('Host:'),
labelSeparator : '',
name: 'host',
anchor: '75%',
value: ''
}, {
xtype: 'spinnerfield',
fieldLabel: _('Port'),
fieldLabel: _('Port:'),
labelSeparator : '',
name: 'port',
strategy: {
xtype: 'number',
@ -80,12 +82,14 @@ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, {
value: '58846',
anchor: '40%'
}, {
fieldLabel: _('Username'),
fieldLabel: _('Username:'),
labelSeparator : '',
name: 'username',
anchor: '75%',
value: ''
}, {
fieldLabel: _('Password'),
fieldLabel: _('Password:'),
labelSeparator : '',
anchor: '75%',
name: 'password',
inputType: 'password',
@ -101,7 +105,7 @@ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, {
if (!result[0]) {
Ext.MessageBox.show({
title: _('Error'),
msg: "Unable to add host: " + result[1],
msg: 'Unable to add host: ' + result[1],
buttons: Ext.MessageBox.OK,
modal: false,
icon: Ext.MessageBox.ERROR,

View File

@ -1,6 +1,6 @@
/*!
* Deluge.AddTrackerWindow.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -36,7 +36,7 @@ Ext.ns('Deluge');
* @extends Ext.Window
*/
Deluge.AddTrackerWindow = Ext.extend(Ext.Window, {
title: _('Add Tracker'),
layout: 'fit',
width: 375,
@ -52,18 +52,19 @@ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, {
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'),
fieldLabel: _('Trackers:'),
labelSeparator: '',
name: 'trackers',
anchor: '100%'
}]
@ -73,7 +74,7 @@ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, {
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)) {

View File

@ -1,6 +1,6 @@
/*!
* Deluge.Client.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -1,6 +1,6 @@
/*!
* Deluge.EditTrackerWindow.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -49,42 +49,43 @@ Deluge.EditTrackerWindow = Ext.extend(Ext.Window, {
buttonAlign: 'right',
closeAction: 'hide',
iconCls: 'x-deluge-edit-trackers',
initComponent: function() {
Deluge.EditTrackerWindow.superclass.initComponent.call(this);
this.addButton(_('Cancel'), this.onCancelClick, this);
this.addButton(_('Save'), this.onSaveClick, this);
this.on('hide', this.onHide, this);
this.form = this.add({
xtype: 'form',
defaultType: 'textfield',
baseCls: 'x-plain',
labelWidth: 55,
items: [{
fieldLabel: _('Tracker'),
fieldLabel: _('Tracker:'),
labelSeparator: '',
name: 'tracker',
anchor: '100%'
}]
});
},
show: function(record) {
Deluge.EditTrackerWindow.superclass.show.call(this);
this.record = record;
this.form.getForm().findField('tracker').setValue(record.data['url']);
},
onCancelClick: function() {
this.hide();
},
onHide: function() {
this.form.getForm().findField('tracker').setValue('');
},
onSaveClick: function() {
var url = this.form.getForm().findField('tracker').getValue();
this.record.set('url', url);

View File

@ -46,14 +46,24 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, {
initComponent: function() {
Deluge.FilterPanel.superclass.initComponent.call(this);
this.filterType = this.initialConfig.filter;
var title = this.filterType.replace('_', ' '),
parts = title.split(' '),
title = '';
Ext.each(parts, function(p) {
fl = p.substring(0, 1).toUpperCase();
title += fl + p.substring(1) + ' ';
});
var title = '';
if (this.filterType == 'state') {
title = _('States');
} else if (this.filterType == 'tracker_host') {
title = _('Trackers');
} else if (this.filterType == 'owner') {
title = _('Owner');
} else if (this.filterType == 'label') {
title = _('Labels');
} else {
title = this.filterType.replace('_', ' '),
parts = title.split(' '),
title = '';
Ext.each(parts, function(p) {
fl = p.substring(0, 1).toUpperCase();
title += fl + p.substring(1) + ' ';
});
}
this.setTitle(_(title));
if (Deluge.FilterPanel.templates[this.filterType]) {
@ -121,7 +131,7 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, {
if (!show_zero) {
var newStates = [];
Ext.each(states, function(state) {
if (state[1] > 0 || state[0] == _('All')) {
if (state[1] > 0 || state[0] == 'All') {
newStates.push(state);
}
});
@ -141,7 +151,7 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, {
store.insert(i, record);
}
record.beginEdit();
record.set('filter', s[0]);
record.set('filter', _(s[0]));
record.set('count', s[1]);
record.endEdit();
filters[s[0]] = true;

View File

@ -67,7 +67,8 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, {
this.passwordField = this.form.add({
xtype: 'textfield',
fieldLabel: _('Password'),
fieldLabel: _('Password:'),
labelSeparator : '',
grow: true,
growMin: '110',
growMax: '145',

View File

@ -1,6 +1,6 @@
/*!
* Deluge.Plugin.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -51,33 +51,33 @@ Deluge.Plugin = Ext.extend(Ext.util.Observable, {
* @event enabled
* @param {Plugin} plugin the plugin instance
*/
"enabled": true,
'enabled': true,
/**
* @event disabled
* @param {Plugin} plugin the plugin instance
*/
"disabled": true
'disabled': true
});
Deluge.Plugin.superclass.constructor.call(this, config);
},
/**
* Disables the plugin, firing the "{@link #disabled}" event and
* then executing the plugins clean up method onDisabled.
*/
disable: function() {
this.fireEvent("disabled", this);
this.fireEvent('disabled', this);
if (this.onDisable) this.onDisable();
},
/**
* Enables the plugin, firing the "{@link #enabled}" event and
* then executes the plugins setup method, onEnabled.
*/
enable: function() {
deluge.client.reloadMethods();
this.fireEvent("enable", this);
this.fireEvent('enable', this);
if (this.onEnable) this.onEnable();
},

View File

@ -61,7 +61,7 @@ Deluge.RemoveWindow = Ext.extend(Ext.Window, {
deluge.client.core.remove_torrents(this.torrentIds, removeData, {
success: function(result) {
if (result) {
console.log("Error(s) occured when trying to delete torrent(s).");
console.log('Error(s) occured when trying to delete torrent(s).');
}
this.onRemoved(this.torrentIds);
},

View File

@ -67,7 +67,7 @@ Deluge.Sidebar = Ext.extend(Ext.Panel, {
// private
initComponent: function() {
Deluge.Sidebar.superclass.initComponent.call(this);
deluge.events.on("disconnect", this.onDisconnect, this);
deluge.events.on('disconnect', this.onDisconnect, this);
},
createFilter: function(filter, states) {

View File

@ -310,6 +310,6 @@ Deluge.Statusbar = Ext.extend(Ext.ux.StatusBar, {
});
this.items.get('statusbar-dht').setText(stats.dht_nodes);
this.items.get('statusbar-freespace').setText(stats.free_space >= 0 ? fsize(stats.free_space): _("Error"));
this.items.get('statusbar-freespace').setText(stats.free_space >= 0 ? fsize(stats.free_space): _('Error'));
}
});

View File

@ -50,7 +50,7 @@
function torrentProgressRenderer(value, p, r) {
value = new Number(value);
var progress = value;
var text = r.data['state'] + ' ' + value.toFixed(2) + '%';
var text = _(r.data['state']) + ' ' + value.toFixed(2) + '%';
if ( this.style ) {
var style = this.style
} else {
@ -85,7 +85,7 @@
}
function dateOrNever(date) {
return date > 0.0 ? fdate(date) : "Never"
return date > 0.0 ? fdate(date) : _('Never')
}
/**

View File

@ -30,6 +30,30 @@
* statement from all source files in the program, then also delete it here.
*/
/** Dummy translation arrays so Torrent and Tracker states are available for Translators.
*
* All entries in deluge.common.TORRENT_STATE should be added here.
*
* No need to import these, just simply use the `_()` function around a status variable.
*/
var TORRENT_STATE_TRANSLATION = [
_('All'),
_('Active'),
_('Allocating'),
_('Checking'),
_('Downloading'),
_('Seeding'),
_('Paused'),
_('Checking'),
_('Queued'),
_('Error')];
var TRACKER_STATUS_TRANSLATION = [
_('Error'),
_('Warning'),
_('Announce OK'),
_('Announce Sent')];
/**
* @static
* @class Deluge.UI
@ -92,8 +116,8 @@ deluge.ui = {
items: [this.MainPanel]
});
deluge.events.on("connect", this.onConnect, this);
deluge.events.on("disconnect", this.onDisconnect, this);
deluge.events.on('connect', this.onConnect, this);
deluge.events.on('disconnect', this.onDisconnect, this);
deluge.events.on('PluginDisabledEvent', this.onPluginDisabled, this);
deluge.events.on('PluginEnabledEvent', this.onPluginEnabled, this);
deluge.client = new Ext.ux.util.RpcClient({

View File

@ -39,18 +39,19 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, {
autoScroll: true,
queuedItems: {},
oldData: {},
initComponent: function() {
Deluge.details.DetailsTab.superclass.initComponent.call(this);
this.addItem('torrent_name', _('Name'));
this.addItem('hash', _('Hash'));
this.addItem('path', _('Download Folder'));
this.addItem('size', _('Total Size'));
this.addItem('files', _('Total Files'));
this.addItem('comment', _('Comment'));
this.addItem('status', _('Status'));
this.addItem('tracker', _('Tracker'));
this.addItem('torrent_name', _('Name:'));
this.addItem('hash', _('Hash:'));
this.addItem('path', _('Download Folder:'));
this.addItem('size', _('Total Size:'));
this.addItem('files', _('Total Files:'));
this.addItem('comment', _('Comment:'));
this.addItem('status', _('Status:'));
this.addItem('tracker', _('Tracker:'));
},
onRender: function(ct, position) {
@ -73,7 +74,7 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, {
// private
doAddItem: function(id, label) {
Ext.DomHelper.append(this.dl, {tag: 'dt', cls: id, html: label + ':'});
Ext.DomHelper.append(this.dl, {tag: 'dt', cls: id, html: label});
this.fields[id] = Ext.DomHelper.append(this.dl, {tag: 'dd', cls: id, html: ''}, true);
},

View File

@ -94,7 +94,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, {
*/
this.fieldsets.bandwidth.add({
xtype: 'label',
text: _('Max Download Speed'),
text: _('Max Download Speed:'),
forId: 'max_download_speed',
cls: 'x-deluge-options-label'
});
@ -120,7 +120,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, {
*/
this.fieldsets.bandwidth.add({
xtype: 'label',
text: _('Max Upload Speed'),
text: _('Max Upload Speed:'),
forId: 'max_upload_speed',
cls: 'x-deluge-options-label'
});
@ -147,7 +147,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, {
*/
this.fieldsets.bandwidth.add({
xtype: 'label',
text: _('Max Connections'),
text: _('Max Connections:'),
forId: 'max_connections',
cls: 'x-deluge-options-label'
});
@ -170,7 +170,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, {
*/
this.fieldsets.bandwidth.add({
xtype: 'label',
text: _('Max Upload Slots'),
text: _('Max Upload Slots:'),
forId: 'max_upload_slots',
cls: 'x-deluge-options-label'
});
@ -222,7 +222,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, {
labelSeparator: '',
id: 'stop_at_ratio',
width: 120,
boxLabel: _('Stop seed at ratio'),
boxLabel: _('Stop seed at ratio:'),
handler: this.onStopRatioChecked,
scope: this
});
@ -259,7 +259,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, {
fieldLabel: '',
labelSeparator: '',
id: 'move_completed',
boxLabel: _('Move Completed'),
boxLabel: _('Move Completed:'),
colspan: 2,
handler: this.onMoveCompletedChecked,
scope: this

View File

@ -43,8 +43,8 @@
var peer_ip = value.split(':');
if (peer_ip.length > 2) {
var port = peer_ip.pop();
var ip = peer_ip.join(":");
value = "[" + ip + "]:" + port;
var ip = peer_ip.join(':');
value = '[' + ip + ']:' + port;
}
return String.format('<div class="{0}">{1}</div>', seed, value);
}

View File

@ -1,6 +1,6 @@
/*!
* Deluge.preferences.BandwidthPage.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -45,10 +45,10 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, {
}, config);
Deluge.preferences.Bandwidth.superclass.constructor.call(this, config);
},
initComponent: function() {
Deluge.preferences.Bandwidth.superclass.initComponent.call(this);
var om = deluge.preferences.getOptionsManager();
var fieldset = this.add({
xtype: 'fieldset',
@ -65,7 +65,8 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, {
});
om.bind('max_connections_global', fieldset.add({
name: 'max_connections_global',
fieldLabel: _('Maximum Connections'),
fieldLabel: _('Maximum Connections:'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0
@ -73,39 +74,44 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, {
om.bind('max_upload_slots_global', fieldset.add({
name: 'max_upload_slots_global',
fieldLabel: _('Maximum Upload Slots'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0
}));
om.bind('max_download_speed', fieldset.add({
name: 'max_download_speed',
fieldLabel: _('Maximum Download Speed (KiB/s)'),
fieldLabel: _('Maximum Download Speed (KiB/s):'),
labelSeparator: '',
width: 80,
value: -1.0,
decimalPrecision: 1
}));
om.bind('max_upload_speed', fieldset.add({
name: 'max_upload_speed',
fieldLabel: _('Maximum Upload Speed (KiB/s)'),
fieldLabel: _('Maximum Upload Speed (KiB/s):'),
labelSeparator: '',
width: 80,
value: -1.0,
decimalPrecision: 1
}));
om.bind('max_half_open_connections', fieldset.add({
name: 'max_half_open_connections',
fieldLabel: _('Maximum Half-Open Connections'),
fieldLabel: _('Maximum Half-Open Connections:'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0
}));
om.bind('max_connections_per_second', fieldset.add({
name: 'max_connections_per_second',
fieldLabel: _('Maximum Connection Attempts per Second'),
fieldLabel: _('Maximum Connection Attempts per Second:'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -128,7 +134,7 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, {
labelSeparator: '',
boxLabel: _('Rate limit IP overhead')
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -144,28 +150,32 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, {
});
om.bind('max_connections_per_torrent', fieldset.add({
name: 'max_connections_per_torrent',
fieldLabel: _('Maximum Connections'),
fieldLabel: _('Maximum Connections:'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0
}));
om.bind('max_upload_slots_per_torrent', fieldset.add({
name: 'max_upload_slots_per_torrent',
fieldLabel: _('Maximum Upload Slots'),
fieldLabel: _('Maximum Upload Slots:'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0
}));
om.bind('max_download_speed_per_torrent', fieldset.add({
name: 'max_download_speed_per_torrent',
fieldLabel: _('Maximum Download Speed (KiB/s)'),
fieldLabel: _('Maximum Download Speed (KiB/s):'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0
}));
om.bind('max_upload_speed_per_torrent', fieldset.add({
name: 'max_upload_speed_per_torrent',
fieldLabel: _('Maximum Upload Speed (KiB/s)'),
fieldLabel: _('Maximum Upload Speed (KiB/s):'),
labelSeparator: '',
width: 80,
value: -1,
decimalPrecision: 0

View File

@ -1,6 +1,6 @@
/*!
* Deluge.preferences.CachePage.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -40,12 +40,12 @@ Deluge.preferences.Cache = Ext.extend(Ext.form.FormPanel, {
border: false,
title: _('Cache'),
layout: 'form',
initComponent: function() {
Deluge.preferences.Cache.superclass.initComponent.call(this);
var om = deluge.preferences.getOptionsManager();
var fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -60,13 +60,15 @@ Deluge.preferences.Cache = Ext.extend(Ext.form.FormPanel, {
}
});
om.bind('cache_size', fieldset.add({
fieldLabel: _('Cache Size (16 KiB Blocks)'),
fieldLabel: _('Cache Size (16 KiB Blocks):'),
labelSeparator: '',
name: 'cache_size',
width: 60,
value: 512
}));
om.bind('cache_expiry', fieldset.add({
fieldLabel: _('Cache Expiry (seconds)'),
fieldLabel: _('Cache Expiry (seconds):'),
labelSeparator: '',
name: 'cache_expiry',
width: 60,
value: 60

View File

@ -1,6 +1,6 @@
/*!
* Deluge.preferences.DaemonPage.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -40,12 +40,12 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, {
border: false,
title: _('Daemon'),
layout: 'form',
initComponent: function() {
Deluge.preferences.Daemon.superclass.initComponent.call(this);
var om = deluge.preferences.getOptionsManager();
var fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -54,14 +54,15 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, {
defaultType: 'spinnerfield'
});
om.bind('daemon_port', fieldset.add({
fieldLabel: _('Daemon port'),
fieldLabel: _('Daemon port:'),
labelSeparator: '',
name: 'daemon_port',
value: 58846,
decimalPrecision: 0,
minValue: -1,
maxValue: 99999
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -77,7 +78,7 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, {
boxLabel: _('Allow Remote Connections'),
name: 'allow_remote'
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,

View File

@ -66,13 +66,15 @@ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, {
optMan.bind('download_location', fieldset.add({
xtype: 'textfield',
name: 'download_location',
fieldLabel: _('Download to'),
fieldLabel: _('Download to:'),
labelSeparator: '',
width: 280
}));
var field = fieldset.add({
name: 'move_completed_path',
fieldLabel: _('Move completed to'),
fieldLabel: _('Move completed to:'),
labelSeparator: '',
width: 280
});
optMan.bind('move_completed', field.toggle);
@ -80,7 +82,8 @@ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, {
field = fieldset.add({
name: 'torrentfiles_location',
fieldLabel: _('Copy of .torrent files to'),
fieldLabel: _('Copy of .torrent files to:'),
labelSeparator: '',
width: 280
});
optMan.bind('copy_torrent_file', field.toggle);

View File

@ -1,6 +1,6 @@
/*!
* Deluge.preferences.InterfacePage.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -40,13 +40,13 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
border: false,
title: _('Interface'),
layout: 'form',
initComponent: function() {
Deluge.preferences.Interface.superclass.initComponent.call(this);
var om = this.optionsManager = new Deluge.OptionsManager();
this.on('show', this.onPageShow, this);
var fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -77,7 +77,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
labelSeparator: '',
boxLabel: _('Allow the use of multiple filters at once')
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -91,20 +91,23 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
inputType: 'password'
}
});
this.oldPassword = fieldset.add({
name: 'old_password',
fieldLabel: _('Old Password')
fieldLabel: _('Old Password:'),
labelSeparator: '',
});
this.newPassword = fieldset.add({
name: 'new_password',
fieldLabel: _('New Password')
fieldLabel: _('New Password:'),
labelSeparator: '',
});
this.confirmPassword = fieldset.add({
name: 'confirm_password',
fieldLabel: _('Confirm Password')
fieldLabel: _('Confirm Password:'),
labelSeparator: '',
});
var panel = fieldset.add({
xtype: 'panel',
autoHeight: true,
@ -122,7 +125,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
}
}
});
fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -137,14 +140,16 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
});
om.bind('session_timeout', fieldset.add({
name: 'session_timeout',
fieldLabel: _('Session Timeout'),
fieldLabel: _('Session Timeout:'),
labelSeparator: '',
decimalPrecision: 0,
minValue: -1,
maxValue: 99999
}));
om.bind('port', fieldset.add({
name: 'port',
fieldLabel: _('Port'),
fieldLabel: _('Port:'),
labelSeparator: '',
decimalPrecision: 0,
minValue: -1,
maxValue: 99999
@ -163,17 +168,19 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
disabled: true,
name: 'pkey',
width: 180,
fieldLabel: _('Private Key')
fieldLabel: _('Private Key:'),
labelSeparator: ''
}));
this.certField = om.bind('cert', fieldset.add({
xtype: 'textfield',
disabled: true,
name: 'cert',
width: 180,
fieldLabel: _('Certificate')
fieldLabel: _('Certificate:'),
labelSeparator: ''
}));
},
onApply: function() {
var changed = this.optionsManager.getDirty();
if (!Ext.isObjectEmpty(changed)) {
@ -187,11 +194,11 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
}
}
},
onGotConfig: function(config) {
this.optionsManager.set(config);
},
onPasswordChange: function() {
var newPassword = this.newPassword.getValue();
if (newPassword != this.confirmPassword.getValue()) {
@ -205,7 +212,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
});
return;
}
var oldPassword = this.oldPassword.getValue();
deluge.client.auth.change_password(oldPassword, newPassword, {
success: function(result) {
@ -236,18 +243,18 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, {
scope: this
});
},
onSetConfig: function() {
this.optionsManager.commit();
},
onPageShow: function() {
deluge.client.web.get_config({
success: this.onGotConfig,
scope: this
})
},
onSSLCheck: function(e, checked) {
this.pkeyField.setDisabled(!checked);
this.certField.setDisabled(!checked);

View File

@ -105,7 +105,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, {
style: 'margin-right: 10px;'
},
items: [{
fieldLabel: 'From:',
fieldLabel: _('From:'),
labelSeparator: '',
strategy: {
xtype: 'number',
@ -114,7 +114,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, {
maxValue: 99999
}
}, {
fieldLabel: 'To:',
fieldLabel: _('To:'),
labelSeparator: '',
strategy: {
xtype: 'number',
@ -160,7 +160,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, {
style: 'margin-right: 10px;'
},
items: [{
fieldLabel: 'From:',
fieldLabel: _('From:'),
labelSeparator: '',
strategy: {
xtype: 'number',
@ -169,7 +169,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, {
maxValue: 99999
}
}, {
fieldLabel: 'To:',
fieldLabel: _('To:'),
labelSeparator: '',
strategy: {
xtype: 'number',

View File

@ -101,7 +101,8 @@ types. Absolutely no other information is sent.')
});
optMan.bind('geoip_db_location', fieldset.add({
name: 'geoip_db_location',
fieldLabel: _('Location'),
fieldLabel: _('Path:'),
labelSeparator: '',
width: 200
}));
}

View File

@ -45,11 +45,11 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, {
pluginTemplate: new Ext.Template(
'<dl class="singleline">' +
'<dt>Author:</dt><dd>{author}</dd>' +
'<dt>Version:</dt><dd>{version}</dd>' +
'<dt>Author Email:</dt><dd>{email}</dd>' +
'<dt>Homepage:</dt><dd>{homepage}</dd>' +
'<dt>Details:</dt><dd>{details}</dd>' +
'<dt>' + _('Author:') + '</dt><dd>{author}</dd>' +
'<dt>' + _('Version:') + '</dt><dd>{version}</dd>' +
'<dt>' + _('Author Email:') + '</dt><dd>{email}</dd>' +
'<dt>' + _('Homepage:') + '</dt><dd>{homepage}</dd>' +
'<dt>' + _('Details:') + '</dt><dd>{details}</dd>' +
'</dl>'
),

View File

@ -46,7 +46,8 @@ Deluge.preferences.ProxyI2PField = Ext.extend(Ext.form.FieldSet, {
this.hostname = this.add({
xtype: 'textfield',
name: 'hostname',
fieldLabel: _('Host'),
fieldLabel: _('Host:'),
labelSeparator: '',
width: 220
});
this.hostname.on('change', this.onFieldChange, this);
@ -54,7 +55,8 @@ Deluge.preferences.ProxyI2PField = Ext.extend(Ext.form.FieldSet, {
this.port = this.add({
xtype: 'spinnerfield',
name: 'port',
fieldLabel: _('Port'),
fieldLabel: _('Port:'),
labelSeparator: '',
width: 80,
decimalPrecision: 0,
minValue: 0,

View File

@ -1,6 +1,6 @@
/*!
* Deluge.preferences.QueuePage.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -40,12 +40,12 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
border: false,
title: _('Queue'),
layout: 'form',
initComponent: function() {
Deluge.preferences.Queue.superclass.initComponent.call(this);
var om = deluge.preferences.getOptionsManager();
var fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -62,7 +62,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
boxLabel: _('Queue new torrents to top'),
name: 'queue_new_to_top'
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -73,7 +73,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
style: 'margin-bottom: 0px; padding-bottom: 0px;'
});
om.bind('max_active_limit', fieldset.add({
fieldLabel: _('Total Active'),
fieldLabel: _('Total Active:'),
labelSeparator: '',
name: 'max_active_limit',
value: 8,
width: 80,
@ -82,7 +83,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
maxValue: 99999
}));
om.bind('max_active_downloading', fieldset.add({
fieldLabel: _('Total Active Downloading'),
fieldLabel: _('Total Active Downloading:'),
labelSeparator: '',
name: 'max_active_downloading',
value: 3,
width: 80,
@ -91,7 +93,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
maxValue: 99999
}));
om.bind('max_active_seeding', fieldset.add({
fieldLabel: _('Total Active Seeding'),
fieldLabel: _('Total Active Seeding:'),
labelSeparator: '',
name: 'max_active_seeding',
value: 5,
width: 80,
@ -113,7 +116,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
hideLabel: true,
boxLabel: _('Prefer Seeding over Downloading')
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,
@ -124,7 +127,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
style: 'margin-bottom: 0px; padding-bottom: 0px; margin-top: 0; padding-top: 0;'
});
om.bind('share_ratio_limit', fieldset.add({
fieldLabel: _('Share Ratio Limit'),
fieldLabel: _('Share Ratio Limit:'),
labelSeparator: '',
name: 'share_ratio_limit',
value: 8,
width: 80,
@ -135,7 +139,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
decimalPrecision: 2
}));
om.bind('seed_time_ratio_limit', fieldset.add({
fieldLabel: _('Share Time Ratio'),
fieldLabel: _('Share Time Ratio:'),
labelSeparator: '',
name: 'seed_time_ratio_limit',
value: 3,
width: 80,
@ -146,7 +151,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
decimalPrecision: 2
}));
om.bind('seed_time_limit', fieldset.add({
fieldLabel: _('Seed Time (m)'),
fieldLabel: _('Seed Time (m):'),
labelSeparator: '',
name: 'seed_time_limit',
value: 5,
width: 80,
@ -154,17 +160,17 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
minValue: -1,
maxValue: 99999
}));
fieldset = this.add({
xtype: 'fieldset',
border: false,
autoHeight: true,
layout: 'table',
layoutConfig: {columns: 2},
labelWidth: 0,
defaultType: 'checkbox',
defaults: {
fieldLabel: '',
labelSeparator: ''
@ -176,7 +182,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
});
this.stopAtRatio.on('check', this.onStopRatioCheck, this);
om.bind('stop_seed_at_ratio', this.stopAtRatio);
this.stopRatio = fieldset.add({
xtype: 'spinnerfield',
name: 'stop_seed_ratio',
@ -191,7 +197,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
decimalPrecision: 2
});
om.bind('stop_seed_ratio', this.stopRatio);
this.removeAtRatio = fieldset.add({
name: 'remove_seed_at_ratio',
ctCls: 'x-deluge-indent-checkbox',
@ -201,7 +207,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
});
om.bind('remove_seed_at_ratio', this.removeAtRatio);
},
onStopRatioCheck: function(e, checked) {
this.stopRatio.setDisabled(!checked);
this.removeAtRatio.setDisabled(!checked);