Update Changelog, translation files and compress js

This commit is contained in:
Calum Lind 2012-11-26 16:52:41 +00:00
parent 16568404e7
commit 10ccd9aaaf
7 changed files with 321 additions and 281 deletions

View File

@ -3,11 +3,49 @@
* Catch & log KeyError when removing a torrent from the queued torrents set
* Fix moving/renaming torrents with non-ascii characters in libtorrent 0.16
* Make sure queue order is preserved when restarting
* #2160: Disable use of python bindings for libtorrent extensions and replace with session flag
* #2163: Fix unable add torrent file with empty (0:) encoding tag
* #2201: Fix error in authmanager if auth file has extra newlines
==== GtkUI ====
* Add move completed option to add torrent dialog
* Prevent jitter in torrent view
* Fix torrent creation with non-ascii characters
* Fix #2100 : Add option not to bring main window to front when adding torrents through ipcinterface
* Add Quit Dialog when toggling classic mode in preferences and only show connection manager when not in classic mode.
* #2169: Fix 'Download Location' in the Add Torrent Dialog not set correctly when folder typed into Other->Location field
* #2171: Fix the Add Peer dialog not responding if empty or invalid values entered
* #2104: Fix no title set for the appindicator
* #2086: Fix submenus and icons for appindicator
==== Console ====
* LP#1004793: Enable use of connect command in non-interactive mode
* Ensure console commands are executed in order
* #2065: Fix crash with missing closing quote
* #1397: Add support for -s STATE in info command
==== WebUI ====
* #2112: Fix world readable tmp directory in json_api
* #2069: Fix login window layout problem when using larger than default font size
* #1890: Fix columns in files and peers view could use some spacing
* #2103: Fix sorting by name is case-sensitive [sedulous]
* #2120: Fix manually entered values not being saved in spinners
* #2212: Fix unable to scroll in proxy preferences page
* Fix autoconnecting to the default host
==== Windows OS ====
* Hide the cmd windows when running deluged.exe or deluge-web.exe
* Add deluged-debug.exe and deluge-web-debug.exe that still show the cmd window
* Add gtk locale files to fix untranslated text
* Fix the Open Folder option not working with non-ascii paths
* Fix the daemon starting with config dir containing spaces
* Fix Windows tray submenu items requiring right-click instead of left-click
==== OS X ====
* Fix Open File/Folder option
==== Execute ====
* Fix execute plugin not working with unicode torrent names
=== Deluge 1.3.5 (09 April 2012) ===
==== Core ====

File diff suppressed because it is too large Load Diff

View File

