Commit graph

5546 commits

Author SHA1 Message Date
John Sebastian Peterson
6de317ee13 Fix Properties widget state saving
readSettings changed CurrentTab and Visible by calling saveSettings

some slot connections were wrong
2014-12-26 19:28:50 +01:00
sledgehammer999
f21b0b4f6d Merge pull request #2321 from john-peterson/filter
adding inverse for paused filter
2014-12-26 20:11:15 +02:00
John Sebastian Peterson
89f34b4ae7 Add 'unpaused' torrent filter
the inverse of paused because complete and active have an inverse
2014-12-26 19:04:36 +01:00
sledgehammer999
5f8a49313e Merge pull request #2320 from pmzqla/webui-pausederror
WebUI: Add torrents paused because of errors in Paused and Download list
2014-12-26 19:38:49 +02:00
sledgehammer999
e8cb840836 Fix sorting by port column in peers view. 2014-12-26 17:30:09 +02: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
sledgehammer999
db45d81f4c Merge pull request #2313 from glassez/cmdline
Improve command line parsing.
2014-12-21 15:57:22 +02:00
Vladimir Golovnev (Glassez)
5200999007 Improve command line parsing. 2014-12-21 16:29:01 +03:00
sledgehammer999
d888d4e897 Merge pull request #2046 from pmzqla/toolbar-menu
Allow minor toolbar customizations
2014-12-21 14:37:29 +02:00
Gabriele
0ebfea6c68 Add a context menu to the toolbar to change the position of the text
Closes #1145.
2014-12-21 13:27:45 +01:00
Vladimir Golovnev (Glassez)
1f110e9fb1 Fix qbittorrent-nox daemon. 2014-12-21 14:26:12 +03:00
Gabriele
442f45d42a Add texts to the icons on the toolbar
The toolbar follows the system style to display texts associated to
icons. Since no specific text is provided, the text used for the action
associated to the button will be used. This could make some of the
buttons rather big.

Add short texts to the icons so that each button uses a reasonable
amount of space.
2014-12-21 11:47:25 +01:00
sledgehammer999
6d6e3042c2 Merge pull request #2302 from buinsky/WebUI2
Accept multiple files at once. Closes #2253
2014-12-21 01:09:07 +02:00
buinsky
cb5b0f891c Accept multiple files at once. Closes #2253 2014-12-21 01:39:53 +03:00
sledgehammer999
bbd0dfb298 Merge pull request #2098 from DoumanAsh/int_search_combo
Add combo box for fast search engine switch
2014-12-20 21:56:52 +02:00
sledgehammer999
bea3a175fd Merge pull request #1549 from Gelmir/add_paused_rss
Support overriding global "Add paused" option in RSS on per rule basis
2014-12-20 20:05:24 +02:00
sledgehammer999
7b24157ce3 Merge pull request #2303 from Gelmir/gattrs
Normalize line endings
2014-12-20 19:59:03 +02:00
sledgehammer999
b46a0ea9b2 Use the 'fastest_upload' setting as seed choking algorithm. 2014-12-20 19:55:25 +02:00
buinsky
2d0099238a Follow project coding style. Issue #2192. 2014-12-20 20:53:58 +03:00
sledgehammer999
1110617896 Don't block peers that use privileged ports. 2014-12-20 19:48:54 +02:00
sledgehammer999
17c62bdd08 Fix incomplete commit 94ae9544d. Thanks @pmzqla for noticing and helping. 2014-12-20 19:31:38 +02:00
Nick Tiskov
385bbe0df6 Normalize EOL 2014-12-20 20:29:17 +03:00
sledgehammer999
b5c00df107 Merge pull request #2309 from john-peterson/save3
saving properties window state when changed
2014-12-20 18:43:02 +02:00
John Sebastian Peterson
cbb8cbf052 saving properties window state when changed
to not lose it on an unclean exit
2014-12-20 17:09:35 +01:00
sledgehammer999
94ae9544d8 Fix 'Open Containing Folder' on unselected file. 2014-12-20 17:40:06 +02: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
sledgehammer999
edba48a0b6 Merge pull request #2299 from glassez/webui_tr
WebUI: Improve translation macro.
2014-12-20 16:20:22 +02:00
sledgehammer999
6daaaa6b24 Merge pull request #2297 from pmzqla/filename-extension
Filename extension fixes
2014-12-20 15:47:42 +02:00
sledgehammer999
ea2b650e7f Merge pull request #2293 from john-peterson/save2
saving splitter state on change
2014-12-20 15:12:03 +02:00
sledgehammer999
6c7eeb5c5b Merge pull request #2289 from glassez/fix_main
Improve program startup code.
2014-12-20 15:06:56 +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
Nick Tiskov
ef14b83134 Support overriding global "Add paused" option in RSS on per rule basis 2014-12-18 17:02:22 +03:00
Gabriele
e41de25919 Open files with ".!qB" appended to the filename
Filenames do not include ".!qB" in the file list, so the generated
path could be wrong.
2014-12-16 11:10:42 +01:00
Gabriele
301294fbff Remove unneeded check on filenames
The same check is performed in fsutils::fileExtension()
2014-12-16 11:10:04 +01:00
buinsky
9d51dcb663 WebUI: Set global upload max limit to 10000 KB/s 2014-12-16 05:01:55 +03:00
John Sebastian Peterson
e76ccd5926 saving splitter state on change
to not lose it on unclean exit
2014-12-15 23:26:44 +01:00
DoumanAsh
e357cf6231 Add combo box for fast search engine switch 2014-12-16 01:19:31 +03:00
DoumanAsh
722f1aaee8 Small fix of import in legittorrents engine 2014-12-16 01:19:19 +03:00
Vladimir Golovnev (Glassez)
96727f3206 Use forward declarations in main.cpp. 2014-12-15 21:43:01 +03:00
DoumanAsh
3b4548fe73 Remove vertor engine. Closes #2260.
Reason: tracker is closed and redirect to TorrentReactor
2014-12-15 21:01:41 +03:00
sledgehammer999
cac63e85e9 Merge pull request #2290 from john-peterson/save
saving torrent list view when changed
2014-12-15 17:25:49 +02:00
John Sebastian Peterson
5cab5bd129 saving torrent list view when changed
bc its otherwise forgotten by an unclean exit
2014-12-15 16:12:13 +01:00
sledgehammer999
ba054f34c8 Merge pull request #2172 from sorokin/fix-space-key
Implement sane behavior of space key in torrent content list. Closes #140.
2014-12-15 17:09:56 +02:00
Vladimir Golovnev (Glassez)
ede6715e72 Simplify main() logic.
Add Application class.
Put application initialization code to Application class.
Place some code into separate functions.
2014-12-15 17:24:31 +03:00
sledgehammer999
3d7ca1da77 Merge pull request #2284 from pmzqla/webui-features
WebUI changes
2014-12-14 23:18:58 +02: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
Gabriele
d202a59671 Don't forget alternative speed limits changes 2014-12-14 11:47:20 +01:00
Gabriele
9b5fea1987 Don't put limits to the alternative speed limits 2014-12-14 11:47:08 +01:00
sledgehammer999
47e7b3fac2 Merge pull request #2277 from buinsky/master
Some changes in WebUI
2014-12-14 02:11:46 +02:00
buinsky
98deac97a0 Precise setting of upload/download limits 2014-12-14 00:58:37 +03:00
buinsky
c95e181378 Disable flooding debug messages 2014-12-14 00:58:35 +03:00
buinsky
364e4277ec Show upload and download limits in status bar 2014-12-14 00:58:18 +03:00
Vladimir Golovnev (Glassez)
1fcca6f434 Fix main.cpp indentation. Issue #2192. 2014-12-13 20:22:35 +03:00
Vladimir Golovnev (Glassez)
ebd71bbe4c Avoid unnecessary classes creation. 2014-12-13 19:42:11 +03:00
sledgehammer999
4665dd6ea2 Run lupdate. 2014-12-13 16:17:16 +02:00
sledgehammer999
11ef0f8729 Correct RSS tooltip text from 18e0d122fb. 2014-12-13 16:14:13 +02:00
sledgehammer999
45313040d0 Run lupdate. 2014-12-13 15:50:54 +02:00
sledgehammer999
7f7aaabec1 Add better translation notes for some strings. 2014-12-13 15:49:50 +02:00
sledgehammer999
c0ecaa6f58 Merge pull request #2274 from pmzqla/headless-password
headless: Update default password hash
2014-12-13 13:05:45 +02:00
buinsky
1b4dad214a Fix setting session id 2014-12-13 01:29:59 +03:00
Gabriele
04d2deabb5 Vertical align right-aligned elements of the transfer list
Same as d19b7a777f ("Vertical align right-aligned header text")
2014-12-12 21:23:12 +01:00
Gabriele
9a534f62d5 headless: Update default password hash
Use the md5 of 'adminadmin'.
2014-12-12 15:26:40 +01:00
sledgehammer999
861c8e9ffa Merge pull request #2262 from pmzqla/webui-changes
WebUI: Misc changes
2014-12-12 00:55:05 +02: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
sledgehammer999
6884845446 Ensure that the priority column has enough width when queueing is enabled. Closes #2263. 2014-12-11 00:04:33 +02: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
sledgehammer999
1820a03f1d Merge pull request #2254 from buinsky/master
WebUI: Some changes
2014-12-10 22:50:35 +02: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
Gabriele
2389495d96 Ignore .!qB when extracting file extensions 2014-12-09 21:32:26 +01:00
alxpl
9e181e2e3d Create qBittorrent.appdata.xml
fixes #1701

An appdata file for inclusion in the upcoming software centers as per the new freedesktop.org specs.

It should be placed in /usr/share/appdata/ similar to the way .desktop files are placed in /usr/share/applications/, e.g. if you have a "$(datadir)/applications" definition in your makefiles, you need to add a "$(datadir)/appdata" as well.

Please, skim through the file in case I made a mistake and please, include it in the 3.1.x branch as well.
Of course you are free to modify it as you see fit, e.g. change the license, change copyright info, use your own screenshots, etc., just make sure it passes validation.

