Commit graph

529 commits

Author SHA1 Message Date
Gabriele
f740a4f30b WebUI: Make transfer info look like in the regular UI
The string for the transfer info was not translated as it should have.
Drop it completely.
2014-12-14 16:20:37 +01:00
Gabriele
e9d5a76d9c WebUI: Never show scrollbars in rate limits dialogue
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.
2014-12-14 16:20:36 +01:00
Gabriele
f775e68666 WebUI: Use correct max ratio value
Closes #183.
2014-12-14 16:20:22 +01:00
buinsky
98deac97a0 Precise setting of upload/download limits 2014-12-14 00:58:37 +03:00
buinsky
364e4277ec Show upload and download limits in status bar 2014-12-14 00:58:18 +03:00
buinsky
1b4dad214a Fix setting session id 2014-12-13 01:29:59 +03:00
Gabriele
7a58a3fe43 WebUI: Ensure that no concurrent timers exist 2014-12-11 22:05:40 +01:00
Gabriele
fdc975d900 WebUI: Add readonly attribute to comment textarea
Torrent comments should not be editable.
2014-12-11 00:02:11 +01:00
Gabriele
005e378cbd WebUI: Don't change cursor style for the file list
Changing the cursor is misleading, no operation can be done.
2014-12-11 00:02:11 +01:00
Gabriele
1332ca318b WebUI: Adjust size of columns in property panels 2014-12-11 00:02:11 +01:00
Gabriele
b46ecb4351 WebUI: Decrease frequency of updates of property panel
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)
2014-12-11 00:02:11 +01:00
Gabriele
ac507261f8 WebUI: Remove extra parethesis 2014-12-11 00:02:11 +01:00
Gabriele
408cc7101e WebUI: Update torrent properties immediately
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.
2014-12-11 00:02:09 +01:00
Gabriele
c54271638b WebUI: Load properties tabs once
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.
2014-12-11 00:00:35 +01:00
Gabriele
cb9ed13d69 WebUI: Fix minor error
No timer is set when the functions are directly called.
2014-12-11 00:00:35 +01:00
Gabriele
d06d7b1f6d WebUI: MochaUI: Show entire error message 2014-12-11 00:00:35 +01:00
Gabriele
aded5422d8 WebUI: MochaUI: Check for undefined functions 2014-12-11 00:00:35 +01:00
Gabriele
d055613125 WebUI: Make column width less variable in transferlist
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.
2014-12-10 21:56:37 +01:00
Gabriele
5fb32da49f WebUI: Center progressbars in trasferlist 2014-12-10 21:56:33 +01:00
Gabriele
0a512e41c9 WebUI: Select username on login page load
On logout, the input field is not empty. Select its content.
2014-12-10 21:56:27 +01:00
Gabriele
57e9165bb4 WebUI: Translate page title everywhere 2014-12-10 21:56:06 +01:00
buinsky
2c93330ce9 Add space before priority menu item 2014-12-10 06:45:24 +03:00
buinsky
76e30ecf78 Dynamically show 'Start' and 'Pause' menu items 2014-12-10 06:44:41 +03:00
buinsky
2a712a81ea Add sequential downloading menu items 2014-12-10 04:50:39 +03:00
buinsky
6644791458 Follow project coding style. Issue #2192. 2014-12-10 04:50:21 +03:00
buinsky
44992056cf Restore selected filter on page load 2014-12-09 23:49:11 +03:00
buinsky
5b604ac251 Save torrent list sort order in local storage 2014-12-09 23:49:09 +03:00
buinsky
b4f39add08 Update torrent list after operations with torrents.
Immediately update torrent list after some operations with torrents.
Such as changing priority, adding torrent, pause/resume, etc.
2014-12-09 23:49:07 +03:00
buinsky
e8ad465c5f Follow project coding style. Issue #2192. 2014-12-09 23:49:05 +03:00
buinsky
57a4f3ed19 Hide priority menu items when queueing is disabled 2014-12-09 23:48:45 +03:00
buinsky
28fad54cc4 Add higest and lowest priority icons into toolbar 2014-12-08 00:33:38 +03:00
buinsky
69506ec505 Follow project coding style. Issue #2192. 2014-12-08 00:14:55 +03:00
buinsky
ba40408c8d Images cache control code edit 2014-12-07 23:50:06 +03:00
buinsky
dbc5ffee75 Follow project coding style. Issue #2192. 2014-12-07 23:33:36 +03:00
Gabriele
0b6d5c662a WebUI: Use CSS to alternate row colors in transferlist
Keep the old code for IE < 9, the majority of the browsers
shouldn't need it.

