Commit graph

585 commits

Author SHA1 Message Date
buinsky
135599acc4 Center vertically text in progress bar 2015-02-10 14:09:12 +03:00
buinsky
18b036545c Fix 'Resume all' & 'Pause all' actions 2015-02-10 14:09:10 +03:00
buinsky
1d5e52fc55 Fix friendlyDuration function 2015-02-10 14:09:07 +03:00
buinsky
ba86d16e78 Use compact style of JSON data 2015-02-10 14:09:05 +03:00
buinsky
bed0784a2d Follow project coding style. Issue #2192. 2015-02-10 14:09:02 +03:00
buinsky
d17f21af45 Queueing flag relocation in sync/maindata response 2015-02-10 14:09:00 +03:00
Gabriele
8890d244e2 WebUI: Update browser title even with no transfer going on 2015-02-08 23:10:41 +01:00
Gabriele
09c8d17c94 WebUI: Fix negative offsets when requesting torrent list
If the offset is negative, it must be added to the current list size.
2015-02-08 23:09:45 +01:00
Gabriele
2a351ea9a4 WebUI: Fix checkboxes of the watched folder list in the preferences
The 'checked' attribute does not require any value, so for unckecked
checkboxes nothing should be added.

Fix f16b7614a1.
2015-02-08 23:07:07 +01:00
Vladimir Golovnev (Glassez)
898d454b78 Follow project coding style (Issue #2192). 2015-02-08 20:38:04 +03:00
Vladimir Golovnev (Glassez)
2707f5205f Fix prefjson::setPreferences() doesn't actually save. 2015-02-08 19:44:56 +03:00
Vladimir Golovnev (Glassez)
ff9a281b72 Change project directory structure.
Change project directory structure according to application structure.
Change 'nox' configuration option to something more meaningful 'nogui'.
Rename 'Icons' folder to 'icons' (similar to other folders).
Partially add 'nowebui' option support.
Remove QConf project file.
2015-02-05 19:10:26 +03:00
sledgehammer999
eeee24a0b3 Make 'TorrentPersistentData' similar to 'Preferences' class. 2015-01-27 17:34:21 +02:00
sledgehammer999
dcf5d4d0ee Merge branch 'optimize-persistent-data' of git://github.com/sorokin/qBittorrent
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2015-01-27 15:21:26 +02:00
Ivan Sorokin
e3349092ad Refactor TorrentPersistentData
Conflicts:
	src/mainwindow.cpp
	src/mainwindow.h
	src/qtlibtorrent/qbtsession.cpp
	src/qtlibtorrent/qtorrenthandle.cpp
	src/transferlistwidget.cpp
	src/webui/btjson.cpp
2015-01-25 02:58:54 +03:00
sledgehammer999
087417c8a6 Change the code to use the Logger class instead. 2015-01-23 19:05:18 +02:00
sledgehammer999
39c9bb0800 Merge pull request #2445 from buinsky/WebUI3
Web API: rename 'json' scope to 'query'
2015-01-23 16:41:42 +02:00
sledgehammer999
e67c4390ed Merge pull request #2429 from pmzqla/watched-folders
WebUI: Fix watched folders on Gecko
2015-01-23 01:28:35 +02:00
buinsky
b30ec46048 Web API: rename 'json' scope to 'query' 2015-01-23 01:37:12 +03:00
sledgehammer999
f2c6981711 Merge pull request #2389 from buinsky/WebUI3
Web API: Implement sync/maindata request
2015-01-23 00:36:12 +02:00
buinsky
574c57ee18 Use sync/maindata request in WebUI 2015-01-23 01:13:42 +03:00
buinsky
383c0e1418 Implement sync/maindata request 2015-01-23 01:13:38 +03:00
buinsky
0d43ee7076 Follow project coding style. Issue #2192. 2015-01-18 16:27:17 +03:00
buinsky
bf0f9dd275 Implement functions for generating partial responses of requests. 2015-01-18 16:27:05 +03:00
Gabriele
f16b7614a1 WebUI: Fix watched folders on Gecko
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.
2015-01-17 14:06:53 +01:00
sledgehammer999
74fcee2d7d Merge pull request #2332 from buinsky/WebUI2
WebUI: Change torrent model
2015-01-10 16:37:26 +02:00
Gabriele
d7161dcab1 Fix few spelling mistakes
s/Pieces size/Piece size/
s/uknown/unknown/

Closes #2367.
2015-01-08 18:42:58 +01:00
buinsky
04f1c0c238 WebUI: Change torrent model
Improvements:
- added functions, which may be used to reorder and hiding columns in torrents table
- new columns can be easily added to torrents table
2015-01-06 22:49:02 +03:00
Gabriele
71bef1852d WebUI: Add torrents paused because of errors in Paused and Download list
Torrents paused because of errors are considered as torrents paused and in
download in the regular UI. Do the same in the WebUI for consistency.

Closes #2319.
2014-12-21 20:44:35 +01:00
sledgehammer999
91ec84b317 Merge pull request #2301 from pmzqla/checkuri-fix
WebUI: Specify URI size
2014-12-21 16:05:07 +02:00
Nick Tiskov
385bbe0df6 Normalize EOL 2014-12-20 20:29:17 +03:00
sledgehammer999
7bc7b0e6b8 Merge pull request #2307 from pmzqla/webui-altspeed
WebUI: Alternative speed limits fixes
2014-12-20 16:56:53 +02:00
sledgehammer999
506d9caf09 Merge pull request #2296 from buinsky/master
WebUI: Set global upload max limit to 10000 KB/s
2014-12-20 16:52:58 +02:00
Gabriele
fd86bafb38 WebUI: Be consistent with variable names 2014-12-19 17:34:52 +01:00
Gabriele
280aa95ef6 WebUI: Fix initial state of the alternative speed limits icon 2014-12-19 17:34:20 +01:00
Gabriele
a69515850c WebUI: Specify URI size
In some cases, args_ can't be empty. Specify the number of expected args.

Fix 2023ec043c ("WebUI: Check URI of GET and POST requests")
2014-12-19 17:09:36 +01:00
Vladimir Golovnev (Glassez)
48d4cf4f36 WebUI: Drop old translation hack. 2014-12-18 21:51:33 +03:00
Vladimir Golovnev (Glassez)
d80a14a2e1 WebUI: Improve translation macro.
Now we use QBT_TR(translatable string)QBT_TR.
2014-12-18 21:51:19 +03:00
buinsky
9d51dcb663 WebUI: Set global upload max limit to 10000 KB/s 2014-12-16 05:01:55 +03:00
Gabriele
3be4257ad9 WebUI: MochaUI: Use same cursors on Gecko and WebKit 2014-12-14 21:26:39 +01:00
Gabriele
76999b598c WebUI: Prevent default action of links
This prevents anchors from being added to the URL.
2014-12-14 21:26:39 +01:00
Gabriele
2023ec043c WebUI: Check URI of GET and POST requests 2014-12-14 21:26:39 +01:00
Gabriele
e4da128fbb WebUI: Check that all and only the needed parameters are provided
Issue #1560.
2014-12-14 21:24:37 +01:00
Gabriele
f89baa4cf5 WebUI: Use case insensitive parameters for POST requests 2014-12-14 21:24:37 +01:00
Gabriele
6211a9855a WebUI: Assign min width to speed limit labels
Try to prevent continuous changes in the width of the labels.
2014-12-14 21:24:37 +01:00
Gabriele
2c930862c5 WebUI: Align elements in footer 2014-12-14 21:24:37 +01:00
Gabriele
f45e48c32a WebUI: Show connection status in the statusbar 2014-12-14 21:24:32 +01:00
Gabriele
f1477319ef WebUI: Show DHT nodes in the statubar 2014-12-14 20:16:44 +01:00
Gabriele
2aa344bb0a WebUI: Add missing comments 2014-12-14 16:20:37 +01:00
Gabriele
accfbdd304 WebUI: Use translated strings for speed limits dialogue 2014-12-14 16:20:37 +01:00
Gabriele
c53b19d6c1 WebUI: Allow to control the alternative speed limits
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.
2014-12-14 16:20:37 +01:00
Gabriele
25e8cad16c WebUI: Update transfer info when speed limits are changed 2014-12-14 16:20:37 +01:00
Gabriele
b3a537f575 WebUI: Don't cache transfer info values
In this way speed limits are instantly updated.
2014-12-14 16:20:37 +01:00
Gabriele
9bd24a1408 Follow project coding style. Issue #2192. 2014-12-14 16:20:37 +01:00
Gabriele
16dcf39823 WebUI: Use relative sizes when saving panel height
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.
2014-12-14 16:20:37 +01:00
Gabriele
95bf2ffc51 WebUI: Define some functions on load
These function shouldn't be called when the page is not loaded yet,
so it makes sense to define them later.
2014-12-14 16:20:37 +01:00
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