Thanks!

http://people.freedesktop.org/~hughsient/appdata/
http://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html
2014-12-08 00:01:40 +02: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
sledgehammer999
513f71e000 Sync translations from Transifex and run lupdate. 2014-12-07 22:01:37 +02: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
sledgehammer999
3672363207 Merge pull request #2191 from glassez/webui
WebUI: Implement server-side filtering, sorting and limit/offset.
2014-12-07 15:42:01 +02:00
sledgehammer999
14d27d982d Fix compilation with libtorrent 0.16.x. 2014-12-07 15:28:55 +02: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)
e887f574d7 Implement QTorrentHandle torrentState() and eta(). 2014-12-07 16:13:33 +03:00
Vladimir Golovnev (Glassez)
c24610ec80 WebUI: Improve btjson.* indentation. 2014-12-07 16:13:32 +03:00
sledgehammer999
78d4258dac Remove unused variable. 2014-12-07 15:09:56 +02:00
sledgehammer999
cd52d1820d Show reason why a peer was blocked. Needs libtorrent 1.0.x. 2014-12-07 15:09:16 +02:00
sledgehammer999
96ec6777e6 Follow project coding style. Issue #2192. 2014-12-07 12:11:18 +02:00
sledgehammer999
08f96ae7d7 Save RSS cache in folder called rss. 2014-12-07 11:54:09 +02:00
sledgehammer999
e331850b70 Merge pull request #1147 from maxrd2/rss_text
RSS Feed plain text description is not formatted.
2014-12-07 11:47:26 +02:00
sledgehammer999
7736415945 Merge pull request #1122 from maxrd2/rss_html
RSS Feed was not displaying remote images in html description.
2014-12-07 11:46:41 +02:00
Mladen Milinkovic
2c6df559e8 RSS Feed was not displaying remote images in html description. Closes #1119 2014-12-07 01:36:44 +01:00
Mladen Milinkovic
195b46673a RSS Feed will format plain text descriptions 2014-12-07 01:31:18 +01:00
sledgehammer999
f8e25984ae Fix for commit 35e964f66. 2014-12-07 01:39:49 +02:00
sledgehammer999
8449203b27 Add info about the proxy password being saved unencrypted. Closes #1490. 2014-12-06 21:05:34 +02:00
sledgehammer999
734301326b Rearreange header includes in Peerlist widget. 2014-12-06 19:24:07 +02:00
sledgehammer999
35e964f66d Implement peer relevance column. Closes #1630. 2014-12-06 19:07:26 +02:00
sledgehammer999
dc04ff511f Merge pull request #1546 from Gelmir/add_paused
Partially revert 14310f9b05
2014-12-06 17:04:13 +02:00
Gabriele
ef0b4c6ee2 Don't overwrite WebUI password when changing preferences
The input field to change password does not contain the actual
password, but its hash. When the preferences are saved, the hashed
password is considered as a new password.
Prevent this by comparing the new password with the hash of the
previous password.