Also, keep the CSS code in one place.
2014-12-07 15:53:33 +01:00
Gabriele
8a4028fc84 WebUI: Remove unused variable 2014-12-07 15:53:33 +01:00
Gabriele
d7071a81bd WebUI: Keep current preference for the title style in a variable
Read persistent value only when required.
2014-12-07 15:53:33 +01:00
Gabriele
6ee1c8851f WebUI: Update title immediately when showing/hiding rates 2014-12-07 15:53:33 +01:00
Gabriele
2226f166ac WebUI: Fix increasing frequency of XHR requests
ajaxfn() is called every time the torrent list is filtered. This function
calls itself after a predefined amount of time by setting a timer. If
the function is called manually without destroying the timer, the
frequency of the XHR requests will increase.

Fix this by saving a reference to each timer that is created so that
they can be later destroyed.

Add also two helper functions to request updated data safely.
2014-12-07 15:53:33 +01:00
Gabriele
aab2c34257 Follow project coding style. Issue #2192. 2014-12-07 15:53:28 +01:00
Vladimir Golovnev (Glassez)
0e87b96beb WebUI: Drop client-side sorting. 2014-12-07 16:28:03 +03:00
Vladimir Golovnev (Glassez)
e279dcf904 WebUI: Implement limit/offset. 2014-12-07 16:28:01 +03:00
Vladimir Golovnev (Glassez)
59ff08c107 WebUI: Implement server-side sorting. 2014-12-07 16:27:59 +03:00
Vladimir Golovnev (Glassez)
8ff03d162d WebUI: Fix transferlist.html indentation. 2014-12-07 16:27:56 +03:00
Vladimir Golovnev (Glassez)
d938643c38 WebUI: Drop client-side filtering. 2014-12-07 16:27:54 +03:00
Vladimir Golovnev (Glassez)
0488ddafa5 WebUI: Fix indentation.
Fix indentation in client.js and dynamicTable.js.
2014-12-07 16:25:52 +03:00
Vladimir Golovnev (Glassez)
1a1db877bf Use QTorrentHandle::torrentState() in btjson. 2014-12-07 16:13:39 +03:00
Vladimir Golovnev (Glassez)
5edf0e251f WebUI: Implement server-side torrent filtering. 2014-12-07 16:13:37 +03:00
Vladimir Golovnev (Glassez)
c24610ec80 WebUI: Improve btjson.* indentation. 2014-12-07 16:13:32 +03:00
buinsky
740617e5ce Use localStorage instead of cookies 2014-11-30 12:44:33 +03:00
buinsky
5e8c62e539 Add "Speed in title bar" item to menu
* file: src/Icons/oxygen/checked.png
  copyright: Victor Buinsky <allok.victor@gmail.com>
2014-11-30 10:39:27 +03:00
buinsky
b0e138d669 Set images cache expiry time to 300000 seconds 2014-11-30 10:30:20 +03:00
buinsky
632fd84e54 Fix context menu width 2014-11-30 10:30:02 +03:00
buinsky
39e135e40a Fix menu width 2014-11-30 10:27:33 +03:00
sledgehammer999
060d3fc5b9 Merge pull request #2153 from pmzqla/webui-versioninfo
WebUI: Allow to retrieve web API version and qBT version
2014-11-23 22:07:59 +02:00
buinsky
2275735b81 Change of number of decimal places to 1
Change of number of decimal places to 1 in speed and size values.
2014-11-23 16:53:41 +03:00
buinsky
b2876b7f66 Show speed in title 2014-11-23 16:38:52 +03:00
Gabriele
d6169b14dd WebUI: Allow to retrieve qBittorrent version
New GET method:
 * version/qbittorrent: qBittorrent version

