Somewhere the handler for the torrent grid selection change
got removed during the upgrade to ext-4, add it back so the
details tab updating becomes instant once more.
This new StatusTab uses a custom component, StatusItem and a
bunch of the Ext layout stuff in order to render the info on
the StatusTab, instead of an arbitary html modification. We
gain dynamic layout and more generic way of modifying the tab
Lots of changes here:
* Switched to using Ext.create over new Object()
* Add torrent window is now half working
* Begin the makings of DnD add torrent file
The filters in the sidebar can now be switch between finally. It
was down to the setTitle method overwriting whatever the accordion
layout was adding in.
Fix selecting the active tab in the details panel, it seems that
the activeTab property wasn't working so explicitly call
setActiveTab after adding in the various panels.
This new decorator will make it easy to secure the render method
of twisted resources as we will be adding a fair few as more of
the interface moves to use ajax requests over json-rpc.
Add a new file tree that is more suited to created a tree that
an ext proxy will be able to load and convert into a data store.
This file tree also has an improved file tree walk method that
uses generators instead of callbacks.
Instead of fetching the peer information via a rpc call simply
expose it as a fetching page via ajax so we can make use of
the Ext proxy and reader instead of manually loading it into
the store ourselves.
Add a loading mask that hides the loading of the interface with
some text and a nice ajax spinner. The situation can be further
improved by loading all of the scripts and other resources
dynamically, which will be added later.
Use the proper method for getting the torrent ids instead of the
implementation within the toolbar. Using the one on the torrent
grid will be more likely to work.
Before we were using the id property which seems to have been
deprecated and wasn't returning the actual id. Switching to
use the getId() method returns the correct id (the torrent hash)
so grabbing the torrent details starts working again for the
details tabs.
This finishes converting the FilterPanel to use the new data stuff
from ExtJS4 as well as switching from a listview to a gridview.
Currently the Sidebar is still broken.
Partially fix the connection manager so it now displays correctly
on first load. A lot of the functionality needs to be changed
due to the list -> grid migration.