Compare commits
	
		
			348 Commits
		
	
	
		
			release-3.
			...
			v3_0_x
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 89e21867f0 | ||
|   | 6eed5b8650 | ||
|   | f13581b86e | ||
|   | 32553f5361 | ||
|   | 59591e8f02 | ||
|   | 8cb3439422 | ||
|   | 6eb2315f9a | ||
|   | 6f5bc824e3 | ||
|   | f56def1508 | ||
|   | e3ea8b0213 | ||
|   | a7056f5a66 | ||
|   | 601cb8bcfe | ||
|   | a7bf28b78f | ||
|   | afd7867151 | ||
|   | f490ea9583 | ||
|   | eb4a61ac02 | ||
|   | d0aabafb72 | ||
|   | cf301b865c | ||
|   | af0384b4ab | ||
|   | bd52ae74e6 | ||
|   | f59bad7aba | ||
|   | 2c088df20b | ||
|   | d1347417db | ||
|   | 7aab902a55 | ||
|   | 7f66b0c80e | ||
|   | 572098bab6 | ||
|   | f71c0f0a7e | ||
|   | a069394d8c | ||
|   | 74a852e8a6 | ||
|   | 8da508d107 | ||
|   | 94cf8ca5aa | ||
|   | a85b16bf14 | ||
|   | 9120afa123 | ||
|   | dabb47efb1 | ||
|   | c9e71c3e19 | ||
|   | 9df25098b3 | ||
|   | af29f6a42b | ||
|   | 3afd01d617 | ||
|   | ace4989763 | ||
|   | a09b10e3ec | ||
|   | 9b16be2bf4 | ||
|   | c20dfe22a5 | ||
|   | 7675c85839 | ||
|   | 95cce1d678 | ||
|   | b0ed148c4c | ||
|   | 67416c595a | ||
|   | 037598a68a | ||
|   | cb59cd21d6 | ||
|   | 874ab523e1 | ||
|   | 7b0a13750e | ||
|   | 1eed7cde3c | ||
|   | 512516225b | ||
|   | 1ef35da8eb | ||
|   | f334286a39 | ||
|   | a7daedb9b7 | ||
|   | 47564a6774 | ||
|   | 672e2e4a43 | ||
|   | 1857960775 | ||
|   | 4db41da967 | ||
|   | 3977583329 | ||
|   | abcdada850 | ||
|   | ae5618c070 | ||
|   | 55572d34b6 | ||
|   | 3d71b071a6 | ||
|   | 2f2b0afa12 | ||
|   | 96c7fc8e48 | ||
|   | 6935b8a7b6 | ||
|   | f4fd2b196f | ||
|   | 2797964947 | ||
|   | 9e7a958421 | ||
|   | 12d51b86db | ||
|   | 16d8073367 | ||
|   | 0725a97586 | ||
|   | 83e738ab46 | ||
|   | e5b14995c3 | ||
|   | 0e15ffb2a4 | ||
|   | 5022cce568 | ||
|   | 0c0c81bc52 | ||
|   | c0394ce5a9 | ||
|   | b2b7bdb2bb | ||
|   | 723f909f3b | ||
|   | eb38058c99 | ||
|   | f43565f0f2 | ||
|   | 98d5cca3d6 | ||
|   | d1012a1b15 | ||
|   | 573edb9bce | ||
|   | a04af57301 | ||
|   | 1ec2f8278a | ||
|   | c137e2eb0b | ||
|   | 0e59642d99 | ||
|   | 8d033ac0e7 | ||
|   | 578a43f445 | ||
|   | d8367a15fa | ||
|   | 5b6d873fec | ||
|   | 76b6d4ee2f | ||
|   | 0996bd1165 | ||
|   | 67a7f00e5e | ||
|   | 60c6a8c279 | ||
|   | 0c71d3f46d | ||
|   | 082dce0a66 | ||
|   | 29603d1902 | ||
|   | 8f12cfc817 | ||
|   | 933b2817ce | ||
|   | df86fbb1d7 | ||
|   | b1aa89fa21 | ||
|   | be739bb22d | ||
|   | d095d7fc17 | ||
|   | ae3eda2c7e | ||
|   | 876216972d | ||
|   | fea51f6b60 | ||
|   | 30db37605a | ||
|   | 2e2a5c1fb6 | ||
|   | 5056faed92 | ||
|   | a27c5efbb5 | ||
|   | b7d7bb3687 | ||
|   | 6550c4f31e | ||
|   | 4a05e100b7 | ||
|   | 5dc3f3bf3e | ||
|   | bd2de9b0dc | ||
|   | c01a9d5a80 | ||
|   | 52b1cdce6f | ||
|   | 731963ef31 | ||
|   | 43f5f81410 | ||
|   | 04ff48fa0b | ||
|   | f051228666 | ||
|   | 84500fdd0c | ||
|   | 55259ff3ba | ||
|   | da5b49fe5a | ||
|   | 89bc0fb3e3 | ||
|   | c86bfe53d0 | ||
|   | dd177c03e6 | ||
|   | 6615d4987b | ||
|   | c6e0facc0b | ||
|   | c6845781c7 | ||
|   | 5decf71772 | ||
|   | b7f313a35c | ||
|   | 8c14c7926f | ||
|   | ca6ec01f1f | ||
|   | 2c42ab7544 | ||
|   | 2dbbfc1031 | ||
|   | 3762401cd9 | ||
|   | 65c0f3f041 | ||
|   | 7ab877c95e | ||
|   | 7b658a52dd | ||
|   | 3705cb8067 | ||
|   | 8b4be9bef6 | ||
|   | 38bef752dc | ||
|   | a61a84d419 | ||
|   | 553abb6442 | ||
|   | 14419c190e | ||
|   | 4e6ab18446 | ||
|   | fdeec686bf | ||
|   | 25e4f562e7 | ||
|   | d86baf1ed8 | ||
|   | 8112405498 | ||
|   | 7f73eca01d | ||
|   | 9951017f8b | ||
|   | 57bbaeab06 | ||
|   | 52fefd3dd6 | ||
|   | c1cddd2f7a | ||
|   | caabe526ca | ||
|   | 19475f5abb | ||
|   | dca36a4817 | ||
|   | e38ef96c94 | ||
|   | 43aff3885d | ||
|   | 4b4d52d8d3 | ||
|   | 735247f41f | ||
|   | 422d0c9210 | ||
|   | 6ea90c9741 | ||
|   | c2bbb5b71a | ||
|   | a2656670f7 | ||
|   | ae2781b4c8 | ||
|   | 65a81f4fca | ||
|   | e025b2aa10 | ||
|   | 9399f06db9 | ||
|   | 2e6370084a | ||
|   | adc478a8dc | ||
|   | 247c9a85e2 | ||
|   | 40fc98d354 | ||
|   | 5797d86c05 | ||
|   | 62de16c56e | ||
|   | d89f2b0783 | ||
|   | d6b2131a91 | ||
|   | b085fc12d0 | ||
|   | 0da431b7a3 | ||
|   | 3e18308301 | ||
|   | 47c7ffba99 | ||
|   | 42b1dffbb9 | ||
|   | 73ebe7e1fb | ||
|   | c9c3589946 | ||
|   | 62596ab533 | ||
|   | 0be1c661aa | ||
|   | eb10a80c3c | ||
|   | 3679c79b5c | ||
|   | a0816d1ec6 | ||
|   | 175ac42b43 | ||
|   | d39874551c | ||
|   | 16402f75cf | ||
|   | aacea44d41 | ||
|   | f2a90520d7 | ||
|   | 34d25006f4 | ||
|   | e382fb1bec | ||
|   | ba9e3558a2 | ||
|   | f6514b4e7d | ||
|   | fe7ffdd413 | ||
|   | 8d1a4cb40a | ||
|   | ad3f4842f8 | ||
|   | 944fc5cf38 | ||
|   | 026c065ebc | ||
|   | 00ac784a4d | ||
|   | 7d99223547 | ||
|   | 65a338b5c2 | ||
|   | b0fd6ac756 | ||
|   | c268ca1278 | ||
|   | 13e3141dfb | ||
|   | 70fbd61758 | ||
|   | db638319c7 | ||
|   | 8d36a03f68 | ||
|   | 2b8dc3df18 | ||
|   | 11c5172588 | ||
|   | 43f55f5d3c | ||
|   | 153ebe2b77 | ||
|   | 70d11217de | ||
|   | 82beff5527 | ||
|   | 2e4f0876b0 | ||
|   | 072a72316f | ||
|   | d199482205 | ||
|   | eae7953061 | ||
|   | d88d4e9165 | ||
|   | cea36bc756 | ||
|   | c517444258 | ||
|   | a109274d1f | ||
|   | 490cb9dfdb | ||
|   | ab748166d5 | ||
|   | a796df9019 | ||
|   | 85abc98759 | ||
|   | 041540de6b | ||
|   | 72a06ad176 | ||
|   | eea69630fb | ||
|   | 19846758d8 | ||
|   | 7532fcfd3c | ||
|   | 616575911f | ||
|   | 227a1f6532 | ||
|   | 2c7186a381 | ||
|   | b4775b9d29 | ||
|   | ad8d7e3373 | ||
|   | b5e7443ae3 | ||
|   | 5a33c0d9ba | ||
|   | 7064ac994b | ||
|   | 3c05e660b3 | ||
|   | ed54c5f7ac | ||
|   | 63d6dd3735 | ||
|   | 02d56fd026 | ||
|   | d4c9da6475 | ||
|   | 99f126d0b6 | ||
|   | 8110d0eb01 | ||
|   | 90a2021948 | ||
|   | 7bfd0e058b | ||
|   | 6dcfe5b215 | ||
|   | 7daeb0297d | ||
|   | 76597fa080 | ||
|   | 14908f3fc8 | ||
|   | 3269cdfa70 | ||
|   | 5f0e3e3443 | ||
|   | fcd37dcbb4 | ||
|   | 528759fdaa | ||
|   | cfe1235b57 | ||
|   | e5d5f84ae7 | ||
|   | bbda5c4f44 | ||
|   | 9605192834 | ||
|   | 4c6e526e6c | ||
|   | e43fa17429 | ||
|   | c5dd14788a | ||
|   | 334ba32d69 | ||
|   | 8ba1941ab9 | ||
|   | ea85532cc2 | ||
|   | d3ee2e66af | ||
|   | 4ac917ef66 | ||
|   | 41660385d7 | ||
|   | e5ae8e5ac9 | ||
|   | 7fb87660ac | ||
|   | 6ea7b5b1d0 | ||
|   | b624ad312b | ||
|   | b64f4081cf | ||
|   | bd9b153e9b | ||
|   | 32ca66f234 | ||
|   | 753e9181fe | ||
|   | 9546a73182 | ||
|   | c0ee99c553 | ||
|   | 50976b8dc2 | ||
|   | 6a312461a1 | ||
|   | 3fe09bde12 | ||
|   | f851b18b80 | ||
|   | ced29ced1b | ||
|   | 5023b1ab74 | ||
|   | c2ef78de8d | ||
|   | 6fbe452b55 | ||
|   | 51c4a0d8d0 | ||
|   | b191a977af | ||
|   | 61858814ee | ||
|   | 365387f092 | ||
|   | df295d96c2 | ||
|   | a069f806d9 | ||
|   | 4638a9e6ee | ||
|   | af790e40f8 | ||
|   | 76fd5d3eb4 | ||
|   | dc8a8fbc06 | ||
|   | 30e0cc20c8 | ||
|   | 63dcb81384 | ||
|   | ce391ad328 | ||
|   | 7b908c7adf | ||
|   | 0d26d734b3 | ||
|   | f836c40fc4 | ||
|   | 21fe7f2ca6 | ||
|   | da85a57f83 | ||
|   | e35664b188 | ||
|   | 2fc350b265 | ||
|   | 83bcd6a2d7 | ||
|   | edcfa4df12 | ||
|   | 12a83e1aec | ||
|   | 7d50a8b28c | ||
|   | 232e112d84 | ||
|   | 5b1ee883b4 | ||
|   | b07fceec65 | ||
|   | 4c9cf6c773 | ||
|   | 164f37e961 | ||
|   | 093fb303f3 | ||
|   | f3d5039e33 | ||
|   | 007c307388 | ||
|   | 4079689f32 | ||
|   | 2b3d6926c8 | ||
|   | 14b3414e9d | ||
|   | 73254962f1 | ||
|   | 74f042516b | ||
|   | 8c0853248c | ||
|   | 80ea0a67b5 | ||
|   | 6d2b51203c | ||
|   | 8ac82156b3 | ||
|   | c1806b099a | ||
|   | 1046c816bf | ||
|   | cfbb5ecde5 | ||
|   | afdec02674 | ||
|   | 927e6bc6cc | ||
|   | e862d3332c | ||
|   | 699144a83d | ||
|   | 1792f44bfa | ||
|   | 64e4095ef1 | ||
|   | 1d1ffcec7c | 
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -1,6 +1,6 @@ | ||||
| src/geoip/GeoIP.dat | ||||
| src/qbittorrent | ||||
| qbittorrent.pro.user* | ||||
| qbittorrent.pro.user | ||||
| conf.pri | ||||
| Makefile | ||||
| *.pyc | ||||
| @@ -12,4 +12,3 @@ moc_*.cpp | ||||
| qrc_*.cpp | ||||
| ui_*.h | ||||
| *.moc | ||||
| src/lang/qbittorrent_*.qm | ||||
|   | ||||
							
								
								
									
										18
									
								
								.tx/config
									
									
									
									
									
								
							
							
						
						| @@ -1,18 +0,0 @@ | ||||
