Author: damoxc

Revision: 5918

Log:
        add a basic move storage window that fixes #1057

Diff:
Modified: branches/1.2_RC/deluge/ui/web/js/Deluge.Menus.js
===================================================================
--- branches/1.2_RC/deluge/ui/web/js/Deluge.Menus.js    2009-11-04 19:54:59 UTC 
(rev 5917)
+++ branches/1.2_RC/deluge/ui/web/js/Deluge.Menus.js    2009-11-04 20:45:21 UTC 
(rev 5918)
@@ -79,6 +79,9 @@
                                        }
                                });
                                break;
+                       case 'move':
+                               Deluge.MoveStorage.show(ids);
+                               break;
                }
        }
 }
@@ -234,12 +237,12 @@
                icon: '/icons/recheck.png',
                handler: Deluge.Menus.onTorrentAction,
                scope: Deluge.Menus
-       /*}, {
+       }, {
                id: 'move',
                text: _('Move Storage'),
                icon: '/icons/move.png',
                handler: Deluge.Menus.onTorrentAction,
-               scope: Deluge.Menus*/
+               scope: Deluge.Menus
        }]
 });
 
@@ -436,4 +439,4 @@
                        }
                });
        }
-}
\ No newline at end of file
+}

Added: branches/1.2_RC/deluge/ui/web/js/Deluge.MoveStorage.js
===================================================================
--- branches/1.2_RC/deluge/ui/web/js/Deluge.MoveStorage.js                      
        (rev 0)
