Author: damoxc

Revision: 4983

Log:
        improve removing of torrents by adding a "torrentRemoved" event

Diff:
Modified: trunk/deluge/ui/web/js/deluge-bars.js
===================================================================
--- trunk/deluge/ui/web/js/deluge-bars.js       2009-04-02 09:37:21 UTC (rev 
4982)
+++ trunk/deluge/ui/web/js/deluge-bars.js       2009-04-02 09:54:06 UTC (rev 
4983)
@@ -66,6 +66,7 @@
                
                switch (item.id) {
                        case 'remove':
+                               Deluge.Events.fire('torrentRemoved', ids);
                                Deluge.Client.core.remove_torrent(ids, null, {
                                        onSuccess: function() {
                                                Deluge.Ui.update();

Modified: trunk/deluge/ui/web/js/deluge-menus.js
===================================================================
--- trunk/deluge/ui/web/js/deluge-menus.js      2009-04-02 09:37:21 UTC (rev 
4982)
+++ trunk/deluge/ui/web/js/deluge-menus.js      2009-04-02 09:54:06 UTC (rev 
4983)
@@ -56,6 +56,7 @@
                                });
                                break;
                        case 'remove':
+                               Deluge.Events.fire('torrentRemoved', ids);
                                Deluge.Client.core.remove_torrent(ids, null, {
                                        onSuccess: function() {
                                                Deluge.Ui.update();

Modified: trunk/deluge/ui/web/js/deluge-torrents.js
===================================================================
--- trunk/deluge/ui/web/js/deluge-torrents.js   2009-04-02 09:37:21 UTC (rev 
4982)
+++ trunk/deluge/ui/web/js/deluge-torrents.js   2009-04-02 09:54:06 UTC (rev 
4983)
@@ -105,6 +105,22 @@
        
        getSelections: function() {
                return this.Grid.getSelectionModel().getSelections();
+       },
+       
+       onRender: function() {
+               Deluge.Events.on('torrentRemoved', 
this.onTorrentRemoved.bindWithEvent(this));
+       },
+       
+       onTorrentRemoved: function(torrentIds) {
+               var selModel = this.Grid.getSelectionModel();
+               $each(torrentIds, function(torrentId) {
+                       var record = this.Store.getById(torrentId);
+                       if (selModel.isSelected(record)) {
+                               
selModel.deselectRow(this.Store.indexOf(record));
+                       }
+                       this.Store.remove(record);
+                       
+               }, this);
        }
 }
 Deluge.Torrents.Store.setDefaultSort("queue");
@@ -134,6 +150,10 @@
        autoScroll:true,
        margins: '5 5 0 0',
        listeners: {
+               'render': {
+                       fn: Deluge.Torrents.onRender,
+                       scope: Deluge.Torrents
+               },
                'rowcontextmenu': {
                        fn: function(grid, rowIndex, e) {
                                e.stopEvent();



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to