Closes #2241.
2014-12-04 19:09:28 +01:00
sledgehammer999
da9396ca94 Fix compilation on ARM. Closes #2204. 2014-12-02 14:32:47 +02:00
sledgehammer999
8882895f5e Merge pull request #2230 from pmzqla/searchengine-kat
searchengine: Update KickassTorrents url
2014-12-02 11:28:39 +02:00
Gabriele
ad949c69b5 searchengine: Update KickassTorrents url
Closes #2228.
2014-12-02 00:17:07 +01:00
Gabriele
d19b7a777f Vertical align right-aligned header text
Since e907306b41 ("Right align header text that also has right-aligned
row text"), right-aligned elements are no longer centered vertically.
This can be noticed with some Qt styles (e.g. Breeze).
2014-12-01 23:04:24 +01:00
Nick Tiskov
9a87afb562 Use TorrentTempData for overriding "add torrents paused" functionality 2014-11-30 20:20:38 +03:00
sledgehammer999
f5048a4586 Merge pull request #2201 from buinsky/master
WebUI: Some changes
2014-11-30 15:11:29 +02:00
sledgehammer999
e5e22eb925 Fix the language selection in the combobox when the system locale only has a lang equivalent and not a lang_COUNTRY one. Closes #1786. 2014-11-30 15:07:43 +02: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
5d79fcdafd WINDOWS: Fix automatic python download. Commit 0799dc2 broke this. Closes #2076. 2014-11-30 00:34:25 +02:00
sledgehammer999
f88ceed2b6 Let Qt decide the size of the statusbar. 2014-11-29 23:13:33 +02:00
sledgehammer999
9d548814a3 Resize and crop the icons used in the status bar. 2014-11-29 23:13:21 +02:00
sledgehammer999
12cd143f75 Merge pull request #2061 from pmzqla/speed-indicators
Show current speed limits in the status bar
2014-11-29 23:11:49 +02:00
sledgehammer999
6c0b74b94b Merge pull request #2214 from Gelmir/trace
Fix backtrace functionality under MinGW
2014-11-29 16:50:06 +02:00
Nick Tiskov
6bab65e5b4 Produce demangled backtraces under MinGW 2014-11-29 16:40:18 +03:00
sledgehammer999
9e6a4da542 Merge pull request #2210 from alfrix/gui_fix
GUI: Streamline Properties Widget. Closes #2159
2014-11-29 15:35:21 +02:00
Nick Tiskov
2dd3d1fb22 Fix indentation for long addresses and filenames 2014-11-29 16:17:37 +03:00
Nick Tiskov
ba9f6a3531 Follow project coding style. Issue #2192. 2014-11-29 16:17:32 +03:00
sledgehammer999
0689a1735d Merge pull request #2206 from alfrix/prio_buttons
Add top and bottom priority hotkeys and buttons to menu and toolbar
2014-11-29 15:16:26 +02:00
sledgehammer999
b9ce4d48a0 Merge pull request #802 from Gelmir/rss_match_time_limit
Add setting to ignore RSS rule matches for X days
2014-11-29 12:56:25 +02:00
Alfredo Monclus
d28ca2eddc Add hotkeys and buttons for Top and Bottom priorities 2014-11-26 19:41:29 -03:00
Alfredo Monclus
7314c57852 GUI: Streamline Properties Widget. Closes #2159
Merge select buttons and filtering into one line
2014-11-26 18:48:12 -03:00
sledgehammer999
ecf3dd123e Don't display weird text in the 'Last Activity' column when the time is invalid. 2014-11-26 14:51:52 +02:00
sledgehammer999
e907306b41 Right align header text that also has right-aligned row text. Closes #2188. 2014-11-26 14:40:15 +02:00
sledgehammer999
f61675d98a Merge pull request #2207 from pmzqla/rss-rules
Fix RSS "OR" condition in "must not contain" rules.
2014-11-26 13:37:16 +02:00
sledgehammer999
89726d4566 Remove useless includes. 2014-11-26 02:19:48 +02:00
sledgehammer999
a8766058f3 Use parse_magnet_uri() where possible. 2014-11-26 02:19:47 +02:00
sledgehammer999
f413e8b121 Stop using internal libtorrent API. Closes #2202. 2014-11-26 02:19:46 +02:00
sledgehammer999
cbbf14b0f8 Follow project coding style. Issue #2192. 2014-11-26 02:19:44 +02:00
Nick Tiskov
806a4a2e6a Add setting to ignore RSS rule matches for X days 2014-11-26 01:55:25 +03:00
Gabriele
c6dbe8ea60 Don't use white spaces as separator in RSS "must not contain" rules
This RegExp uses both white spaces and | as separator.
Use only the latter and drop the RegExp as it is no longer required.
2014-11-25 19:38:18 +01:00
Gabriele
5dede9e433 Use correct separator for "OR" condition in RSS rules
Although RSS rules were correctly parsed, the wrong separator for the
"OR" condition was used to re-generate the string of the rule displayed
in the preferences.

Closes #2205.
2014-11-25 19:19:20 +01: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
sledgehammer999
8ce91e153d Merge pull request #2125 from buinsky/master
WEBUI: Some fixes
2014-11-23 21:54:42 +02:00
sledgehammer999
202e816d08 Use VERSION_BUILD where possible. Revert a change from previous commit. 2014-11-23 20:59:30 +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
d6f309b7a6 Merge pull request #2177 from pmzqla/open-select
Implement open and select file in file manager [Linux]
2014-11-16 23:19:12 +02:00
Gabriele
0b14860e40 Implement open and select file in file manager [Linux]
Only few file managers are able to select files when started from the
command line.

xdg-mime is required to retrieve the default file manager. If it's not
available or the file manager is not able to automatically select files,
the containing directory will be opened as usual.
2014-11-16 21:28:30 +01:00
sledgehammer999
8f9c7b79ed Fix nox compilation. 2014-11-16 22:28:28 +02:00
sledgehammer999
f35e06540e Load torrents that have big metadata file. Closes #1889. 2014-11-16 21:25:53 +02:00
sledgehammer999
0adb9fcbce Escape backslashes. Issue #800. 2014-11-16 20:58:43 +02:00
sledgehammer999
bba8e18812 Merge pull request #744 from Gelmir/open_select
[Windows] Implement open & select file in file manager
2014-11-16 20:44:22 +02:00
Nick Tiskov
be99c45944 Fix opening of samba shares 2014-11-16 21:03:56 +03:00
Nick Tiskov
997b16a24a Implement open & select file in file manager [Windows only] 2014-11-16 21:03:51 +03:00
sledgehammer999
7dd4e4aca8 Merge pull request #2174 from sorokin/fix-empty-combobox
Fix emptying of 'piece size' combobox when user enable 'auto' checkbox and no files are selected
2014-11-16 18:15:06 +02:00
sledgehammer999
f12dc7ca36 Merge pull request #2173 from sorokin/placeholder-text-torrent-list
Set placeholder text to torrent content filter.
2014-11-16 18:02:55 +02:00
Ivan Sorokin
98a900e67d Fix emptying of piece size combobox when user checks "auto" checkbox.
The function computePathSize returns -1 if file isn't found, not 0.
2014-11-16 18:33:31 +03:00
Ivan Sorokin
376df3218d Set piece size to (max) 4Mb instead of empty string when created torrent
is very large.
2014-11-16 18:33:31 +03:00
Ivan Sorokin
6780791d60 Set placeholder text to torrent content filter.
In commit afb03725ad it was implemented
for torrent list filter. Now it is here for files filter.
2014-11-16 18:09:38 +03:00
Ivan Sorokin
97d08a5b2f Implement sane behavior of space key in torrent content list. Closes #140.
Definitions:

Selection in QTreeView consist of two things:

   currentIndex -- is a (dotted) cell where user clicked last time. Note
                   that it is a cell
   selectedIndexes -- is a set of cells (blue) of current selection.

Checkboxes in torrent content lists are belong to COL_NAME column.

Problem:

The problem is that spacebar toggled checkbox only in currentIndex
index. This has two consequences:

  1. It is impossible to toggle checkboxes on multiple rows
     simultaneously.
  2. If currentIndex is not in COL_NAME column a space key doesn't work
     at all. This problem is amplifyed by the fact that SelectionBehavior
     is set to SelectRows. So visually it is impossible to tell which
     column does it belong to. For end user it looks like "space doesn't
     work sometimes".

This patch addresses the problem by implementing TorrentContentTreeView
derived from QTreeView and overridding keyPressEvent(QKeyEvent*).

The code of TorrentContentTreeView::keyPressEvent is written under
inspiration from QAbstractItemView::keyPressEvent and
QItemDelegate::editorEvent.
2014-11-16 17:19:04 +03:00
sledgehammer999
9088b1af84 Merge pull request #800 from Gelmir/smart_ep
Implement episode filter for rss downloader
2014-11-16 14:48:56 +02:00
sledgehammer999
ae1cecca2f Merge pull request #2163 from sorokin/optimize-prioritize-files
Reduce the number of torrent_handle::torrent_file() calls in QTorrentHandle::prioritize_files()
2014-11-16 13:39:36 +02:00
Ivan Sorokin
404c8972af Reduce the number of torrent_handle::torrent_file() calls in QTorrentHandle::prioritize_files(). Closes #2161.
It was reported (#2161) that enabling/disabling a downloading of a file
is considerably slow on libtorrent 1.0.3, but not on 0.16.x. The problem
is that a function torrent_file() in libttorrent 1.0.3 does a deep copy
of torrent_info, while get_torrent_info() in libtorrent 0.16.x only
returns a reference.
2014-11-16 03:37:51 +03:00
Nick Tiskov
60c4306502 Fix missing icon for open action in file list 2014-11-12 11:51:09 +03:00
Nick Tiskov
18e0d122fb Add tooltip to episode filter text edit 2014-11-12 11:50:43 +03:00
Nick Tiskov
0564ceea9f Implement episode filter for rss downloader 2014-11-12 11:50:42 +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
ec592f8175 Remove unneeded parameters from helper functions for WebUI 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
8cc7a3573e Show current speed limits in the status bar
Closes #1316.
2014-11-09 23:00:45 +01:00
Gabriele
f46e660679 Adjust the size of the elements in the statusbar
Use the same height for all the elements and try to prevent
variations of the speed labels.
2014-11-09 23:00:45 +01:00
sledgehammer999
d642ddc795 Merge pull request #2150 from pmzqla/webui-fix
WebUI: Don't empty transfer list before updating it
2014-11-09 23:02:32 +02: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
sledgehammer999
4dbc235c70 Use rgb values to match colors before commit ad116e. Taken from qcolor_p.cpp. 2014-11-09 13:59:36 +02:00
sledgehammer999
6d64f2430c Merge pull request #2140 from sorokin/fix-torrent-removal
Fix torrent removal. Closes #2132
2014-11-09 13:09:38 +02:00
sledgehammer999
9d770ea48b Merge pull request #2144 from sorokin/up-down-scrolling
Speed up scrolling with up/down keys
2014-11-09 13:07:00 +02:00
sledgehammer999
21139f9d29 Merge pull request #2142 from sorokin/repaint
Misc changes in TorrentModel and TransferListWidget
2014-11-09 13:06:39 +02:00
Ivan Sorokin
5986c1dbc9 Cache QRegExp in misc::parseHtmlLinks()
This commit should improve performance when user navigating through
torrent list using up/down keys. A scrolling through all the list
(276 torrents) took:

    Total wall time:                            18.813s
    Total CPU time:                              3.210s
    misc::parseHtmlLinks():                      0.096s

misc::parseHtmlLinks() is 8th most hottest function on
this use case.
2014-11-09 12:57:14 +03:00
Ivan Sorokin
9023232653 Cache icons in TorrentContentModel
This commit caches icons in TorrentContentModel in the same way they are
cached in TorrentModel.

This commit should improve performance when user navigating through
torrent list using up/down keys. A scrolling through all the list
(276 torrents) took:

    Total wall time:                            18.813s
    Total CPU time:                              3.210s
    IconProvider::generateDifferentSizes():      0.170s

IconProvider::generateDifferentSizes is 5th most hottest function on
this use case.
2014-11-09 12:57:14 +03:00
Ivan Sorokin
976982ba09 Now user-created labels "all" and "none" works as regular labels 2014-11-09 03:59:49 +03:00
Ivan Sorokin
f235c0ae6c Merge label filter into TransferListSortModel
This also fixes a bug that when label filter contains special symbols
from regex, the label filter may match torrents with multiple different
labels.
2014-11-09 03:58:50 +03:00
Ivan Sorokin
8bafc5e216 Merge StatusSortFilterProxyModel into TransferListSortModel
I thought merging all 3 sort-filter proxy models into one should
speedup dataChanged() signal. As turned out this is not the case. The
time difference is within inaccuracy range, so this doesn't affect
performance.

But I still think it is good to merge them into one proxy model as it
simplifies code.
2014-11-09 03:58:50 +03:00
Ivan Sorokin
cf2cb29826 Split transferlistsortmodel into .h and .cpp 2014-11-09 03:58:50 +03:00
Ivan Sorokin
0976918ca2 Call updateTorrentNumbers() once per every model refresh, not once for every row changed
Torrent numbers were recalculated on every dataChanged() signal. The previous commit
greatly increases the number of dataChanged() signals.

HEAD^^:
    Total wall clock:                 97.069s
    updateTorrentNumbers() time:       0.033s

HEAD^:
    Total wall clock:                 96.132s
    updateTorrentNumbers() time:       0.179s

HEAD:
    Total wall clock:                 95.535s
    updateTorrentNumbers() time:       0.047s

After this commit the time of updateTorrentNumbers() is (almost) back to
the level that it was in HEAD^^.
2014-11-09 03:58:50 +03:00
Ivan Sorokin
e5c024967d Emit TorrentModel::dataChanged() signal only for specific rows, not for the entire table
In commit b50d733 TorrentModel moved from a periodic refresh, to using
postStatusUpdate(). In this transition I forgot to remove emition of
dataChanged() signal for the entire table.

According to my measurements this commit reduce CPU usage of qbittorrent
by a factor of 3:

Before:
   Total wall clock:                                      97.07s
   CPU time:                                              21.77s
   - Time spent in TransferListDelegate::paint():         14.60s
   - Time spent in TorrentModel::forceModelRefresh():      1.44s
   - Time spent in TorrentModel::stateUpdated():           0.02s

After:
   Total wall clock:                                      96.13s
   CPU time:                                               6.68s
   - Time spent in TransferListDelegate::paint():          2.63s
   - Time spent in TorrentModel::forceModelRefresh():     <0.01s
   - Time spent in TorrentModel::stateUpdated():           1.73s

As it is seen the time spent in painting is reduced by a factor of 6 (14.60->2.63) at
the cost of slightly increased time of notifications that model is
changed (1.44->1.73). The next commits attempt to address this issue.
2014-11-09 03:58:50 +03:00
Ivan Sorokin
2e55c1f307 Optimize torrentRow a bit
The problem is that torrentRow() does linear search over the list of all
available torrents. So it doesn't scale well for large number of
torrents. Removing the copying of QString from linear search
inner loop, speed up it considerably.

The proper solution should be using hash table instead of linear search.
This require more radical changes in TorrentModel and may be done in a
separate commit.
2014-11-09 03:48:58 +03: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
8b8c9d3573 Rotate expand image to better suit its use in the UI 2014-11-09 00:28:36 +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
sledgehammer999
f5c93e0b4d Merge pull request #2129 from glassez/webui
WebUI Fixes
2014-11-09 01:21:00 +02:00
Ivan Sorokin
c37e5abeff Fix torrent removal. Closes #2132
It was reported that qbittorrent crashes on Mac OS X when user deletes
torrents from label view when label filter is active.

The callstack of the crash is the following:

1   abort + 129
2   __assert_rtn + 321
3   QTorrentHandle::total_size() const + 124
4   TorrentModelItem::data(int, int) const + 307
5   TorrentModel::data(QModelIndex const&, int) const + 255
6   QSortFilterProxyModel::data(QModelIndex const&, int) const + 109
7   QSortFilterProxyModel::data(QModelIndex const&, int) const + 109
8   QSortFilterProxyModel::data(QModelIndex const&, int) const + 109
9   QItemDelegate::rect(QStyleOptionViewItem const&, QModelIndex const&, int) const + 75
10  QItemDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const + 172
11  TransferListDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const + 14
12  QTreeView::indexRowSizeHint(QModelIndex const&) const + 887
13  QTreeViewPrivate::layout(int, bool, bool) + 462
14  QTreeView::doItemsLayout() + 356
15  QTreeViewPrivate::updateScrollBars() + 109
16  QTreeView::scrollTo(QModelIndex const&, QAbstractItemView::ScrollHint) + 124
17  TransferListWidget::currentChanged(QModelIndex const&, QModelIndex const&) + 548
18  TransferListWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 641
19  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
20  QItemSelectionModelPrivate::_q_rowsAboutToBeRemoved(QModelIndex const&, int, int) + 3729
21  QItemSelectionModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 398
22  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
23  QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) + 78
24  QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) + 106
25  QSortFilterProxyModelPrivate::remove_proxy_interval(QVector<int>&, QVector<int>&, int, int, QModelIndex const&, Qt::Orientation, bool) + 58
26  QSortFilterProxyModelPrivate::remove_source_items(QVector<int>&, QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation, bool) + 265
27  QSortFilterProxyModelPrivate::source_items_about_to_be_removed(QModelIndex const&, int, int, Qt::Orientation) + 232
28  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
29  QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) + 78
30  QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) + 106
31  QSortFilterProxyModelPrivate::remove_proxy_interval(QVector<int>&, QVector<int>&, int, int, QModelIndex const&, Qt::Orientation, bool) + 58
32  QSortFilterProxyModelPrivate::remove_source_items(QVector<int>&, QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation, bool) + 265
33  QSortFilterProxyModelPrivate::source_items_about_to_be_removed(QModelIndex const&, int, int, Qt::Orientation) + 232
34  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
35  QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) + 78
36  QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) + 106
37  QSortFilterProxyModelPrivate::remove_proxy_interval(QVector<int>&, QVector<int>&, int, int, QModelIndex const&, Qt::Orientation, bool) + 58
38  QSortFilterProxyModelPrivate::remove_source_items(QVector<int>&, QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation, bool) + 265
39  QSortFilterProxyModelPrivate::source_items_about_to_be_removed(QModelIndex const&, int, int, Qt::Orientation) + 232
40  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
41  QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) + 78
42  QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) + 106
43  TorrentModel::removeTorrent(QString const&) + 81
44  TorrentModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 345
45  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
46  QBtSession::deletedTorrent(QString const&) + 56
47  QBtSession::deleteTorrent(QString const&, bool) + 2855
48  TransferListWidget::deleteSelectedTorrents() + 292
49  TransferListWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 230
50  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
51  QAction::activate(QAction::ActionEvent) + 227
52  QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) + 77
53  QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) + 470
54  QWidget::event(QEvent*) + 687
55  QMenu::event(QEvent*) + 617
56  QApplicationPrivate::notify_helper(QObject*, QEvent*) + 194
57  QApplication::notify(QObject*, QEvent*) + 2716
58  SessionApplication::notify(QObject*, QEvent*) + 21
59  QCoreApplication::notifyInternal(QObject*, QEvent*) + 118
60  QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 448
61  qt_mac_handleMouseEvent(NSEvent*, QEvent::Type, Qt::MouseButton, QWidget*, bool) + 1300
62  -[NSWindow _reallySendEvent:] + 759
63  -[NSWindow sendEvent:] + 368
64  -[QCocoaPanel sendEvent:] + 113
65  -[NSApplication sendEvent:] + 2238
66  -[QNSApplication sendEvent:] + 97
67  -[NSApplication run] + 711
68  QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1522
69  QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 77
70  QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 370
71  QMenu::exec(QPoint const&, QAction*) + 103
72  TransferListWidget::displayListMenu(QPoint const&) + 8741
73  TransferListWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 622
74  QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2196
75  QWidget::event(QEvent*) + 3082
76  QFrame::event(QEvent*) + 45
77  QAbstractScrollArea::viewportEvent(QEvent*) + 108
78  QAbstractItemView::viewportEvent(QEvent*) + 1390
79  QTreeView::viewportEvent(QEvent*) + 218
80  QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) + 37
81  QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 115
82  QApplicationPrivate::notify_helper(QObject*, QEvent*) + 178
83  QApplication::notify(QObject*, QEvent*) + 5742
84  SessionApplication::notify(QObject*, QEvent*) + 21
85  QCoreApplication::notifyInternal(QObject*, QEvent*) + 118
86  qt_sendSpontaneousEvent(QObject*, QEvent*) + 45
87  qt_mac_handleMouseEvent(NSEvent*, QEvent::Type, Qt::MouseButton, QWidget*, bool) + 1378
88  -[NSWindow _reallySendEvent:] + 5682
89  -[NSWindow sendEvent:] + 368
90  -[QCocoaWindow sendEvent:] + 113
91  -[NSApplication sendEvent:] + 2238
92  -[QNSApplication sendEvent:] + 97
93  -[NSApplication run] + 711
94  QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1522
95  QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 77
96  QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 370
97  QCoreApplication::exec() + 199
98  main + 3415
99  start + 52

