Updated Changelog and compressed js

This commit is contained in:
Calum Lind 2012-02-23 00:46:29 +00:00
commit 1696fd1103
3 changed files with 120 additions and 74 deletions

View file

@ -43,54 +43,61 @@
=== Deluge 1.3.4 (In Development) === === Deluge 1.3.4 (In Development) ===
==== Core ==== ==== Core ====
* #1921: Free disk space reporting incorrectly in FreeBSD * #1921: Free disk space reporting incorrectly in FreeBSD
* #1964: Fix unhandled UnpicklingErrors * #1964: Fix unhandled UnpicklingErrors
* #1967: Fix unhandled IndexError when trying to open a non-json conf file * #1967: Fix unhandled IndexError when trying to open a non-json conf file
* Fix setting daemon listen interface from command line
==== GtkUI ==== ==== GtkUI ====
* #1918: Fix Drag'n'Drop not working in Windows * #1918: Fix Drag'n'Drop not working in Windows
* #1941: Increase maximum Cache Size to 999999 (15GiB) * #1941: Increase maximum Cache Size to 999999 (15GiB)
* #1940: File & folder renaming issue when using Add Torrent dialog in Windows * #1940: File & folder renaming issue when using Add Torrent dialog in Windows
* LP#821577: Fix UnpicklingError when external selection dragged onto Files Tab * LP#821577: Fix UnpicklingError when external selection dragged onto Files Tab
* #1934: Fix Unicode error in AddTorrent Dialog * #1934: Fix Unicode error in AddTorrent Dialog
* #1957: Fix keyerror when adding columns for non-latin languages * #1957: Fix keyerror when adding columns for non-latin languages
* #1969: Fix menu item 'Quit & Shutdown' still available when not connected to daemon * #1969: Fix menu item 'Quit & Shutdown' still available when not connected to daemon
* #1895: Fix Files Tab showing wrong files due to torrent_info race condition * #1895: Fix Files Tab showing wrong files due to torrent_info race condition
* #2010: Move speed text in titlebar to the beginning * #2010: Move speed text in titlebar to the beginning
* #2032: Wait for client to shutdown/disconnect before stopping reactor * #2032: Wait for client to shutdown/disconnect before stopping reactor
* Fix compatibility with Python 2.5 * Fix compatibility with Python 2.5
* Fix collapsed treeview in Create Torrent dialog * Fix collapsed treeview in Create Torrent dialog
* Ignore unmaximise event when window isn't visible
==== WebUI ==== ==== WebUI ====
* Fix Webui files-tab menu setting wrong priority * Fix Webui files-tab menu setting wrong priority
* Update to ExtJS 3.4.0 * Update to ExtJS 3.4.0
* #1960: Fix statustab showing total_payload_download for upload as well * #1960: Fix statustab showing total_payload_download for upload as well
* Remove uneeded Titlebar to save space * Remove uneeded Titlebar to save space
* Fix clipped Browse button in WebUI * Fix clipped Browse button in WebUI
* #1915: Fix being unable to stop the status bar from autohiding * #1915: Fix being unable to stop the status bar from autohiding
* Fix password box focus issue in Firefox * Fix password box focus issue in Firefox
* Fix plugin uploads from behind a reverse proxy * Fix plugin uploads from behind a reverse proxy
* #2010: Move speed text in titlebar to the beginning * #2010: Move speed text in titlebar to the beginning
* #1936: Fix Referenced before assignment error in json_api * #1936: Fix Referenced before assignment error in json_api
* Changes are now applied when clicking OK in Preferences * Changes are now applied when clicking OK in Preferences
* Added Download,Uploaded,Down Limit, Up Limit & Seeder/Peeds columns * Added Download,Uploaded,Down Limit, Up Limit & Seeder/Peeds columns
* Add magnet uri support to Add Url * Add magnet uri support to Add Url
* Add keymaps for torrents - Ctrl-A (select all) and Delete * Add keymaps for torrents - Ctrl-A (select all) and Delete
* #2037: Fix 'Add Torrents' torrents list not scrolling
==== Console ==== ==== Console ====
* #1953: Fix flickering on every update * #1953: Fix flickering on every update
* #1954: Fix 'invalid literal for float' when setting listen interface * #1954: Fix 'invalid literal for float' when setting listen interface
==== Label ==== ==== Label ====
* #1961: Add missing 'All' filter option * #1961: Add missing 'All' filter option
* #2035: Fix label options dialog in webui
* #2036: Fix newly added labels not being sorted in torrent right click menu
==== Notification ==== ==== Notification ====
* #1905: Fix no email sent to second email address * #1905: Fix no email sent to second email address
* #1898: Fix email notifications not including date/time they were sent * #1898: Fix email notifications not including date/time they were sent
==== Scheduler ==== ==== Scheduler ====
* Add plugin page for WebUi * Add plugin page for WebUi
==== AutoAdd ====
Added watch folder support for '.magnet' text file containing single or multiple magnet uris
=== Deluge 1.3.3 (22 July 2011) === === Deluge 1.3.3 (22 July 2011) ===
==== Core ==== ==== Core ====