@ -212,7 +212,7 @@ GetText.add('Create', '${escape(_("Create"))}')
// Menus.js:103
GetText.add('D/L Speed Limit', '${escape(_("D/L Speed Limit"))}')
// NetworkPage.js:225, ProxyPage.js:69
// NetworkPage.js:225, ProxyPage.js:70
GetText.add('DHT', '${escape(_("DHT"))}')
// Statusbar.js:210
@ -308,7 +308,7 @@ GetText.add('File Browser', '${escape(_("File Browser"))}')
// OptionsPanel.js:143
GetText.add('File prioritization is unavailable when using Compact allocation. Would you like to switch to Full allocation?', '${escape(_("File prioritization is unavailable when using Compact allocation. Would you like to switch to Full allocation?"))}')
// FilesTab.js:41, FilesTab.js:50
// FilesTab.js:40, FilesTab.js:50
GetText.add('Filename', '${escape(_("Filename"))}')
// FilesTab.js:35, FilesTab.js:41
@ -425,7 +425,7 @@ GetText.add('Location', '${escape(_("Location"))}')
// LoginWindow.js:45, LoginWindow.js:54
GetText.add('Login', '${escape(_("Login"))}')
// LoginWindow.js:127
// LoginWindow.js:130
GetText.add('Login Failed', '${escape(_("Login Failed"))}')
// Toolbar.js:114
@ -539,7 +539,7 @@ GetText.add('Path', '${escape(_("Path"))}')
// Menus.js:88, Toolbar.js:70
GetText.add('Pause', '${escape(_("Pause"))}')
// ProxyPage.js:51
// ProxyPage.js:52
GetText.add('Peer', '${escape(_("Peer"))}')
// NetworkPage.js:212
@ -581,7 +581,7 @@ GetText.add('Prioritize First/Last Pieces', '${escape(_("Prioritize First/Last P
// DownloadsPage.js:140
GetText.add('Prioritize first and last pieces of torrent', '${escape(_("Prioritize first and last pieces of torrent"))}')
// FilesTab.js:61
// FilesTab.js:60
GetText.add('Priority', '${escape(_("Priority"))}')
// OptionsTab.js:300
@ -590,7 +590,7 @@ GetText.add('Private', '${escape(_("Private"))}')
// InterfacePage.js:166
GetText.add('Private Key', '${escape(_("Private Key"))}')
// TorrentGrid.js:124, FilesTab.js:53
// TorrentGrid.js:124, FilesTab.js:52
GetText.add('Progress', '${escape(_("Progress"))}')
// Statusbar.js:200
@ -680,7 +680,7 @@ GetText.add('Show filters with zero torrents', '${escape(_("Show filters with ze
// InterfacePage.js:64
GetText.add('Show session speed in titlebar', '${escape(_("Show session speed in titlebar"))}')
// TorrentGrid.js:118, FilesTab.js:45, FilesTab.js:54
// TorrentGrid.js:118, FilesTab.js:44, FilesTab.js:54
GetText.add('Size', '${escape(_("Size"))}')
// ProxyField.js:56
@ -734,7 +734,7 @@ GetText.add('Total Active Seeding', '${escape(_("Total Active Seeding"))}')
// DetailsTab.js:49
GetText.add('Total Size', '${escape(_("Total Size"))}')
// EditTrackersWindow.js:80, TorrentGrid.js:183, EditTrackerWindow.js:66, DetailsTab.js:53, ProxyPage.js:63
// EditTrackersWindow.js:80, TorrentGrid.js:183, EditTrackerWindow.js:66, DetailsTab.js:53, ProxyPage.js:64
GetText.add('Tracker', '${escape(_("Tracker"))}')
// Sidebar.js:35
@ -809,13 +809,13 @@ GetText.add('Username', '${escape(_("Username"))}')
// ConnectionManager.js:80
GetText.add('Version', '${escape(_("Version"))}')
// ProxyPage.js:57
// ProxyPage.js:58
GetText.add('Web Seed', '${escape(_("Web Seed"))}')
// OtherPage.js:90
GetText.add('Yes, please send anonymous statistics', '${escape(_("Yes, please send anonymous statistics"))}')
// LoginWindow.js:128
// LoginWindow.js:131
GetText.add('You entered an incorrect password', '${escape(_("You entered an incorrect password"))}')
// InterfacePage.js:215

View File

@ -1,6 +1,6 @@
/*!
* Deluge.data.SortTypes.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -39,7 +39,7 @@ Ext.namespace('Deluge.data');
*
* @class Deluge.data.SortTypes
* @singleton
*/
*/
Deluge.data.SortTypes = {
asIPAddress: function(value) {
var d = value.match(/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\:(\d+)/);
@ -48,6 +48,10 @@ Deluge.data.SortTypes = {
asQueuePosition: function(value) {
return (value > -1) ? value : Number.MAX_VALUE;
},
asName: function(value) {
return String(value).toLowerCase();
}
}
/*!
@ -168,7 +172,8 @@ Deluge.data.Torrent = Ext.data.Record.create([{
type: 'int'
}, {
name: 'name',
type: 'string'
type: 'string',
sortType: Deluge.data.SortTypes.asName
}, {
name: 'total_size',
type: 'int'
@ -349,7 +354,7 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, {
title: _('Details'),
fields: {},
autoScroll: true,
queuedItems: {},
oldData: {},
@ -428,7 +433,7 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, {
});
/*!
* Deluge.details.FilesTab.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -457,12 +462,11 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, {
* this exception statement from your version. If you delete this exception
* statement from all source files in the program, then also delete it here.
*/
Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
title: _('Files'),
autoScroll: true,
rootVisible: false,
columns: [{
@ -502,7 +506,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
}
})
}],
selModel: new Ext.tree.MultiSelectionModel(),
initComponent: function() {
@ -558,7 +562,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
this.clear();
this.torrentId = torrentId;
}
deluge.client.web.get_torrent_files(torrentId, {
success: this.onRequestComplete,
scope: this,
@ -591,7 +595,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
folderSort: true
});
},
onContextMenu: function(node, e) {
e.stopEvent();
var selModel = this.getSelectionModel();
@ -601,7 +605,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
}
deluge.menus.filePriorities.showAt(e.getPoint());
},
onItemClick: function(baseItem, e) {
switch (baseItem.id) {
case 'expandAll':
@ -628,7 +632,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
return;
}
});
var priorities = new Array(Ext.keys(indexes).length);
for (var index in indexes) {
priorities[index] = indexes[index];
@ -645,7 +649,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
break;
}
},
onRequestComplete: function(files, options) {
if (!this.getRootNode().hasChildNodes()) {
this.createFileTree(files);
@ -4393,7 +4397,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, {
});
/*!
* Deluge.preferences.ProxyPage.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -4433,11 +4437,12 @@ Deluge.preferences.Proxy = Ext.extend(Ext.form.FormPanel, {
config = Ext.apply({
border: false,
title: _('Proxy'),
layout: 'form'
layout: 'form',
autoScroll: true
}, config);
Deluge.preferences.Proxy.superclass.constructor.call(this, config);
},
initComponent: function() {
Deluge.preferences.Proxy.superclass.initComponent.call(this);
this.peer = this.add(new Deluge.preferences.ProxyField({
@ -4445,28 +4450,28 @@ Deluge.preferences.Proxy = Ext.extend(Ext.form.FormPanel, {
name: 'peer'
}));
this.peer.on('change', this.onProxyChange, this);
this.web_seed = this.add(new Deluge.preferences.ProxyField({
title: _('Web Seed'),
name: 'web_seed'
}));
this.web_seed.on('change', this.onProxyChange, this);
this.tracker = this.add(new Deluge.preferences.ProxyField({
title: _('Tracker'),
name: 'tracker'
}));
this.tracker.on('change', this.onProxyChange, this);
this.dht = this.add(new Deluge.preferences.ProxyField({
title: _('DHT'),
name: 'dht'
}));
this.dht.on('change', this.onProxyChange, this);
deluge.preferences.getOptionsManager().bind('proxies', this);
},
getValue: function() {
return {
'dht': this.dht.getValue(),
@ -4475,18 +4480,18 @@ Deluge.preferences.Proxy = Ext.extend(Ext.form.FormPanel, {
'web_seed': this.web_seed.getValue()
}
},
setValue: function(value) {
for (var proxy in value) {
this[proxy].setValue(value[proxy]);
}
},
onProxyChange: function(field, newValue, oldValue) {
var newValues = this.getValue();
var oldValues = Ext.apply({}, newValues);
oldValues[field.getName()] = oldValue;
this.fireEvent('change', this, newValues, oldValues);
}
});
@ -7092,15 +7097,18 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, {
this.form = this.add({
xtype: 'form',
baseCls: 'x-plain',
labelWidth: 55,
width: 300,
defaults: {width: 200},
labelWidth: 120,
labelAlign: 'right',
defaults: {width: 110},
defaultType: 'textfield'
});
this.passwordField = this.form.add({
xtype: 'textfield',
fieldLabel: _('Password'),
grow: true,
growMin: '110',
growMax: '145',
id: '_password',
name: 'password',
inputType: 'password'
@ -9010,7 +9018,7 @@ Deluge.Toolbar = Ext.extend(Ext.Toolbar, {
idProperty: 'id',
fields: [
{name: 'queue', sortType: Deluge.data.SortTypes.asQueuePosition},
{name: 'name'},
{name: 'name', sortType: Deluge.data.SortTypes.asName},
{name: 'total_size', type: 'int'},
{name: 'state'},
{name: 'progress', type: 'float'},

File diff suppressed because one or more lines are too long

View File

@ -1543,7 +1543,7 @@ Ext.override(Ext.ux.form.SpinnerField, {
});
/*!
* Ext.ux.form.SpinnerGroup.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -1581,6 +1581,7 @@ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, {
// private
defaultType: 'spinnerfield',
anchor: '98%',
// private
groupCls: 'x-form-spinner-group',
@ -1697,6 +1698,7 @@ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, {
this.items.each(function(field) {
field.on('spin', this.onFieldChange, this);
field.on('change', this.onFieldChange, this);
}, this);
if (this.lazyValueSet) {

View File

@ -191,7 +191,7 @@ Ext.ns("Ext.ux.form");Ext.ux.form.SpinnerField=Ext.extend(Ext.form.NumberField,{
Ext.override(Ext.ux.form.SpinnerField,{onBlur:Ext.form.Field.prototype.onBlur});
/*
* Ext.ux.form.SpinnerGroup.js
*
*
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@ -220,7 +220,7 @@ Ext.override(Ext.ux.form.SpinnerField,{onBlur:Ext.form.Field.prototype.onBlur});
* 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("Ext.ux.form");Ext.ux.form.SpinnerGroup=Ext.extend(Ext.form.CheckboxGroup,{defaultType:"spinnerfield",groupCls:"x-form-spinner-group",colCfg:{},onRender:function(h,f){if(!this.el){var o={cls:this.groupCls,layout:"column",border:false,renderTo:h};var a=Ext.apply({defaultType:this.defaultType,layout:"form",border:false,labelWidth:60,defaults:{hideLabel:true,anchor:"60%"}},this.colCfg);if(this.items[0].items){Ext.apply(o,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var e=0,k=this.items.length;e<k;e++){Ext.applyIf(this.items[e],a)}}else{var d,m=[];if(typeof this.columns=="string"){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var j=[];for(var e=0;e<this.columns;e++){j.push((100/this.columns)*0.01)}this.columns=j}d=this.columns.length;for(var e=0;e<d;e++){var b=Ext.apply({items:[]},a);b[this.columns[e]<=1?"columnWidth":"width"]=this.columns[e];if(this.defaults){b.defaults=Ext.apply(b.defaults||{},this.defaults)}m.push(b)}if(this.vertical){var q=Math.ceil(this.items.length/d),n=0;for(var e=0,k=this.items.length;e<k;e++){if(e>0&&e%q==0){n++}if(this.items[e].fieldLabel){this.items[e].hideLabel=false}m[n].items.push(this.items[e])}}else{for(var e=0,k=this.items.length;e<k;e++){var p=e%d;if(this.items[e].fieldLabel){this.items[e].hideLabel=false}m[p].items.push(this.items[e])}}Ext.apply(o,{layoutConfig:{columns:d},items:m})}this.panel=new Ext.Panel(o);this.el=this.panel.getEl();if(this.forId&&this.itemCls){var c=this.el.up(this.itemCls).child("label",true);if(c){c.setAttribute("htmlFor",this.forId)}}var g=this.panel.findBy(function(l){return l.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(g);this.items.each(function(l){l.on("spin",this.onFieldChange,this)},this);if(this.lazyValueSet){this.setValue(this.value);delete this.value;delete this.lazyValueSet}if(this.lazyRawValueSet){this.setRawValue(this.rawValue);delete this.rawValue;delete this.lazyRawValueSet}}Ext.ux.form.SpinnerGroup.superclass.onRender.call(this,h,f)},onFieldChange:function(a){this.fireEvent("change",this,this.getValue())},initValue:Ext.emptyFn,getValue:function(){var a=[this.items.getCount()];this.items.each(function(c,b){a[b]=Number(c.getValue())});return a},getRawValue:function(){var a=[this.items.getCount()];this.items.each(function(c,b){a[b]=Number(c.getRawValue())});return a},setValue:function(a){if(!this.rendered){this.value=a;this.lazyValueSet=true}else{this.items.each(function(c,b){c.setValue(a[b])})}},setRawValue:function(a){if(!this.rendered){this.rawValue=a;this.lazyRawValueSet=true}else{this.items.each(function(c,b){c.setRawValue(a[b])})}}});Ext.reg("spinnergroup",Ext.ux.form.SpinnerGroup);
Ext.ns("Ext.ux.form");Ext.ux.form.SpinnerGroup=Ext.extend(Ext.form.CheckboxGroup,{defaultType:"spinnerfield",anchor:"98%",groupCls:"x-form-spinner-group",colCfg:{},onRender:function(h,f){if(!this.el){var o={cls:this.groupCls,layout:"column",border:false,renderTo:h};var a=Ext.apply({defaultType:this.defaultType,layout:"form",border:false,labelWidth:60,defaults:{hideLabel:true,anchor:"60%"}},this.colCfg);if(this.items[0].items){Ext.apply(o,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var e=0,k=this.items.length;e<k;e++){Ext.applyIf(this.items[e],a)}}else{var d,m=[];if(typeof this.columns=="string"){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var j=[];for(var e=0;e<this.columns;e++){j.push((100/this.columns)*0.01)}this.columns=j}d=this.columns.length;for(var e=0;e<d;e++){var b=Ext.apply({items:[]},a);b[this.columns[e]<=1?"columnWidth":"width"]=this.columns[e];if(this.defaults){b.defaults=Ext.apply(b.defaults||{},this.defaults)}m.push(b)}if(this.vertical){var q=Math.ceil(this.items.length/d),n=0;for(var e=0,k=this.items.length;e<k;e++){if(e>0&&e%q==0){n++}if(this.items[e].fieldLabel){this.items[e].hideLabel=false}m[n].items.push(this.items[e])}}else{for(var e=0,k=this.items.length;e<k;e++){var p=e%d;if(this.items[e].fieldLabel){this.items[e].hideLabel=false}m[p].items.push(this.items[e])}}Ext.apply(o,{layoutConfig:{columns:d},items:m})}this.panel=new Ext.Panel(o);this.el=this.panel.getEl();if(this.forId&&this.itemCls){var c=this.el.up(this.itemCls).child("label",true);if(c){c.setAttribute("htmlFor",this.forId)}}var g=this.panel.findBy(function(l){return l.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(g);this.items.each(function(l){l.on("spin",this.onFieldChange,this);l.on("change",this.onFieldChange,this)},this);if(this.lazyValueSet){this.setValue(this.value);delete this.value;delete this.lazyValueSet}if(this.lazyRawValueSet){this.setRawValue(this.rawValue);delete this.rawValue;delete this.lazyRawValueSet}}Ext.ux.form.SpinnerGroup.superclass.onRender.call(this,h,f)},onFieldChange:function(a){this.fireEvent("change",this,this.getValue())},initValue:Ext.emptyFn,getValue:function(){var a=[this.items.getCount()];this.items.each(function(c,b){a[b]=Number(c.getValue())});return a},getRawValue:function(){var a=[this.items.getCount()];this.items.each(function(c,b){a[b]=Number(c.getRawValue())});return a},setValue:function(a){if(!this.rendered){this.value=a;this.lazyValueSet=true}else{this.items.each(function(c,b){c.setValue(a[b])})}},setRawValue:function(a){if(!this.rendered){this.rawValue=a;this.lazyRawValueSet=true}else{this.items.each(function(c,b){c.setRawValue(a[b])})}}});Ext.reg("spinnergroup",Ext.ux.form.SpinnerGroup);
/*
* Ext.ux.form.ToggleField.js
*