Passing objects to push() seems to be broken on Firefox, making the
preferences impossibile to use when there are watched folders.
Fix this by passing strings instead of elements.
setGlobalDownloadLimit and setGlobalUploadLimit will now modify the
alternative speed limits if they are currently enabled and the regular
speed limits otherwise.
Add also two new commands to toggle the state of the alternative speed
limits and get their current state.
Closes#2203.
This should prevent situations in which the properties panel completely
covers the transferlist on page load.
Save also the height whenever the window is resized since that changes
the height of the panels without saving the height.
A different DPI setting might make the elements in the dialogue big
enough to make the scrollbars appear, but not big enough to make them
useful. So, never show them.
Now that the properties are loaded immediately when the selected torrent
or the property tab is changed, the frequency of the updates can be
reduced without affecting the user experience.
New update intervals:
* General: 5 seconds (10 if qBT is not reachable)
* Tracker list: 10 seconds (20 if qBT is not reachable)
* File list: 5 seconds (10 if qBT is not reachable)
Don't wait for new data to be fetched, request them as soon as
they are required, i.e. when a property tab is loaded or when a
different torrent is selected.
Don't reload HTML on tab change. Load the entire structure once and
keep the unused bits hidden.
Keep also the JS code separately, one file per tab.
NOTE: tabs content is not loaded. This will be fixed in the next commit.
Each column has a fixed width that allows to read its content.
The column for the name of the torrents has a variable width with an
upper and a lower constraint.
If the width of the page is not sufficient to fit the table, a scrollbar
will appear.