View file

@ -1438,7 +1438,7 @@ Deluge.add.Window = Ext.extend(Ext.Window, {
}); });
/*! /*!
* Deluge.add.AddWindow.js * Deluge.add.AddWindow.js
* *
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com> * Copyright (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
@ -1488,7 +1488,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, {
this.addButton(_('Cancel'), this.onCancelClick, this); this.addButton(_('Cancel'), this.onCancelClick, this);
this.addButton(_('Add'), this.onAddClick, this); this.addButton(_('Add'), this.onAddClick, this);
function torrentRenderer(value, p, r) { function torrentRenderer(value, p, r) {
if (r.data['info_hash']) { if (r.data['info_hash']) {
return String.format('<div class="x-deluge-add-torrent-name">{0}</div>', value); return String.format('<div class="x-deluge-add-torrent-name">{0}</div>', value);
@ -1511,7 +1511,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, {
sortable: true, sortable: true,
renderer: torrentRenderer, renderer: torrentRenderer,
dataIndex: 'text' dataIndex: 'text'
}], }],
stripeRows: true, stripeRows: true,
singleSelect: true, singleSelect: true,
listeners: { listeners: {
@ -1522,6 +1522,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, {
}, },
hideHeaders: true, hideHeaders: true,
autoExpandColumn: 'torrent', autoExpandColumn: 'torrent',
height: '100%',
autoScroll: true autoScroll: true
}); });
@ -1552,7 +1553,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, {
}] }]
}) })
}); });
this.optionsPanel = this.add(new Deluge.add.OptionsPanel()); this.optionsPanel = this.add(new Deluge.add.OptionsPanel());
this.on('hide', this.onHide, this); this.on('hide', this.onHide, this);
this.on('show', this.onShow, this); this.on('show', this.onShow, this);
@ -1603,16 +1604,14 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, {
var torrent = this.list.getSelectedRecords()[0]; var torrent = this.list.getSelectedRecords()[0];
this.list.getStore().remove(torrent); this.list.getStore().remove(torrent);
this.optionsPanel.clear(); this.optionsPanel.clear();
if (this.torrents && this.torrents[torrent.id]) delete this.torrents[torrent.id]; if (this.torrents && this.torrents[torrent.id]) delete this.torrents[torrent.id];
}, },
onSelect: function(list, selections) { onSelect: function(list, selections) {
if (selections.length) { if (selections.length) {
var record = this.list.getRecord(selections[0]); var record = this.list.getRecord(selections[0]);
this.optionsPanel.setTorrent(record.get('info_hash')); this.optionsPanel.setTorrent(record.get('info_hash'));
this.optionsPanel.files.setDisabled(false);
this.optionsPanel.form.setDisabled(false);
} else { } else {
this.optionsPanel.files.setDisabled(true); this.optionsPanel.files.setDisabled(true);
this.optionsPanel.form.setDisabled(true); this.optionsPanel.form.setDisabled(true);
@ -1631,7 +1630,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, {
this.file.on('beforeadd', this.onTorrentBeforeAdd, this); this.file.on('beforeadd', this.onTorrentBeforeAdd, this);
this.file.on('add', this.onTorrentAdd, this); this.file.on('add', this.onTorrentAdd, this);
} }
this.optionsPanel.form.getDefaults(); this.optionsPanel.form.getDefaults();
}, },
@ -1657,6 +1656,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, {
r.set('text', info['name']); r.set('text', info['name']);
this.list.getStore().commitChanges(); this.list.getStore().commitChanges();
this.optionsPanel.addTorrent(info); this.optionsPanel.addTorrent(info);
this.list.select(r);
} }
}, },
@ -1929,7 +1929,7 @@ Deluge.add.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, {
Ext.namespace('Ext.deluge.add'); Ext.namespace('Ext.deluge.add');
/*! /*!
* Deluge.add.OptionsPanel.js * Deluge.add.OptionsPanel.js
* *
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com> * Copyright (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
@ -1990,7 +1990,7 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, {
Ext.each(Ext.keys(fileIndexes), function(index) { Ext.each(Ext.keys(fileIndexes), function(index) {
priorities[index] = fileIndexes[index]; priorities[index] = fileIndexes[index];
}); });
var oldId = this.form.optionsManager.changeId(torrent['info_hash'], true); var oldId = this.form.optionsManager.changeId(torrent['info_hash'], true);
this.form.optionsManager.setDefault('file_priorities', priorities); this.form.optionsManager.setDefault('file_priorities', priorities);
this.form.optionsManager.changeId(oldId, true); this.form.optionsManager.changeId(oldId, true);
@ -2020,23 +2020,34 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, {
this.torrentId = torrentId; this.torrentId = torrentId;
this.form.optionsManager.changeId(torrentId); this.form.optionsManager.changeId(torrentId);
this.files.clearFiles(); this.files.clearFiles();
var root = this.files.getRootNode(); var root = this.files.getRootNode();
var priorities = this.form.optionsManager.get('file_priorities'); var priorities = this.form.optionsManager.get('file_priorities');
this.walkFileTree(this.torrents[torrentId]['files_tree'], function(filename, type, entry, parentNode) { this.form.setDisabled(false);
var node = new Ext.tree.TreeNode({
download: (entry.index) ? priorities[entry.index] : true, if (this.torrents[torrentId]['files_tree']) {
filename: filename, this.walkFileTree(this.torrents[torrentId]['files_tree'], function(filename, type, entry, parentNode) {
fileindex: entry.index, var node = new Ext.tree.TreeNode({
leaf: type != 'dir', download: (entry.index) ? priorities[entry.index] : true,
size: entry.length filename: filename,
}); fileindex: entry.index,
parentNode.appendChild(node); leaf: type != 'dir',
if (type == 'dir') return node; size: entry.length
}, this, root); });
root.firstChild.expand(); parentNode.appendChild(node);
if (type == 'dir') return node;
}, this, root);
root.firstChild.expand();
this.files.setDisabled(false);
this.files.show();
} else {
// Files tab is empty so show options tab
this.form.show();
this.files.setDisabled(true);
}
}, },
walkFileTree: function(files, callback, scope, parentNode) { walkFileTree: function(files, callback, scope, parentNode) {
@ -2049,7 +2060,7 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, {
} else { } else {
var ret = callback(filename, type, entry, parentNode); var ret = callback(filename, type, entry, parentNode);
} }
if (type == 'dir') this.walkFileTree(entry, callback, scope, ret); if (type == 'dir') this.walkFileTree(entry, callback, scope, ret);
} }
}, },
@ -2071,7 +2082,7 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, {
}, this); }, this);
} else { } else {
this.files.setDownload(nodes[0], oldValue, true); this.files.setDownload(nodes[0], oldValue, true);
} }
}, },
scope: this, scope: this,
icon: Ext.MessageBox.QUESTION icon: Ext.MessageBox.QUESTION
@ -2353,17 +2364,27 @@ Deluge.add.UrlWindow = Ext.extend(Deluge.add.Window, {
var cookies = this.cookieField.getValue(); var cookies = this.cookieField.getValue();
var torrentId = this.createTorrentId(); var torrentId = this.createTorrentId();
deluge.client.web.download_torrent_from_url(url, cookies, { if (url.substring(0,20) == 'magnet:?xt=urn:btih:') {
success: this.onDownload, deluge.client.web.get_magnet_info(url, {
scope: this, success: this.onGotInfo,
torrentId: torrentId scope: this,
}); filename: url,
torrentId: torrentId
});
} else {
deluge.client.web.download_torrent_from_url(url, cookies, {
success: this.onDownload,
scope: this,
torrentId: torrentId
});
}
this.hide(); this.hide();
this.urlField.setValue('');
this.fireEvent('beforeadd', torrentId, url); this.fireEvent('beforeadd', torrentId, url);
}, },
onDownload: function(filename, obj, resp, req) { onDownload: function(filename, obj, resp, req) {
this.urlField.setValue('');
deluge.client.web.get_torrent_info(filename, { deluge.client.web.get_torrent_info(filename, {
success: this.onGotInfo, success: this.onGotInfo,
scope: this, scope: this,
@ -8839,6 +8860,7 @@ Deluge.Toolbar = Ext.extend(Ext.Toolbar, {
function trackerRenderer(value, p, r) { function trackerRenderer(value, p, r) {
return String.format('<div style="background: url(' + deluge.config.base + 'tracker/{0}) no-repeat; padding-left: 20px;">{0}</div>', value); return String.format('<div style="background: url(' + deluge.config.base + 'tracker/{0}) no-repeat; padding-left: 20px;">{0}</div>', value);
} }
function etaSorter(eta) { function etaSorter(eta) {
return eta * -1; return eta * -1;
} }
@ -9048,11 +9070,28 @@ Deluge.Toolbar = Ext.extend(Ext.Toolbar, {
] ]
}, },
keys: [{
key: 'a',
ctrl: true,
stopEvent: true,
handler: function() {
deluge.torrents.getSelectionModel().selectAll();
}
}, {
key: [46],
stopEvent: true,
handler: function() {
ids = deluge.torrents.getSelectedIds();
deluge.removeWindow.show(ids);
}
}],
constructor: function(config) { constructor: function(config) {
config = Ext.apply({ config = Ext.apply({
id: 'torrentGrid', id: 'torrentGrid',
store: new Ext.data.JsonStore(this.meta), store: new Ext.data.JsonStore(this.meta),
columns: this.columns, columns: this.columns,
keys: this.keys,
region: 'center', region: 'center',
cls: 'deluge-torrents', cls: 'deluge-torrents',
stripeRows: true, stripeRows: true,

File diff suppressed because one or more lines are too long