Compare commits
	
		
			461 Commits
		
	
	
		
			release-2.
			...
			release-2.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | c1ca776be3 | ||
|   | 0e9abc1762 | ||
|   | e24ce87946 | ||
|   | 308e358d3f | ||
|   | d15e6a4847 | ||
|   | e311239a28 | ||
|   | df677789d2 | ||
|   | 0af44eadb6 | ||
|   | 85cafe530e | ||
|   | 7609db28f1 | ||
|   | fefda39284 | ||
|   | b2f98bd059 | ||
|   | 26c69fe6d4 | ||
|   | bf4f1a7c37 | ||
|   | 9b0dd39d9d | ||
|   | 66d4cc2ab8 | ||
|   | 0bcbaf6521 | ||
|   | e074872b24 | ||
|   | 63ec1e618e | ||
|   | 331c15b76c | ||
|   | d2089c9aad | ||
|   | 3c8326d3b6 | ||
|   | 2d0713ca1d | ||
|   | afaca423cc | ||
|   | ff08abe177 | ||
|   | 159be479cc | ||
|   | f3066b07b5 | ||
|   | aa58636832 | ||
|   | 5d1a584eac | ||
|   | 7ee9abd646 | ||
|   | 4d977a8d46 | ||
|   | 5c891724c4 | ||
|   | 185af18790 | ||
|   | fa6da97cf9 | ||
|   | 9503d9b024 | ||
|   | de7b6ca553 | ||
|   | 1788078594 | ||
|   | 3caf473424 | ||
|   | 5435bd2354 | ||
|   | 1cdb22a7e3 | ||
|   | 95a9424ae7 | ||
|   | 902196a176 | ||
|   | dbfef8665b | ||
|   | b3d8f2400f | ||
|   | c12ae58868 | ||
|   | 4b77bb57ad | ||
|   | a6b1d308c2 | ||
|   | b483f09d11 | ||
|   | bbb5ad31c4 | ||
|   | 3d4c1fe7da | ||
|   | 7a2c0d5d5a | ||
|   | 39d86c5f61 | ||
|   | e2cdbbb184 | ||
|   | e83f9245a9 | ||
|   | 52f25c44eb | ||
|   | 1ed565d8e5 | ||
|   | 10801f111b | ||
|   | efe1655834 | ||
|   | 7f71e3981e | ||
|   | 8113f8df63 | ||
|   | 62f579fdbe | ||
|   | 1d4454c6eb | ||
|   | 310433fb54 | ||
|   | c0520146e9 | ||
|   | 35f6675d86 | ||
|   | 9494b15bd5 | ||
|   | 3b82120923 | ||
|   | b9a0adc311 | ||
|   | 1e21ac3d79 | ||
|   | 864bb8285e | ||
|   | 208e988c70 | ||
|   | 5cbcfb8efb | ||
|   | 107b833703 | ||
|   | e2208a484e | ||
|   | 5ab7c91d49 | ||
|   | a91ad3c9c7 | ||
|   | 385f950c2b | ||
|   | 4667a84939 | ||
|   | 5af0cacf0c | ||
|   | bceb00d35f | ||
|   | 51068294f1 | ||
|   | bcdf4e42fa | ||
|   | 214bb13843 | ||
|   | 7998395532 | ||
|   | 35aee18112 | ||
|   | 8ddbdd34ed | ||
|   | 66a5e479c7 | ||
|   | 8f5bd2bc9f | ||
|   | 5be2624cb1 | ||
|   | f9684d662d | ||
|   | 9373796dd5 | ||
|   | 2634517cdb | ||
|   | 121a636b4e | ||
|   | aad42d4a57 | ||
|   | c8b8518608 | ||
|   | 0c40a8ab05 | ||
|   | b9241ad5ad | ||
|   | d354d7133e | ||
|   | a1157c78b2 | ||
|   | fb8d52e6e0 | ||
|   | 80c42cae1a | ||
|   | f242fce5fd | ||
|   | 6223514704 | ||
|   | 8fb7445e20 | ||
|   | 3172c6859d | ||
|   | 58be573d02 | ||
|   | 82f7bdb9cc | ||
|   | b41c39b7ce | ||
|   | 9e4958e96a | ||
|   | 65091f7cb9 | ||
|   | 75b758bb1f | ||
|   | 5028ff3ddd | ||
|   | a246f76ec3 | ||
|   | eeec067481 | ||
|   | 3ee44ad0c2 | ||
|   | c38ff5b0b7 | ||
|   | e51dc6758c | ||
|   | 7bb32643fa | ||
|   | 3172e1f530 | ||
|   | 7778877fa7 | ||
|   | b4f6745251 | ||
|   | 4fd7f16911 | ||
|   | ca29b5d7fc | ||
|   | 79d5a635a4 | ||
|   | 7f615c580e | ||
|   | 967dbbda89 | ||
|   | 452c0411d2 | ||
|   | 32d3ed2144 | ||
|   | 4efae21f1d | ||
|   | c43efd7fb3 | ||
|   | 93b1dbd931 | ||
|   | 571896b888 | ||
|   | 9f5d31b2b1 | ||
|   | c01f7102e6 | ||
|   | df39e46c84 | ||
|   | 7f12bb5dfb | ||
|   | ca762139f6 | ||
|   | 67f41ad991 | ||
|   | 621ec11ae3 | ||
|   | de3135c43b | ||
|   | faed0ba45a | ||
|   | 2104e4e2ce | ||
|   | 907a17a73b | ||
|   | a1a9f8bc7e | ||
|   | a9a3bb74e7 | ||
|   | b7de3fcebd | ||
|   | 0b70b857b9 | ||
|   | 9c8a957dd7 | ||
|   | cf65e4d77d | ||
|   | 762962270c | ||
|   | a2067af4ea | ||
|   | 2f4f06ca8b | ||
|   | 56dba2cb10 | ||
|   | f824357358 | ||
|   | 778cfff4b3 | ||
|   | 8ee762695b | ||
|   | 7dd9680e26 | ||
|   | 92661e1d53 | ||
|   | 09d5665ff9 | ||
|   | c5dfe623c8 | ||
|   | 2665e2ef39 | ||
|   | dfecdb1956 | ||
|   | 5a82aee76b | ||
|   | 4f07426010 | ||
|   | 9e575e45b7 | ||
|   | 39b32bf1cd | ||
|   | 54131001b0 | ||
|   | f8134b1a62 | ||
|   | 13927599c8 | ||
|   | 0d85d0a777 | ||
|   | 0da83694e0 | ||
|   | 9bdac4d1e3 | ||
|   | 00c92d6d61 | ||
|   | 9628a9e156 | ||
|   | f1bfcb4822 | ||
|   | 87879b6738 | ||
|   | a4ff7047d1 | ||
|   | da599da36d | ||
|   | 335e7366fd | ||
|   | a993b2b3f1 | ||
|   | b81c8d29ba | ||
|   | 08a08e4b24 | ||
|   | 8b5886cc6e | ||
|   | 22b3d8d594 | ||
|   | 17efa04257 | ||
|   | e71f144c40 | ||
|   | 5e7cafb8c0 | ||
|   | d01385a7ac | ||
|   | ac80dd78a8 | ||
|   | 061f1000cf | ||
|   | c36fed3081 | ||
|   | 75002906aa | ||
|   | a451cf2d5f | ||
|   | ca10c0ab09 | ||
|   | 80d76ae038 | ||
|   | f699ee1363 | ||
|   | bd97a4bd7c | ||
|   | ec3b749ef6 | ||
|   | 44fc86e7da | ||
|   | 2cd940e7c7 | ||
|   | cc6d371667 | ||
|   | 8fcc33b375 | ||
|   | e44b570c3d | ||
|   | 8576847a99 | ||
|   | c9fc9373e5 | ||
|   | ae46d449e5 | ||
|   | fe57cef756 | ||
|   | 3affb38ba2 | ||
|   | a0dc6aa173 | ||
|   | a357a690ce | ||
|   | bce7959332 | ||
|   | eef6f600c9 | ||
|   | a3822c5aa8 | ||
|   | eeaa1e83a9 | ||
|   | 387fb93b5b | ||
|   | d470059c56 | ||
|   | 2e382fa88c | ||
|   | e1e7e782d5 | ||
|   | 6f314502f6 | ||
|   | 3284d7a8e6 | ||
|   | 609ea7b4c2 | ||
|   | 7e8d21145e | ||
|   | c31b5f1f97 | ||
|   | 11fe685a6b | ||
|   | 1127947f52 | ||
|   | 789b2cf326 | ||
|   | b9394f2ba2 | ||
|   | 7ab206ebac | ||
|   | 0beb9fff73 | ||
|   | 65b8d0c24d | ||
|   | 715fe46f45 | ||
|   | 8209f341fb | ||
|   | 0d4b55ca32 | ||
|   | ae7362706f | ||
|   | 4ca648a79b | ||
|   | 4ca0b14300 | ||
|   | 4386b6c2c4 | ||
|   | 61246f81c7 | ||
|   | 70f2bfdd9a | ||
|   | 5f23cbc470 | ||
|   | 2e0c8f848f | ||
|   | f8add0ee04 | ||
|   | f23051c1fd | ||
|   | 60636af544 | ||
|   | 2e685ea851 | ||
|   | b61a06350f | ||
|   | c9ece4695e | ||
|   | 4805690dbe | ||
|   | 8ec1621334 | ||
|   | 682377ff66 | ||
|   | 656beed82b | ||
|   | ba4a0fac77 | ||
|   | b719bfaecb | ||
|   | 4e1366bf0d | ||
|   | b67938aa3f | ||
|   | f4c29c07bf | ||
|   | 63a0f4bf11 | ||
|   | a8a2ba188d | ||
|   | a0d685bfe2 | ||
|   | a3041b7f9f | ||
|   | 83a2ae7ad3 | ||
|   | 830a6250c6 | ||
|   | f0e23ab1fc | ||
|   | 5b07c488b0 | ||
|   | f61bccf700 | ||
|   | 4fd10bc5f5 | ||
|   | c1a72f075d | ||
|   | 5c4450f3cd | ||
|   | bb606e0b2f | ||
|   | eed86aa9e1 | ||
|   | 338d4fd31e | ||
|   | 58a36f7cfd | ||
|   | 8b436f70d6 | ||
|   | 223fd4f0ba | ||
|   | 2e51e69cc9 | ||
|   | bbac79c030 | ||
|   | 607bba4625 | ||
|   | 1a0cc3215c | ||
|   | f0981c81c8 | ||
|   | 472604d1b0 | ||
|   | 781d33b869 | ||
|   | 8db8841c9c | ||
|   | 6e3b570be4 | ||
|   | defd77b94c | ||
|   | c09294df2f | ||
|   | cc97ee86df | ||
|   | 10d6dd5a23 | ||
|   | 29e79dc54d | ||
|   | 982390f074 | ||
|   | 963d73af4e | ||
|   | bdd8cbb1d8 | ||
|   | 80bd232054 | ||
|   | c2da227254 | ||
|   | e846c67bfa | ||
|   | 475c7094ab | ||
|   | 4434566d85 | ||
|   | 6bd557d22c | ||
|   | 4832a24ac5 | ||
|   | b9a3890dd5 | ||
|   | 4cf9de6515 | ||
|   | 994c798264 | ||
|   | 119bda1595 | ||
|   | bf73c47bc5 | ||
|   | ea99f44893 | ||
|   | 4ec1fd3968 | ||
|   | 0b9e25ee65 | ||
|   | 73a9985599 | ||
|   | a65f7bfa65 | ||
|   | 72cc1eb4d4 | ||
|   | ed7ae32a69 | ||
|   | 54b53f3aba | ||
|   | 2f7728f987 | ||
|   | f3a93af242 | ||
|   | 5a4ad2f822 | ||
|   | c669240037 | ||
|   | ce4fd8429e | ||
|   | cc532d95da | ||
|   | c800a0a6b5 | ||
|   | 5675c045ae | ||
|   | e16ca862f4 | ||
|   | 29e757bb3a | ||
|   | 822f1a9557 | ||
|   | 7acfb27a1f | ||
|   | 83d6731fa9 | ||
|   | de4f0272c1 | ||
|   | df50a875df | ||
|   | 5f814f23b4 | ||
|   | 98ec373f8c | ||
|   | 0bbeab9ad2 | ||
|   | ed4c711ef5 | ||
|   | fc33702b81 | ||
|   | 70c79f31c3 | ||
|   | 82dc2103b5 | ||
|   | 529ab304b4 | ||
|   | 53919446d4 | ||
|   | 1052cd019b | ||
|   | 4f87819abf | ||
|   | b94ecb2383 | ||
|   | c00d83dee9 | ||
|   | 34052ce8f9 | ||
|   | 0a0c8948ee | ||
|   | 0cc9283275 | ||
|   | 6b2e9f057b | ||
|   | 3a1fc9ec77 | ||
|   | e4399412b6 | ||
|   | 37650d8156 | ||
|   | b4fa164dc3 | ||
|   | 6148e6b192 | ||
|   | 057743a779 | ||
|   | 530ba2a0bd | ||
|   | 977b2bda7c | ||
|   | 76eb93ba1a | ||
|   | ae3c50c074 | ||
|   | 31017602fc | ||
|   | ef7e2abdaf | ||
|   | a6abedd67d | ||
|   | 9824d86a3c | ||
|   | 1eac3d1700 | ||
|   | 48585bb049 | ||
|   | 843e49a5a8 | ||
|   | db01276f1d | ||
|   | 772028106e | ||
|   | 0cd5253857 | ||
|   | eaf321facb | ||
|   | 81ecb5c7c8 | ||
|   | 3b3a452df6 | ||
|   | 65b1e29414 | ||
|   | a6e3b9afac | ||
|   | a7792701a2 | ||
|   | 846372e48b | ||
|   | 1597007ea1 | ||
|   | dbceed21f5 | ||
|   | 3254dae59f | ||
|   | 12881dd4c4 | ||
|   | 35ec93ccb1 | ||
|   | cb159ed00d | ||
|   | e5b8b41373 | ||
|   | 492814a56e | ||
|   | d639712303 | ||
|   | f5d1c8a679 | ||
|   | aea3d4be7a | ||
|   | 8d1fd7ee8e | ||
|   | a98a002d57 | ||
|   | fb874695c9 | ||
|   | 63457c034f | ||
|   | daff6dce4c | ||
|   | 94c7c5cebe | ||
|   | f2c4901dd0 | ||
|   | 95d8eb9714 | ||
|   | 62165445fe | ||
|   | 6b12371f50 | ||
|   | 38cb4ccbd3 | ||
|   | 8ccaaae085 | ||
|   | 6f7ae4770a | ||
|   | 5aa348a574 | ||
|   | 7b8fa49482 | ||
|   | 789cf654d0 | ||
|   | a300a6094e | ||
|   | 37b09e70b0 | ||
|   | 530fbfc9b4 | ||
|   | 73c312ec1a | ||
|   | 318a959470 | ||
|   | f9cc98791a | ||
|   | 263eb3c632 | ||
|   | 52b3926f92 | ||
|   | af3755bf91 | ||
|   | 419d719ab8 | ||
|   | 3877cf9ab8 | ||
|   | 912056a364 | ||
|   | 165b33a94e | ||
|   | 12fff1b966 | ||
|   | 128eba7ec3 | ||
|   | 5bb370df0e | ||
|   | 6431343ad7 | ||
|   | bd292076e3 | ||
|   | ce0ddbe517 | ||
|   | 5451bb185e | ||
|   | 057cf3648e | ||
|   | 80d5c5d85c | ||
|   | 671a997092 | ||
|   | f2fbfdf017 | ||
|   | 1ea7340111 | ||
|   | 7b38ea4151 | ||
|   | c4ed12bbd1 | ||
|   | c32b352ec1 | ||
|   | 9b2565dff9 | ||
|   | f833f26212 | ||
|   | 66a7082b5c | ||
|   | cc3a6350a5 | ||
|   | 9202ce8757 | ||
|   | c0e4f126de | ||
|   | 44ca0a4904 | ||
|   | 64ddf393aa | ||
|   | a60615a2d8 | ||
|   | d9fa9c3566 | ||
|   | 5115b8739e | ||
|   | 854fb4acc0 | ||
|   | 07ef81fd95 | ||
|   | 17e39f56dd | ||
|   | 040e94cab7 | ||
|   | 93563365ac | ||
|   | c287879e55 | ||
|   | 537c73d548 | ||
|   | ad3f5f6e20 | ||
|   | a468404ab5 | ||
|   | 6d7fba1a6c | ||
|   | 5c734a80f8 | ||
|   | edfee5193c | ||
|   | 9900651c55 | ||
|   | 948adbe350 | ||
|   | ade0ba794c | ||
|   | 5494c33a89 | ||
|   | c8f5cab636 | ||
|   | 4a8a40a6f2 | ||
|   | 70d41cdc79 | ||
|   | aec99ed14f | ||
|   | 9a645b4b19 | ||
|   | bea3c33a46 | ||
|   | e082c02630 | ||
|   | 291b94bef0 | ||
|   | f119be3ed5 | 
							
								
								
									
										137
									
								
								Changelog
									
									
									
									
									
								
							
							
						
						| @@ -1,110 +1,35 @@ | ||||