| [main] | ||||
| host = https://www.transifex.com | ||||
|  | ||||
| [qbittorrent.qbittorrent_v3_1_x] | ||||
| file_filter = src/lang/qbittorrent_<lang>.ts | ||||
| source_file = src/lang/qbittorrent_en.ts | ||||
| source_lang = en | ||||
| type = QT | ||||
| minimum_perc = 23 | ||||
| mode = developer | ||||
|  | ||||
|  | ||||
| [qbittorrent.qbittorrentdesktop_master] | ||||
| source_file = src/Icons/qBittorrent.desktop | ||||
| source_lang = en | ||||
| type = DESKTOP | ||||
| minimum_perc = 23 | ||||
| mode = developer | ||||
							
								
								
									
										30
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						| @@ -79,29 +79,27 @@ Images Authors: | ||||
|  | ||||
| Translations authors: | ||||
| * files: src/lang/*.ts | ||||
| * file: src/Icons/qBittorrent.desktop | ||||
|   copyright: | ||||
|   - Arabic: SDERAWI (abz8868@msn.com), sn51234 (nesseyan@gmail.com) and  Ibrahim Saed ibraheem_alex(Transifex) | ||||
|   - Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com) | ||||
|   - Armenian: Hrant Ohanyan (hrantohanyan@mail.am) | ||||
|   - Basque: Xabier Aramendi (azpidatziak@gmail.com) | ||||
|   - Belarusian: Mihas Varantsou (meequz@gmail.com) | ||||
|   - Brazilian: Nick Marinho (nickmarinho@gmail.com) | ||||
|   - Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net) | ||||
|   - Catalan: Francisco Luque Contreras (frannoe@ya.com) | ||||
|   - Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com) | ||||
|   - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) and 冥王歐西里斯 s8321414(Transifex) | ||||
|   - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) | ||||
|   - Croatian: Oliver Mucafir (oliver.untwist@gmail.com) | ||||
|   - Czech: Jirka Vilim (web@tets.cz) and Petr Cernobila abr(Transifex) | ||||
|   - Czech: Jirka Vilim (web@tets.cz) | ||||
|   - Danish: Mathias Nielsen (comoneo@gmail.com) | ||||
|   - Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com) | ||||
|   - English: Christophe Dumez (chris@qbittorrent.org) | ||||
|   - English(Australia): Robert Readman readmanr(Transifex) | ||||
|   - English(United Kingdom): Robert Readman readmanr(Transifex) | ||||
|   - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net), Pekka Niemi (pekka.niemi@iki.fi) and Jiri Grönroos artnay(Transifex) | ||||
|   - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net) | ||||
|   - French: Christophe Dumez (chris@qbittorrent.org) | ||||
|   - Galician: Marcos Lans (marcoslansgarza@gmail.com) and antiparvos(Transifex) | ||||
|   - Galician: Marcos Lans (marcoslansgarza@gmail.com) | ||||
|   - Georgian: Beqa Arabuli (arabulibeqa@yahoo.com) | ||||
|   - German: Niels Hoffmann (zentralmaschine@users.sourceforge.net) | ||||
|   - Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net), Stephanos Antaris (santaris@csd.auth.gr), sledgehammer999(hammered999@gmail.com) and Γιάννης Ανθυμίδης Evropi(Transifex) | ||||
|   - Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr) | ||||
|   - Hebrew: David Deutsch (d.deffo@gmail.com) | ||||
|   - Hungarian: Majoros Péter (majoros.j.p@t-online.hu) | ||||
|   - Italian: bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com) | ||||
| @@ -110,15 +108,13 @@ Translations authors: | ||||
|   - Lithuanian: Naglis Jonaitis (njonaitis@gmail.com) | ||||
|   - Norwegian: Tomaso | ||||
|   - Polish: Mariusz Fik (fisiu@opensuse.org) | ||||
|   - Portuguese: Sérgio Marques smarquespt(Transifex) | ||||
|   - Portuguese(Brazil): Nick Marinho (nickmarinho@gmail.com) | ||||
|   - Romanian: Obada Denis (obadadenis@users.sourceforge.net), Adrian Gabor Adriannho(Transifex) and Mihai Coman z0id(Transifex) | ||||
|   - Russian: Nick Khazov (m2k3d0n at users.sourceforge.net), Alexey Morsov (samurai@ricom.ru), Nick Tiskov Dayman(daymansmail (at) gmail (dot) com), Dmitry DmitryKX(Transifex) and kraleksandr kraleksandr(Transifex) | ||||
|   - Portuguese: Nick Marinho (nickmarinho@gmail.com) | ||||
|   - Romanian: Obada Denis (obadadenis@users.sourceforge.net) | ||||
|   - Russian: Nick Khazov (m2k3d0n at users.sourceforge.net) | ||||
|   - Serbian: Anaximandar Milet (anaximandar at operamail.com) | ||||
|   - Slovak:  helix84 | ||||
|   - Spanish: Francisco Luque Contreras (frannoe@ya.com), Alfredo Monclus alfrix(Transifex) and José Antonio Moray moray33(Transifex) | ||||
|   - Swedish: Daniel Nylander (po@danielnylander.se) and Emil Hammarberg Ooglogput(Transifex) | ||||
|   - Spanish: Francisco Luque Contreras (frannoe@ya.com) | ||||
|   - Swedish: Daniel Nylander (po@danielnylander.se) | ||||
|   - Turkish: Hasan Yilmaz (iletisim@hedefturkce.com) | ||||
|   - Ukrainian: Oleh Prypin (blaxpirit@gmail.com) and zubr139(Transifex) | ||||
|   - Vietnamese: Anh Phan ppanhh(Transifex) | ||||
|   - Ukrainian: Oleh Prypin (blaxpirit@gmail.com) | ||||
|   license: GPLv2 | ||||
|   | ||||
							
								
								
									
										10
									
								
								COPYING
									
									
									
									
									
								
							
							
						
						| @@ -69,7 +69,7 @@ patent must be licensed for everyone's free use or not licensed at all. | ||||
|  | ||||
|   The precise terms and conditions for copying, distribution and | ||||
| modification follow. | ||||
|  | ||||
|  | ||||
| 		    GNU GENERAL PUBLIC LICENSE | ||||
|    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||||
|  | ||||
| @@ -124,7 +124,7 @@ above, provided that you also meet all of these conditions: | ||||
|     License.  (Exception: if the Program itself is interactive but | ||||
|     does not normally print such an announcement, your work based on | ||||
|     the Program is not required to print an announcement.) | ||||
|  | ||||
|  | ||||
| These requirements apply to the modified work as a whole.  If | ||||
| identifiable sections of that work are not derived from the Program, | ||||
| and can be reasonably considered independent and separate works in | ||||
| @@ -182,7 +182,7 @@ access to copy from a designated place, then offering equivalent | ||||
| access to copy the source code from the same place counts as | ||||
| distribution of the source code, even though third parties are not | ||||
| compelled to copy the source along with the object code. | ||||
|  | ||||
|  | ||||
|   4. You may not copy, modify, sublicense, or distribute the Program | ||||
| except as expressly provided under this License.  Any attempt | ||||
| otherwise to copy, modify, sublicense or distribute the Program is | ||||
| @@ -239,7 +239,7 @@ impose that choice. | ||||
|  | ||||
| This section is intended to make thoroughly clear what is believed to | ||||
| be a consequence of the rest of this License. | ||||
|  | ||||
|  | ||||
|   8. If the distribution and/or use of the Program is restricted in | ||||
| certain countries either by patents or by copyrighted interfaces, the | ||||
| original copyright holder who places the Program under this License | ||||
| @@ -292,7 +292,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||||
| POSSIBILITY OF SUCH DAMAGES. | ||||
|  | ||||
| 		     END OF TERMS AND CONDITIONS | ||||
|  | ||||
|  | ||||
| 	    How to Apply These Terms to Your New Programs | ||||
|  | ||||
|   If you develop a new program, and you want it to be of the greatest | ||||
|   | ||||
							
								
								
									
										186
									
								
								Changelog
									
									
									
									
									
								
							
							
						
						| @@ -1,84 +1,114 @@ | ||||
| * Mon Nov 20 2013 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.3 | ||||
|     - FEATURE: Add a key shortcut to "Add link to torrent..." (Angel Alonso) | ||||
|     - BUGFIX: Make all columns and headers use the same text alignment in the transferlist. (sledgehammer999) | ||||
|     - BUGFIX: Fix build system for Unix/Linux. (sledgehammer999) | ||||
|     - BUGFIX: Case insensitive sort in Peers list. Closes #1066. (sledgehammer999) | ||||
|     - BUGFIX: Small optimization of WebUI responses when there isn't a data payload. (sledgehammer999) | ||||
|     - BUGFIX: Hide empty folders after filtering. Closes #74. (sledgehammer999) | ||||
|     - BUGFIX: Expand folders when filtering files. Closes #1076. (sledgehammer999) | ||||
|     - BUGFIX: Updated search plugin's URL (Zach Thibeau) | ||||
|     - BUGFIX: Strip some png to fix incorrect sRGB profiles. (Angel Alonso) | ||||
|     - BUGFIX: Fixed font issues on OSX Mavericks (Zach Thibeau) | ||||
|     - BUGFIX: Improve text in the About dialog (Artem S. Tashkinov) | ||||
|     - BUGFIX: Always show a peer IP address as a tool tip (Artem S. Tashkinov) | ||||
|     - BUGFIX: Fix inhibit system functionality. Closes #766. (sledgehammer999) | ||||
|     - BUGFIX: WebUI: Don't gzip too small payloads. (sledgehammer999) | ||||
|     - BUGFIX: Correctly detect if the browser supports gzip compression. (sledgehammer999) | ||||
|     - BUGFIX: Fix WebUI link to 'Anonymous mode' explanation. Closes #1093. (sledgehammer999) | ||||
|     - BUGFIX: Correctly update tracker tier number in the trackers tab. Closes #1075. (sledgehammer999) | ||||
|     - BUGFIX: Speed improvements.(sledgehammer999) | ||||
|     - OTHER: Updated translations. | ||||
| * Mon Jul 29 2013 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.0.11 | ||||
|     - FEATURE: Allow more fine tuning of upload slots. It should improve speed (sledgehammer999) | ||||
|     - FEATURE: Enable edit/rename via F2 or double click in various places (Gelmir) | ||||
|     - BUGFIX: Fix Spanish and Basque translations being messed up on Windows (sledgehammer999) | ||||
|     - BUGFIX: Don't allow newlines in rename dialog (Gelmir) | ||||
|     - BUGFIX: Treat unfinished dates as the newest ones when sorting (sledgehammer999) | ||||
|     - BUGFIX: Fix text size problem on Windows with custom DPI (sledgehammer999) | ||||
|     - BUGFIX: Respect UI lock when clicking on tray notification (sledgehammer999) | ||||
|     - BUGFIX: Fix kickass torrents search plugin (Gelmir) | ||||
|     - BUGFIX: Use system language as default language. Closes #780 (sledgehammer999) | ||||
|     - BUGFIX: Move completed files to .unwanted folder when they are unselected by the user (constantined) | ||||
|     - BUGFIX: Show delete action when multiple feeds are selected (Gelmir) | ||||
|     - BUGFIX: Use Unicode for libtorrent alert messages (Gelmir)     | ||||
|     - OTHER: Update translations | ||||
|     - WINDOWS: Shave off ~4MB from the binary size (sledgehammer999) | ||||
|     - WINDOWS: Remove wrong dependency on msvc2008 runtime (sledgehammer999) | ||||
|     - WINDOWS: Disable stacktrace when building with mingw (Gelmir) | ||||
|     - WINDOWS: Updated NSIS script to include/delete .pdb file. (sledgehammer999) | ||||
|  | ||||
| * Tue Jul 9 2013 - Christophe Dumez <chris@qbittorrent.org> and sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.0.10 | ||||
|     - BUGFIX: Fix LegitTorrents search plugin | ||||
|     - BUGFIX: Improve peer host name resolution (closes #360) | ||||
|     - BUGFIX: Context menu fix in the Web UI | ||||
|     - BUGFIX: Respect 'don't show' torrent dialog in Search (sledgehammer999) | ||||
|     - BUGFIX: Torrent creator can now use files/folders from disk root (Gelmir) | ||||
|     - BUGFIX: Update free disk space when changing drives in the add new torrent dialog (sledgehammer999) | ||||
|     - BUGFIX: Various fixes relating to RSS drag and drop (Gelmir) | ||||
|     - BUGFIX: Properly rename torrent which changes position in filter model (Gelmir) | ||||
|     - BUGFIX: Actually show tray notifications when a torrent finishes downloading (sledgehammer999) | ||||
|     - BUGFIX: Don't download RSS items based on rules still being edited (Gelmir) | ||||
|     - COSMETIC: Native look for the search boxes (Hyperz) | ||||
|     - IMPROVEMENT: Use natural sorting where possible (Gelmir and sledgehammer999) | ||||
|     - LINUX: Drop Boost.Thread dependency from configure script | ||||
|     - OTHER: Update translations. | ||||
|     - OTHER: Drop obsolete Boost.Thread dependency from configure script on linux (Dumez) | ||||
|     - LIBTORRENT: SOCKS5 fixes (0.16.10) | ||||
|     - LIBTORRENT: Fix hanging issue on Windows when closing files (0.16.10) | ||||
|     - LIBTORRENT: Cache can now be returned to the OS (0.16.10) | ||||
|     - PERFORMANCE: Impove drawing speed of tranferlist when there are many torrents(>100) (sledgehammer999) | ||||
|     - PERFORMANCE: Impove drawing speed of peers list when there are many peers (sledgehammer999) | ||||
|      | ||||
| * Tue Nov 05 2013 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.2 | ||||
|     - BUGFIX: Fix WebUI gzip compression. Closes #1037. (sledgehammer999) | ||||
|     - BUGFIX: Fix compilation with qt < 4.8.0. Closes #1043. (sledgehammer999) | ||||
|     - OTHER: Updated translations. | ||||
| * Sat Mar 16 2013 - Christophe Dumez <chris@qbittorrent.org> - v3.0.9 | ||||
|     - BUGFIX: Raise qBittorrent windows when another instance is launched | ||||
|     - BUGFIX: Show human readable names for network interfaces in preferences (Windows) | ||||
|     - BUGFIX: Fix torrent creator bug when saving non-latin path (Windows) | ||||
|     - BUGFIX: Enable 'copy magnet uri' for torrents without metadata too | ||||
|     - BUGFIX: Fix a few JSON parser issues (Gelmir) | ||||
|     - BUGFIX: Add support for gzipped encoded HTTP responses (daimor) | ||||
|     - BUGFIX: Fix possibly missing "Add torrent" icon (Driim) | ||||
|     - OTHER: Add search plugin for Legit Torrents | ||||
|  | ||||
| * Mon Oct 28 2013 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.1 | ||||
|     - FEATURE: Show external IP in the log. Closes #968. (sledgehammer999) | ||||
|     - FEATURE: Enable gzip compression in the webui. It should be faster now. (sledgehammer999) | ||||
|     - FEATURE: Torrents show more states(queued for checking, downloading metadata, allocating, checking resume). (sledgehammer999) | ||||
|     - FEATURE: Reenable "force reannounce" to all trackers. (sledgehammer999) | ||||
|     - FEATURE: Allow to clear the UI lock password. Closes #973. (sledgehammer999) | ||||
|     - FEATURE: New translations: English(Australia) and English(United Kingdom) | ||||
|     - BUGFIX: Expose all available translation in the WebUI. Closes #976. (sledgehammer999) | ||||
|     - BUGFIX: Copy IP copied wrong data. Closes #970 (sledgehammer999) | ||||
|     - BUGFIX: "Preview file..." didn't work on single file torrents. (sledgehammer999) | ||||
|     - BUGFIX: Fix and improve the scheduler (Gelmir and sledgehammer999) | ||||
|     - BUGFIX: RSS fixes. Closes #960, #998 (Gelmir) | ||||
|     - BUGFIX: Fix 'append label to save path' with magnet links. (sledgehammer999) | ||||
|     - BUGFIX: Can download up to 10MB .torrent file when a link is provided. Closes #879 (sledgehammer999) | ||||
|     - OTHER: Updated translations. | ||||
|     - LINUX: Fix missing conf.pri error (leigh123linux) | ||||
|     - WINDOWS: Don't remove file associations if they aren't our own. (sledgehammer999) | ||||
| * Sun Jan 20 2013 - Christophe Dumez <chris@qbittorrent.org> - v3.0.8 | ||||
|     - BUGFIX: Fix support for --no-splash command line argument | ||||
|     - BUGFIX: Fix compilation error with libtorrent v0.15 | ||||
|     - BUGFIX: Fix search issues with Python3 | ||||
|     - BUGFIX: Fix dead link about certificates in program preferences | ||||
|  | ||||
| * Sat Oct 12 2013 - Christophe Dumez <chris@qbittorrent.org> and sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.0 | ||||
|     - FEATURE: Add command line option to daemonize qbittorrent-nox (ngaro) | ||||
|     - FEATURE: Add "Shutdown qBittorrent" button to Web UI (ngaro) | ||||
|     - FEATURE: Add setting to copy .torrent files for finished downloads (Driim) | ||||
|     - FEATURE: Add option to start qBittorrent on Windows startup (sledgehammer999) | ||||
|     - FEATURE: Add context menu to Web seed list (Gelmir) | ||||
|     - FEATURE: Add support for tracker tiers / groups to creator (Gelmir) | ||||
|     - FEATURE: Allow clearing execution and ban logs (Gelmir) | ||||
|     - FEATURE: Add option to use random port on each startup (ireallylikeher) | ||||
|     - FEATURE: Expose the cache expiry to the user (Gelmir) | ||||
|     - FEATURE: Support Atom feeds (Gelmir) | ||||
|     - FEATURE: Add "save path" column (John Peterson) | ||||
|     - FEATURE: Add μTorrent-compatible "Flags" column in the peer tab(sledgehammer999) | ||||
|     - FEATURE: Load magnet metadata in the background while the "Add New Torrent" Dialog is showing (Gelmir) | ||||
|     - FEATURE: Allow to enter only an info-hash for download(sledgehammer999) | ||||
|     - FEATURE: Bring the "Add New Torrent" Dialog to the front(glassez) | ||||
|     - BUGFIX: Add confirmation dialog for "Force recheck" action (closes #131) | ||||
|     - BUGFIX: Greatly improve RSS manager performance (closes #34) | ||||
|     - BUGFIX: Ensure that all columns in the tranferlist have a size > 0. | ||||
|     - BUGFIX: Don't mark RSS item as read when it failed to download (Gelmir) | ||||
|     - BUGFIX: Fix ETA calculation when some files are downloaded and marked afterwards as 'do not download'(sledgehammer999) | ||||
|     - BUGFIX: Make the UI show that PEX/DHT/LSD are actually disabled on private torrents(sledgehammer999) | ||||
|     - BUGFIX: Scheduler should be much more robust and correct now(sledgehammer999) | ||||
|     - BUGFIX: Now qBt won't forget torrent settings after an unclean shutdown(sledgehammer999) | ||||
|     - BUGFIX: Text boxes in edit dialogs will fit to text width(Gelmir) | ||||
|     - BUGFIX: Enable edit/rename via F2 or double click in various places(Gelmir) | ||||
|     - BUGFIX: Allow to edit trackers and copy their urls(Gelmir and Driim) | ||||
|     - BUGFIX: Add Uploaded column to main view(Gelmir) | ||||
|     - BUGFIX: Calculate ETA for seeding torrents(Gelmir)     | ||||
|     - BUGFIX: Add option to ignore global share ratio limits for created torrents(Gelmir) | ||||
|     - OTHER: Many RSS bugfixes and improvements all over the place(Gelmir) | ||||
|     - OTHER: Generate translations at configure time to reduce tarball size | ||||
|     - OTHER: Make peer tab sortable by ip too (Gelmir) | ||||
|     - OTHER: Translations moved to Transifex(https://www.transifex.com/projects/p/qbittorrent/) | ||||
|     - OTHER: New Translation - Vietnamese (Anh Phan) | ||||
|     - PERFORMANCE: Impove drawing speed of tranferlist when there are many torrents(>100) | ||||
|     - PERFORMANCE: Impove drawing speed of peers list when there are many peers | ||||
| * Sat Jan 19 2013 - Christophe Dumez <chris@qbittorrent.org> - v3.0.7 | ||||
|     - BUGFIX: Update max write cache size to 2048MB and set it to automatic by default (closes #148) | ||||
|     - BUGFIX: Add m4v to the list of previewable file extensions (closes #216) | ||||
|     - BUGFIX: Fix "Couldn't set environment variable..." message on start up (closes #245) | ||||
|     - BUGFIX: Use right path separator in torrent addition dialog on Windows | ||||
|     - BUGFIX: Fix "Set as default save path" setting (closes #254) | ||||
|     - BUGFIX: Reenable disk cache on Windows since the memory issue seems to be gone | ||||
|     - BUGFIX: Fixed several search engine plugins and removed the dead ones | ||||
|     - BUGFIX: Use https links in search plugins when possible | ||||
|     - BUGFIX: Bump Mootools to v1.4.5 (Web UI) | ||||
|     - BUGFIX: Require password to exit qBittorrent from tray icon when locked (closes #311) | ||||
|     - BUGFIX: Fix possible crash in loadPeers() (closes #222) | ||||
|  | ||||
| * Sun Oct 7 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.6 | ||||
|     - BUGFIX: Fix unicode support for command-line arguments on Windows (closes #139) | ||||
|     - BUGFIX: Do not store created torrent in memory before writing it to a file (closes #133) | ||||
|     - BUGFIX: No longer fallback to ANY interface if the user-selected interface cannot be found (closes #143) | ||||
|     - BUGFIX: Fix timezone parsing in RSS (closes #136) | ||||
|     - BUGFIX: Fix cookie support for RSS feeds (closes #119) | ||||
|  | ||||
| * Sun Sep 30 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.5 | ||||
|     - BUGFIX: Disabling systray icon no longer disables file association settings (closes #114) | ||||
|     - BUGFIX: Import new trackers from magnet link in case of duplicate torrent (closes #111) | ||||
|     - BUGFIX: Fix "Skip hash check" feature in torrent import dialog (closes #128) | ||||
|     - BUGFIX: Several Web UI connection fixes | ||||
|     - BUGFIX: Add Basque locale to Web UI | ||||
|  | ||||
| * Tue Sep 18 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.4 | ||||
|     - BUGFIX: Fix issue with downloads starting from scratch on startup if temporary | ||||
|       directory setting is enabled. | ||||
|  | ||||
| * Sun Sep 16 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.3 | ||||
|     - BUGFIX: Fix issue with temporary directory not being taken into consideration (closes #94) | ||||
|     - BUGFIX: Address encoding issues when using search engine on Windows (closes #29) | ||||
|     - BUGFIX: Bypass cache when uploading a torrent file in Web UI (closes #68) | ||||
|     - BUGFIX: "Completed On" column is not updated until restart (closes #84) | ||||
|     - BUGFIX: Fix possible build error on some systems | ||||
|     - I18N: Add hebrew translation | ||||
|  | ||||
| * Sat Sep 1 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.2 | ||||
|     - FEATURE: Add "clear" functionality to search field (closes #59) | ||||
|     - BUGFIX: Attempt to use qBittorrent icon from theme if available (closes #49) | ||||
|     - BUGFIX: Fix crash when a fastresume file is empty (closes #52) | ||||
|     - BUGFIX: Fix encoding problem for detected XDG Download folder (closes #53) | ||||
|     - BUGFIX: Improve performance when showing torrent content panel (Improves #24) | ||||
|     - BUGFIX: Fix label-based filtering of torrents whose label contains special characters | ||||
|     - BUGFIX: Fix possible crash due to labels (closes #64) | ||||
|  | ||||
| * Tue Aug 21 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.1 | ||||
|     - BUGFIX: Fix possible crash when adding a tracker to a magnet torrent without metadata (Closes #1034254) | ||||
|     - BUGFIX: Remember queue position for torrents without metadata (closes #17) | ||||
|     - BUGFIX: Fix crash when using unauthorized characters in label names (closes #19) | ||||
|     - BUGFIX: Fix search plugins updating (closes #25) | ||||
|     - BUGFIX: Make uTP connections rate limited by default | ||||
|  | ||||
| * Thu Aug 09 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.0 | ||||
|     - FEATURE: Brand new torrent addition dialog | ||||
|   | ||||
| @@ -8,7 +8,7 @@ qBittorrent\-nox \- a command line Bittorrent client written in C++ / Qt4 | ||||
|  | ||||
| .SH "SYNOPSIS" | ||||
|  | ||||
| \fBqbittorrent\-nox\fR [\-\-d|\-\-daemon] [\-\-webui-port=x] [TORRENT_FILE | URL]... | ||||
| \fBqbittorrent\-nox\fR [\-\-webui-port=x] [TORRENT_FILE | URL]... | ||||
|  | ||||
| \fBqbittorrent\-nox\fR \-\-help | ||||
|  | ||||
|   | ||||
| @@ -3,7 +3,6 @@ TEMPLATE = subdirs | ||||
| SUBDIRS += src | ||||
|  | ||||
| include(version.pri) | ||||
| include(qm_gen.pri) | ||||
|  | ||||
| # Dist | ||||
| dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/ && | ||||
|   | ||||
							
								
								
									
										19
									
								
								qm_gen.pri
									
									
									
									
									
								
							
							
						
						| @@ -1,19 +0,0 @@ | ||||
| TS_IN = $$fromfile(src/src.pro,TRANSLATIONS) | ||||
| TS_IN_NOEXT = $$replace(TS_IN,".ts","") | ||||
|               | ||||
| isEmpty(QMAKE_LRELEASE) { | ||||
|     win32|os2:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe | ||||
|     else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease | ||||
|     unix { | ||||
|         !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt4 } | ||||
|     } else { | ||||
|         !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease } | ||||
|     } | ||||
| } | ||||
|  | ||||
| message("Building translations") | ||||
| for(L,TS_IN_NOEXT) { | ||||
|     message("Processing $${L}") | ||||
|     system("$$QMAKE_LRELEASE -silent src/$${L}.ts -qm src/$${L}.qm") | ||||
|     !exists("src/$${L}.qm"):error("Building translations failed, cannot continue") | ||||
| } | ||||
| Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 7.0 KiB | 
| @@ -2,118 +2,40 @@ | ||||
| Categories=Network;FileTransfer;P2P;Qt; | ||||
| Exec=qbittorrent %U | ||||
| GenericName=BitTorrent client | ||||
| GenericName[ar]=العميل BitTorrent | ||||
| GenericName[bg]=Торент клиент | ||||
| GenericName[cs]=BitTorrent klient | ||||
| GenericName[de]=BitTorren Client | ||||
| GenericName[el]=BitTorrent πελάτης | ||||
| GenericName[es]=Cliente BitTorrent | ||||
| GenericName[fi]=BitTorrent-ohjelma | ||||
| GenericName[fr]=Client BitTorrent | ||||
| GenericName[hr]=BitTorrent klijent | ||||
| GenericName[hu]=BitTorrent kliens | ||||
| GenericName[it]=Client BitTorrent | ||||
| GenericName[ja]=BitTorrent クライアント | ||||
| GenericName[ko]=비토렌트 클라이언트 | ||||
| GenericName[lt]=BitTorrent klientas | ||||
| GenericName[nl]=BitTorrent-cliënt | ||||
| GenericName[pl]=Klient BitTorrent | ||||
| GenericName[pt]=Cliente BitTorrent | ||||
| GenericName[pt_BR]=Cliente BitTorrent | ||||
| GenericName[ro]=Client BitTorrent | ||||
| GenericName[ru]=клиент BitTorrent | ||||
| GenericName[sk]=Klient siete BitTorrent | ||||
| GenericName[sr]=BitTorrent-клијент | ||||
| GenericName[sv]=BitTorrent-klient | ||||
| GenericName[tr]=BitTorrent istemcisi | ||||
| GenericName[uk]=BitTorrent-клієнт | ||||
| GenericName[zh]=BitTorrent之用户 | ||||
| GenericName[zh_TW]=BitTorrent客戶端 | ||||
| Comment=Download and share files over BitTorrent | ||||
| Comment[fr]=Télécharger et partager des fichiers avec BitTorrent | ||||
| Comment[pl]=Dzielenie się plikami przez BitTorrent | ||||
| Icon=qbittorrent | ||||
| MimeType=application/x-bittorrent;x-scheme-handler/magnet; | ||||
| Name=qBittorrent | ||||
| Name[ko]=큐비토런트 | ||||
| Terminal=false | ||||
| Type=Application | ||||
|  | ||||
|  | ||||
|  | ||||
| # Translations | ||||
|  | ||||
|  | ||||
| # Translations | ||||
| GenericName[ar]=العميل BitTorrent | ||||
| Comment[be]=Сцягванне і раздача файлаў праз пратакол BitTorrent | ||||
| GenericName[be]=BitTorrent-кліент | ||||
| Name[be]=qBittorrent | ||||
| Icon[be]=qbittorrent | ||||
| GenericName[bg]=Торент клиент | ||||
| Comment[cs]=Stahování a sdílení souborů přes síť BitTorrent | ||||
| GenericName[cs]=BitTorrent klient | ||||
| Name[cs]=qBittorrent | ||||
| Icon[cs]=qbittorrent | ||||
| GenericName[de]=BitTorren Client | ||||
| Comment[el]=Λήψη και διαμοιρασμός αρχείων μέσω BitTorrent | ||||
| GenericName[el]=BitTorrent πελάτης | ||||
| Name[el]=qBittorrent | ||||
| Icon[el]=qbittorrent | ||||
| Comment[en_GB]=Download and share files over BitTorrent | ||||
| GenericName[en_GB]=BitTorrent client | ||||
| Name[en_GB]=qBittorrent | ||||
| Icon[en_GB]=qbittorrent | ||||
| Comment[es]=Descarga y comparte archivos por BitTorrent | ||||
| GenericName[es]=Cliente BitTorrent | ||||
| Name[es]=qBittorrent | ||||
| Icon[es]=qbittorrent | ||||
| Comment[eu]=Jeitsi eta elkarbanatu agiriak BitTorrent-en | ||||
| GenericName[eu]=BitTorrent bezeroa | ||||
| Name[eu]=qBittorrent | ||||
| Icon[eu]=qbittorrent | ||||
| Comment[fi]=Lataa ja jaa tiedostoja BitTorrentia käyttäen | ||||
| GenericName[fi]=BitTorrent-ohjelma | ||||
| Name[fi]=qBittorrent | ||||
| Icon[fi]=qbittorrent | ||||
| Comment[fr]=Télécharger et partager des fichiers avec BitTorrent | ||||
| GenericName[fr]=Client BitTorrent | ||||
| Comment[gl]=Descargue e comparta ficheiros co protocolo BitTorrent | ||||
| GenericName[gl]=Cliente BitTorrent | ||||
| Name[gl]=qBittorrent | ||||
| Icon[gl]=qbittorrent | ||||
| GenericName[hr]=BitTorrent klijent | ||||
| GenericName[hu]=BitTorrent kliens | ||||
| Comment[it]=Client BitTorrent per il download di file via internet | ||||
| GenericName[it]=Client BitTorrent | ||||
| Name[it]=qBittorrent | ||||
| Icon[it]=qbittorrent | ||||
| Comment[ja]=BitTorrent でファイルをダウンロードおよび共有します | ||||
| GenericName[ja]=BitTorrent クライアント | ||||
| Name[ja]=qBittorrent | ||||
| Icon[ja]=qbittorrent | ||||
| GenericName[ko]=비토렌트 클라이언트 | ||||
| Name[ko]=큐비토런트 | ||||
| GenericName[zh]=BitTorrent之用户 | ||||
| Comment[lt]=Atsisiųskite bei dalinkitės failais BitTorrent tinkle | ||||
| GenericName[lt]=BitTorrent klientas | ||||
| Name[lt]=qBittorrent | ||||
| Icon[lt]=qbittorrent | ||||
| Comment[nb]=Last ned og del filer over BitTorrent | ||||
| GenericName[nb]=BitTorrent-klient | ||||
| Name[nb]=qBittorrent | ||||
| Icon[nb]=qbittorrent | ||||
| GenericName[nl]=BitTorrent-cliënt | ||||
| Comment[pl]=Dzielenie się plikami przez BitTorrent | ||||
| GenericName[pl]=Klient BitTorrent | ||||
| Name[pl]=qBittorrent | ||||
| Icon[pl]=qbittorrent | ||||
| Comment[pt]=Transferir e partilhar ficheiros por BitTorrent | ||||
| GenericName[pt]=Aplicação BitTorrent | ||||
| Name[pt]=qBittorrent | ||||
| Icon[pt]=qbittorrent | ||||
| Comment[pt_BR]=Baixe e compartilhe arquivos através do qBittorrent | ||||
| GenericName[pt_BR]=Cliente BitTorrent | ||||
| Name[pt_BR]=qBittorrent | ||||
| Icon[pt_BR]=qbittorrent | ||||
| Comment[ro]=Descărcați  și partajați fișiere prin BitTorrent | ||||
| GenericName[ro]=Client BitTorrent | ||||
| Name[ro]=qBittorrent | ||||
| Icon[ro]=qbittorrent | ||||
| Comment[ru]=Скачивайте и делитесь файлами с помощью BitTorrent | ||||
| GenericName[ru]=клиент BitTorrent | ||||
| Name[ru]=qBittorrent | ||||
| Icon[ru]=qbittorrent | ||||
| GenericName[sk]=Klient siete BitTorrent | ||||
| GenericName[sr]=BitTorrent-клијент | ||||
| Comment[sv]=Hämta och dela filer över BitTorrent | ||||
| GenericName[sv]=BitTorrent-klient | ||||
| Name[sv]=qBittorrent | ||||
| Icon[sv]=qbittorrent | ||||
| GenericName[tr]=BitTorrent istemcisi | ||||
| Comment[uk]=Завантажувати і обмінюватися файлами через BitTorrent | ||||
| GenericName[uk]=BitTorrent-клієнт | ||||
| Name[uk]=qBittorrent | ||||
| Icon[uk]=qbittorrent | ||||
| Comment[vi]=Tải về và chia sẻ các tập tin thông qua BitTorrent | ||||
| GenericName[vi]=Máy trạm dạng BitTorrent | ||||
| Name[vi]=qBittorrent | ||||
| Icon[vi]=qbittorrent | ||||
| Comment[zh_TW]=經由 BitTorrent 下載並分享檔案 | ||||
| GenericName[zh_TW]=BitTorrent 客戶端 | ||||
| Name[zh_TW]=qBittorrent | ||||
| Icon[zh_TW]=qbittorrent | ||||
| Comment[en_AU]=Download and share files over BitTorrent | ||||
| GenericName[en_AU]=BitTorrent client | ||||
| Name[en_AU]=qBittorrent | ||||
| Icon[en_AU]=qbittorrent | ||||
|   | ||||
| Before Width: | Height: | Size: 593 B After Width: | Height: | Size: 3.3 KiB | 
| Before Width: | Height: | Size: 590 B After Width: | Height: | Size: 3.2 KiB | 
| Before Width: | Height: | Size: 426 B After Width: | Height: | Size: 3.0 KiB | 
| Before Width: | Height: | Size: 522 B After Width: | Height: | Size: 3.1 KiB | 
| Before Width: | Height: | Size: 443 B After Width: | Height: | Size: 3.1 KiB | 
| Before Width: | Height: | Size: 495 B After Width: | Height: | Size: 3.1 KiB | 
| Before Width: | Height: | Size: 359 B After Width: | Height: | Size: 2.9 KiB | 
| Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 3.1 KiB | 
| Before Width: | Height: | Size: 591 B After Width: | Height: | Size: 3.2 KiB | 
| Before Width: | Height: | Size: 583 B After Width: | Height: | Size: 3.1 KiB | 
| @@ -48,24 +48,6 @@ class about : public QDialog, private Ui::AboutDlg{ | ||||
|     about(QWidget *parent): QDialog(parent) { | ||||
|       setupUi(this); | ||||
|       setAttribute(Qt::WA_DeleteOnClose); | ||||
|       // About | ||||
|       QString aboutText = | ||||
|           QString::fromUtf8("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\"><html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">p, li { white-space: pre-wrap; }</style></head><body style=\" font-size:11pt; font-weight:400; font-style:normal;\"><p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">") + | ||||
|           tr("An advanced BitTorrent client programmed in C++, based on Qt4 toolkit and libtorrent-rasterbar.") + | ||||
|           QString::fromUtf8(" <br /><br />") + | ||||
|           trUtf8("Copyright ©2006-2013 The qBittorrent project") + | ||||
|           QString::fromUtf8("<br /><br />") + | ||||
|           tr("Home Page: ") + | ||||
|           QString::fromUtf8("<a href=\"http://www.qbittorrent.org\"><span style=\" text-decoration: underline; color:#0000ff;\">http://www.qbittorrent.org</span></a></p><p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">") + | ||||
|           tr("Bug Tracker: ") + | ||||
|           QString::fromUtf8("<a href=\"http://bugs.qbittorrent.org\"><span style=\" text-decoration: underline; color:#0000ff;\">http://bugs.qbittorrent.org</span></a><br />") + | ||||
|           tr("Forum: ") + | ||||
|           QString::fromUtf8( | ||||
|               "<a href=\"http://forum.qbittorrent.org\"><span style=\" text-decoration: underline; color:#0000ff;\">http://forum.qbittorrent.org</span></a></p><p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">") + | ||||
|           tr("IRC: #qbittorrent on Freenode") + | ||||
|           QString::fromUtf8( | ||||
|               "</p></body></html>"); | ||||
|       lb_about->setText(aboutText); | ||||
|       // Set icons | ||||
|       logo->setPixmap(QPixmap(QString::fromUtf8(":/Icons/skin/qbittorrent22.png"))); | ||||
|       //Title | ||||
| @@ -80,25 +62,24 @@ class about : public QDialog, private Ui::AboutDlg{ | ||||
|       te_thanks->setHtml(thanks_txt); | ||||
|       // Translation | ||||
|       QString trans_txt = "<p>"+tr("I would like to thank the following people who volunteered to translate qBittorrent:")+"</p>"; | ||||
|       trans_txt += QString::fromUtf8("<ul><li><u>Arabic:</u> SDERAWI (abz8868@msn.com), sn51234 (nesseyan@gmail.com) and  Ibrahim Saed ibraheem_alex(Transifex)</li>\ | ||||
|       trans_txt += QString::fromUtf8("<ul><li><u>Arabic:</u> SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)</li>\ | ||||
|           <li><u>Armenian:</u> Hrant Ohanyan (hrantohanyan@mail.am)</li>\ | ||||
|           <li><u>Basque:</u> Xabier Aramendi (azpidatziak@gmail.com)</li>\ | ||||
|           <li><u>Belarusian:</u> Mihas Varantsou (meequz@gmail.com)</li>\ | ||||
|           <li><u>Brazilian:</u> Nick Marinho (nickmarinho@gmail.com)</li>\ | ||||
|           <li><u>Bulgarian:</u> Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)</li>\ | ||||
|           <li><u>Catalan:</u> Francisco Luque Contreras (frannoe@ya.com)</li>\ | ||||
|           <li><u>Chinese (Simplified):</u> Guo Yue (yue.guo0418@gmail.com)</li>\ | ||||
|           <li><u>Chinese (Traditional):</u> Yi-Shun Wang (dnextstep@gmail.com) and 冥王歐西里斯 s8321414(Transifex)</li>\ | ||||
|           <li><u>Chinese (Traditional):</u> Yi-Shun Wang (dnextstep@gmail.com)</li>\ | ||||
|           <li><u>Croatian:</u> Oliver Mucafir (oliver.untwist@gmail.com)</li>\ | ||||
|           <li><u>Czech:</u> Jirka Vilim (web@tets.cz) and Petr Cernobila abr(Transifex)</li>\ | ||||
|           <li><u>Czech:</u> Jirka Vilim (web@tets.cz)</li>\ | ||||
|           <li><u>Danish:</u> Mathias Nielsen (comoneo@gmail.com)</li>\ | ||||
|           <li><u>Dutch:</u> Pieter Heyvaert (pieter_heyvaert@hotmail.com)</li>\ | ||||
|           <li><u>English(Australia):</u> Robert Readman readmanr(Transifex)</li>\ | ||||
|           <li><u>English(United Kingdom):</u> Robert Readman readmanr(Transifex)</li>\ | ||||
|           <li><u>Finnish:</u> Niklas Laxström (nikerabbit@users.sourceforge.net), Pekka Niemi (pekka.niemi@iki.fi) and Jiri Grönroos artnay(Transifex)</li>\ | ||||
|           <li><u>Galician:</u> Marcos Lans (marcoslansgarza@gmail.com) and antiparvos(Transifex)</li>\ | ||||
|           <li><u>Finnish:</u> Niklas Laxström (nikerabbit@users.sourceforge.net) and Pekka Niemi (pekka.niemi@iki.fi)</li>\ | ||||
|           <li><u>Galician:</u> Marcos Lans (marcoslansgarza@gmail.com)</li>\ | ||||
|           <li><u>Georgian:</u> Beqa Arabuli (arabulibeqa@yahoo.com)</li>\ | ||||
|           <li><u>German:</u> Niels Hoffmann (zentralmaschine@users.sourceforge.net)</li>\ | ||||
|           <li><u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net), Stephanos Antaris (santaris@csd.auth.gr), sledgehammer999(hammered999@gmail.com) and Γιάννης Ανθυμίδης Evropi(Transifex)</li>\ | ||||
|           <li><u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net)</li>\ | ||||
|           <li><u>Hebrew:</u> David Deutsch (d.deffo@gmail.com)</li>\ | ||||
|           <li><u>Hungarian:</u> Majoros Péter (majoros.peterj@gmail.com)</li>\ | ||||
|           <li><u>Italian:</u> bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com)</li>\ | ||||
| @@ -107,17 +88,15 @@ class about : public QDialog, private Ui::AboutDlg{ | ||||
|           <li><u>Lithuanian:</u> Naglis Jonaitis (njonaitis@gmail.com)</li>\ | ||||
|           <li><u>Norwegian:</u> Tomaso</li>\ | ||||
|           <li><u>Polish:</u> Mariusz Fik (fisiu@opensuse.org)</li>\ | ||||
|           <li><u>Portuguese:</u> Sérgio Marques smarquespt(Transifex)</li>\ | ||||
|           <li><u>Portuguese(Brazil):</u> Nick Marinho (nickmarinho@gmail.com)</li>\ | ||||
|           <li><u>Romanian:</u> Obada Denis (obadadenis@users.sourceforge.net), Adrian Gabor Adriannho(Transifex) and Mihai Coman z0id(Transifex)</li>\ | ||||
|           <li><u>Russian:</u> Nick Khazov (m2k3d0n at users.sourceforge.net), Alexey Morsov (samurai@ricom.ru), Nick Tiskov Dayman(daymansmail (at) gmail (dot) com), Dmitry DmitryKX(Transifex) and kraleksandr kraleksandr(Transifex)</li>\ | ||||
|           <li><u>Portuguese:</u> Nick Marinho (nickmarinho@gmail.com)</li>\ | ||||
|           <li><u>Romanian:</u> Obada Denis (obadadenis@users.sourceforge.net)</li>\ | ||||
|           <li><u>Russian:</u> Nick Khazov (m2k3d0n@users.sourceforge.net) and Alexey Morsov (samurai@ricom.ru)</li>\ | ||||
|           <li><u>Serbian:</u> Anaximandar Milet (anaximandar@operamail.com)</li>\ | ||||
|           <li><u>Slovak:</u>  helix84</li>\ | ||||
|           <li><u>Spanish:</u> Alfredo Monclús (alfrix), Francisco Luque Contreras (frannoe@ya.com) and José Antonio Moray moray33(Transifex)</li>\ | ||||
|           <li><u>Swedish:</u> Daniel Nylander (po@danielnylander.se) and Emil Hammarberg Ooglogput(Transifex)</li>\ | ||||
|           <li><u>Spanish:</u> Alfredo Monclús (alfrix), Francisco Luque Contreras (frannoe@ya.com)</li>\ | ||||
|           <li><u>Swedish:</u> Daniel Nylander (po@danielnylander.se)</li>\ | ||||
|           <li><u>Turkish:</u> Hasan YILMAZ (iletisim@hedefturkce.com) and Erdem Bingöl (erdem84@gmail.com)</li>\ | ||||
|           <li><u>Ukrainian:</u> Oleh Prypin (blaxpirit@gmail.com)</li>\ | ||||
|           <li><u>Vietnamese:</u> Anh Phan ppanhh(Transifex)</li></ul>"); | ||||
|           <li><u>Ukrainian:</u> Oleh Prypin (blaxpirit@gmail.com)</li></ul>"); | ||||
|       trans_txt += "<p>"+tr("Please contact me if you would like to translate qBittorrent into your own language.")+"</p>"; | ||||
|       te_translation->setHtml(trans_txt); | ||||
|       // License | ||||
|   | ||||
| @@ -35,7 +35,6 @@ | ||||
| #include <QDialog> | ||||
| #include <QUrl> | ||||
| #include <libtorrent/torrent_info.hpp> | ||||
| #include "qtorrenthandle.h" | ||||
|  | ||||
| QT_BEGIN_NAMESPACE | ||||
| namespace Ui { | ||||
| @@ -56,22 +55,15 @@ public: | ||||
|   static void showTorrent(const QString& torrent_path, const QString& from_url = QString()); | ||||
|   static void showMagnet(const QString& torrent_link); | ||||
|  | ||||
| protected: | ||||
|   void showEvent(QShowEvent *event); | ||||
|  | ||||
| private slots: | ||||
|   void showAdvancedSettings(bool show); | ||||
|   void displayContentTreeMenu(const QPoint&); | ||||
|   void on_buttonBox_accepted(); | ||||
|   void updateDiskSpaceLabel(); | ||||
|   void onSavePathChanged(int); | ||||
|   void relayout(); | ||||
|   void renameSelectedFile(); | ||||
|   void setdialogPosition(); | ||||
|   void updateMetadata(const QTorrentHandle& h); | ||||
|  | ||||
| protected slots: | ||||
|   virtual void accept(); | ||||
|   virtual void reject(); | ||||
|  | ||||
| private: | ||||
|   explicit AddNewTorrentDialog(QWidget *parent = 0); | ||||
| @@ -83,14 +75,12 @@ private: | ||||
|   void updateFileNameInSavePaths(const QString& new_filename); | ||||
|   void loadState(); | ||||
|   void saveState(); | ||||
|   void setMetadataProgressIndicator(bool visibleIndicator, const QString &labelText = QString()); | ||||
|  | ||||
| private: | ||||
|   Ui::AddNewTorrentDialog *ui; | ||||
|   TorrentContentFilterModel *m_contentModel; | ||||
|   PropListDelegate *m_contentDelegate; | ||||
|   bool m_isMagnet; | ||||
|   bool m_hasMetadata; | ||||
|   QString m_filePath; | ||||
|   QString m_url; | ||||
|   QString m_hash; | ||||
|   | ||||
| @@ -186,38 +186,6 @@ | ||||
|    </item> | ||||
|    <item> | ||||
|     <layout class="QHBoxLayout" name="buttonsHLayout"> | ||||
|      <item> | ||||
|       <widget class="QProgressBar" name="progMetaLoading"> | ||||
|        <property name="sizePolicy"> | ||||
|         <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> | ||||
|          <horstretch>0</horstretch> | ||||
|          <verstretch>0</verstretch> | ||||
|         </sizepolicy> | ||||
|        </property> | ||||
|        <property name="maximum"> | ||||
|         <number>0</number> | ||||
|        </property> | ||||
|        <property name="value"> | ||||
|         <number>-1</number> | ||||
|        </property> | ||||
|        <property name="textVisible"> | ||||
|         <bool>false</bool> | ||||
|        </property> | ||||
|        <property name="format"> | ||||
|         <string notr="true">%p%</string> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QLabel" name="lblMetaLoading"> | ||||
|        <property name="enabled"> | ||||
|         <bool>true</bool> | ||||
|        </property> | ||||
|        <property name="text"> | ||||
|         <string notr="true"/> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|      <item> | ||||
|       <spacer name="horizontalSpacer"> | ||||
|        <property name="orientation"> | ||||
|   | ||||
| @@ -1,121 +0,0 @@ | ||||
| /* | ||||
|  * Bittorrent Client using Qt4 and libtorrent. | ||||
|  * Copyright (C) 2013  Nick Tiskov | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU General Public License | ||||
|  * as published by the Free Software Foundation; either version 2 | ||||
|  * of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * 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 : daymansmail@gmail.com | ||||
|  */ | ||||
|  | ||||
| #include <QDesktopWidget> | ||||
|  | ||||
| #include "mainwindow.h" | ||||
| #include "autoexpandabledialog.h" | ||||
| #include "ui_autoexpandabledialog.h" | ||||
|  | ||||
| AutoExpandableDialog::AutoExpandableDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AutoExpandableDialog) { | ||||
|   ui->setupUi(this); | ||||
| } | ||||
|  | ||||
| AutoExpandableDialog::~AutoExpandableDialog() { | ||||
|   delete ui; | ||||
| } | ||||
|  | ||||
| QString AutoExpandableDialog::getText(QWidget *parent, const QString &title, const QString &label, | ||||
|                                       QLineEdit::EchoMode mode, const QString &text, bool *ok, | ||||
|                                       Qt::InputMethodHints inputMethodHints) { | ||||
|  | ||||
|   AutoExpandableDialog d(parent); | ||||
|   d.setWindowTitle(title); | ||||
|   d.ui->textLabel->setText(label); | ||||
|   d.ui->textEdit->setText(text); | ||||
|   d.ui->textEdit->setEchoMode(mode); | ||||
|   d.ui->textEdit->setInputMethodHints(inputMethodHints); | ||||
|  | ||||
|   bool res = d.exec(); | ||||
|   if (ok) | ||||
|     *ok = res; | ||||
|  | ||||
|   if (!res) | ||||
|     return QString(); | ||||
|  | ||||
|   return d.ui->textEdit->text(); | ||||
| } | ||||
|  | ||||
| void AutoExpandableDialog::showEvent(QShowEvent *e) { | ||||
|   // Overriding showEvent is required for consistent UI with fixed size under custom DPI | ||||
|   // Show dialog | ||||
|   QDialog::showEvent(e); | ||||
|   // and resize textbox to fit the text | ||||
|  | ||||
|   // NOTE: For some strange reason QFontMetrics gets more accurate | ||||
|   // when called from showEvent. Only 6 symbols off instead of 11 symbols off. | ||||
|   int textW = ui->textEdit->fontMetrics().width(ui->textEdit->text()) + 4; | ||||
|   int screenW = QApplication::desktop()->width() / 4; | ||||
|   int wd = textW; | ||||
|  | ||||
|   if (!windowTitle().isEmpty()) { | ||||
|     int _w = fontMetrics().width(windowTitle()); | ||||
|     if (_w > wd) | ||||
|       wd = _w; | ||||
|   } | ||||
|  | ||||
|   if (!ui->textLabel->text().isEmpty()) { | ||||
|     int _w = ui->textLabel->fontMetrics().width(ui->textLabel->text()); | ||||
|     if (_w > wd) | ||||
|       wd = _w; | ||||
|   } | ||||
|  | ||||
|  | ||||
|   // Now resize the dialog to fit the contents | ||||
|   // Maximum value is whichever is smaller: | ||||
|   // 1. screen width / 4 | ||||
|   // 2. max width of text from either of: label, title, textedit | ||||
|   // If the value is less than dialog default size default size is used | ||||
|   wd = textW < screenW ? textW : screenW; | ||||
|   if (wd > width()) | ||||
|     resize(width() - ui->horizontalLayout->sizeHint().width() + wd, height()); | ||||
|  | ||||
|   // Use old dialog behavior: prohibit resizing the dialog | ||||
|   setFixedHeight(height()); | ||||
|  | ||||
|   // Update geometry: center on screen | ||||
|   QDesktopWidget *desk = QApplication::desktop(); | ||||
|   MainWindow *wnd = qobject_cast<MainWindow*>(QApplication::activeWindow()); | ||||
|   QPoint p = QCursor::pos(); | ||||
|  | ||||
|   int screenNum = 0; | ||||
|   if (wnd == 0) | ||||
|     screenNum = desk->screenNumber(p); | ||||
|   else if (!wnd->isHidden()) | ||||
|     screenNum = desk->screenNumber(wnd); | ||||
|   else | ||||
|     screenNum = desk->screenNumber(p); | ||||
|  | ||||
|   QRect screenRes = desk->screenGeometry(screenNum); | ||||
|  | ||||
|   QRect geom = geometry(); | ||||
|   geom.moveCenter(QPoint(screenRes.width() / 2, screenRes.height() / 2)); | ||||
|   setGeometry(geom); | ||||
| } | ||||
| @@ -1,60 +0,0 @@ | ||||
| /* | ||||
|  * Bittorrent Client using Qt4 and libtorrent. | ||||
|  * Copyright (C) 2013  Nick Tiskov | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU General Public License | ||||
|  * as published by the Free Software Foundation; either version 2 | ||||
|  * of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * 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 : daymansmail@gmail.com | ||||
|  */ | ||||
|  | ||||
| #ifndef AUTOEXPANDABLEDIALOG_H | ||||
| #define AUTOEXPANDABLEDIALOG_H | ||||
|  | ||||
| #include <QDialog> | ||||
| #include <QString> | ||||
| #include <QLineEdit> | ||||
|  | ||||
| namespace Ui { | ||||
| class AutoExpandableDialog; | ||||
| } | ||||
|  | ||||
| class AutoExpandableDialog : public QDialog { | ||||
|   Q_OBJECT | ||||
|    | ||||
| public: | ||||
|   explicit AutoExpandableDialog(QWidget *parent = 0); | ||||
|   ~AutoExpandableDialog(); | ||||
|  | ||||
|   static QString getText(QWidget *parent, const QString& title,  const QString& label, | ||||
|                          QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString(), | ||||
|                          bool * ok = 0, Qt::InputMethodHints inputMethodHints = Qt::ImhNone); | ||||
|  | ||||
| protected: | ||||
|   void showEvent(QShowEvent *e); | ||||
|    | ||||
| private: | ||||
|   Ui::AutoExpandableDialog *ui; | ||||
| }; | ||||
|  | ||||
| #endif // AUTOEXPANDABLEDIALOG_H | ||||
| @@ -1,120 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <ui version="4.0"> | ||||
|  <class>AutoExpandableDialog</class> | ||||
|  <widget class="QDialog" name="AutoExpandableDialog"> | ||||
|   <property name="geometry"> | ||||
|    <rect> | ||||
|     <x>0</x> | ||||
|     <y>0</y> | ||||
|     <width>222</width> | ||||
|     <height>94</height> | ||||
|    </rect> | ||||
|   </property> | ||||
|   <property name="sizePolicy"> | ||||
|    <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | ||||
|     <horstretch>0</horstretch> | ||||
|     <verstretch>0</verstretch> | ||||
|    </sizepolicy> | ||||
|   </property> | ||||
|   <property name="windowTitle"> | ||||
|    <string notr="true">Dialog</string> | ||||
|   </property> | ||||
|   <layout class="QVBoxLayout" name="verticalLayout"> | ||||
|    <item> | ||||
|     <spacer name="verticalSpacer"> | ||||
|      <property name="orientation"> | ||||
|       <enum>Qt::Vertical</enum> | ||||
|      </property> | ||||
|      <property name="sizeHint" stdset="0"> | ||||
|       <size> | ||||
|        <width>20</width> | ||||
|        <height>40</height> | ||||
|       </size> | ||||
|      </property> | ||||
|     </spacer> | ||||
|    </item> | ||||
|    <item> | ||||
|     <widget class="QLabel" name="textLabel"> | ||||
|      <property name="toolTip"> | ||||
|       <string notr="true"/> | ||||
|      </property> | ||||
|      <property name="text"> | ||||
|       <string notr="true"/> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item> | ||||
|     <widget class="QLineEdit" name="textEdit"> | ||||
|      <property name="toolTip"> | ||||
|       <string notr="true"/> | ||||
|      </property> | ||||
|      <property name="text"> | ||||
|       <string notr="true"/> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item> | ||||
|     <layout class="QHBoxLayout" name="horizontalLayout"> | ||||
|      <item> | ||||
|       <spacer name="horizontalSpacer"> | ||||
|        <property name="orientation"> | ||||
|         <enum>Qt::Horizontal</enum> | ||||
|        </property> | ||||
|        <property name="sizeHint" stdset="0"> | ||||
|         <size> | ||||
|          <width>40</width> | ||||
|          <height>20</height> | ||||
|         </size> | ||||
|        </property> | ||||
|       </spacer> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QDialogButtonBox" name="buttonBox"> | ||||
|        <property name="orientation"> | ||||
|         <enum>Qt::Horizontal</enum> | ||||
|        </property> | ||||
|        <property name="standardButtons"> | ||||
|         <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|     </layout> | ||||
|    </item> | ||||
|   </layout> | ||||
|  </widget> | ||||
|  <resources/> | ||||
|  <connections> | ||||
|   <connection> | ||||
|    <sender>buttonBox</sender> | ||||
|    <signal>accepted()</signal> | ||||
|    <receiver>AutoExpandableDialog</receiver> | ||||
|    <slot>accept()</slot> | ||||
|    <hints> | ||||
|     <hint type="sourcelabel"> | ||||
|      <x>248</x> | ||||
|      <y>254</y> | ||||
|     </hint> | ||||
|     <hint type="destinationlabel"> | ||||
|      <x>157</x> | ||||
|      <y>274</y> | ||||
|     </hint> | ||||
|    </hints> | ||||
|   </connection> | ||||
|   <connection> | ||||
|    <sender>buttonBox</sender> | ||||
|    <signal>rejected()</signal> | ||||
|    <receiver>AutoExpandableDialog</receiver> | ||||
|    <slot>reject()</slot> | ||||
|    <hints> | ||||
|     <hint type="sourcelabel"> | ||||
|      <x>316</x> | ||||
|      <y>260</y> | ||||
|     </hint> | ||||
|     <hint type="destinationlabel"> | ||||
|      <x>286</x> | ||||
|      <y>274</y> | ||||
|     </hint> | ||||
|    </hints> | ||||
|   </connection> | ||||
|  </connections> | ||||
| </ui> | ||||
| @@ -40,7 +40,7 @@ DNSUpdater::DNSUpdater(QObject *parent) : | ||||
|   updateCredentials(); | ||||
|  | ||||
|   // Load saved settings from previous session | ||||
|   QIniSettings settings; | ||||
|   QIniSettings settings("qBittorrent", "qBittorrent"); | ||||
|   m_lastIPCheckTime = settings.value("DNSUpdater/lastUpdateTime").toDateTime(); | ||||
|   m_lastIP = QHostAddress(settings.value("DNSUpdater/lastIP").toString()); | ||||
|  | ||||
| @@ -58,7 +58,7 @@ DNSUpdater::DNSUpdater(QObject *parent) : | ||||
|  | ||||
| DNSUpdater::~DNSUpdater() { | ||||
|   // Save lastupdate time and last ip | ||||
|   QIniSettings settings; | ||||
|   QIniSettings settings("qBittorrent", "qBittorrent"); | ||||
|   settings.setValue("DNSUpdater/lastUpdateTime", m_lastIPCheckTime); | ||||
|   settings.setValue("DNSUpdater/lastIP", m_lastIP.toString()); | ||||
| } | ||||
|   | ||||
| @@ -50,27 +50,9 @@ class downloadFromURL : public QDialog, private Ui::downloadFromURL{ | ||||
|       show(); | ||||
|       // Paste clipboard if there is an URL in it | ||||
|       QString clip_txt = qApp->clipboard()->text(); | ||||
|       QStringList clip_txt_list = clip_txt.split(QString::fromUtf8("\n")); | ||||
|       clip_txt.clear(); | ||||
|       QStringList clip_txt_list_cleaned; | ||||
|       foreach (clip_txt, clip_txt_list) { | ||||
|         clip_txt = clip_txt.trimmed(); | ||||
|         if (!clip_txt.isEmpty()) { | ||||
|           if (clip_txt_list_cleaned.indexOf(QRegExp(clip_txt, Qt::CaseInsensitive, QRegExp::FixedString)) < 0) { | ||||
|             if (clip_txt.startsWith("http://", Qt::CaseInsensitive) | ||||
|                 || clip_txt.startsWith("https://", Qt::CaseInsensitive) | ||||
|                 || clip_txt.startsWith("ftp://", Qt::CaseInsensitive) | ||||
|                 || clip_txt.startsWith("magnet:", Qt::CaseInsensitive) | ||||
|                 || clip_txt.startsWith("bc://bt/", Qt::CaseInsensitive) | ||||
|                 || (clip_txt.size() == 40 && !clip_txt.contains(QRegExp("[^0-9A-Fa-f]"))) | ||||
|                 || (clip_txt.size() == 32 && !clip_txt.contains(QRegExp("[^2-7A-Za-z]")))) { | ||||
|               clip_txt_list_cleaned << clip_txt; | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       if (clip_txt.startsWith("http://", Qt::CaseInsensitive) || clip_txt.startsWith("https://", Qt::CaseInsensitive) || clip_txt.startsWith("ftp://", Qt::CaseInsensitive) || clip_txt.startsWith("magnet:", Qt::CaseInsensitive) || clip_txt.startsWith("bc://bt/", Qt::CaseInsensitive)) { | ||||
|         textUrls->setText(clip_txt); | ||||
|       } | ||||
|       if (clip_txt_list_cleaned.size() > 0) | ||||
|         textUrls->setText(clip_txt_list_cleaned.join("\n")); | ||||
|     } | ||||
|  | ||||
|     ~downloadFromURL() {} | ||||
| @@ -80,7 +62,6 @@ class downloadFromURL : public QDialog, private Ui::downloadFromURL{ | ||||
|  | ||||
|   public slots: | ||||
|     void on_downloadButton_clicked() { | ||||
|       close(); | ||||
|       QString urls = textUrls->toPlainText(); | ||||
|       QStringList url_list = urls.split(QString::fromUtf8("\n")); | ||||
|       QString url; | ||||
| @@ -99,6 +80,7 @@ class downloadFromURL : public QDialog, private Ui::downloadFromURL{ | ||||
|       } | ||||
|       emit urlsReadyToBeDownloaded(url_list_cleaned); | ||||
|       qDebug("Emitted urlsReadytobedownloaded signal"); | ||||
|       close(); | ||||
|     } | ||||
|  | ||||
|     void on_cancelButton_clicked() { | ||||
|   | ||||
| @@ -52,7 +52,7 @@ | ||||
|       </font> | ||||
|      </property> | ||||
|      <property name="text"> | ||||
|       <string>One per line (HTTP links, Magnet links and info-hashes are supported)</string> | ||||
|       <string>Both HTTP and Magnet links are supported</string> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|   | ||||
| @@ -40,7 +40,6 @@ | ||||
| #include "rsssettings.h" | ||||
| #endif | ||||
| #include "qinisettings.h" | ||||
| #include <zlib.h> | ||||
|  | ||||
| /** Download Thread **/ | ||||
|  | ||||
| @@ -58,7 +57,6 @@ QByteArray DownloadThread::gUncompress(Bytef *inData, size_t len) { | ||||
|   } | ||||
|  | ||||
|   QByteArray result; | ||||
|  | ||||
|   z_stream strm; | ||||
|   static const int CHUNK_SIZE = 1024; | ||||
|   char out[CHUNK_SIZE]; | ||||
| @@ -73,7 +71,7 @@ QByteArray DownloadThread::gUncompress(Bytef *inData, size_t len) { | ||||
|   const int windowBits = 15; | ||||
|   const int ENABLE_ZLIB_GZIP = 32; | ||||
|  | ||||
|   int ret = inflateInit2(&strm, windowBits|ENABLE_ZLIB_GZIP ); // gzip decoding | ||||
|   int ret = inflateInit2(&strm, windowBits|ENABLE_ZLIB_GZIP); // gzip decoding | ||||
|   if (ret != Z_OK) | ||||
|     return QByteArray(); | ||||
|  | ||||
| @@ -86,11 +84,12 @@ QByteArray DownloadThread::gUncompress(Bytef *inData, size_t len) { | ||||
|     Q_ASSERT(ret != Z_STREAM_ERROR); // state not clobbered | ||||
|  | ||||
|     switch (ret) { | ||||
|       case Z_NEED_DICT: | ||||
|       case Z_DATA_ERROR: | ||||
|       case Z_MEM_ERROR: | ||||
|         (void) inflateEnd(&strm); | ||||
|         return QByteArray(); | ||||
|     case Z_NEED_DICT: | ||||
|     case Z_DATA_ERROR: | ||||
|     case Z_MEM_ERROR: | ||||
|       (void) inflateEnd(&strm); | ||||
|  | ||||
|       return QByteArray(); | ||||
|     } | ||||
|  | ||||
|     result.append(out, CHUNK_SIZE - strm.avail_out); | ||||
| @@ -202,16 +201,16 @@ void DownloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) | ||||
|   if (!reply) return; | ||||
|   if (bytesTotal > 0) { | ||||
|     // Total number of bytes is available | ||||
|     if (bytesTotal > 1048576*10) { | ||||
|       // More than 10MB, this is probably not a torrent file, aborting... | ||||
|     if (bytesTotal > 1048576) { | ||||
|       // More than 1MB, this is probably not a torrent file, aborting... | ||||
|       reply->abort(); | ||||
|       reply->deleteLater(); | ||||
|     } else { | ||||
|       disconnect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64))); | ||||
|     } | ||||
|   } else { | ||||
|     if (bytesReceived  > 1048576*10) { | ||||
|       // More than 10MB, this is probably not a torrent file, aborting... | ||||
|     if (bytesReceived  > 1048576) { | ||||
|       // More than 1MB, this is probably not a torrent file, aborting... | ||||
|       reply->abort(); | ||||
|       reply->deleteLater(); | ||||
|     } | ||||
|   | ||||