Compare commits
	
		
			366 Commits
		
	
	
		
			release-1.
			...
			release-1.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 5fea0e451d | ||
|   | 64806cb199 | ||
|   | 8e8e7cd3e7 | ||
|   | 27a18e01e2 | ||
|   | fc9e7d74a3 | ||
|   | 037a1875f9 | ||
|   | 66baa4d3dc | ||
|   | 9e522a8a6c | ||
|   | cfa4edd140 | ||
|   | 9e9134cd44 | ||
|   | 83a798b07e | ||
|   | baee85684c | ||
|   | 88afb0f0e7 | ||
|   | 6f212f18f5 | ||
|   | f04e600340 | ||
|   | 5140886567 | ||
|   | 0aa59694fd | ||
|   | 66d31b5ca1 | ||
|   | 47135932a4 | ||
|   | 40d0e44f15 | ||
|   | 16c30a2f10 | ||
|   | 7f2639fcbd | ||
|   | 8ad987a672 | ||
|   | b24194068a | ||
|   | f4e9b00ce3 | ||
|   | 5c0a24d58b | ||
|   | c4aa23c86b | ||
|   | 96911a2c48 | ||
|   | 85abb80f43 | ||
|   | 2372f434cf | ||
|   | ee6bc3c2e9 | ||
|   | b6c6637c3b | ||
|   | d358987316 | ||
|   | 6f28711f9e | ||
|   | 7b4b568859 | ||
|   | c3aa2906bb | ||
|   | 9509bbaed4 | ||
|   | b7c7245fb5 | ||
|   | 0153b03160 | ||
|   | ca83fdecff | ||
|   | bca898d8b6 | ||
|   | c877c9c412 | ||
|   | 4dfd1f229b | ||
|   | 0d63f46035 | ||
|   | 106f7cdd32 | ||
|   | 0308825c11 | ||
|   | 8c21ef5c04 | ||
|   | 53c2fe4a60 | ||
|   | 64fef21a86 | ||
|   | f6f4b5f219 | ||
|   | f809b8a014 | ||
|   | cf8dbf22f8 | ||
|   | 00d9f7c36b | ||
|   | 9a314db530 | ||
|   | 7db2ffc09f | ||
|   | 9a02c12ec9 | ||
|   | 2a77de686c | ||
|   | a79b294885 | ||
|   | 13c670b96d | ||
|   | 65c4da6f0e | ||
|   | bf9dc052d3 | ||
|   | 0ea6ee32be | ||
|   | 019bd476db | ||
|   | baf5cb31af | ||
|   | fc3c123f5b | ||
|   | 7dfdebd593 | ||
|   | 9835af4962 | ||
|   | 04cbd91f04 | ||
|   | 66db20cb47 | ||
|   | 2e0707bc0c | ||
|   | e9c12cbf78 | ||
|   | 031de096f5 | ||
|   | b85ed8ff38 | ||
|   | 00c5127ba1 | ||
|   | 714bf4f2ab | ||
|   | c2244f746e | ||
|   | 8214d87ce5 | ||
|   | e8454596ea | ||
|   | 1cc039c147 | ||
|   | fe455970f1 | ||
|   | 36871a34ad | ||
|   | 4ea6ca75ca | ||
|   | 9e46c6c047 | ||
|   | a2e9210665 | ||
|   | aaf79add0b | ||
|   | 55743021e8 | ||
|   | a8d627e1df | ||
|   | eead11427f | ||
|   | bec1388ba5 | ||
|   | 1542ff98bc | ||
|   | 0e9fd2dc3f | ||
|   | cd618150b0 | ||
|   | a2bcfa9192 | ||
|   | 1421f1450c | ||
|   | 288300d264 | ||
|   | 5e41a64c8b | ||
|   | f4502367f3 | ||
|   | 273526b414 | ||
|   | 5b7b4b2cf3 | ||
|   | ee99df0ba9 | ||
|   | aec32db565 | ||
|   | 3894452840 | ||
|   | 54bfb7cda9 | ||
|   | aa18f19ab7 | ||
|   | 3ae783e9cb | ||
|   | 83cac18690 | ||
|   | 3b09203937 | ||
|   | a12621e1c0 | ||
|   | 60c3ccac7f | ||
|   | 1fbf7d42a1 | ||
|   | 4b73172105 | ||
|   | ada5d2665b | ||
|   | f1ca41a5c5 | ||
|   | 17e0700a52 | ||
|   | cc77b2f578 | ||
|   | 85463e3910 | ||
|   | 7bd0dff802 | ||
|   | 4bc043146d | ||
|   | fd78e0b5ce | ||
|   | 8565f1e61e | ||
|   | 4c6d6a35f3 | ||
|   | fc79b7dc56 | ||
|   | da11488ba1 | ||
|   | 968c3e1c3e | ||
|   | 68e30de763 | ||
|   | 573f00c66c | ||
|   | ae81dbe088 | ||
|   | 2edbe66d91 | ||
|   | f9f912906e | ||
|   | 7b4eee7a7d | ||
|   | e799ac57ed | ||
|   | 30c93b9a4a | ||
|   | 03dc617874 | ||
|   | bc29577a7b | ||
|   | 5509e94778 | ||
|   | 89330e11de | ||
|   | c016c4bf66 | ||
|   | 3f1081b621 | ||
|   | e3ae03c8a8 | ||
|   | fbe292d06e | ||
|   | 1d294e43f1 | ||
|   | d883ef27be | ||
|   | be934837e5 | ||
|   | 956f97f6d6 | ||
|   | de38ca3e23 | ||
|   | 1efaea46e3 | ||
|   | 2694a0947f | ||
|   | f61d9d23f5 | ||
|   | 60dda258b3 | ||
|   | c79a4a746f | ||
|   | 942b579d8e | ||
|   | 93bc6dca95 | ||
|   | f36052351c | ||
|   | d40c646561 | ||
|   | 9412ced722 | ||
|   | 7037b53ff8 | ||
|   | adc72fb9a6 | ||
|   | f0ca99ed6c | ||
|   | e443aa75b7 | ||
|   | 282d0a4af6 | ||
|   | 25adf6b061 | ||
|   | 88f0ffe86d | ||
|   | c786c42bb1 | ||
|   | 36bc2e96ba | ||
|   | f9bf485ed7 | ||
|   | c18103539c | ||
|   | 727f59f73f | ||
|   | 5d2d1dfa94 | ||
|   | cf694d14f3 | ||
|   | ec24fe2f49 | ||
|   | a0b4e54410 | ||
|   | c97bce4d61 | ||
|   | afbfe1a96d | ||
|   | 2651ec5f0b | ||
|   | 330905da5e | ||
|   | 4c6359276c | ||
|   | ff1fc527e0 | ||
|   | d79cb6b66e | ||
|   | 0ac2554060 | ||
|   | 1d31e049a4 | ||
|   | d5a4794610 | ||
|   | 29886acc01 | ||
|   | f1ed7f06b9 | ||
|   | a848538d66 | ||
|   | b58046b1fc | ||
|   | fe95e90e05 | ||
|   | 1544300616 | ||
|   | 028041f874 | ||
|   | 81f2d7ee4a | ||
|   | 66874fbd2f | ||
|   | f47b3be0be | ||
|   | 87eee7029d | ||
|   | 713c80451e | ||
|   | 60889cac79 | ||
|   | d398679c7e | ||
|   | 2e5330e54b | ||
|   | 1499138b9b | ||
|   | 2433a87445 | ||
|   | d0de11909f | ||
|   | 3f5340523f | ||
|   | cc5015773b | ||
|   | cd260198f9 | ||
|   | 71e3061c18 | ||
|   | 6369401150 | ||
|   | fa05441e74 | ||
|   | 81aac9ebcc | ||
|   | 7a1af536b6 | ||
|   | 45efcfce13 | ||
|   | cddc3a0a43 | ||
|   | c38a8a2bec | ||
|   | 1225d16413 | ||
|   | 384f3b23ee | ||
|   | a3cfa6bba1 | ||
|   | 51638eddcc | ||
|   | 41c6a847b9 | ||
|   | d57062a45a | ||
|   | 32f478a8c2 | ||
|   | 61dae1444b | ||
|   | 8ed40cc856 | ||
|   | 941b8c8d2a | ||
|   | 4f2a2dfab9 | ||
|   | 4a6ab376af | ||
|   | 1e37858cc4 | ||
|   | 668268b6b5 | ||
|   | cfcd9b7eaf | ||
|   | 6a3dddd0cc | ||
|   | dfb2046f82 | ||
|   | 3ae55b6a6f | ||
|   | 7e53d23e33 | ||
|   | ce2294ee96 | ||
|   | 14646d0f9e | ||
|   | 717a4b00e1 | ||
|   | fca3b66a25 | ||
|   | 1a861ef240 | ||
|   | 1590d9a98f | ||
|   | 112bcd7255 | ||
|   | af29228cc9 | ||
|   | b8c79e0b5f | ||
|   | 0d078f660a | ||
|   | e7f89f256a | ||
|   | cb693a0795 | ||
|   | 7b57345c4f | ||
|   | 90879386d5 | ||
|   | 3678aa4d23 | ||
|   | e497789ec7 | ||
|   | 2134d404a5 | ||
|   | e0707f6907 | ||
|   | 816f35cbab | ||
|   | a73d3132df | ||
|   | 368c122dce | ||
|   | c41d17043c | ||
|   | 3c17a1410b | ||
|   | 078110851d | ||
|   | 70725bdfe2 | ||
|   | 3c0a610a34 | ||
|   | d5b74eecd0 | ||
|   | 1faf183c73 | ||
|   | a1773a7cfd | ||
|   | 1af3515b00 | ||
|   | 70e2a5d3b3 | ||
|   | 78409570a9 | ||
|   | 5133931302 | ||
|   | 8326cebf5c | ||
|   | ab46f11af2 | ||
|   | 91acb1a6ec | ||
|   | c721fad54b | ||
|   | 2aea2a0032 | ||
|   | 3164337c3c | ||
|   | b984c309ff | ||
|   | cfbd06225b | ||
|   | b0a0abd764 | ||
|   | 9618056b4e | ||
|   | 8b40e43432 | ||
|   | 01bc15d3f4 | ||
|   | 3282e1bcc9 | ||
|   | e5b6a5605a | ||
|   | 9b67807926 | ||
|   | f3729fbae6 | ||
|   | 0538c9c3e8 | ||
|   | 53a0e85b8d | ||
|   | 453dd93abf | ||
|   | 669cc2395a | ||
|   | 82706141cf | ||
|   | c536f24d55 | ||
|   | 764b4e72ca | ||
|   | 19dd21062b | ||
|   | 2d24b468b6 | ||
|   | 2dc75cb98d | ||
|   | 5e3be25916 | ||
|   | 49e8bad7cc | ||
|   | 796aea19e6 | ||
|   | dd35f1723b | ||
|   | 0177e1fee4 | ||
|   | 949eb2b5f5 | ||
|   | 2d59fe37bf | ||
|   | b6f81c199e | ||
|   | c2964dc340 | ||
|   | 8aebb93424 | ||
|   | 96c38f7be4 | ||
|   | cf2abe45de | ||
|   | 88ac8adb30 | ||
|   | b331478179 | ||
|   | bfaa82ccba | ||
|   | 77f407724d | ||
|   | 2f5c2e6404 | ||
|   | fbb2cdd1a9 | ||
|   | 63a4e06556 | ||
|   | 3d934b4a9c | ||
|   | 697c275d83 | ||
|   | 25b9601613 | ||
|   | 276dfd9df6 | ||
|   | 19f05f0a97 | ||
|   | 293aaefefe | ||
|   | 57cdf4ebd1 | ||
|   | c4a0c8f100 | ||
|   | 306991e776 | ||
|   | de2384e4a7 | ||
|   | 236dbcfb4a | ||
|   | a1b133d883 | ||
|   | 4f8825e371 | ||
|   | 1aa0936c91 | ||
|   | d5e22c523e | ||
|   | 6618e61a42 | ||
|   | 26283ec228 | ||
|   | ed12f5c77e | ||
|   | 8e074a571a | ||
|   | e2c7c973fd | ||
|   | eec04761ef | ||
|   | f73256e0ea | ||
|   | fec1de6383 | ||
|   | db35a7efb8 | ||
|   | 36eae88a5a | ||
|   | c01fd75c92 | ||
|   | 103f2d0720 | ||
|   | 037c46b587 | ||
|   | 0879f2c0ca | ||
|   | a65cd5c39c | ||
|   | d219e7afeb | ||
|   | 892bb4c432 | ||
|   | 45b9c6335c | ||
|   | 78e643039c | ||
|   | 04e993c674 | ||
|   | c3132fc1b0 | ||
|   | b1c73cb401 | ||
|   | ac6eb8c6bc | ||
|   | 8a64412cb5 | ||
|   | 56885cc914 | ||
|   | cdd1f9b86c | ||
|   | 139360cf76 | ||
|   | 2931d51add | ||
|   | aa0bec41b4 | ||
|   | b32b42b53e | ||
|   | 06c4c717bd | ||
|   | a3ed44baec | ||
|   | 0cbb4a7074 | ||
|   | af2e487ef5 | ||
|   | 28fdfdfef1 | ||
|   | c95cca6436 | ||
|   | 86024c6c74 | ||
|   | 75290cf715 | ||
|   | 321b76a72a | ||
|   | 95ecaec11e | ||
|   | 0e7c16901c | ||
|   | 43dcbf776b | ||
|   | e21c28e9d2 | ||
|   | 918c1507d3 | 
							
								
								
									
										21
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						| @@ -6,24 +6,35 @@ Contributors: | |||||||
| * Ishan Arora <ishan@qbittorrent.org> | * Ishan Arora <ishan@qbittorrent.org> | ||||||
| * Grigis Gaëtan <cipher16@gmail.com> | * Grigis Gaëtan <cipher16@gmail.com> | ||||||
|  |  | ||||||
|  | Code from other projects: | ||||||
|  | * files src/ico.cpp src/ico.h | ||||||
|  |   copyright: Malte Starostik <malte@kde.org> | ||||||
|  |   license: LGPL | ||||||
|  |  | ||||||
| Images Authors: | Images Authors: | ||||||
| * files: src/Icons/*.png | * files: src/Icons/*.png | ||||||
|   copyright: Gnome Icon Theme |   copyright: Gnome Icon Theme | ||||||
|   license: GPLv2 |   license: GPLv2 | ||||||
|   url: http://ftp.acc.umu.se/pub/GNOME/sources/gnome-icon-theme |   url: http://ftp.acc.umu.se/pub/GNOME/sources/gnome-icon-theme | ||||||
|  |  | ||||||
|  | * files: src/oxygen/*.png | ||||||
|  |   copyright: Oxygen Icon Theme (KDE) | ||||||
|  |   license: LGPL | ||||||
|  |   url: http://www.oxygen-icons.org | ||||||
|  |  | ||||||
| * files: src/Icons/flags/*.png | * files: src/Icons/flags/*.png | ||||||
|   copyright: Open Clip Art Library |   copyright: Open Clip Art Library | ||||||
|   license: Creative Commons Public Domain Dedication |   license: Creative Commons Public Domain Dedication | ||||||
|   url: http://www.openclipart.org |   url: http://www.openclipart.org | ||||||
|  |  | ||||||
| * files: src/Icons/skins/*.png | * files: src/Icons/skin/*.png | ||||||
|  |   files: src/menuicons/YYxYY/*.png | ||||||
|   copyright: Mateusz Tobola <tobejodok@qbittorrent.org> |   copyright: Mateusz Tobola <tobejodok@qbittorrent.org> | ||||||
|   license: GPLv2 |   license: GPLv2 | ||||||
|  |  | ||||||
| * files: src/menuicons/YYxYY/*.png | * file: src/Icons/skin/tabs.gif | ||||||
|   copyright: Mateusz Tobola <tobejodok@qbittorrent.org> |   copyright: Greg Houston <gregory.houston@gmail.com> | ||||||
|   license: GPLv2 |   license: MIT | ||||||
|  |  | ||||||
| * file: src/search_engine/engines/btjunkie.png | * file: src/search_engine/engines/btjunkie.png | ||||||
|   copyright: Downloaded from btjunkie.org |   copyright: Downloaded from btjunkie.org | ||||||
| @@ -46,7 +57,7 @@ Translations authors: | |||||||
|   - Brazilian: Nick Marinho (nickmarinho@gmail.com) |   - Brazilian: Nick Marinho (nickmarinho@gmail.com) | ||||||
|   - Bulgarian: Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net) |   - Bulgarian: Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net) | ||||||
|   - Catalan: Gekko Dam Beer (gekko04@users.sourceforge.net) |   - Catalan: Gekko Dam Beer (gekko04@users.sourceforge.net) | ||||||
|   - Chinese (Simplified): Guo Yue (guoyue0418@hotmail.com) |   - Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com) | ||||||
|   - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) |   - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) | ||||||
|   - Czech: Jirka Vilim (web@tets.cz) |   - Czech: Jirka Vilim (web@tets.cz) | ||||||
|   - Danish: Mathias Nielsen (comoneo@gmail.com) |   - Danish: Mathias Nielsen (comoneo@gmail.com) | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								COPYING
									
									
									
									
									
								
							
							
						
						| @@ -1,3 +1,17 @@ | |||||||
|  | qBittorrent is licensed under the GNU General Public License version 2 with the | ||||||
|  | addition of the following special exception: | ||||||
|  |  | ||||||
|  | In addition, as a special exception, the copyright holders give permission to | ||||||
|  | link this program with the OpenSSL project's "OpenSSL" library (or with | ||||||
|  | modified versions of it that use the same license as the "OpenSSL" library), | ||||||
|  | and distribute the linked executables. You must obey the GNU General Public | ||||||
|  | License in all respects for all of the code used other than "OpenSSL".  If you | ||||||
|  | modify file(s), you may extend this exception to your version of the file(s), | ||||||
|  | but you are not obligated to do so. If you do not wish to do so, delete this | ||||||
|  | exception statement from your version. | ||||||
|  |  | ||||||
|  | ---------- | ||||||
|  |  | ||||||
| 		    GNU GENERAL PUBLIC LICENSE | 		    GNU GENERAL PUBLIC LICENSE | ||||||
| 		       Version 2, June 1991 | 		       Version 2, June 1991 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										93
									
								
								Changelog
									
									
									
									
									
								
							
							
						
						| @@ -1,9 +1,100 @@ | |||||||
| * Unknown - Christophe Dumez <chris@qbittorrent.org> - v1.2.0 | * Unknown - Christophe Dumez <chris@qbittorrent.org> - v1.4.0 | ||||||
|  |     - FEATURE: Display swarm information in lists | ||||||
|  |     - FEATURE: Allow to define temporary download folder | ||||||
|  |     - FEATURE: Display total amount of uploaded data in finished list | ||||||
|  |     - FEATURE: Resizing a column in a search results tab affects all tabs | ||||||
|  |     - FEATURE: Search results tab columns are now remembered upon startup | ||||||
|  |     - FEATURE: Added right click menu in search engine to clear completion history | ||||||
|  |     - FEATURE: Allow to set a different port for DHT (UDP) than the one used for Bittorrent | ||||||
|  |     - BUGFIX: Provide more helpful explanation when an I/O error occured | ||||||
|  |     - BUGFIX: Stop enforcing UTF-8 and use system locale instead | ||||||
|  |     - COSMETIC: Redesigned program preferences | ||||||
|  |     - COSMETIC: Updated icons set | ||||||
|  |  | ||||||
|  | * Sun Jul 12 2009 - Christophe DUMEZ <chris@qbittorrent.org> - v1.3.4 | ||||||
|  |     - BUGFIX: Fixed IP filter file parsing on 64bits | ||||||
|  |     - BUGFIX: Suppressed QLayout: Attempting to add QLayout "" to properties "properties" warning message when opening a properties dialog | ||||||
|  |     - BUGFIX: Fixed a little bug in search engine plugins helper file | ||||||
|  |     - BUGFIX: Fixed compilation problems with Qt 4.3 | ||||||
|  |     - BUGFIX: Percentages no longer disapear with default cleanlooks style | ||||||
|  |     - BUGFIX: Cleanly fixed popup menus position in lists (no more workarounds) | ||||||
|  |     - BUGFIX: Fixed memory leak in search engine | ||||||
|  |     - BUGFIX: Torrents with an infinite ratio are no longer affected by ratio_limit set in program preferences | ||||||
|  |     - BUGFIX: Display a ratio of 0.0 if total_upload and total_download are both 0 | ||||||
|  |     - BUGFIX: Remove last separator in top tool bar | ||||||
|  |     - BUGFIX: Tuned lists properties to make sure display is correct | ||||||
|  |     - COSMETIC: Display date as well as time in log window | ||||||
|  |  | ||||||
|  | * Sun Apr 5 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.3.3 | ||||||
|  |     - BUGFIX: Fixed Web UI torrent upload form | ||||||
|  |     - BUGFIX: Fixed unicode support in search engine | ||||||
|  |     - BUGFIX: Fixed search engine bug that prevented a torrent from appearing more than once among all tabs | ||||||
|  |     - LICENSE: Added an exception to the license regarding OpenSSL. | ||||||
|  |     - I18N: Updated Finnish translation | ||||||
|  |  | ||||||
|  | * Sat Mar 7 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.3.2 | ||||||
|  |     - BUGFIX: Fix top toolbar disabling | ||||||
|  |     - BUGFIX: Fix building with Qt 4.5 | ||||||
|  |     - BUGFIX: RSS items read status is now remembered upon restart | ||||||
|  |  | ||||||
|  | * Mon Jan 26 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.3.1 | ||||||
|  |     - BUGFIX: Torrents paused due to an I/O error were displayed as queued | ||||||
|  |     - BUGFIX: qBittorrent now prints backtrace in terminal when segfaulting | ||||||
|  |     - BUGFIX: Fixed files progress display in torrent properties | ||||||
|  |     - BUGFIX: Improved torrent ratio calculation | ||||||
|  |     - BUGFIX: Fixed possible crash when parsing filter file | ||||||
|  |     - BUGFIX: Made some code optimization | ||||||
|  |     - BUGFIX: Fixed download/upload speed decrease problems | ||||||
|  |     - I18N: Updated Finnish, Bulgarian and Greek translations | ||||||
|  |  | ||||||
|  | * Fri Jan 9 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.3.0 | ||||||
|  |     - FEATURE: Based on libtorrent-rasterbar v0.14.2 | ||||||
|  |     - FEATURE: Improved ratio calculation system | ||||||
|  |     - FEATURE: Torrent creation code cleanup | ||||||
|  |     - FEATURE: Allow to set maximum number of active seeds (queueing) | ||||||
|  |     - FEATURE: Now seeds priorities are handled automatically by libtorrent-rasterbar (queueing) | ||||||
|  |     - FEATURE: Code cleanup and optimization (save memory and cpu) | ||||||
|  |     - FEATURE: ETA calculation now relies on average speed over all sessions | ||||||
|  |     - FEATURE: Allow to force rechecking torrents | ||||||
|  |     - FEATURE: Added support for 2 new extensions (uTorrent metadata and smart ban plugin) | ||||||
|  |     - FEATURE: Allow to change the save path of torrents after addition | ||||||
|  |     - FEATURE: Got rid of libmagick++ dependency | ||||||
|  |     - FEATURE: Updated Web interface to MochaUI v0.9.5 | ||||||
|  |     - FEATURE: Added notification in WebUI when qBittorrent is not reachable | ||||||
|  |     - FEATURE: Rewrote folder scanning code (Now uses a filesystem watcher) | ||||||
|  |     - FEATURE: Added torrent deletion from hard drive function in Web UI | ||||||
|  |     - FEATURE: Added queueing priority actions in Web UI | ||||||
|  |     - FEATURE: Display progress using progress bars in Web UI | ||||||
|  |     - BUGFIX: Made usage of fastresume data more reliable | ||||||
|  |     - BUGFIX: qBittorrent shutdown is now faster | ||||||
|  |     - BUGFIX: Fixed several memory leaks | ||||||
|  |     - BUGFIX: WebUI is now working with IE7 | ||||||
|  |     - BUGFIX: Fixed spacing problem in toolbar when toggling its visibility | ||||||
|  |     - BUGFIX: Fixed some compilation and Qt4 warnings | ||||||
|  |     - BUGFIX: Do not use an addition dialog for torrents from folder scanning | ||||||
|  |     - BUGFIX: Catch SIGTERM to exit cleanly (e.g. computer shutdown) | ||||||
|  |     - BUGFIX: Improved proxy support code | ||||||
|  |     - BUGFIX: Fixed systray icon tooltip on Windows | ||||||
|  |     - BUGFIX: Proxy settings are now saved even if disabled | ||||||
|  |  | ||||||
|  | * Sun Nov 9 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.1 | ||||||
|  |     - BUGFIX: Fixed possible crash when deleting a torrent permanently | ||||||
|  |     - BUGFIX: Queued_for_checking torrents were not displayed as checking in seeding list | ||||||
|  |     - BUGFIX: Speed up startup time when having a lot of torrents | ||||||
|  |  | ||||||
|  | * Wed Oct 29th 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.0 | ||||||
|     - FEATURE: Torrent queueing system (with priorities) |     - FEATURE: Torrent queueing system (with priorities) | ||||||
|     - FEATURE: The number of DHT nodes is displayed |     - FEATURE: The number of DHT nodes is displayed | ||||||
|     - FEATURE: RSS can now be disabled from program preferences |     - FEATURE: RSS can now be disabled from program preferences | ||||||
|  |     - FEATURE: Added collapse/expand all buttons in addition and properties dialogs | ||||||
|  |     - FEATURE: Can have different proxies for Bittorrent and search engine | ||||||
|  |     - FEATURE: Allow multiple item selection in Web UI transfer list | ||||||
|  |     - FEATURE: Moved uploads to a separate list in Web UI | ||||||
|  |     - BUGFIX: Totally rewritten Web UI list refresh system (fixed memory leak) | ||||||
|     - BUGFIX: Disable ETA calculation when ETA column is hidden |     - BUGFIX: Disable ETA calculation when ETA column is hidden | ||||||
|     - BUGFIX: Removed "disconnected" connection state, detection was far from perfect |     - BUGFIX: Removed "disconnected" connection state, detection was far from perfect | ||||||
|  |     - BUGFIX: Torrents are no longer starting from scratch when changing default save path (when torrent addition dialog is disabled) | ||||||
|  |     - BUGFIX: Single instance code is now more reliable on Qt >= 4.4 | ||||||
|     - COSMETIC: Transfer speed, ratio, connection status and DHT nodes are displayed in status bar     |     - COSMETIC: Transfer speed, ratio, connection status and DHT nodes are displayed in status bar     | ||||||
|     - COSMETIC: RSS Tab is now hidden as a default |     - COSMETIC: RSS Tab is now hidden as a default | ||||||
|     - COSMETIC: Allow to hide or display top toolbar |     - COSMETIC: Allow to hide or display top toolbar | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						| @@ -17,7 +17,7 @@ Dependencies: | |||||||
| - Qt >= 4.3.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml) | - Qt >= 4.3.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml) | ||||||
|   Qt >= 4.4.0 is advised |   Qt >= 4.4.0 is advised | ||||||
|  |  | ||||||
| - libtorrent-rasterbar by Arvid Norberg (>= v0.13.1 REQUIRED) | - libtorrent-rasterbar by Arvid Norberg (>= v0.14.0 REQUIRED) | ||||||
|     -> http://www.qbittorrent.org/download.php (advised) |     -> http://www.qbittorrent.org/download.php (advised) | ||||||
|     -> http://www.libtorrent.net |     -> http://www.libtorrent.net | ||||||
|     Be careful: another library (the one used by rTorrent) uses a similar name. |     Be careful: another library (the one used by rTorrent) uses a similar name. | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								TODO
									
									
									
									
									
								
							
							
						
						| @@ -1,4 +1,2 @@ | |||||||
| See https://blueprints.launchpad.net/qbittorrent/ | See https://blueprints.launchpad.net/qbittorrent/ | ||||||
|  |  | ||||||
| // in v1.2.0 |  | ||||||
| - Split download and uploads in Web UI (Ishan Ahora) |  | ||||||
|   | |||||||
| @@ -15,6 +15,5 @@ | |||||||
|   <dep type='libcurl'> |   <dep type='libcurl'> | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
|   <dep type='libmagick'/> |  | ||||||
|   <dep type='libzzip'/> |   <dep type='libzzip'/> | ||||||
| </qconf> | </qconf> | ||||||
|   | |||||||
| @@ -1,65 +0,0 @@ | |||||||
| /* |  | ||||||
| -----BEGIN QCMOD----- |  | ||||||
| name: libcommoncpp2 |  | ||||||
| arg: with-libcommoncpp2-inc=[path], Path to libcommoncpp2 include files |  | ||||||
| arg: with-libcommoncpp2-lib=[path], Path to libcommoncpp2 library files |  | ||||||
| -----END QCMOD----- |  | ||||||
| */ |  | ||||||
| class qc_libcommoncpp2 : public ConfObj |  | ||||||
| { |  | ||||||
| public: |  | ||||||
| 	qc_libcommoncpp2(Conf *c) : ConfObj(c) {} |  | ||||||
| 	QString name() const { return "GNU Common C++ library (libcommoncpp2)"; } |  | ||||||
| 	QString shortname() const { return "libcommoncpp2"; } |  | ||||||
| 	bool exec(){ |  | ||||||
|     QString s; |  | ||||||
| 		s = conf->getenv("QC_WITH_LIBCOMMONCPP2_INC"); |  | ||||||
| 		if(!s.isEmpty()) { |  | ||||||
| 			if(!conf->checkHeader(s, "cc++/url.h")) { |  | ||||||
| 				return false; |  | ||||||
|     	} |  | ||||||
| 		}else{ |  | ||||||
| 			QStringList sl; |  | ||||||
| 			sl << "/usr/include"; |  | ||||||
| 			sl << "/usr/local/include"; |  | ||||||
| 			bool found = false; |  | ||||||
| 			foreach(s, sl){ |  | ||||||
| 				if(conf->checkHeader(s, "cc++/url.h")){ |  | ||||||
| 					found = true; |  | ||||||
| 					break; |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 			if(!found) { |  | ||||||
| 				return false; |  | ||||||
|       } |  | ||||||
| 		} |  | ||||||
| 		conf->addIncludePath(s); |  | ||||||
|  |  | ||||||
| 		s = conf->getenv("QC_WITH_LIBCOMMONCPP2_LIB"); |  | ||||||
| 		if(!s.isEmpty()) { |  | ||||||
| 			if(!QFile::exists(s+QString("/libccext2.so"))) |  | ||||||
| 		    return false; |  | ||||||
| 			if(!QFile::exists(s+QString("/libccgnu2.so"))) |  | ||||||
| 				return false; |  | ||||||
|     	conf->addLib(QString("-L") + s); |  | ||||||
| 		}else{ |  | ||||||
| 			QStringList sl; |  | ||||||
| 			sl << "/usr/lib/"; |  | ||||||
| 			sl << "/usr/lib64/"; |  | ||||||
| 			sl << "/usr/local/lib/"; |  | ||||||
| 			sl << "/usr/local/lib64/"; |  | ||||||
| 			bool found = false; |  | ||||||
| 			foreach(s, sl){ |  | ||||||
| 				if(QFile::exists(s+QString("libccext2.so"))){ |  | ||||||
| 				  if(QFile::exists(s+QString("libccgnu2.so"))){ |  | ||||||
| 						found = true; |  | ||||||
| 						break; |  | ||||||
| 					} |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 			if(!found) return false; |  | ||||||
| 			conf->addLib(QString("-L") + s); |  | ||||||
| 		} |  | ||||||
| 		return true; |  | ||||||
| 	} |  | ||||||
| }; |  | ||||||
| @@ -64,14 +64,11 @@ public: | |||||||
|                          	return false; |                          	return false; | ||||||
| 		} | 		} | ||||||
| 		conf->addLib(QString("-L") + s); | 		conf->addLib(QString("-L") + s); | ||||||
| 		QProcess magickConfig; | 		QString out = ""; | ||||||
| 		QStringList params; | 		QStringList params; | ||||||
| 		params << "--libs"; |                 params << "--libs"; | ||||||
| 		magickConfig.start("Magick++-config", params, QIODevice::ReadOnly); | 		qconf->doCommand("Magick++-config", params, &out); | ||||||
| 		magickConfig.waitForStarted(); | 		out = out.replace("\n", ""); | ||||||
| 		magickConfig.waitForFinished(); |  | ||||||
| 		QByteArray result = magickConfig.readAll(); |  | ||||||
| 		result = result.replace("\n", ""); |  | ||||||
| 		conf->addLib(result.data()); | 		conf->addLib(result.data()); | ||||||
| 		conf->addDefine("HAVE_MAGICK"); | 		conf->addDefine("HAVE_MAGICK"); | ||||||
| 		return true; | 		return true; | ||||||
|   | |||||||
| @@ -1,70 +1,29 @@ | |||||||
| /* | /* | ||||||
| -----BEGIN QCMOD----- | -----BEGIN QCMOD----- | ||||||
| name: libtorrent-rasterbar | name: libtorrent-rasterbar | ||||||
| arg: with-libtorrent-inc=[path], Path to libtorrent-rasterbar include files |  | ||||||
| arg: with-libtorrent-lib=[path], Path to libtorrent-rasterbar library files |  | ||||||
| arg: with-libtorrent-static-lib=[path], Path to libtorrent-rasterbar .a file |  | ||||||
| -----END QCMOD----- | -----END QCMOD----- | ||||||
| */ | */ | ||||||
|  | // see  Conf::findPkgConfig | ||||||
| class qc_libtorrent_rasterbar : public ConfObj | class qc_libtorrent_rasterbar : public ConfObj | ||||||
| { | { | ||||||
| public: | public: | ||||||
| 	qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {} | 	qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {} | ||||||
| 	QString name() const { return "libtorrent-rasterbar >= 0.13"; } | 	QString name() const { return "libtorrent-rasterbar >= 0.14.0 (>= 0.14.4 advised)"; } | ||||||
| 	QString shortname() const { return "libtorrent-rasterbar"; } | 	QString shortname() const { return "libtorrent-rasterbar"; } | ||||||
| 	bool exec(){ | 	bool exec(){ | ||||||
|         	QString s; | 		QStringList incs; | ||||||
| 		s = conf->getenv("QC_WITH_LIBTORRENT_INC"); | 		QString req_ver = "0.14.0"; | ||||||
| 		if(!s.isEmpty()) { | 		QString adv_ver = "0.14.4"; | ||||||
| 			if(!conf->checkHeader(s, "libtorrent/lsd.hpp")) { | 		QString version, libs, other; | ||||||
| 				return false; | 		VersionMode mode = VersionMin; | ||||||
|       			} | 		if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other)) | ||||||
| 		}else{ | 			return false; | ||||||
| 			QStringList sl; | 		for(int n = 0; n < incs.count(); ++n) | ||||||
| 			sl << "/usr/include"; | 			conf->addIncludePath(incs[n]); | ||||||
| 			sl << "/usr/local/include"; | 		if(!libs.isEmpty()) | ||||||
| 			bool found = false; | 			conf->addLib(libs); | ||||||
| 			foreach(s, sl){ | 		if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other)) | ||||||
| 				if(conf->checkHeader(s, "libtorrent/lsd.hpp")){ | 			printf("\nWarning: libtorrent-rasterbar v%s was detected. Although it will compile and run, you will probably experience some bugs. Please consider updating to v%s!\n", version.toUtf8().data(), adv_ver.toUtf8().data()); | ||||||
| 					found = true; |  | ||||||
| 					break; |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 			if(!found) { |  | ||||||
| 				return false; |  | ||||||
|           		} |  | ||||||
| 		} |  | ||||||
| 		conf->addIncludePath(s); |  | ||||||
| 		conf->addIncludePath(s+QDir::separator()+"libtorrent"); |  | ||||||
|  |  | ||||||
| 		s = conf->getenv("QC_WITH_LIBTORRENT_STATIC_LIB"); |  | ||||||
| 		if(!s.isEmpty() && QFile::exists(s) && s.endsWith(".a")){ |  | ||||||
| 			conf->addLib(s); |  | ||||||
| 			return true; |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		s = conf->getenv("QC_WITH_LIBTORRENT_LIB"); |  | ||||||
| 		if(!s.isEmpty()) { |  | ||||||
|       			if(!conf->checkLibrary(s, "torrent-rasterbar")) { |  | ||||||
| 			        return false; |  | ||||||
| 			} |  | ||||||
|       			conf->addLib(QString("-L") + s); |  | ||||||
| 		}else{ |  | ||||||
| 			QStringList sl; |  | ||||||
| 			sl << "/usr/lib/"; |  | ||||||
| 			sl << "/usr/lib64/"; |  | ||||||
| 			sl << "/usr/local/lib/"; |  | ||||||
| 			sl << "/usr/local/lib64/"; |  | ||||||
| 			bool found = false; |  | ||||||
| 			foreach(s, sl){ |  | ||||||
| 				if(conf->checkLibrary(s, "torrent-rasterbar")){ |  | ||||||
| 					found = true; |  | ||||||
| 					break; |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 			if(!found) return false; |  | ||||||
| 			conf->addLib(QString("-L") + s); |  | ||||||
| 		} |  | ||||||
| 		return true; | 		return true; | ||||||
| 	} | 	} | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -16,6 +16,15 @@ | |||||||
|  * along with this program; if not, write to the Free Software |  * along with this program; if not, write to the Free Software | ||||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||||
|  * |  * | ||||||
|  |  * In addition, as a special exception, the copyright holders give permission to | ||||||
|  |  * link this program with the OpenSSL project's "OpenSSL" library (or with | ||||||
|  |  * modified versions of it that use the same license as the "OpenSSL" library), | ||||||
|  |  * and distribute the linked executables. You must obey the GNU General Public | ||||||
|  |  * License in all respects for all of the code used other than "OpenSSL".  If you | ||||||
|  |  * modify file(s), you may extend this exception to your version of the file(s), | ||||||
|  |  * but you are not obligated to do so. If you do not wish to do so, delete this | ||||||
|  |  * exception statement from your version. | ||||||
|  |  * | ||||||
|  * Contact : chris@qbittorrent.org |  * Contact : chris@qbittorrent.org | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| @@ -72,7 +81,10 @@ class DLListDelegate: public QItemDelegate { | |||||||
|         case RATIO:{ |         case RATIO:{ | ||||||
|           QItemDelegate::drawBackground(painter, opt, index); |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|           double ratio = index.data().toDouble(); |           double ratio = index.data().toDouble(); | ||||||
|           QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(ratio, 'f', 1))); |           if(ratio > 100.) | ||||||
|  |               QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::fromUtf8("∞")); | ||||||
|  |           else | ||||||
|  |               QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(ratio, 'f', 1))); | ||||||
|           break; |           break; | ||||||
|         } |         } | ||||||
|         case PROGRESS:{ |         case PROGRESS:{ | ||||||
|   | |||||||
| @@ -16,6 +16,15 @@ | |||||||
|  * along with this program; if not, write to the Free Software |  * along with this program; if not, write to the Free Software | ||||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||||
|  * |  * | ||||||
|  |  * In addition, as a special exception, the copyright holders give permission to | ||||||
|  |  * link this program with the OpenSSL project's "OpenSSL" library (or with | ||||||
|  |  * modified versions of it that use the same license as the "OpenSSL" library), | ||||||
|  |  * and distribute the linked executables. You must obey the GNU General Public | ||||||
|  |  * License in all respects for all of the code used other than "OpenSSL".  If you | ||||||
|  |  * modify file(s), you may extend this exception to your version of the file(s), | ||||||
|  |  * but you are not obligated to do so. If you do not wish to do so, delete this | ||||||
|  |  * exception statement from your version. | ||||||
|  |  * | ||||||
|  * Contact : chris@qbittorrent.org |  * Contact : chris@qbittorrent.org | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| @@ -35,10 +44,13 @@ | |||||||
| #define F_NAME 0 | #define F_NAME 0 | ||||||
| #define F_SIZE 1 | #define F_SIZE 1 | ||||||
| #define F_UPSPEED 2 | #define F_UPSPEED 2 | ||||||
| #define F_LEECH 3 | #define F_SWARM 3 | ||||||
| #define F_RATIO 4 | #define F_PEERS 4 | ||||||
| #define F_PRIORITY 5 | #define F_UPLOAD 5 | ||||||
| #define F_HASH 6 | #define F_RATIO 6 | ||||||
|  | #define F_HASH 7 | ||||||
|  |  | ||||||
|  | #define MAX_RATIO 100. | ||||||
|  |  | ||||||
| class FinishedListDelegate: public QItemDelegate { | class FinishedListDelegate: public QItemDelegate { | ||||||
|   Q_OBJECT |   Q_OBJECT | ||||||
| @@ -52,6 +64,7 @@ class FinishedListDelegate: public QItemDelegate { | |||||||
|       QStyleOptionViewItemV2 opt = QItemDelegate::setOptions(index, option); |       QStyleOptionViewItemV2 opt = QItemDelegate::setOptions(index, option); | ||||||
|       switch(index.column()){ |       switch(index.column()){ | ||||||
|         case F_SIZE: |         case F_SIZE: | ||||||
|  |         case F_UPLOAD: | ||||||
|           QItemDelegate::drawBackground(painter, opt, index); |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|           QItemDelegate::drawDisplay(painter, opt, option.rect, misc::friendlyUnit(index.data().toLongLong())); |           QItemDelegate::drawDisplay(painter, opt, option.rect, misc::friendlyUnit(index.data().toLongLong())); | ||||||
|           break; |           break; | ||||||
| @@ -64,7 +77,10 @@ class FinishedListDelegate: public QItemDelegate { | |||||||
|         case F_RATIO:{ |         case F_RATIO:{ | ||||||
|           QItemDelegate::drawBackground(painter, opt, index); |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|           double ratio = index.data().toDouble(); |           double ratio = index.data().toDouble(); | ||||||
|           QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(ratio, 'f', 1))); |           if(ratio > MAX_RATIO) | ||||||
|  |             QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::fromUtf8("∞")); | ||||||
|  |           else | ||||||
|  |             QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(ratio, 'f', 1))); | ||||||
|           break; |           break; | ||||||
|         } |         } | ||||||
|         default: |         default: | ||||||
|   | |||||||
| @@ -16,6 +16,15 @@ | |||||||
|  * along with this program; if not, write to the Free Software |  * along with this program; if not, write to the Free Software | ||||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||||
|  * |  * | ||||||
|  |  * In addition, as a special exception, the copyright holders give permission to | ||||||
|  |  * link this program with the OpenSSL project's "OpenSSL" library (or with | ||||||
|  |  * modified versions of it that use the same license as the "OpenSSL" library), | ||||||
|  |  * and distribute the linked executables. You must obey the GNU General Public | ||||||
|  |  * License in all respects for all of the code used other than "OpenSSL".  If you | ||||||
|  |  * modify file(s), you may extend this exception to your version of the file(s), | ||||||
|  |  * but you are not obligated to do so. If you do not wish to do so, delete this | ||||||
|  |  * exception statement from your version. | ||||||
|  |  * | ||||||
|  * Contact : chris@qbittorrent.org |  * Contact : chris@qbittorrent.org | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| @@ -60,31 +69,30 @@ class FinishedTorrents : public QWidget, public Ui::seeding { | |||||||
|     void displayFinishedHoSMenu(const QPoint&); |     void displayFinishedHoSMenu(const QPoint&); | ||||||
|     void setRowColor(int row, QString color); |     void setRowColor(int row, QString color); | ||||||
|     void saveColWidthFinishedList() const; |     void saveColWidthFinishedList() const; | ||||||
|     void loadLastSortedColumn(); |  | ||||||
|     void toggleFinishedListSortOrder(int index); |     void toggleFinishedListSortOrder(int index); | ||||||
|     void sortFinishedList(int index=-1, Qt::SortOrder sortOrder=Qt::AscendingOrder); |     void sortFinishedList(int index=-1, Qt::SortOrder sortOrder=Qt::AscendingOrder); | ||||||
|     void sortFinishedListFloat(int index, Qt::SortOrder sortOrder); |     void sortFinishedListFloat(int index, Qt::SortOrder sortOrder); | ||||||
|     void sortFinishedListString(int index, Qt::SortOrder sortOrder); |     void sortFinishedListString(int index, Qt::SortOrder sortOrder); | ||||||
|     void updateFileSize(QString hash); |     void updateFileSize(QString hash); | ||||||
|     void torrentAdded(QTorrentHandle& h); |  | ||||||
|     void on_actionSet_upload_limit_triggered(); |     void on_actionSet_upload_limit_triggered(); | ||||||
|     void notifyTorrentDoubleClicked(const QModelIndex& index); |     void notifyTorrentDoubleClicked(const QModelIndex& index); | ||||||
|     void hideOrShowColumnName(); |     void hideOrShowColumnName(); | ||||||
|     void hideOrShowColumnSize(); |     void hideOrShowColumnSize(); | ||||||
|     void hideOrShowColumnUpSpeed(); |     void hideOrShowColumnUpSpeed(); | ||||||
|     void hideOrShowColumnLeechers(); |     void hideOrShowColumnSwarm(); | ||||||
|  |     void hideOrShowColumnPeers(); | ||||||
|  |     void hideOrShowColumnUpload(); | ||||||
|     void hideOrShowColumnRatio(); |     void hideOrShowColumnRatio(); | ||||||
|     void hideOrShowColumnPriority(); |     void forceRecheck(); | ||||||
|  |  | ||||||
|   public slots: |   public slots: | ||||||
|     void addTorrent(QString hash); |     void addTorrent(QString hash); | ||||||
|     void updateFinishedList(); |     void updateTorrent(QTorrentHandle h); | ||||||
|     void pauseTorrent(QString hash); |     void pauseTorrent(QString hash); | ||||||
|     void resumeTorrent(QString hash); |  | ||||||
|     void propertiesSelection(); |     void propertiesSelection(); | ||||||
|     void deleteTorrent(QString hash); |     void deleteTorrent(QString hash); | ||||||
|     void showPropertiesFromHash(QString hash); |     void showPropertiesFromHash(QString hash); | ||||||
|     void hidePriorityColumn(bool hide); |     void loadLastSortedColumn(); | ||||||
|  |  | ||||||
|   signals: |   signals: | ||||||
|     void torrentMovedFromFinishedList(QString); |     void torrentMovedFromFinishedList(QString); | ||||||
|   | |||||||
							
								
								
									
										612
									
								
								src/GUI.cpp
									
									
									
									
									
								
							
							
						
						
							
								
								
									
										26
									
								
								src/GUI.h
									
									
									
									
									
								
							
							
						
						| @@ -16,6 +16,15 @@ | |||||||
|  * along with this program; if not, write to the Free Software |  * along with this program; if not, write to the Free Software | ||||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. |  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||||
|  * |  * | ||||||
|  |  * In addition, as a special exception, the copyright holders give permission to | ||||||
|  |  * link this program with the OpenSSL project's "OpenSSL" library (or with | ||||||
|  |  * modified versions of it that use the same license as the "OpenSSL" library), | ||||||
|  |  * and distribute the linked executables. You must obey the GNU General Public | ||||||
|  |  * License in all respects for all of the code used other than "OpenSSL".  If you | ||||||
|  |  * modify file(s), you may extend this exception to your version of the file(s), | ||||||
|  |  * but you are not obligated to do so. If you do not wish to do so, delete this | ||||||
|  |  * exception statement from your version. | ||||||
|  |  * | ||||||
|  * Contact : chris@qbittorrent.org |  * Contact : chris@qbittorrent.org | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| @@ -61,10 +70,11 @@ class GUI : public QMainWindow, private Ui::MainWindow{ | |||||||
|     // Bittorrent |     // Bittorrent | ||||||
|     bittorrent *BTSession; |     bittorrent *BTSession; | ||||||
|     QTimer *checkConnect; |     QTimer *checkConnect; | ||||||
|  |     QTimer *scrapeTimer; | ||||||
|     QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; |     QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; | ||||||
|     // GUI related |     // GUI related | ||||||
|     QTabWidget *tabs; |     QTabWidget *tabs; | ||||||
|     options_imp *options; |     QPointer<options_imp> options; | ||||||
|     QSystemTrayIcon *myTrayIcon; |     QSystemTrayIcon *myTrayIcon; | ||||||
|     QPointer<QTimer> systrayCreator; |     QPointer<QTimer> systrayCreator; | ||||||
|     QMenu *myTrayIconMenu; |     QMenu *myTrayIconMenu; | ||||||
| @@ -128,11 +138,9 @@ class GUI : public QMainWindow, private Ui::MainWindow{ | |||||||
|     void readSettings(); |     void readSettings(); | ||||||
|     void on_actionExit_triggered(); |     void on_actionExit_triggered(); | ||||||
|     void createTrayIcon(); |     void createTrayIcon(); | ||||||
|     void updateUnfinishedTorrentNumberCalc(); |  | ||||||
|     void updateFinishedTorrentNumberCalc(); |  | ||||||
|     void updateUnfinishedTorrentNumber(unsigned int nb); |     void updateUnfinishedTorrentNumber(unsigned int nb); | ||||||
|     void updateFinishedTorrentNumber(unsigned int nb); |     void updateFinishedTorrentNumber(unsigned int nb); | ||||||
|     void fullDiskError(QTorrentHandle& h) const; |     void fullDiskError(QTorrentHandle& h, QString msg) const; | ||||||
|     void handleDownloadFromUrlFailure(QString, QString) const; |     void handleDownloadFromUrlFailure(QString, QString) const; | ||||||
|     void createSystrayDelayed(); |     void createSystrayDelayed(); | ||||||
|     // Keyboard shortcuts |     // Keyboard shortcuts | ||||||
| @@ -158,16 +166,19 @@ class GUI : public QMainWindow, private Ui::MainWindow{ | |||||||
|     void processParams(const QStringList& params); |     void processParams(const QStringList& params); | ||||||
|     void addTorrent(QString path); |     void addTorrent(QString path); | ||||||
|     void addUnauthenticatedTracker(QPair<QTorrentHandle,QString> tracker); |     void addUnauthenticatedTracker(QPair<QTorrentHandle,QString> tracker); | ||||||
|     void processScannedFiles(const QStringList& params); |  | ||||||
|     void processDownloadedFiles(QString path, QString url); |     void processDownloadedFiles(QString path, QString url); | ||||||
|     void downloadFromURLList(const QStringList& urls); |     void downloadFromURLList(const QStringList& urls); | ||||||
|     void deleteTorrent(QString hash); |     void deleteTorrent(QString hash); | ||||||
|     void finishedTorrent(QTorrentHandle& h) const; |     void finishedTorrent(QTorrentHandle& h) const; | ||||||
|     void updateLists(); |     void addedTorrent(QTorrentHandle& h) const; | ||||||
|  |     void checkedTorrent(QTorrentHandle& h) const; | ||||||
|  |     void pausedTorrent(QTorrentHandle& h) const; | ||||||
|  |     void resumedTorrent(QTorrentHandle& h) const; | ||||||
|  |     void updateLists(bool force=false); | ||||||
|     bool initWebUi(QString username, QString password, int port); |     bool initWebUi(QString username, QString password, int port); | ||||||
|     void pauseTorrent(QString hash); |  | ||||||
|     void on_actionIncreasePriority_triggered(); |     void on_actionIncreasePriority_triggered(); | ||||||
|     void on_actionDecreasePriority_triggered(); |     void on_actionDecreasePriority_triggered(); | ||||||
|  |     void scrapeTrackers(); | ||||||
|     // Options slots |     // Options slots | ||||||
|     void on_actionOptions_triggered(); |     void on_actionOptions_triggered(); | ||||||
|     void OptionsSaved(bool deleteOptions); |     void OptionsSaved(bool deleteOptions); | ||||||
| @@ -184,6 +195,7 @@ class GUI : public QMainWindow, private Ui::MainWindow{ | |||||||
|  |  | ||||||
|   protected: |   protected: | ||||||
|     void closeEvent(QCloseEvent *); |     void closeEvent(QCloseEvent *); | ||||||
|  |     void showEvent(QShowEvent *); | ||||||
|     bool event(QEvent * event); |     bool event(QEvent * event); | ||||||
|     void displayRSSTab(bool enable); |     void displayRSSTab(bool enable); | ||||||
|  |  | ||||||
|   | |||||||
| Before Width: | Height: | Size: 1.5 KiB | 
| Before Width: | Height: | Size: 1.4 KiB | 
| Before Width: | Height: | Size: 1.4 KiB | 
| Before Width: | Height: | Size: 1.4 KiB | 
| Before Width: | Height: | Size: 820 B | 
| Before Width: | Height: | Size: 821 B | 
| Before Width: | Height: | Size: 1.2 KiB | 
| Before Width: | Height: | Size: 998 B | 
| Before Width: | Height: | Size: 1.3 KiB | 
| Before Width: | Height: | Size: 1.2 KiB | 
| Before Width: | Height: | Size: 846 B | 
| Before Width: | Height: | Size: 532 B | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/browse.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 796 B | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/bt_settings.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/bug.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 733 B | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/oxygen/button_cancel.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.3 KiB |