Closes #1872.
2014-11-22 20:47:32 +01:00
Gabriele
8b5512c244 WebUI: Assign a version to the Web API and allow to get it
New GET methods:
 * version/api: current API version
 * version/api_min: min API version supported

The API version is an integer and it's returned as plain text.

Whenever the API is changed, the api version is increased.

Whenever the API is changed in a way that is not backward compatible,
api_min is increased.
2014-11-22 20:47:32 +01:00
Gabriele
1154ea3873 Change indentation to 4 spaces. Issue #2192. 2014-11-22 20:47:32 +01:00
buinsky
f44f676729 Update priority icons
Update priority icons
2014-11-20 17:26:38 +03:00
buinsky
5cc90844a5 Fixing setting speed limit of torrent in WEBUI
Fixing setting speed limit of torrent in WEBUI when global speed limit
is not set.
2014-11-20 17:26:36 +03:00
sledgehammer999
e8bec885cb Merge pull request #2145 from pmzqla/webui
Make Web API locale independent
2014-11-12 00:32:00 +02:00
Gabriele
b4acb2ef52 Use localeCompare to sort torrent list by name 2014-11-10 13:57:01 +01:00
Gabriele
ed83070517 Use raw data to sort columns
Store the raw data retrieved in a new data-raw attribute and use
these to sort the columns.

In addition, make the ETA column sortable.
2014-11-10 13:57:01 +01:00
Gabriele
aedf579d77 WebUI: make API locale independet
Sizes are now given in bytes.
Dates are Unix timestamps and converted to ISO 8601 in the web UI.
Numbers are not converted to strings.
-1 is returned for undefined values.

Some keys have been splitted:

Torrent list (json/torrents)
 * num_seeds: Torrent seeds connected to
 * num_complete: Torrent seeds in the swarm
 * num_leechs: Torrent leechers connected to
 * num_incomplete: Torrent leechers in the swarm

Torrent generic properties (propertiesGeneral/hash)
 * total_uploaded: Total data uploaded
 * total_uploaded_session: Total data uploaded this session
 * total_downloaded: Total data dowloaded
 * total_downloaded_session: Total data downloaded this session
 * time_elapsed: Torrent elapsed time
 * seeding_time: Torrent elapsed time while complete
 * nb_connections: Torrent connection count
 * nb_connections_limit: Torrent connection count limit

Global transfer info (json/transferInfo)
 * dl_info_speed: Global downalod rate
 * dl_info_data: Data downloaded this session
 * up_info_speed: Global upload rate
 * up_info_data: Data uploaded this session

Closes #1524.
2014-11-10 13:57:01 +01:00
Gabriele
09fde676ae WebUI: Don't empty transfer list before updating it
This causes the list from disappearing in IE 10.
No longer needed table rows are deleted anyway.
2014-11-09 21:19:38 +01:00
Gabriele
97c1b17cf0 Show a spinner while torrents are being uploaded 2014-11-09 00:30:37 +01:00
Gabriele
3d1617b2de Upload torrents on user command
Don't upload the torrents as soon as they are selected.

Also, adjust the HTML code to better place the upload button.
2014-11-09 00:28:41 +01:00
Gabriele
ee3a736787 WebUI: Return error in case uploaded files are not torrents 2014-11-09 00:28:41 +01:00
Gabriele
c255ba675a Center images in top menu 2014-11-09 00:28:18 +01:00
Gabriele
7b49ab2a48 Add missing images and fix few paths
These images are used in CSS rules, but are missing.