As we can see the user deleted some torrent (48). QBtSession deleted the torrent
from libtorrent::session (47) and emitted a signal (46), about torrent deletion.
In responce to the signal (43) the TorrentModel notifies (42) its views about a change.
After a long chain of notifications (42-6) the view requested (5) a value of
total_size from TorrentModel. QTorrentHandle is already invalid as the torrent
was removed in (47). So we've got a crash in (3).

The fix is relatively straightforward: do notify TorrentModel about removal not after,
but before torrent is removed from libtorrent::session. This commit does the same
thing to TorrentSpeedMonitor.

This bug reveals a major flaw in a design: currently we have a several components all
subscribed to the torrent removal signal. Signal is delivered to them in arbitrary
order, but they access each other in the handlers of this signal. E.g. TorrentModel
can access TorrentSpeedMonitor. This doesn't lead to a crash because
TorrentSpeedMonitor returns MAX_ETA when ETA is queried for unknown torrent.
2014-11-09 00:25:59 +03:00
Ivan Sorokin
6bbfd0aeb7 Fix a warning 2014-11-08 19:00:04 +03:00
sledgehammer999
c9e13dfe8b Merge pull request #2120 from sorokin/ip-filter-moc
split filterparserthread into .h and .cpp and (probably) fixes #2119
2014-11-08 14:35:23 +02: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
Ivan Sorokin
da867fd022 Split trackerlogin into .h and .cpp 2014-11-05 03:10:39 +03:00
Ivan Sorokin
ed197a193d Split statusbar into .h and .cpp 2014-11-05 03:10:39 +03:00
Ivan Sorokin
6347700ee3 Move libtorrent includes to .cpp
This commit probably fixes #2119.

The only important change in this commit is moving
session::get_ip_filter() from FilterParserThread::processFilterFile() to
FilterParserThread::run(). Previously we called it in main thread, but
now we calls it in worker thread. I don't now what libtorrent contract
about threads, but I assume that if it is ok to set_ip_filter from
other thread, it is ok to get it.
2014-11-05 03:10:39 +03:00
Ivan Sorokin
17f5ffcaec Split filterparserthread into .h and .cpp 2014-11-05 03:10:39 +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
Gabriele
b63f647c2c Add "Total Size" column to transfer list
This column shows the total size of the related torrent taking into
account also the unwanted data.

Closes #1233.
2014-11-02 19:56:03 +01:00
Gabriele
b1af99ffba Add "Last Activity" column to transfer list
This column shows the time elapsed since the related torrent has
received or sent a chunk.

Closes #517.
2014-11-02 19:56:03 +01:00
Gabriele
a501f9d223 Add "Last Seen Complete" column to transfer list
This column shows when we or one of our peers last saw a complete
copy of the related torrent.