+++ branches/1.2_RC/deluge/ui/web/js/Deluge.MoveStorage.js      2009-11-04 
20:45:21 UTC (rev 5918)
@@ -0,0 +1,94 @@
+/*
+Script: Deluge.MoveStorage.js
+    Contains the move storage window.
+
+Copyright:
+       (C) Damien Churchill 2009 <[email protected]>
+       This program is free software; you can redistribute it and/or modify
+       it under the terms of the GNU General Public License as published by
+       the Free Software Foundation; either version 3, or (at your option)
+       any later version.
+
+       This program is distributed in the hope that it will be useful,
+       but WITHOUT ANY WARRANTY; without even the implied warranty of
+       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+       GNU General Public License for more details.
+
+       You should have received a copy of the GNU General Public License
+       along with this program.  If not, write to:
+               The Free Software Foundation, Inc.,
+               51 Franklin Street, Fifth Floor
+               Boston, MA  02110-1301, USA.
+
+    In addition, as a special exception, the copyright holders give
+    permission to link the code of portions of this program with the OpenSSL
+    library.
+    You must obey the GNU General Public License in all respects for all of
+    the code used other than OpenSSL. If you modify file(s) with this
+    exception, you may extend this exception to your version of the file(s),
+    but you are not obligated to do so. If you do not wish to do so, delete
+    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.namespace('Ext.deluge');
+Ext.deluge.MoveStorage = Ext.extend(Ext.Window, {
+       
+       constructor: function(config) {
+               config = Ext.apply({
+                       title: _('Move Storage'),
+                       width: 375,
+                       height: 110,
+                       layout: 'fit',
+                       buttonAlign: 'right',
+                       closeAction: 'hide',
+                       closable: true,
+                       iconCls: 'x-deluge-move-storage',
+                       plain: true,
+                       resizable: false
+               }, config);
+               Ext.deluge.MoveStorage.superclass.constructor.call(this, 
config);
+       },
+
+       initComponent: function() {
+               Ext.deluge.MoveStorage.superclass.initComponent.call(this);
+
+               this.addButton(_('Cancel'), this.onCancel, this);
+               this.addButton(_('Move'), this.onMove, this);
+
+               this.form = this.add({
+                       xtype: 'form',
+                       border: false,
+                       defaultType: 'textfield',
+                       width: 300,
+                       bodyStyle: 'padding: 5px'
+               });
+
+               this.moveLocation = this.form.add({
+                       fieldLabel: _('Location'),
+                       name: 'location',
+                       width: 240
+               });
+       },
+
+       hide: function() {
+               Ext.deluge.MoveStorage.superclass.hide.call(this);
+               this.torrentIds = null;
+       },
+
+       show: function(torrentIds) {
+               Ext.deluge.MoveStorage.superclass.show.call(this);
+               this.torrentIds = torrentIds;
+       },
+
+       onCancel: function() {
+               this.hide();
+       },
+
+       onMove: function() {
+               var dest = this.moveLocation.getValue();
+               Deluge.Client.core.move_storage(this.torrentIds, dest);
+               this.hide();
+       }
+});
+Deluge.MoveStorage = new Ext.deluge.MoveStorage();

Modified: branches/1.2_RC/deluge/ui/web/js/build.sh
===================================================================
--- branches/1.2_RC/deluge/ui/web/js/build.sh   2009-11-04 19:54:59 UTC (rev 
5917)
+++ branches/1.2_RC/deluge/ui/web/js/build.sh   2009-11-04 20:45:21 UTC (rev 
5918)
@@ -1,4 +1,4 @@
-DELUGE_FILES="Deluge.js Deluge.Formatters.js Deluge.Menus.js Deluge.Events.js 
Deluge.OptionsManager.js Deluge.MultiOptionsManager.js Deluge.Add.js 
Deluge.Add.File.js Deluge.Add.Url.js Deluge.Client.js 
Deluge.ConnectionManager.js Deluge.Details.js Deluge.Details.Status.js 
Deluge.Details.Details.js Deluge.Details.Files.js Deluge.Details.Peers.js 
Deluge.Details.Options.js Deluge.EditTrackers.js Deluge.Keys.js Deluge.Login.js 
Deluge.Plugin.js Deluge.Preferences.js Deluge.Preferences.Downloads.js 
Deluge.Preferences.Network.js Deluge.Preferences.Encryption.js 
Deluge.Preferences.Bandwidth.js Deluge.Preferences.Interface.js 
Deluge.Preferences.Other.js Deluge.Preferences.Daemon.js 
Deluge.Preferences.Queue.js Deluge.Preferences.Proxy.js 
Deluge.Preferences.Notification.js Deluge.Preferences.Cache.js 
Deluge.Preferences.Plugins.js Deluge.Remove.js Deluge.Sidebar.js 
Deluge.Statusbar.js Deluge.Toolbar.js Deluge.Torrents.js Deluge.UI.js"
+DELUGE_FILES="Deluge.js Deluge.Formatters.js Deluge.Menus.js Deluge.Events.js 
Deluge.OptionsManager.js Deluge.MultiOptionsManager.js Deluge.Add.js 
Deluge.Add.File.js Deluge.Add.Url.js Deluge.Client.js 
Deluge.ConnectionManager.js Deluge.Details.js Deluge.Details.Status.js 
Deluge.Details.Details.js Deluge.Details.Files.js Deluge.Details.Peers.js 
Deluge.Details.Options.js Deluge.EditTrackers.js Deluge.Keys.js Deluge.Login.js 
Deluge.MoveStorage.js Deluge.Plugin.js Deluge.Preferences.js 
Deluge.Preferences.Downloads.js Deluge.Preferences.Network.js 
Deluge.Preferences.Encryption.js Deluge.Preferences.Bandwidth.js 
Deluge.Preferences.Interface.js Deluge.Preferences.Other.js 
Deluge.Preferences.Daemon.js Deluge.Preferences.Queue.js 
Deluge.Preferences.Proxy.js Deluge.Preferences.Notification.js 
Deluge.Preferences.Cache.js Deluge.Preferences.Plugins.js Deluge.Remove.js 
Deluge.Sidebar.js Deluge.Statusbar.js Deluge.Toolbar.js Deluge.Torrents.js 
Deluge.UI.js"
 ALL_FILES="ext-extensions-debug.js $DELUGE_FILES"
 
 [ -e /usr/bin/jsdoc_toolkit ] && JSDOC="/usr/bin/jsdoc_toolkit"

Modified: branches/1.2_RC/deluge/ui/web/server.py
===================================================================
--- branches/1.2_RC/deluge/ui/web/server.py     2009-11-04 19:54:59 UTC (rev 
5917)
+++ branches/1.2_RC/deluge/ui/web/server.py     2009-11-04 20:45:21 UTC (rev 
5918)
@@ -332,6 +332,7 @@
         "/js/Deluge.EditTrackers.js",
         "/js/Deluge.Keys.js",
         "/js/Deluge.Login.js",
+        "/js/Deluge.MoveStorage.js",
         "/js/Deluge.Plugin.js",
         "/js/Deluge.Preferences.js",
         "/js/Deluge.Preferences.Downloads.js",

Modified: trunk/deluge/ui/web/js/Deluge.Menus.js
===================================================================
--- trunk/deluge/ui/web/js/Deluge.Menus.js      2009-11-04 19:54:59 UTC (rev 
5917)
+++ trunk/deluge/ui/web/js/Deluge.Menus.js      2009-11-04 20:45:21 UTC (rev 
5918)
@@ -79,6 +79,9 @@
                                        }
                                });
                                break;
+                       case 'move':
+                               Deluge.MoveStorage.show(ids);
+                               break;
                }
        }
 }
@@ -234,12 +237,12 @@
                icon: '/icons/recheck.png',
                handler: Deluge.Menus.onTorrentAction,
                scope: Deluge.Menus
-       /*}, {
+       }, {
                id: 'move',
                text: _('Move Storage'),
                icon: '/icons/move.png',
                handler: Deluge.Menus.onTorrentAction,
-               scope: Deluge.Menus*/
+               scope: Deluge.Menus
        }]
 });
 