Images taken from MochaUI git repo.
2014-11-09 00:28:18 +01:00
Gabriele
465ff473f1 Drop Firefox specific code
This change improves the responsiveness while resizing panels.
The code was intended to fix bugs in really old versions of Firefox.
2014-11-09 00:28:18 +01:00
Gabriele
e83e46b08a Fix panel height calculation in Opera 2014-11-09 00:28:18 +01:00
Gabriele
7b73e96863 Fix errors in width and height calculations
border-left/right/top/bottom are not numbers.
2014-11-09 00:28:18 +01:00
Gabriele
dc0591997a Bump Internet Explorer compatibility 2014-11-09 00:28:18 +01:00
Gabriele
30a25e1de4 Workaround to make invisible buttons clickable on IE 2014-11-09 00:28:18 +01:00
Gabriele
d106c12aa2 Restricts hacks and workarounds to IE < 9 2014-11-09 00:28:18 +01:00
Gabriele
66a91a6e3a Remove XML encoding declaration from HTML files 2014-11-09 00:27:53 +01:00
Gabriele
0d2e9a9473 Reduce font size of priority combo boxes
They were too big in some cases (e.g. Firefox on Linux).
2014-11-09 00:25:40 +01:00
Gabriele
fa706b24be Use fake tristate checkbox on IE < 9 only 2014-11-09 00:25:40 +01:00
Gabriele
92cc8f7211 Fix disappearing transferlist list when zooming in the browser
When the page is zoomed in the browser, the transferlist doesn't fit
in the page and is moved below the left column, disappearing completely.

Allow elements to overlap the handle to prevent this from happening.

The error message is moved in the status bar since it's wrongly placed
because of the overlap.

Closes #603.
2014-11-09 00:25:40 +01:00
Gabriele
4f28fb5680 Minimize width of first column in transfer list 2014-11-09 00:25:40 +01:00
Gabriele
afde16c252 Change color of table header in bottom panel and add some padding 2014-11-09 00:25:40 +01:00
Gabriele
c516c0ac12 Center vertically "+" image in tracker list 2014-11-09 00:25:40 +01:00
Gabriele
af9e40d83d Alternate background color for torrent content
CSS3 support required.
2014-11-09 00:25:40 +01:00
Gabriele
b01c1f3b9a Don't show white parts when hovering over the elements of the menu 2014-11-09 00:25:40 +01:00
Gabriele
4ff999d1c5 Change background color of rows of torrent content 2014-11-09 00:25:40 +01:00
Gabriele
c9db08f0f4 Change background color of filterlist on hover 2014-11-09 00:25:40 +01:00
Gabriele
59abcc554d Remove "Downloaded" from transferlist header and reduce column width 2014-11-09 00:25:40 +01:00
Gabriele
863dc71100 Focus username input on load 2014-11-09 00:25:40 +01:00
Gabriele
0bfad7dce6 Add type attribute to style tag 2014-11-09 00:25:40 +01:00
Gabriele
5e77d99a5e Add alt attribute to images 2014-11-09 00:25:40 +01:00
Gabriele
b2e86bae7e Remove extra double quotes 2014-11-09 00:25:34 +01:00
Vladimir Golovnev (Glassez)
cd0bcacd9f WebUI: Fix upload window closing on old browsers. 2014-11-07 15:53:11 +03:00
Vladimir Golovnev (Glassez)
d85c3170b2 WebUI: Add charset attribute to text content types. 2014-11-05 20:24:17 +03:00
Vladimir Golovnev (Glassez)
7b7f88ae4f WebUI: Fix WebAPI returned data. 2014-11-05 20:24:02 +03:00
Vladimir Golovnev (Glassez)
0660398c28 Replace Mascot with qBittorrent logo on WebUI login page. 2014-11-03 16:31:41 +03:00
Vladimir Golovnev (Glassez)
651bf4f9aa Fix status returned to banned user. 2014-11-03 16:31:40 +03:00
sledgehammer999
6f14b34470 WEBUI: Protect against timing attacks. Closes #2108. 2014-11-02 21:41:29 +02:00
sledgehammer999
4f2b7c2e10 Merge pull request #2081 from sorokin/split
Split a few files into .h and .cpp
2014-11-02 16:40:41 +02:00
sledgehammer999
9e6d57057f Add back contact info in the copyright notices. 2014-11-02 15:03:40 +02:00
Vladimir Golovnev (Glassez)
8a65dbaa4f WebUI core redesign. 2014-11-02 13:54:48 +03:00
Vladimir Golovnev (Glassez)
9853a9fec9 Modify Http parser/generator classes. 2014-10-26 19:52:15 +03:00
Vladimir Golovnev (Glassez)
3d20f2f670 Prepare WebUI resources.
Html/Css/JavaScript files displacement.
Also add new icon.
2014-10-26 19:52:01 +03:00
Ivan Sorokin
16eb407453 Split src/torrentpersistentdata into .h and .cpp 2014-10-25 16:12:17 +04:00
sledgehammer999
9b71e4ffc9 Use the correct character encoding for exceptions coming from libtorrent. 2014-10-18 17:22:50 +03:00
Ivan Sorokin
de5f38a160 Speedup compilation speed
libtorrent has a relatively heavy headers, that take lots of time to
process. This commit removes unnecessary includes of libtorrent headers
and replaces them with forward declarations.