| * Wed Jul 21 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.11 | ||||
|     - BUGFIX: Fix parsing of program arguments with spaces | ||||
|     - BUGFIX: Fix possible crash when using alternative speed limits (#598272) | ||||
|     - BUGFIX: Fix possible crash on exit when using | ||||
|     - BUGFIX: Require GTK+ headers on compilation when libnotify is used | ||||
|     - BUGFIX: Added configure flag to avoid using the shipped qtsingleapplication | ||||
| * Unreleased - Christophe Dumez <chris@qbittorrent.org> - v2.4.0 | ||||
|     - FEATURE: Added actions to "Move to top/bottom" of priority queue | ||||
|     - FEATURE: Added Auto-Shutdown on downloads completion feature | ||||
|     - FEATURE: Added label-level Pause/Resume/Delete actions | ||||
|  | ||||
| * Wed Jun 23 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.10 | ||||
|     - BUGFIX: Fix Web UI in qBittorrent nox version | ||||
|     - BUGFIX: Improved ETA display (more user friendly) | ||||
|     - BUGFIX: Fix possible compilation errors with libtorrent v0.15 | ||||
|     - BUGFIX: Fix minor issues in torrent creation tool | ||||
|     - BUGFIX: Use checkable actions to avoid issues on systems hiding menu icons (e.g. recent Gnome) | ||||
|     - BUGFIX: Use busy cursor for search plugin updates | ||||
|     - BUGFIX: Free disk space calculation now works if destination folder does not exist | ||||
|     - BUGFIX: Fix "append .!qB extension to incomplete files" feature | ||||
|     - BUGFIX: Several OS/2 fixes by Silvan Scherrer | ||||
|     - COSMETIC: Display "Alternative speed limits" button as pressed when enabled | ||||
|  | ||||
| * Sun Jun 13 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.9 | ||||
|     - FEATURE: Official support for Win32 platform | ||||
|     - FEATURE: Better integration with Mac OS | ||||
|     - BUGFIX: Fix torrent availability computation (closes #587337) | ||||
|     - BUGFIX: Disable torrent addition dialog as a default | ||||
|     - BUGFIX: Fix Web UI authentication with Opera Browser | ||||
|     - BUGFIX: Fix Javascript error in Web UI when using IE | ||||
|     - BUGFIX: Fix a lot of encoding problems on non UTF-8 systems | ||||
|     - BUGFIX: Fix race condition allowing to run multiple instances (closes #286968) | ||||
|     - BUGFIX: Fix window hiding problem when having a modal window (closes #589070) | ||||
|  | ||||
| * Mon May 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.8 | ||||
|     - BUGFIX: ETA for finished torrent is now 0 instead of Infinite (closes #583704) | ||||
|     - BUGFIX: Fix sorting of ETA column when having infinite values (closes #583347) | ||||
|     - BUGFIX: Torrent queue position now starts at 1 (closes #581130) | ||||
|     - BUGFIX: Fix unicode issue in start seeding after torrent creation code | ||||
|     - BUGFIX: Fix torrent error state clearance on resuming | ||||
|     - BUGFIX: Fix possible checkbox update in Web UI | ||||
|     - COSMETIC: Fix torrent properties layout | ||||
|  | ||||
| * Wed May 12 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.7 | ||||
|     - BUGFIX: Fix unicode problem in torrent moving code | ||||
|     - BUGFIX: Fix possible initialization problem in Web UI | ||||
|     - BUGFIX: Fix torrent moving after completion feature | ||||
|     - BUGFIX: Improved empty folder removing code | ||||
|     - BUGFIX: Use guid or news url as RSS items identifier (instead of title) | ||||
|     - BUGFIX: Fix possible crash in RSS item selection code | ||||
|     - BUGFIX: Added support for url encoded ampersands in RSS | ||||
|     - COSMETIC: Sort torrent labels in popup menu | ||||
|     - I18N: Added Croatian translation | ||||
|  | ||||
| * Sun Apr 18 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.6 | ||||
|     - BUGFIX: Announce to all trackers at once | ||||
|     - BUGFIX: Added support for single-thread boost | ||||
|     - BUGFIX: Remove old folder when moving a torrent | ||||
|     - BUGFIX: Improved reliability of torrent moving | ||||
|     - BUGFIX: Stop rechecking torrents when they are moved | ||||
|     - BUGFIX: Status filters height stays correct when the visual style changes | ||||
|     - I18N: Added Arabic translation | ||||
|  | ||||
| * Wed Apr 07 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.5 | ||||
|     - BUGFIX: Fix crash when adding a new torrent label | ||||
|     - BUGFIX: Fix HTTPS protocol support in torrent/rss downloader | ||||
|     - BUGFIX: Fix default width of file name column in torrent content | ||||
|     - BUGFIX: Fix torrent addition dialog buttons height | ||||
|     - BUGFIX: Fix deprecation warnings with libtorrent v0.15 | ||||
|     - BUGFIX: Fix "Download from URL" title size in Web UI | ||||
|     - BUGFIX: Fix transparency of speed limits icons | ||||
|     - BUGFIX: Dropped dependency on Qt gif library | ||||
|     - BUGFIX: Improved libboost detection by configure file | ||||
|     - BUGFIX: Bring back compatibility with boost v1.34 | ||||
|     - COSMETIC: Added icons to menu actions in Web UI | ||||
|  | ||||
| * Tue Apr 06 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.4 | ||||
|     - BUGFIX: Fix possible crash when adding a torrent | ||||
|     - BUGFIX: Fix failure to remember some torrents on startup | ||||
|     - BUGFIX: Fix torrent addition window layout (torrent content not expanding) | ||||
|     - BUGFIX: Fix about dialog in Web UI | ||||
|     - BUGFIX: Correctly clear trackers error messages once they work | ||||
|     - BUGFIX: Display correct share ratio for paused torrents | ||||
|     - COSMETIC: Improved alternative speed limits icons | ||||
|  | ||||
| * Sun Apr 04 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.3 | ||||
|     - BUGFIX: Fix possible crash when deleting a torrent just after pausing it | ||||
|     - BUGFIX: Enable Apply button when alternative rate limits are changed | ||||
|     - BUGFIX: Source compatibility with Windows (Thanks Ishan Arora) | ||||
|     - BUGFIX: Source compatibility with eCS (OS/2) (Thanks Silvan Scherrer) | ||||
|     - BUGFIX: Cleaner binutils gold linker support | ||||
|     - BUGFIX: Clean fix for progress display with cleanlooks style | ||||
|  | ||||
| * Mon Mar 22 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.2 | ||||
|     - FEATURE: DHT port can be set from Web UI | ||||
|     - BUGFIX: Fix possible crash with folder scanning | ||||
|     - BUGFIX: Fix Mac compilation | ||||
|     - BUGFIX: Save fast resume data every 3 minutes (for robustness) | ||||
|     - I18N: Updated Polish translation (thanks Szymon Świerkosz) | ||||
|  | ||||
| * Sat Mar 20 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.1 | ||||
|     - FEATURE: Display pieces that are being downloaded | ||||
|     - FEATURE: Added back folder watching in Web UI | ||||
|     - FEATURE: Added back file prioritizing in Web UI | ||||
|     - BUGFIX: Fix compilation with Qt 4.4 | ||||
|     - BUGFIX: Fix Web UI compatibility with Safari | ||||
|     - BUGFIX: Fix progress display with cleanlook style | ||||
|     - BUGFIX: Fix file filtering in complex torrents | ||||
|     - BUGFIX: Ask for user confirmation for recursive torrent download | ||||
|     - BUGFIX: Fix "add file" dialog in torrent creation tool | ||||
|     - BUGFIX: Fix "Ctrl+A" in Web UI | ||||
| * Tue Jul 27 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.3.0 | ||||
|     - FEATURE: Simplified torrent root folder renaming/truncating (< v2.3.0 is no longer forward compatible) | ||||
|     - FEATURE: Remember previous save paths in torrent addition dialog | ||||
|     - FEATURE: Max number of half-open connections can now be edited | ||||
|     - FEATURE: Added support for strict super seeding | ||||
|     - FEATURE: The user can force listening on a particular network interface | ||||
|     - FEATURE: Added cookie support for RSS feeds | ||||
|     - FEATURE: User can force tracker reannounce | ||||
|     - FEATURE: Added "No action" setting for double-click action | ||||
|     - FEATURE: Several torrents can be moved at once | ||||
|     - FEATURE: Added error state for torrents (error is displayed in a tooltip) | ||||
|     - FEATURE: Added filter for paused/error torrents | ||||
|     - FEATURE: Add Check/Uncheck all feature in Web UI | ||||
|     - FEATURE: Search engine can now be disabled | ||||
|     - FEATURE: Torrents can be automatically paused once they reach a given ratio | ||||
|     - FEATURE: Several files can now be disabled at once | ||||
|     - FEATURE: Added "Select All/None" buttons to files list | ||||
|     - FEATURE: Added support for BitComet links (bc://bt/...) | ||||
|     - BUGFIX: Hide seeding torrents files priorities in Web UI | ||||
|     - BUGFIX: The user can disable permanently recursive torrent download | ||||
|     - BUGFIX: Peer Exchange status is now correctly reported | ||||
|     - BUGFIX: Use an INI file instead of the registry on Windows (More reliable) | ||||
|     - BUGFIX: Removed client spoofing feature to avoid tracker blacklisting | ||||
|     - COSMETIC: Display peers country name in tooltip | ||||
|     - COSMETIC: Display number of torrents in transfers tab label | ||||
|     - COSMETIC: Simplified program preferences | ||||
|     - COSMETIC: Fix naming of actions opening new dialogs (use Name...) | ||||
|  | ||||
| * Sun Mar 14 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.0 | ||||
|     - FEATURE: User can set alternative speed limits for fast toggling | ||||
|   | ||||
							
								
								
									
										294
									
								
								src/GUI.cpp
									
									
									
									
									
								
							
							
						
						
							
								
								
									
										18
									
								
								src/GUI.h
									
									
									
									
									
								
							
							
						
						| @@ -37,8 +37,6 @@ | ||||
| #include "ui_mainwindow.h" | ||||
| #include "qtorrenthandle.h" | ||||
|  | ||||
| enum TabIndex{TAB_TRANSFER, TAB_SEARCH, TAB_RSS}; | ||||
|  | ||||
| class Bittorrent; | ||||
| class QTimer; | ||||
| class downloadFromURL; | ||||
| @@ -58,6 +56,7 @@ class consoleDlg; | ||||
| class about; | ||||
| class createtorrent; | ||||
| class downloadFromURL; | ||||
| class HidableTabWidget; | ||||
|  | ||||
| class GUI : public QMainWindow, private Ui::MainWindow{ | ||||
|   Q_OBJECT | ||||
| @@ -67,7 +66,7 @@ public: | ||||
|   GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList()); | ||||
|   ~GUI(); | ||||
|   // Methods | ||||
|   int getCurrentTabIndex() const; | ||||
|   QWidget* getCurrentTabWidget() const; | ||||
|   TransferListWidget* getTransferList() const { return transferList; } | ||||
|   QMenu* getTrayIconMenu(); | ||||
|  | ||||
| @@ -77,6 +76,7 @@ public slots: | ||||
|   void showNotificationBaloon(QString title, QString msg) const; | ||||
|   void downloadFromURLList(const QStringList& urls); | ||||
|   void updateAltSpeedsBtn(bool alternative); | ||||
|   void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused); | ||||
|  | ||||
| protected slots: | ||||
|   // GUI related slots | ||||
| @@ -127,6 +127,7 @@ protected: | ||||
|   void showEvent(QShowEvent *); | ||||
|   bool event(QEvent * event); | ||||
|   void displayRSSTab(bool enable); | ||||
|   void displaySearchTab(bool enable); | ||||
|  | ||||
| private: | ||||
|   // Bittorrent | ||||
| @@ -134,7 +135,7 @@ private: | ||||
|   QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed? | ||||
|   // GUI related | ||||
|   QTimer *guiUpdater; | ||||
|   QTabWidget *tabs; | ||||
|   HidableTabWidget *tabs; | ||||
|   StatusBar *status_bar; | ||||
|   QPointer<options_imp> options; | ||||
|   QPointer<consoleDlg> console; | ||||
| @@ -160,9 +161,16 @@ private: | ||||
|   QSplitter *hSplitter; | ||||
|   QSplitter *vSplitter; | ||||
|   // Search | ||||
|   SearchEngine *searchEngine; | ||||
|   QPointer<SearchEngine> searchEngine; | ||||
|   // RSS | ||||
|   QPointer<RSSImp> rssWidget; | ||||
|  | ||||
| private slots: | ||||
|     void on_actionSearch_engine_triggered(); | ||||
|     void on_actionRSS_Reader_triggered(); | ||||
|     void on_actionSpeed_in_title_bar_triggered(); | ||||
|     void on_actionTop_tool_bar_triggered(); | ||||
|     void on_actionShutdown_when_downloads_complete_triggered(); | ||||
| }; | ||||
|  | ||||
| #endif | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								src/Icons/3-state-checkbox.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 322 B | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/L.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 66 B | 
| Before Width: | Height: | Size: 1.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/cookies.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/go-bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/go-down.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 892 B | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/go-top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 996 B | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/go-up.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 929 B | 
| Before Width: | Height: | Size: 860 B | 
| Before Width: | Height: | Size: 1.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/qBitTorrentDocument.icns
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -1,6 +1,6 @@ | ||||
| [Desktop Entry] | ||||
| Categories=Qt;Network;P2P; | ||||
| Comment=V2.2.11 | ||||
| Comment=V2.4.0 | ||||
| Exec=qbittorrent %f | ||||
| GenericName=Bittorrent client | ||||
| GenericName[ar]=العميل Bittorrent | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								src/Icons/skin/arrow-right.gif
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 54 B | 
| Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB | 
| Before Width: | Height: | Size: 3.3 KiB | 
| Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB | 
| Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.0 KiB | 
| Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 2.9 KiB | 
| Before Width: | Height: | Size: 2.9 KiB | 
| Before Width: | Height: | Size: 2.4 KiB | 
| Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB | 
| Before Width: | Height: | Size: 2.9 KiB | 
| Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB | 
| Before Width: | Height: | Size: 315 B | 
| @@ -10,13 +10,13 @@ | ||||
| 				<string>torrent</string> | ||||
| 			</array> | ||||
| 			<key>CFBundleTypeIconFile</key> | ||||
| 			<string>qbittorrentDocument</string> | ||||
| 			<string>qBitTorrentDocument</string> | ||||
| 			<key>CFBundleTypeName</key> | ||||
| 			<string>BitTorrent Document</string> | ||||
|                         <key>CFBundleTypeMIMETypes</key> | ||||
|                 	<array> | ||||
|         	            <string>application/x-bittorrent</string> | ||||
| 	                </array> | ||||
| 			<key>CFBundleTypeMIMETypes</key> | ||||
| 			<array> | ||||
| 				<string>application/x-bittorrent</string> | ||||
| 			</array> | ||||
| 			<key>CFBundleTypeRole</key> | ||||
| 			<string>Viewer</string> | ||||
| 			<key>LSHandlerRank</key> | ||||
| @@ -47,7 +47,7 @@ | ||||
| 	<key>CFBundlePackageType</key> | ||||
| 	<string>APPL</string> | ||||
| 	<key>CFBundleGetInfoString</key> | ||||
| 	<string>2.2.11</string> | ||||
| 	<string>2.4.0</string> | ||||
| 	<key>CFBundleSignature</key> | ||||
| 	<string>????</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
|   | ||||
| @@ -47,7 +47,6 @@ class about : public QDialog, private Ui::AboutDlg{ | ||||
|       setAttribute(Qt::WA_DeleteOnClose); | ||||
|       // Set icons | ||||
|       logo->setPixmap(QPixmap(QString::fromUtf8(":/Icons/skin/qbittorrent22.png"))); | ||||
|       mascot_lbl->setPixmap(QPixmap(QString::fromUtf8(":/Icons/skin/mascot.png"))); | ||||
|       //Title | ||||
|       lb_name->setText(QString::fromUtf8("<b><h1>")+tr("qBittorrent")+QString::fromUtf8(" "VERSION"</h1></b>")); | ||||
|       // Thanks | ||||
|   | ||||
| @@ -5,19 +5,22 @@ | ||||
| #include <QHeaderView> | ||||
| #include <QSpinBox> | ||||
| #include <QCheckBox> | ||||
| #include <QComboBox> | ||||
| #include <QNetworkInterface> | ||||
| #include <libtorrent/version.hpp> | ||||
| #include "preferences.h" | ||||
|  | ||||
| enum AdvSettingsCols {PROPERTY, VALUE}; | ||||
| enum AdvSettingsRows {DISK_CACHE, OUTGOING_PORT_MIN, OUTGOING_PORT_MAX, IGNORE_LIMIT_LAN, COUNT_OVERHEAD, RECHECK_COMPLETED, LIST_REFRESH, RESOLVE_COUNTRIES, RESOLVE_HOSTS }; | ||||
| #define ROW_COUNT 9 | ||||
| enum AdvSettingsRows {DISK_CACHE, OUTGOING_PORT_MIN, OUTGOING_PORT_MAX, IGNORE_LIMIT_LAN, COUNT_OVERHEAD, RECHECK_COMPLETED, LIST_REFRESH, RESOLVE_COUNTRIES, RESOLVE_HOSTS, MAX_HALF_OPEN, SUPER_SEEDING, NETWORK_IFACE, PROGRAM_NOTIFICATIONS }; | ||||
| #define ROW_COUNT 13 | ||||
|  | ||||
| class AdvancedSettings: public QTableWidget { | ||||
|   Q_OBJECT | ||||
|  | ||||
| private: | ||||
|   QSpinBox *spin_cache, *outgoing_ports_min, *outgoing_ports_max, *spin_list_refresh; | ||||
|   QCheckBox *cb_ignore_limits_lan, *cb_count_overhead, *cb_recheck_completed, *cb_resolve_countries, *cb_resolve_hosts; | ||||
|   QSpinBox *spin_cache, *outgoing_ports_min, *outgoing_ports_max, *spin_list_refresh, *spin_maxhalfopen; | ||||
|   QCheckBox *cb_ignore_limits_lan, *cb_count_overhead, *cb_recheck_completed, *cb_resolve_countries, *cb_resolve_hosts, *cb_super_seeding, *cb_program_notifications; | ||||
|   QComboBox *combo_iface; | ||||
|  | ||||
| public: | ||||
|   AdvancedSettings(QWidget *parent=0): QTableWidget(parent) { | ||||
| @@ -46,6 +49,10 @@ public: | ||||
|     delete spin_list_refresh; | ||||
|     delete cb_resolve_countries; | ||||
|     delete cb_resolve_hosts; | ||||
|     delete spin_maxhalfopen; | ||||
|     delete cb_super_seeding; | ||||
|     delete combo_iface; | ||||
|     delete cb_program_notifications; | ||||
|   } | ||||
|  | ||||
| public slots: | ||||
| @@ -66,6 +73,21 @@ public slots: | ||||
|     // Peer resolution | ||||
|     Preferences::resolvePeerCountries(cb_resolve_countries->isChecked()); | ||||
|     Preferences::resolvePeerHostNames(cb_resolve_hosts->isChecked()); | ||||
|     // Max Half-Open connections | ||||
|     Preferences::setMaxHalfOpenConnections(spin_maxhalfopen->value()); | ||||
| #if LIBTORRENT_VERSION_MINOR > 14 | ||||
|     // Super seeding | ||||
|     Preferences::enableSuperSeeding(cb_super_seeding->isChecked()); | ||||
| #endif | ||||
|     // Network interface | ||||
|     if(combo_iface->currentIndex() == 0) { | ||||
|       // All interfaces (default) | ||||
|       Preferences::setNetworkInterface(QString::null); | ||||
|     } else { | ||||
|       Preferences::setNetworkInterface(combo_iface->currentText()); | ||||
|     } | ||||
|     // Program notification | ||||
|     Preferences::useProgramNotification(cb_program_notifications->isChecked()); | ||||
|   } | ||||
|  | ||||
| protected slots: | ||||
| @@ -134,6 +156,45 @@ protected slots: | ||||
|     connect(cb_resolve_hosts, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged())); | ||||
|     cb_resolve_hosts->setChecked(Preferences::resolvePeerHostNames()); | ||||
|     setCellWidget(RESOLVE_HOSTS, VALUE, cb_resolve_hosts); | ||||
|     // Max Half Open connections | ||||
|     setItem(MAX_HALF_OPEN, PROPERTY, new QTableWidgetItem(tr("Maximum number of half-open connections [0: Disabled]"))); | ||||
|     spin_maxhalfopen = new QSpinBox(); | ||||
|     connect(spin_maxhalfopen, SIGNAL(valueChanged(int)), this, SLOT(emitSettingsChanged())); | ||||
|     spin_maxhalfopen->setMinimum(0); | ||||
|     spin_maxhalfopen->setMaximum(99999); | ||||
|     spin_maxhalfopen->setValue(Preferences::getMaxHalfOpenConnections()); | ||||
|     setCellWidget(MAX_HALF_OPEN, VALUE, spin_maxhalfopen); | ||||
|     // Super seeding | ||||
|     setItem(SUPER_SEEDING, PROPERTY, new QTableWidgetItem(tr("Strict super seeding"))); | ||||
|     cb_super_seeding = new QCheckBox(); | ||||
|     connect(cb_super_seeding, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged())); | ||||
| #if LIBTORRENT_VERSION_MINOR > 14 | ||||
|     cb_super_seeding->setChecked(Preferences::isSuperSeedingEnabled()); | ||||
| #else | ||||
|     cb_super_seeding->setEnabled(false); | ||||
| #endif | ||||
|     setCellWidget(SUPER_SEEDING, VALUE, cb_super_seeding); | ||||
|     // Network interface | ||||
|     setItem(NETWORK_IFACE, PROPERTY, new QTableWidgetItem(tr("Network Interface (requires restart)"))); | ||||
|     combo_iface = new QComboBox; | ||||
|     combo_iface->addItem(tr("Any interface", "i.e. Any network interface")); | ||||
|     const QString current_iface = Preferences::getNetworkInterface(); | ||||
|     int i = 1; | ||||
|     foreach(const QNetworkInterface& iface, QNetworkInterface::allInterfaces()) { | ||||
|       if(iface.name() == "lo") continue; | ||||
|       combo_iface->addItem(iface.name()); | ||||
|       if(!current_iface.isEmpty() && iface.name() == current_iface) | ||||
|         combo_iface->setCurrentIndex(i); | ||||
|       ++i; | ||||
|     } | ||||
|     connect(combo_iface, SIGNAL(currentIndexChanged(int)), this, SLOT(emitSettingsChanged())); | ||||
|     setCellWidget(NETWORK_IFACE, VALUE, combo_iface); | ||||
|     // Program notifications | ||||
|     setItem(PROGRAM_NOTIFICATIONS, PROPERTY, new QTableWidgetItem(tr("Display program notification baloons"))); | ||||
|     cb_program_notifications = new QCheckBox(); | ||||
|     connect(cb_program_notifications, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged())); | ||||
|     cb_program_notifications->setChecked(Preferences::useProgramNotification()); | ||||
|     setCellWidget(PROGRAM_NOTIFICATIONS, VALUE, cb_program_notifications); | ||||
|   } | ||||
|  | ||||
|   void emitSettingsChanged() { | ||||
|   | ||||
							
								
								
									
										1079
									
								
								src/bittorrent.cpp
									
									
									
									
									
								
							
							
						
						| @@ -108,6 +108,7 @@ public: | ||||
|   session* getSession() const; | ||||
|   QHash<QString, TrackerInfos> getTrackersInfo(QString hash) const; | ||||
|   bool hasActiveTorrents() const; | ||||
|   bool hasDownloadingTorrents() const; | ||||
|   bool isQueueingEnabled() const; | ||||
|   int getMaximumActiveDownloads() const; | ||||
|   int getMaximumActiveTorrents() const; | ||||
| @@ -118,6 +119,7 @@ public: | ||||
|   bool useTemporaryFolder() const; | ||||
|   QString getDefaultSavePath() const; | ||||
|   ScanFoldersModel* getScanFoldersModel() const; | ||||
|   bool isPexEnabled() const; | ||||
| #if LIBTORRENT_VERSION_MINOR < 15 | ||||
|   void saveDHTEntry(); | ||||
| #endif | ||||
| @@ -153,8 +155,7 @@ public slots: | ||||
|   void setMaxUploadsPerTorrent(int max); | ||||
|   void setDownloadRateLimit(long rate); | ||||
|   void setUploadRateLimit(long rate); | ||||
|   void setGlobalRatio(float ratio); | ||||
|   void setDeleteRatio(float ratio); | ||||
|   void setMaxRatio(float ratio); | ||||
|   void setDHTPort(int dht_port); | ||||
|   void setPeerProxySettings(const proxy_settings &proxySettings); | ||||
|   void setHTTPProxySettings(const proxy_settings &proxySettings); | ||||
| @@ -162,10 +163,10 @@ public slots: | ||||
|   void startTorrentsInPause(bool b); | ||||
|   void setDefaultTempPath(QString temppath); | ||||
|   void setAppendLabelToSavePath(bool append); | ||||
|   void appendLabelToTorrentSavePath(QTorrentHandle h); | ||||
|   void changeLabelInTorrentSavePath(QTorrentHandle h, QString old_label, QString new_label); | ||||
|   void appendLabelToTorrentSavePath(QTorrentHandle &h); | ||||
|   void changeLabelInTorrentSavePath(QTorrentHandle &h, QString old_label, QString new_label); | ||||
| #if LIBTORRENT_VERSION_MINOR > 14 | ||||
|   void appendqBextensionToTorrent(QTorrentHandle h, bool append); | ||||
|   void appendqBextensionToTorrent(QTorrentHandle &h, bool append); | ||||
|   void setAppendqBExtension(bool append); | ||||
| #endif | ||||
|   void applyEncryptionSettings(pe_settings se); | ||||
| @@ -189,13 +190,13 @@ public slots: | ||||
|   void recursiveTorrentDownload(const QTorrentHandle &h); | ||||
|  | ||||
| protected: | ||||
|   QString getSavePath(QString hash, bool fromScanDir = false, QString filePath = QString()); | ||||
|   QString getSavePath(QString hash, bool fromScanDir = false, QString filePath = QString::null, QString root_folder=QString::null); | ||||
|   bool initWebUi(QString username, QString password, int port); | ||||
|  | ||||
| protected slots: | ||||
|   void addTorrentsFromScanFolder(QStringList&); | ||||
|   void readAlerts(); | ||||
|   void deleteBigRatios(); | ||||
|   void processBigRatios(); | ||||
|   void takeETASamples(); | ||||
|   void exportTorrentFiles(QString path); | ||||
|   void saveTempFastResumeData(); | ||||
| @@ -226,6 +227,7 @@ private: | ||||
|   QPointer<BandwidthScheduler> bd_scheduler; | ||||
|   QMap<QUrl, QString> savepath_fromurl; | ||||
|   QHash<QString, QHash<QString, TrackerInfos> > trackersInfos; | ||||
|   QHash<QString, QString> savePathsToRemove; | ||||
|   QStringList torrentsToPausedAfterChecking; | ||||
|   QTimer resumeDataTimer; | ||||
|   // Ratio | ||||
| @@ -241,6 +243,7 @@ private: | ||||
|   bool preAllocateAll; | ||||
|   bool addInPause; | ||||
|   float ratio_limit; | ||||
|   int high_ratio_action; | ||||
|   bool UPnPEnabled; | ||||
|   bool NATPMPEnabled; | ||||
|   bool LSDEnabled; | ||||
|   | ||||