@@ -436,4 +439,4 @@
                        }
                });
        }
-}
\ No newline at end of file
+}

Added: trunk/deluge/ui/web/js/Deluge.MoveStorage.js
===================================================================
--- trunk/deluge/ui/web/js/Deluge.MoveStorage.js                                
(rev 0)
+++ trunk/deluge/ui/web/js/Deluge.MoveStorage.js        2009-11-04 20:45:21 UTC 
(rev 5918)
@@ -0,0 +1,94 @@
+/*
+Script: Deluge.MoveStorage.js
+    Contains the move storage window.
+
+Copyright:
+       (C) Damien Churchill 2009 <[email protected]>
+       This program is free software; you can redistribute it and/or modify
+       it under the terms of the GNU General Public License as published by
+       the Free Software Foundation; either version 3, or (at your option)
+       any later version.
+
+       This program is distributed in the hope that it will be useful,
+       but WITHOUT ANY WARRANTY; without even the implied warranty of
+       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+       GNU General Public License for more details.
+
+       You should have received a copy of the GNU General Public License
+       along with this program.  If not, write to:
+               The Free Software Foundation, Inc.,
+               51 Franklin Street, Fifth Floor
+               Boston, MA  02110-1301, USA.
+
+    In addition, as a special exception, the copyright holders give
+    permission to link the code of portions of this program with the OpenSSL
+    library.
+    You must obey the GNU General Public License in all respects for all of
+    the code used other than OpenSSL. If you modify file(s) with this
+    exception, you may extend this exception to your version of the file(s),
+    but you are not obligated to do so. If you do not wish to do so, delete
+    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.namespace('Ext.deluge');
+Ext.deluge.MoveStorage = Ext.extend(Ext.Window, {
+       
+       constructor: function(config) {
+               config = Ext.apply({
+                       title: _('Move Storage'),
+                       width: 375,
+                       height: 110,
+                       layout: 'fit',
+                       buttonAlign: 'right',
+                       closeAction: 'hide',
+                       closable: true,
+                       iconCls: 'x-deluge-move-storage',
+                       plain: true,
+                       resizable: false
+               }, config);
+               Ext.deluge.MoveStorage.superclass.constructor.call(this, 
config);
+       },
+
+       initComponent: function() {
+               Ext.deluge.MoveStorage.superclass.initComponent.call(this);
+
+               this.addButton(_('Cancel'), this.onCancel, this);
+               this.addButton(_('Move'), this.onMove, this);
+
+               this.form = this.add({
+                       xtype: 'form',
+                       border: false,
+                       defaultType: 'textfield',
+                       width: 300,
+                       bodyStyle: 'padding: 5px'
+               });
+
+               this.moveLocation = this.form.add({
+                       fieldLabel: _('Location'),
+                       name: 'location',
+                       width: 240
+               });
+       },
+
+       hide: function() {
+               Ext.deluge.MoveStorage.superclass.hide.call(this);
+               this.torrentIds = null;
+       },
+
+       show: function(torrentIds) {
+               Ext.deluge.MoveStorage.superclass.show.call(this);
+               this.torrentIds = torrentIds;
+       },
+
+       onCancel: function() {
+               this.hide();
+       },
+
+       onMove: function() {
+               var dest = this.moveLocation.getValue();
+               Deluge.Client.core.move_storage(this.torrentIds, dest);
+               this.hide();
+       }
+});
+Deluge.MoveStorage = new Ext.deluge.MoveStorage();

Modified: trunk/deluge/ui/web/js/build.sh
===================================================================
--- trunk/deluge/ui/web/js/build.sh     2009-11-04 19:54:59 UTC (rev 5917)
+++ trunk/deluge/ui/web/js/build.sh     2009-11-04 20:45:21 UTC (rev 5918)
@@ -1,4 +1,4 @@
-DELUGE_FILES="Deluge.js Deluge.Formatters.js Deluge.Menus.js Deluge.Events.js 
Deluge.OptionsManager.js Deluge.MultiOptionsManager.js Deluge.Add.js 
Deluge.Add.File.js Deluge.Add.Url.js Deluge.Client.js 
Deluge.ConnectionManager.js Deluge.Details.js Deluge.Details.Status.js 
Deluge.Details.Details.js Deluge.Details.Files.js Deluge.Details.Peers.js 
Deluge.Details.Options.js Deluge.EditTrackers.js Deluge.Keys.js Deluge.Login.js 
Deluge.Plugin.js Deluge.Preferences.js Deluge.Preferences.Downloads.js 
Deluge.Preferences.Network.js Deluge.Preferences.Encryption.js 
Deluge.Preferences.Bandwidth.js Deluge.Preferences.Interface.js 
Deluge.Preferences.Other.js Deluge.Preferences.Daemon.js 
Deluge.Preferences.Queue.js Deluge.Preferences.Proxy.js 
Deluge.Preferences.Notification.js Deluge.Preferences.Cache.js 
Deluge.Preferences.Plugins.js Deluge.Remove.js Deluge.Sidebar.js 
Deluge.Statusbar.js Deluge.Toolbar.js Deluge.Torrents.js Deluge.UI.js"
+DELUGE_FILES="Deluge.js Deluge.Formatters.js Deluge.Menus.js Deluge.Events.js 
Deluge.OptionsManager.js Deluge.MultiOptionsManager.js Deluge.Add.js 
Deluge.Add.File.js Deluge.Add.Url.js Deluge.Client.js 
Deluge.ConnectionManager.js Deluge.Details.js Deluge.Details.Status.js 
Deluge.Details.Details.js Deluge.Details.Files.js Deluge.Details.Peers.js 
Deluge.Details.Options.js Deluge.EditTrackers.js Deluge.Keys.js Deluge.Login.js 
Deluge.MoveStorage.js Deluge.Plugin.js Deluge.Preferences.js 
Deluge.Preferences.Downloads.js Deluge.Preferences.Network.js 
Deluge.Preferences.Encryption.js Deluge.Preferences.Bandwidth.js 
Deluge.Preferences.Interface.js Deluge.Preferences.Other.js 
Deluge.Preferences.Daemon.js Deluge.Preferences.Queue.js 
Deluge.Preferences.Proxy.js Deluge.Preferences.Notification.js 
Deluge.Preferences.Cache.js Deluge.Preferences.Plugins.js Deluge.Remove.js 
Deluge.Sidebar.js Deluge.Statusbar.js Deluge.Toolbar.js Deluge.Torrents.js 
Deluge.UI.js"
 ALL_FILES="ext-extensions-debug.js $DELUGE_FILES"
 
 [ -e /usr/bin/jsdoc_toolkit ] && JSDOC="/usr/bin/jsdoc_toolkit"

Modified: trunk/deluge/ui/web/server.py
===================================================================
--- trunk/deluge/ui/web/server.py       2009-11-04 19:54:59 UTC (rev 5917)
+++ trunk/deluge/ui/web/server.py       2009-11-04 20:45:21 UTC (rev 5918)
@@ -332,6 +332,7 @@
         "/js/Deluge.EditTrackers.js",
         "/js/Deluge.Keys.js",
         "/js/Deluge.Login.js",
+        "/js/Deluge.MoveStorage.js",
         "/js/Deluge.Plugin.js",
         "/js/Deluge.Preferences.js",
         "/js/Deluge.Preferences.Downloads.js",



--~--~---------~--~----~------------~-------~--~----~
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