I had to move some functions in QBtSession from slots to regular
functions because moc'ed file want to see complete types of all
parameters of slots.

"time make" of full rebuild before this series of commits:

real    13m35.937s
user    12m1.295s
sys     1m25.908s

after:

real    10m54.390s
user    9m31.167s
sys     1m12.580s
2014-10-18 12:19:05 +04:00
Benjamin Hutchins
89fda12597 Removed essentially useless "Visit website" iframe and changed it to a regular link. Improves fix qbittorrent/qBittorrent#1343 2014-08-15 22:29:50 -04:00
Benjamin Hutchins
9143c440a5 Removed broken "Documentation" iframe from the webui. Improves fix qbittorrent/qBittorrent#1343 2014-08-15 22:29:50 -04:00
Benjamin Hutchins
afc5601697 Removed broken Report a bug iframe from the webui. fixes qbittorrent/qBittorrent#1343 2014-08-15 22:29:50 -04:00
sledgehammer999
061d4fc721 Revert "Fix WebUI sort by size/speed for some locales (with comma as decimal point)."
This reverts commit 87d118e87c.
2014-08-08 03:03:57 +03:00
sledgehammer999
2729abfd32 Revert "Fix WebUI sort by ratio for some locales (with comma as decimal point)."
This reverts commit c3942fb0b3.
2014-08-08 03:03:40 +03:00
sledgehammer999
d44df4f985 Don't localize double numbers in the webui. Closes #1525. 2014-08-08 02:59:48 +03:00
sledgehammer999
15d3df380c Migrate everything to use the new Preferences class and not access directly the qbittorrent.ini file.(webui) 2014-08-05 02:34:22 +03:00
sledgehammer999
e2748ec3ac Remove deprecated feature of separate DHT port. 2014-07-16 00:17:21 +03:00
Ivan Sorokin
fddd337e34 Suppress warning about signed/unsigned mismatch. 2014-06-22 19:48:21 +04:00
sledgehammer999
a361c0ea03 Use the torrent_status for the queue_position too. 2014-06-04 20:26:23 +03:00
Vladimir Golovnev (Glassez)
9f310318c2 Use new JSON parser/generator.
Qt4: Use QJson (http://qjson.sourceforge.net).
Qt5: Use native Qt JSON API.
2014-06-04 17:01:41 +04:00
Vladimir Golovnev (Glassez)
f9c3719d12 Add QJson files. 2014-06-04 17:01:40 +04:00
Vladimir Golovnev (Glassez)
6e59877cee Remove old JSON classes. 2014-06-04 17:01:39 +04:00
Vladimir Golovnev (Glassez)
268562bff3 Fix HTTP request parsing on Qt5. 2014-06-04 17:01:39 +04:00
Ivan Sorokin
329b754197 cache torrent_status 2014-06-02 00:31:42 +04:00
Ivan Sorokin
bbc4080a5d fewer calls to hash() 2014-05-25 12:32:09 +04:00
sledgehammer999
e8c14f3507 Use the new Http classes. 2014-05-04 15:28:56 +03:00
sledgehammer999
6096506bd6 Implement alternatives to QHttpRequestHeader and QHttpResponseHeader. 2014-05-04 15:28:55 +03:00
sledgehammer999
ef3f7d18c9 Fix compilation with Qt5. 2014-05-04 15:28:54 +03:00
Vladimir Golovnev (Glassez)
ce3aac5f9d Fix functions and macros using to support both Qt4 and Qt5. 2014-05-02 00:00:03 +03:00
Vladimir Golovnev (Glassez)
c3942fb0b3 Fix WebUI sort by ratio for some locales (with comma as decimal point). 2014-01-27 08:44:36 +04:00
Vladimir Golovnev (Glassez)
87d118e87c Fix WebUI sort by size/speed for some locales (with comma as decimal point). 2014-01-27 08:39:47 +04:00
Vladimir Golovnev (Glassez)
7fce5ab268 Fix sorting by size in WebUI when non-default locale used. 2014-01-25 22:30:22 +04:00
Vladimir Golovnev (Glassez)
1aa70bedb7 Improve HttpConnection::translateDocument(). 2014-01-25 22:29:15 +04:00
Nick Tiskov
cb7f35d994 Update WebUI classes
Guaranteed to show paths with native separators to user
2014-01-22 19:37:28 +04:00
sledgehammer999
441d1d08ba Convert more accurately decimal numbers to text. 2014-01-21 02:12:27 +02:00
sledgehammer999
683aca7fdf Fix WebUI link to 'Anonymous mode' explanation. Closes #1093. 2013-11-17 21:17:48 +02:00
sledgehammer999
144dd5c2a8 Correctly detect if the browser supports gzip compression. 2013-11-16 21:48:20 +02:00
sledgehammer999
35da156ad2 WebUI: Don't gzip too small payloads. 2013-11-16 20:24:56 +02:00
sledgehammer999
b909dd41c5 Small optimization of WebUI responses when there isn't a data payload. 2013-11-09 20:03:54 +02:00
sledgehammer999
4003d7f951 Fix compilation with qt < 4.8.0. Closes #1043. 2013-11-05 23:06:20 +02:00
sledgehammer999
ade66629b1 Fix WebUI gzip compression. Closes #1037. 2013-11-05 22:57:33 +02:00
sledgehammer999
b4dca951b2 Drop libtorrent 0.15.x support. 2013-10-23 22:19:58 +03:00
sledgehammer999
243abaf524 Improve comment in gCompress(). 2013-10-23 22:19:57 +03:00
sledgehammer999
bd9c231a0b Enable gzip compression in the webui. 2013-10-21 00:04:32 +03:00
sledgehammer999
2b9f79fafe Expose new translations and improve language code. 2013-10-20 20:29:32 +03:00
sledgehammer999
97fe948f6c Expose all available translation in the WebUI. Closes #976. 2013-10-13 22:17:11 +03:00
sledgehammer999
0f298397b3 Simplify various if-else and QString::number. 2013-09-14 15:16:50 +03:00
sledgehammer999
d09b0d5f72 Fixed rounding bugs with floating numbers. 2013-09-10 18:16:01 +03:00
Christophe Dumez
f4e5d7bc11 Merge pull request #636 from sledgehammer999/libtorrent_trunk
Fix compilation with libtorrent 1.x.x.
2013-06-08 10:35:05 -07:00
sledgehammer999
22e2bafa7a Fix compilation with libtorrent 1.x.x v2 2013-06-08 18:21:15 +03:00
sledgehammer999
94b58ca229 Fix compilation with libtorrent 1.x.x. 2013-05-07 22:57:18 +03:00