Closes #483.
2014-11-02 19:15:10 +01:00
Ivan Sorokin
51c9d358b4 Implement O(1) SpeedSample::average() instead of O(N) 2014-11-02 20:03:49 +03:00
Ivan Sorokin
4ff08ff691 New improved Sample in TorrentSpeedMonitor 2014-11-02 20:03:49 +03:00
Ivan Sorokin
0d311062f3 Unused function 2014-11-02 20:03:49 +03:00
sledgehammer999
d62498b48c Merge pull request #2106 from sorokin/fix-memleak-in-torrentmodel
Fix a memleak in torrentmodel.
2014-11-02 16:43:04 +02:00
sledgehammer999
37d83cf6a8 Merge pull request #2092 from pmzqla/cleanup
Remove unused code
2014-11-02 16:41:40 +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
cfa28ec68c Merge pull request #2080 from sorokin/cleanup-torrent-model
Cleanup torrent model item
2014-11-02 16:36:52 +02:00
sledgehammer999
73a05a67a4 Merge pull request #2057 from pmzqla/sort-content
Put directories first when sorting torrent content by name
2014-11-02 16:28:25 +02:00
sledgehammer999
6d5c9ff7d4 Merge pull request #2095 from DoumanAsh/piratebay_https
Return https connection for piratebay
2014-11-02 15:48:40 +02:00
sledgehammer999
08de7f7439 Merge pull request #2059 from sorokin/fix-eta
Fix ETA calculation
2014-11-02 15:41:40 +02:00
sledgehammer999
46f3009e4b Merge pull request #2051 from pmzqla/filter-input
Improve input box to filter torrent list
2014-11-02 15:25:49 +02:00
sledgehammer999
238703cb0e Remove unused variables. 2014-11-02 15:03:53 +02:00
sledgehammer999
9e6d57057f Add back contact info in the copyright notices. 2014-11-02 15:03:40 +02:00
Ivan Sorokin
9771cb796c Unused include 2014-11-02 15:37:07 +03:00
Ivan Sorokin
807960b768 Fix a memleak in torrentmodel.
Perhaps we should finally move to C++11 and std::unique_ptr?
2014-11-02 14:56:19 +03:00
Vladimir Golovnev (Glassez)
8a65dbaa4f WebUI core redesign. 2014-11-02 13:54:48 +03:00
DoumanAsh
b4e31c9a1b Use https for Piratebay search plugin. Closes #2093 2014-10-30 21:30:45 +03:00
Gabriele
fe030f1540 Remove unused code
Leftovers of 4ec176b683 ("Make possible to move file to .unwanted
directory after downloading")
2014-10-28 23:12:22 +01: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
Gabriele
bdf27451ad Put directories first when sorting torrent content by name
Closes #1594.
2014-10-25 21:14:56 +02:00
Ivan Sorokin
8f0d49bb1b Remove default argument from TorrentPersistentData::setAddedDate() 2014-10-25 16:12:17 +04:00
Ivan Sorokin
16eb407453 Split src/torrentpersistentdata into .h and .cpp 2014-10-25 16:12:17 +04:00
Ivan Sorokin
e1b4c5534e Split src/transferlistfilterswidget into .h and .cpp 2014-10-25 16:12:17 +04:00
Ivan Sorokin
03b06fbf81 Split src/transferlistdelegate into .h and .cpp 2014-10-25 16:12:17 +04:00
Ivan Sorokin
2d98b8f192 Call TorrentModelItem::state() directly in getTorrentStatusReport
There is no point in wraping/unwraping QVariant.
2014-10-25 14:25:26 +04:00
Ivan Sorokin
80297697dd Remove mutable fields from TorrentModelItem
The querying of TR_STATUS doesn't affect color and icon now.
2014-10-25 14:25:25 +04:00
Ivan Sorokin
ad116edac7 Use Qt::GlobalColor to refer to color instead of string
Qt uses binary search to convert string to QColor, we don't need that
binary search at all. This patch could be considered as optimization, but
in reality creating QColor takes only 0.2% of time. So it should be visible
at all.

This could be considered as cleanup for not calling expensive functions
from non-expensive ones.
2014-10-25 14:25:21 +04:00
sledgehammer999
b0f767e699 Merge pull request #2060 from glassez/fwd_decl_fixes
Fix libtorrent types forward declaration errors/warnings.
2014-10-21 17:25:57 +03:00
sledgehammer999
e750ae3a79 Use boost:bind() as the docs show. Allows compilation with older gcc versions. 2014-10-21 16:28:06 +03:00
Vladimir Golovnev (Glassez)
ab2d506e09 Fix libtorrent types forward declaration errors/warnings. 2014-10-21 16:33:04 +04:00
Ivan Sorokin
637246c1c7 Cleaup includes 2014-10-21 12:13:56 +04:00
Ivan Sorokin
5f0d6f3c6d Fix incorrect ETA calculation 2014-10-21 12:13:52 +04:00
Gabriele
ea1d7afdef Focus transfer list on startup
The torrent list filter will be focused otherwise and its placeholder
text will be hidden on startup.
2014-10-20 19:58:31 +02:00
Gabriele
afb03725ad Add placeholder text to the input to filter the torrent list
Users can mistakenly think the input box is to search for torrents
and not to filter the torrent list. A placeholder text will make things
clear.
2014-10-20 19:58:31 +02:00
Gabriele
1a63f6af1b Show input box to filter torrent list only when the list is shown
It's misleading to show the filter on every tab when it works only
for the torrent list.
2014-10-20 19:57:39 +02:00
sledgehammer999
ce4ef37820 Remove superfluous semicolon(;). 2014-10-20 20:39:13 +03:00
sledgehammer999
c2f2d0a363 Don't show multiple unlock UI dialogs. Closes #2040. 2014-10-20 20:34:46 +03:00
sledgehammer999
2203d0a043 Merge pull request #2041 from sorokin/optimize-natural-sort
Optimize misc::naturalSort()
2014-10-19 18:57:14 +03:00
Ivan Sorokin
a278261806 Optimize misc::naturalSort()
Previous implementation used QRegExp to find a first digit. That is
utterly ineffective.

When torrent list is sorted by name (a column that uses the naturalSort() for
comparison), naturalSort could take 18.6% of the time of the UI thread. Optimize it
so now it takes 1% of the time of the UI thread.
2014-10-19 14:20:16 +04:00
sledgehammer999
9b71e4ffc9 Use the correct character encoding for exceptions coming from libtorrent. 2014-10-18 17:22:50 +03:00
sledgehammer999
89ae72d5c4 Merge pull request #2042 from sorokin/optimize-includes
Optimize includes
2014-10-18 16:42:30 +03:00
sledgehammer999
d02984cbed Merge pull request #2027 from pmzqla/system_icons
Increase maximum size of system icons
2014-10-18 15:10:29 +03:00
sledgehammer999
7c03167cde Merge pull request #2026 from pmzqla/master
Make Windows icons suitable for high dpi screens
2014-10-18 14:27:51 +03:00
sledgehammer999
dd711bf377 Merge pull request #2035 from pmzqla/torrentpath
Allow relative torrent paths when qBittorrent is already running
2014-10-18 14:27:14 +03:00
Gabriele
05929b78c6 Allow relative torrent paths when qBittorrent is already running
Adding new torrents from the command line while qBittorrent was
already running was possible only providing the absolute path to
the file.
2014-10-18 13:04:18 +02:00
sledgehammer999
aca4731145 Merge pull request #2031 from pmzqla/panel
Set minimum width of the left panel in the preferences
2014-10-18 13:43:40 +03:00
sledgehammer999
c2e0baa6a6 Merge pull request #2034 from pmzqla/sections
Don't stretch the last section in the transfer list
2014-10-18 13:31:39 +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
Ivan Sorokin
f6732e87f2 Remove inclusion of "qtracker.h" in "qbtsession.h" 2014-10-18 12:19:05 +04:00
Ivan Sorokin
b2e3739da2 Replace include of <libtorrent/session.hpp> with forward declaration 2014-10-18 12:19:05 +04:00
Ivan Sorokin
c9b27e032b Remove inclusion of alertdispatch.h from qbtsession.h 2014-10-18 12:19:04 +04:00
Ivan Sorokin
83dd35dbc9 Make alertdispatcher.h self contained and replace include libtorrent/session with forward declaration 2014-10-18 12:19:04 +04:00
Ivan Sorokin
5ea1a4c3cc Remove inclusion of <QThread> from misc.h 2014-10-18 12:19:04 +04:00
Ivan Sorokin
be338b969c Remove unneccessary includes of libtorrent in misc.h 2014-10-18 12:19:04 +04:00
Gabriele
fc02b11f65 Don't stretch the last section in the transfer list
Since the content of some sections is right aligned, automatically
resizing the width of the last one to fill the header could be
sometimes undesired.

Let the user choose the width of each section and never change his
preference.
2014-10-15 16:22:33 +02:00
Gabriele
93abeb3643 Set minimum width of the left panel in the preferences
Change also the default width and set it to the minimum.
This minimum width prevents the horizontal scrollbar from appearing.

The size of the items in the list depends on the Qt style, so the
left panel could be few pixels larger than required with some of them.
2014-10-14 22:52:30 +02:00
Gabriele
5b7ee14416 Make Windows icons suitable for high dpi screens
The maximum size of the icons is now 256x256 pixels so that
Windows can correctly scale them.

The 256x256 layer for the main icon was created upscaling the
192x192 png available in the source tree. Hence, the icon might
not be perfect at the maximum size.

The icon for the file association was made from scratch and it's
visually similar to the previous icon.
2014-10-14 17:52:22 +02:00
sledgehammer999
f9dc945730 Merge pull request #2025 from BrunoReX/search_term
Fix search inconsistency between Python versions
2014-10-14 17:11:40 +03:00
Gabriele
becab3a013 Remove unneeded tooltip 2014-10-14 00:15:31 +02:00
Gabriele
616895b2c9 Increase maximum size of system icons
System icons were limited to a size 24x24 pixels, while the embedded
icons are 32x32 pixels big.
2014-10-13 18:54:05 +02:00
Bruno Barbieri
f288162e99 Fix search inconsistency between Python versions
Closes #2012
2014-10-13 07:42:06 -03:00
John S. Peterson
d27bff4df4 adding a save resume data interval option
because some SSD users oppose frequent disk writes
2014-10-12 20:14:09 +02:00
DoumanAsh
a62e30ea88 Pirate bay search engine update 2014-10-12 20:15:18 +04:00
sledgehammer999
0e0e8f7c27 Merge pull request #2005 from BrunoReX/python3_utf8
Fix search engine encoding issues with python3 on Windows
2014-10-12 19:06:34 +03:00
sledgehammer999
91e53971b2 Merge pull request #1997 from BrunoReX/torrentreactor_fix
Fix TorrentReactor search plugin
2014-10-12 17:12:22 +03:00
sledgehammer999
f50eac4c15 Merge pull request #2022 from sorokin/for-sledgehammer
a small optimization, a micro optimization and a fix
2014-10-12 17:06:34 +03:00
sledgehammer999
e10e2e1719 Change the program updater's URL for Windows and Mac OS X. Closes #1954. 2014-10-12 16:42:33 +03:00
Ivan Sorokin
b995a9d75e Fix race condition in QAlertDispatcher
It was possible that QAlertDispatcher::dispatch() could access (lock)
mutex that was destroyed by main thread. Fix this by moving mutex into a
tag.
2014-10-12 12:25:56 +04:00
Ivan Sorokin
333978f1ff Use std::vector instead of std::deque in QAlertDispatcher
As we never use {push,pop}_front std::vector works here perfectly.
Also reserve memory for std::vector out of lock.

This could be considered as an optimization, but in reality this is just
using right container in right place. According to my measurements total
speedup is under 0.2%.
2014-10-12 12:25:47 +04:00
Ivan Sorokin
d89d9c2f75 Fewer calls to torrent_handle::info_hash() 2014-10-12 12:09:52 +04:00
Bruno Barbieri
698e5ef0f1 Replace deprecated sgmllib with HTMLParser/html.parser 2014-10-05 18:04:10 -03:00
Bruno Barbieri
2bdfd140cb Fix search engine encoding issues with python3 on Windows
Closes #1996
2014-10-05 17:03:43 -03:00
Bruno Barbieri
dc8853cd87 Fix TorrentReactor search plugin 2014-10-04 07:20:42 -03:00
Ivan Sorokin
ddd2025968 Fix heap-buffer-overrun in PropertiesWidget::displayFilesListMenu 2014-10-01 23:20:01 +04:00
paolo-sz
b47fba49cc Correctly detect python in PATH 2014-09-25 09:28:58 +02:00
sledgehammer999
8408f56d6f Fix large cache support on amd64 arch pt2. 2014-09-21 14:01:58 +03:00
sledgehammer999
97419f840a Consider queued items before deciding to 'auto-shutdown on downloads completion'. Closes #1942. 2014-09-21 13:50:32 +03:00
sledgehammer999
0650d28da7 Merge pull request #1941 from Gelmir/magnet_redirect
Work around magnet redirection in feeds
2014-09-21 13:36:47 +03:00
sledgehammer999
88baa710fd Merge pull request #1947 from Gelmir/x64_cache_fix
Fix large cache support on amd64 arch
2014-09-21 13:11:32 +03:00
masux
f1e0ef87a4 This fix qbittorrent/qBittorrent#1949 2014-09-21 09:16:59 +02:00
Nick Tiskov
65f570b816 Fix large cache support on amd64 arch 2014-09-19 17:42:40 +04:00
Nick Tiskov
a7e445c575 Work around magnet redirection in feeds 2014-09-16 00:35:46 +04:00
sledgehammer999
94043e60c7 Merge pull request #1919 from masux/master
Fixed extratorrent.cc search engine.
2014-09-15 17:38:06 +03:00
Martin Janco
1290d7cac4 Fixed extratorrent.cc search engine. 2014-09-15 16:29:20 +02:00
sledgehammer999
79191b3f34 Sync translations from Transifex and run lupdate. 2014-09-15 00:33:21 +03:00
lojack5
ac3efb664a fix import torrent with "Keep incomplete torrents in:" ticked
* also had to account for "Append the label of the torrent to the save path",
  but again, this was only an issue when "Keep incomplete torrents in:" is
  selected

* A multi-file torrent with only one file (ie: a single file within a folder),
  was being treated as a single-file torrent, making it impossible to import.
  Multi-file torrent detection code was copied from libtorrent.  The
  information is available in libtorrent (under torrent_info::m_multifile),
  however it's a private member and I chose to go with copying the code that
  determines it, rather than modifying a library qBittorrent depends on.

Conflicts:
	src/torrentimportdlg.cpp
2014-09-15 00:05:13 +03:00
sledgehammer999
59379942ac Don't display the Search Engine tab by default. 2014-09-14 22:20:58 +03:00
sledgehammer999
b6d4030cd8 WINDOWS: Search first in PATH for python. Closes #956. 2014-09-14 22:20:57 +03:00
sledgehammer999
1144555eca WINDOWS: Can now correctly detect 64bit and 32bit python installations on 64bit Windows. Closes #1148 #445 #795 #1708. 2014-09-14 22:20:56 +03:00
sledgehammer999
574abc7cdb WINDOWS: Don't create keys in the registry if python isn't found. Closes #1370. 2014-09-14 22:20:55 +03:00
sledgehammer999
0799dc293c WINDOWS: Check for python before creating the search engine tab. Prevents the creation of python specific files in the user's PC if no python is found. Closes #1370. 2014-09-14 22:20:36 +03:00
sledgehammer999
5528f60a15 SMTP: send the local hostname as FQDN. See discussion in #1845 for more info. 2014-09-13 18:00:51 +03:00
sledgehammer999
f9aee5e3ab Forward declare classes where possible in 'TransferListWidget'. 2014-09-13 16:49:16 +03:00
sledgehammer999
baf9d21072 Show stalled downloads that are uploading under the 'Active' filter. Closes #1654." 2014-09-13 16:49:11 +03:00
diger
e7f1dacd6c Fix Qt5 support 2014-09-11 08:44:25 +06:00
sledgehammer999
cc4d17fbf0 Merge pull request #1819 from diger/haiku
Add patches for support Haiku (https://www.haiku-os.org)
2014-09-04 14:43:52 +03:00
diger
c22190fbf7 Add patches for support Haiku (https://www.haiku-os.org) 2014-09-04 13:23:16 +06:00
sledgehammer999
2a5393cf53 SMTP: Fix edge case where nothing was sent when no authentication was needed. Relates to #1845. 2014-09-02 17:31:44 +03:00
sledgehammer999
bf0ed595c7 Don't use IPv4 addresses when the user has enabled IPv6 address in the settings. 2014-09-02 14:45:42 +03:00
sledgehammer999
a708c642ef SMTP: Fix finding the local address. 2014-09-02 14:25:54 +03:00
sledgehammer999
487ca568b8 SMTP: Send the IP of the configured Network Interface. Relates to #1845. 2014-09-01 15:07:05 +03:00
sledgehammer999
54bf386794 SMTP: Support multiline greeting from server in INIT state. Thanks to Ivanov Juriy for helping identify the problem. Relates to #1845. 2014-08-31 14:32:09 +03:00
sledgehammer999
f22f7cf17a Fix available disk space label on single file torrents. 2014-08-31 00:05:38 +03:00
sledgehammer999
45e95e6cc2 Don't translate file extensions. Closes #1907. 2014-08-30 21:54:57 +03:00
sledgehammer999
94fc2f9c3d Don't display the context menu in 'Content' and 'HTTP Sources' buttons when no torrent is selected. It prevents crashes. Closes #1906, #1900. 2014-08-30 19:52:57 +03:00
sledgehammer999
de5ad05d0a Merge pull request #1902 from YuriIvanov/issue#1650
Add peer port column to PeerListWidget. Closes #1650.
2014-08-30 19:27:19 +03:00
sledgehammer999
11d39ba6ef Right align numerical values in the transfer list. Partially revert 51a9a9aab. Closes #1903. 2014-08-30 18:36:20 +03:00
Ivanov Juriy
d5f372fae8 Add peer port column to PeerListWidget. Closes #1650. 2014-08-30 15:28:59 +04:00
sledgehammer999
7753bc38e9 Merge pull request #1895 from YuriIvanov/issue#1845
add host address parameter to helo smtp request
2014-08-28 23:18:37 +03:00
sledgehammer999
495800d6e9 Possible fix for crash in RSS code. Closes #1901. 2014-08-28 19:00:57 +03:00
sledgehammer999
611bddf485 Merge pull request #1881 from benhutchins/feature-webui-safe
Fix Help menu links in WebUI
2014-08-28 18:29:42 +03:00
sledgehammer999
0b8fad69fa Option to disable connections not supported by proxies. Closes #1894. 2014-08-26 00:32:10 +03:00
sledgehammer999
cd99f0ea43 Don't disable DHT/LSD/UPnP in the GUI when anonymous mode is enabled. 2014-08-25 19:22:44 +03:00
Ivanov Juriy
a7ad34418f add host address parameter to helo smtp request 2014-08-25 14:26:30 +04:00
sledgehammer999
58ad90fa9c Set 'Cancel' as the default button in the shutdown confirmation dialog. 2014-08-23 23:22:47 +03:00
sledgehammer999
7c80277c04 Sync translations from Transifex and run lupdate. 2014-08-23 22:31:49 +03:00
sledgehammer999
f6156217d0 Added 'Shutdown now' button in shutdown confirmation dialog. Closes #969. 2014-08-23 22:22:03 +03:00
sledgehammer999
634000e7a9 Split ShutdownConfirmDlg into .h/.cpp files. 2014-08-23 21:55:38 +03:00
sledgehammer999
66b375de07 Don't listen on IPv6 address by default. Prevents network connectivity problems. Closes #1880. 2014-08-23 21:55:36 +03: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
2b061dab0a Sync translations from Transifex and run lupdate. 2014-08-15 13:52:14 +03:00
sledgehammer999
3e734ab4f6 Add 'Open' and 'Open Containing Folder' entries in the content's right-click menu. Closes #1143. 2014-08-15 12:53:18 +03:00
sledgehammer999
efb3936ef1 Fix the adding of .torrent files via http links which was broken by 30bc5a1da6. 2014-08-15 11:33:09 +03:00
sledgehammer999
12302ee86f Sort finished torrents by completed date when sorting by queue number. 2014-08-15 02:19:25 +03:00
sledgehammer999
bef61b695f Don't mix finished/unifinished torrents when sorting by ETA. Closes #1688. 2014-08-15 02:19:21 +03:00
sledgehammer999
e294b2f456 Added 'Ratio Limit' column. Closes #936. 2014-08-14 21:05:53 +03:00
sledgehammer999
e0190d5576 Add 'Completed' column. Closes #1241. 2014-08-14 20:22:02 +03:00
sledgehammer999
fe0df04ea8 Sync translations from Transifex and run lupdate. 2014-08-10 01:28:31 +03:00
sledgehammer999
35736b8bb4 Show disk space while retrieving metadata. Closes #1693. 2014-08-09 23:10:20 +03:00
sledgehammer999
36cba3b354 When qBT is launched with a magnet don't show it in the transferlist while the metadata are being loaded in the background. 2014-08-09 22:07:49 +03:00
sledgehammer999
30bc5a1da6 Show the loaded torrents in the transferlist when qBT is launched with a torrent/magnet and the AddNewTorrentDialog is showing. Closes #1564. 2014-08-09 21:15:17 +03:00
sledgehammer999
6cb7de33f6 Don't shrink transferlist rows when scrolling horizontally. Closes #1613. 2014-08-08 23:32:54 +03: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
4908ed4e78 Run lupdate. 2014-08-08 00:12:42 +03:00
sledgehammer999
9819353c9d Sync translations from Transifex. 2014-08-08 00:11:26 +03:00
sledgehammer999
80d6a5a73e Allow disabling of OS cache. This will prevent RAM increases on Windows when seeding many files. Closes #1699. 2014-08-07 23:09:58 +03:00
sledgehammer999
7763a6d2d5 Limit max cache to 1800MiB for 32bits compiled binaries and to 4GiB for other. Closes #1698. 2014-08-07 23:09:57 +03:00
sledgehammer999
97cf824c4d Fix checkbox for 'Copy .torrent files to' setting, which was broken by b70621. Closes #1748. 2014-08-06 01:08:13 +03:00
sledgehammer999
6e6d285a02 Fix compilation on MACOS. 2014-08-05 14:54:28 +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
d8d95d2195 Migrate everything to use the new Preferences class and not access directly the qbittorrent.ini file. 2014-08-05 02:34:21 +03:00
sledgehammer999
da6ce859c0 Cache preferences in memory. Closes #1272, #1523, #1694. 2014-08-05 02:33:50 +03:00
sledgehammer999
d0e0b25c9e Installer correctly associates torrents and magnet links with qBittorrent under non-admin accounts. Closes #291 #527 #579 #614 #964. 2014-07-30 00:09:57 +03:00
sledgehammer999
25c923c69e Merge pull request #1470 from glassez/assoc
Fix Windows file associations creation
2014-07-20 20:23:01 +03:00
sledgehammer999
8f32f86453 Merge pull request #1782 from sorokin/alert-disp-qt5
Fix alertdispatcher.cpp compilability on Qt5.
2014-07-20 20:21:29 +03:00
sledgehammer999
6e76d5cf41 Run lupdate. 2014-07-16 00:48:12 +03:00
sledgehammer999
eb3ca94172 Sync translations from Transifex. 2014-07-16 00:44:48 +03:00
sledgehammer999
e2748ec3ac Remove deprecated feature of separate DHT port. 2014-07-16 00:17:21 +03:00
sledgehammer999
08e14cdc26 Fix possible crashes. Closes #1814. 2014-07-14 22:00:40 +03:00
Bryan Roscoe
f6a324a1bd Scan Folder dialog now remembers last location
Also fix fs_utils spacing
2014-07-13 19:50:57 -05:00
Bryan Roscoe
27afbaf7e7 Fix column resizing issues 2014-07-13 17:03:58 -05:00
sledgehammer999
7419e930ab Indentation fixes. 2014-07-06 23:18:37 +03:00
sledgehammer999
d6d20074be Merge pull request #1447 from BrunoReX/hibernation
Add option to hibernate computer in Auto-Shutdown menu
2014-07-06 23:11:29 +03:00
sledgehammer999
9a18b50751 Some fixes for commit 6dabf50781. 2014-07-06 21:39:27 +03:00
sledgehammer999
3ad1cc8289 Merge pull request #1779 from sorokin/move-storage
Speedup and fix a bug in torrent moving.
2014-07-06 19:19:59 +03:00
Bruno Barbieri
00e09435b2 Add option to hibernate computer in Auto-Shutdown menu 2014-07-06 06:13:36 -03:00
Ivan Sorokin
6dabf50781 Speedup and fix a bug in torrent moving.
This commit implements a map where qbittorrent store a state of
current torrent movings. This commit speed up
torrents moving a bit and also fix a bug when qbittorrent doesn't do
cleanup action when a single torrent is moved several times without
waiting for a previous move to complete.

How it worked before.

Libtorrent has a function torrent_handle::move_storage() that allows to move a
torrent to a specific directory. This function is asynchorous. It means that
this function quits instantaneously and when the actual operation
completes the alert 'storage_moved_alert' or
'storage_moved_failed_alert' will be sent. The storage_moved_alert contains a
torrent_handle and a new path to where the torrent is moved.

During handling of storage_moved_alert, qbittorrent needs not only new path,
but also an old path to perform some of cleanup actions (like removing an old
folder if it is empty). This was achieved by storing a value named
'previous save path' in TorrentPersistentData. A previous save path is
written when move_storage() is issued and is read when
storage_moved_alert is received.

Problems.

This mechanism has two negative aspects:

1. TorrentPersistentData is very slow. As torrent_handle::move_storage() is asynchoronous,
TorrentPersistentData is responsible for more that 99.8% of time
QTorrentHandle::move_storage(). This percent could be higher when there
are lots of torrents and lower when there are few of them.

2. TorrentPersistentData stores only one previous path. But many
move_storage()'s could be issued without waiting for previous to
complete. Subsequent move_storage()'s overwrites previous save path of a
previous move.

A fix.

The fix is simple. Before issueing move_storage() the oldPath is stored in
a special map called 'torrentMoveStates'. When a storage_moved_alert
is received the map is consulted and an alert is handled.

When user moves torrent when previous moving have not yet finished, the
new location is saved in a field 'queuedPath' the same map. When
torrent moving is completed (or failed) qbittorrent attemps to perform
move again to the queued location.

Future direction.

This fix removes one slow read and one slow write to
TorrentPersistentData on torrent moving, but there is still exists
TorrentPersistentData::saveSavePath in handleStorageMovedAlert(), so
overall time for UI hang should be reduced only threefold. A speeding up
TorrentPersistentData should be addressed in a separate commit.

I don't know if I should clean up torrentMoveStates when torrent is
deleted. In any case, torrent could be deleted when corresponding alert
is in alert queue. So if we decide to clean up torrentMoveStates, then
we should not treat receiving alert from unknown torrent as a error.
2014-06-23 11:21:24 +04:00
Ivan Sorokin
ce9da1ba1e Fix alertdispatcher.cpp compilability on Qt5. 2014-06-23 00:14:58 +04:00
Ivan Sorokin
fddd337e34 Suppress warning about signed/unsigned mismatch. 2014-06-22 19:48:21 +04:00
sledgehammer999
273725d9dc Fix file renaming. 2014-06-18 23:41:52 +03:00
sledgehammer999
c673b1a7d7 Bring mainwindow in front when notification is clicked and other windows are in front. 2014-06-18 23:22:25 +03:00
sledgehammer999
7e9b47948b Run lupdate. 2014-06-10 23:22:39 +03:00
sledgehammer999
66c08bcc5d Sync translations from Transifex. 2014-06-10 23:19:43 +03:00
sledgehammer999
03072050fb Update search engines versions.txt file. Closes #1745. 2014-06-08 23:58:30 +03:00
sledgehammer999
d58d87a691 Use completed time from libtorrent directly. Closes #1726. 2014-06-07 14:44:08 +03:00
sledgehammer999
07f76f4939 Merge pull request #1733 from glassez/fix_build
Fix building with Qt5 (missing QObject decl).
2014-06-04 21:55:52 +03:00
sledgehammer999
a361c0ea03 Use the torrent_status for the queue_position too. 2014-06-04 20:26:23 +03:00
Vladimir Golovnev (Glassez)
446a9efe9e Fix building with Qt5 (missing QObject decl). 2014-06-04 17:38:35 +04:00
Vladimir Golovnev (Glassez)
ec092414b5 Fix Windows file associations creation.
Now qBittorrent create global ProgId during installation (using HKLM hive)
and allow to associate .torrent files with it (using HKCU).
2014-06-04 17:37:28 +04: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
510818d631 Replaced dynamic_cast with switch on alert type.
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-06-04 11:08:31 +04:00
Ivan Sorokin
1244a46cbb Extract alert handling to separate functions. 2014-06-04 11:08:31 +04:00
sledgehammer999
27c641ffaa Rework the GUI code for private torrents. 2014-06-04 00:49:03 +03:00
Ivan Sorokin
32c203d2e6 Copyright notices for alert dispatcher. 2014-06-04 01:40:00 +04:00
sledgehammer999
a6fa27467f Fix previous commits. 2014-06-03 21:19:25 +03:00
Ivan Sorokin
c2a23f2265 use stats_alert in TorrentSpeedMonitor
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-06-02 00:35:27 +04:00
Ivan Sorokin
6f38616193 extract torrent statistics from torrent speed monitor to separate file 2014-06-02 00:31:45 +04:00
Ivan Sorokin
b50d7331c7 use post_status_update()
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-06-02 00:31:45 +04:00
Ivan Sorokin
eb46326d23 use set_alert_dispatch instead of timer to get an alerts from libtorrent
libtorrent allows setting a custom dispatch handler that is invoked in
libtorrent thread when new alerts are incoming. QAlertDispatcher is a
class that allows to translate these alerts to UI thread.

The concept is very simple:

1. On initialization QAlertDispatcher constructor calls set_alert_dispatch() passing
 QAlertDispatcher::dispatch as argument.

2. On deinitialization destructor calls set_alert_dispatch() passing a empty
 function. (line 25) libtorrent handles thos and switches back to queuing
 alerts in queue.

3. QAlertDispatcher::dispatch() adds alert to queue and notifies UI thread that new
 alerts are incoming. Enqueuing is done in function enqueueToMainThread().
 The invariant of class is the following:

    if alert queue is not empty, in message loop of UI thread contains a queued
    invocation of deliverSignal().

4. When message loop is pumped UI thread execute deliverSignal() function.
 It emit appropriate signal and if queue is still not empty (for example
 if slot doesn't grab alerts) rewind enqueuing to main thread.

This is a idea. But here is some details.

1. When QAlertDispatcher is destoyed, libtorrent still can call
QAlertDispatcher::dispatch a few times after destruction. This is
handled by passing a "tag". A tag is a object that references QAlertDispatch.
Tag could be invalidated. So on destruction QAlertDispatcher invalidates a tag
and then unsubscribes from alerts. When QAlertDispatcher::dispatch is called
with invalid tag it simply discard an alert.

    Therefore we could drop a few alerts during unsubscription. So we unsubscribe
    only at exit when missing some alerts is not a problem.

2. Another problem is in QBtSession::saveFastResumeData(). It pumps alert
queue synchronously. My first attempt was to destroy QAlertDispatcher
and then pump libtorrent queue. But as I was afraid of losing alerts I
supported synchronous querying of alerts in QAlertDispatcher.
(QAlertDispatcher::getPendingAlerts)

Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-06-02 00:31:45 +04:00
Ivan Sorokin
329b754197 cache torrent_status 2014-06-02 00:31:42 +04:00
Ivan Sorokin
5af778bc93 don't make the same request to TorrentModelItem twice 2014-05-25 12:32:09 +04:00
Ivan Sorokin
1c98c11dd0 speed up icon loading 2014-05-25 12:32:09 +04:00
Ivan Sorokin
bbc4080a5d fewer calls to hash() 2014-05-25 12:32:09 +04:00
sledgehammer999
5d2663660d Count magnet links in the 'downloading' filter and make them prevent system inhibition. Closes #1558 2014-05-15 22:01:27 +03:00
sledgehammer999
659e0b7fef Fix tracker announcing problem(hit-and-run) when many torrents are being active. Closes #1571 2014-05-15 21:37:31 +03:00
sledgehammer999
c0b3ad7ee3 Fix crash when the selected torrent disappears from the transfer list. Closes #1661 2014-05-15 20:59:34 +03:00
sledgehammer999
81fa246687 Merge pull request #1685 from sorokin/fix-exception-in-prop-widget
Don't show availability bar for magnet links
2014-05-15 00:26:41 +03:00
Ivan Sorokin
765253234c Don't show availability bar for magnet links
This commit fixes an exception in PropertiesWidget:

"Caught exception in PropertiesWidget::loadDynamicData():  invalid
torrent handle used"

This exception occurs when an user clicks on a torrent that doesn't have
a metadata (when a magnet link is not resolved yet). One should not call
torrent_handle::get_torrent_info when torrent doesn't have a metadata.
2014-05-15 01:21:56 +04:00
sledgehammer999
e0ae505bb9 Fix nox build on MAC OSX. 2014-05-13 19:23:58 +03:00
sledgehammer999
5dea64ca16 Merge pull request #1676 from sorokin/fix-open-file
fix issue #1674: AddNewTorrentDialog is shown again and again even if checkbox "dont ask me again" is set
2014-05-12 14:52:47 +03:00
Ivan Sorokin
93bacc62f1 fix issue #1674: AddNewTorrentDialog is shown again and again even if checkbox "dont ask me again" is set 2014-05-11 19:37:33 +04:00
sledgehammer999
baaf575eee Fix libtorrent 1.0.0 compilation. Closes #1659 2014-05-10 00:13:20 +03:00
sledgehammer999
9714b2ede9 Fix weird ratio values when torrent was imported or downloaded history was lost due to crash. 2014-05-05 21:30:15 +03:00
sledgehammer999
f99f5f5c7e Enable system tray in MACOSX (Nick Korotysh). 2014-05-05 21:23:32 +03:00
sledgehammer999
32becf1fca Fix RSS feed icon. The tmp file gets deleted in the feed destructor. Closes #1639 2014-05-04 15:38:28 +03:00
sledgehammer999
4376e81f78 Fix autoupdater. Send our user-agent to sourceforge.net
Conflicts:
	src/programupdater.cpp
2014-05-04 15:38:12 +03:00
sledgehammer999
71e5c9e17b Fix code style.
(thanks to glassez)
2014-05-04 15:31:27 +03: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)
ba1f4a9b7f Update QtSingleApplication. 2014-05-02 00:00:05 +03:00
Nick Tiskov
138c3dc3cb Fix translations bundled with Qt. 2014-05-02 00:00:04 +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
alfrix
85cfe464f9 Fix queue sorting order fixes #1120 2014-02-09 21:27:42 -03:00
sledgehammer999
33b0a2b55f Fix missing percentage signs. Closes #1392. 2014-02-06 00:49:17 +02:00
sledgehammer999
72ae2cb503 Pretty up last commit. 2014-02-05 21:22:14 +02:00
sledgehammer999
b2544f867c Merge pull request #1365 from alfrix/master
Add button for links in toolbar (fixes #450)
2014-02-05 21:19:57 +02:00
sledgehammer999
acb32d41fa Merge pull request #1375 from glassez/win-startup
Fix qBittorrent run on Windows startup.
2014-02-05 21:12:23 +02:00
bob23450
6b26adfed2 Fix nox build. Closes #1368 2014-02-05 09:17:27 +01:00
Vladimir Golovnev (Glassez)
64b06c4612 Fix qBittorrent run on Windows startup. 2014-02-03 21:12:47 +04:00
alfrix
494fc54e6f Add button for links in toolbar (fixes #450 2014-02-02 16:48:51 -03:00
sledgehammer999
f5cd39cfba Merge pull request #1328 from glassez/webui-sort
Fix WebUI sort by size/speed (part 2)
2014-02-02 10:12:01 -08:00
sledgehammer999
c59793b33f Correctly restore 'name' column width when loading magnet links in the 'Add new torrent dialog'. Closes #1334. 2014-02-02 20:05:51 +02:00
sledgehammer999
202006bdd1 Reuse code in AddNewTorrentDialog. #894. 2014-02-02 20:05:50 +02:00
sledgehammer999
7348b8903c Correctly resize 'name' column of the content tab. Closes #1360. 2014-02-02 20:05:14 +02:00
sledgehammer999
a27867ae2b Bring dialog boxes in the front when qbt doesn't have focus.
Code inspired by glassez patch.
2014-02-01 14:02:37 +02: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
sledgehammer999
a5a0ca7159 Don't re-announce to trackers when torrent is paused. Closes #1310. 2014-01-26 16:29:53 +02:00
sledgehammer999
77329a2609 Launch external programs async and don't block. Closes #1252. 2014-01-26 14:28:58 +02:00
sledgehammer999
bf291dbfb1 Don't show a popup menu when no torrent is selected. 2014-01-26 14:28:57 +02:00
sledgehammer999
0a3dadf3fb Merge pull request #1325 from Gelmir/stats_percent
Fix missing percent sign in stats dialog
2014-01-26 04:05:18 -08:00
sledgehammer999
9ccb4e2781 Add our WM_CLASS in the .desktop file so window managers know how to group our windows. 2014-01-26 13:46:50 +02:00
sledgehammer999
3404d1e05f Explicitle tell that we don't support freedesktop's startup notify standard. Fixes GNOME issues. Closes #1217. 2014-01-26 13:45:33 +02:00
sledgehammer999
2f0b869639 Fix overstretched options dialog. Closes #1293. 2014-01-26 13:29:29 +02:00
sledgehammer999
5afb0a1ab0 Fix windows file association. 2014-01-26 13:09:37 +02:00
Nick Tiskov
ab8ff9f362 Fix missing percent sign in stats dialog 2014-01-26 15:05:09 +04:00
sledgehammer999
aaa723d3ec Run lupdate. 2014-01-26 02:18:36 +02:00
sledgehammer999
79b3e5ab60 Merge pull request #1324 from Gelmir/rename_amount_columns
Use shorter names for amount columns in main UI
2014-01-25 15:48:40 -08:00
Nick Tiskov
1dd8fa3c58 Use shorter names for amount columns in main UI 2014-01-25 23:28:34 +04:00
sledgehammer999
b7f84dabf5 Improvements on the behavior of the program updater(closes #1282):
1. Check for updates every hour
2. Don't check again for this session if the user chose to ignore the new version
3. Display a message if the user checked for updates via the menu item and there isn't one
4. Remove dead code
2014-01-25 21:03:24 +02:00
sledgehammer999
7428c2c0b1 Fix extratorrents search plugin. 2014-01-25 21:03:23 +02:00
sledgehammer999
8bbdcc78ce Statistics: handle case where user has gone back to older version. 2014-01-25 21:03:23 +02: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
d0ebcae069 Fix missing separator in QDesktopServices methods 2014-01-23 19:57:47 +04:00
sledgehammer999
b8040e4b4d Allow 2 decimals when setting the share ratio. Closes #1303. 2014-01-23 00:25:09 +02:00
sledgehammer999
be097048fd Fix share ratio text. 2014-01-22 23:43:57 +02:00
Nick Tiskov
5854a2883b Convert fsutils class to namespace 2014-01-22 20:12:46 +04:00
Nick Tiskov
bd9dcf1247 Hack around QDesktopServices::openUrl to support network shares 2014-01-22 20:12:42 +04:00
Nick Tiskov
6e77d12ac6 Update dialogs 2014-01-22 19:37:32 +04:00
Nick Tiskov
4390530cbe Update Main UI 2014-01-22 19:37:31 +04:00
Nick Tiskov
ae8356aae5 Update RSS Classes 2014-01-22 19:37:30 +04:00
Nick Tiskov
a8e57d3a7e Update misc classes 2014-01-22 19:37:30 +04:00
Nick Tiskov
6346716df6 Update SearchEngine classes
Guaranteed to work with qt-style separators internally; guaranteed to call native OS environment using native separators
2014-01-22 19:37:29 +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
Nick Tiskov
237420546b Update QBtSession
Guaranteed to accept strings with native and qt-style separators; guaranteed to use qt-style separators internally, guaranteed to call libtorrent API with native separators
2014-01-22 19:37:27 +04:00
Nick Tiskov
32b90a7b6d Update QTorrentHandle
Guaranteed to accept strings with both native and qt-style separators; guaranteed to use native separators with libtorrent API
2014-01-22 19:37:26 +04:00
Nick Tiskov
b706210349 Update options UI
Guaranteed to work with strings with qt-style separators internally, shows string with native separators to the user
2014-01-22 19:37:26 +04:00
Nick Tiskov
48250c7b76 Update Preferences class
Preferences class setters are guaranteed to accept string with both native and qt-style separators, getters are guaranteed to return string with qt-style separators
2014-01-22 19:37:25 +04:00
Nick Tiskov
1334386a1b Rework fsutils class to only use Qt-style separators
fsutils methods are guaranteed to accept strings with both native and qt-style separators and return strings with qt-style separators where appropriate
2014-01-22 19:37:24 +04:00
sledgehammer999
3749a30af2 Improvements on accurateDoubleToString(). 2014-01-21 17:40:52 +02:00
sledgehammer999
bb7c2dd9c6 Improvements on statistics saving. 2014-01-21 17:40:30 +02:00
sledgehammer999
0d139234fe Fix condition checking in statistics saving. 2014-01-21 16:57:20 +02:00
sledgehammer999
441d1d08ba Convert more accurately decimal numbers to text. 2014-01-21 02:12:27 +02:00
sledgehammer999
4d3672f894 Save statistics every 15min and only if there was new traffic. Fixes #1288 and partially #1272. 2014-01-21 02:12:27 +02:00
sledgehammer999
3ee5c89856 Reposition statistics menu item. 2014-01-21 02:12:26 +02:00