diff --git a/deluge/ui/web/js/deluge-bars.js b/deluge/ui/web/js/deluge-bars.js index ddf4b7e43..26c3fdd37 100644 --- a/deluge/ui/web/js/deluge-bars.js +++ b/deluge/ui/web/js/deluge-bars.js @@ -45,7 +45,6 @@ Deluge.ToolBar = { onLogin: function() { this.Bar.items.get('logout').enable(); - }, onLogout: function() { @@ -334,12 +333,15 @@ Deluge.SideBar = { onRender: function(bar) { this.Bar = bar; - Deluge.Events.on("disconnect", this.onDisconnect); + Deluge.Events.on("disconnect", this.onDisconnect.bindWithEvent(this)); this.selected = null; }, onDisconnect: function() { - + this.Bar.items.each(function(panel) { + panel.destroy(); + }); + this.panels.empty(); }, renderer: function(value, p, r) { diff --git a/deluge/ui/web/js/deluge-connections.js b/deluge/ui/web/js/deluge-connections.js index dabdfc0a2..75eb677fb 100644 --- a/deluge/ui/web/js/deluge-connections.js +++ b/deluge/ui/web/js/deluge-connections.js @@ -27,6 +27,11 @@ Deluge.Connections = { }, loginShow: function() { + Deluge.Events.on('logout', function(e) { + Deluge.Connections.disconnect(); + Deluge.Connections.Window.hide(); + }); + Deluge.Client.web.connected({ onSuccess: function(connected) { if (connected) { @@ -69,13 +74,6 @@ Deluge.Connections = { selection.selectRow(Deluge.Connections.selectedRow); }, - onRender: function() { - Deluge.Events.on('logout', function(e) { - Deluge.Connections.disconnect(); - Deluge.Connections.Window.hide(); - }); - }, - onSelect: function(selModel, rowIndex, record) { Deluge.Connections.selectedRow = rowIndex; }, @@ -186,7 +184,6 @@ Deluge.Connections.Window = new Ext.Window({ }], listeners: { 'hide': Deluge.Connections.onClose, - 'show': Deluge.Connections.onShow, - 'render': Deluge.Connections.onRender + 'show': Deluge.Connections.onShow } }); \ No newline at end of file