You've already forked qBittorrent
							
							
				mirror of
				https://github.com/qbittorrent/qBittorrent
				synced 2025-10-30 23:30:54 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			release-3.
			...
			release-2.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 89906d16d5 | 
							
								
								
									
										15
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,15 +0,0 @@ | |||||||
| src/geoip/GeoIP.dat |  | ||||||
| src/qbittorrent |  | ||||||
| qbittorrent.pro.user* |  | ||||||
| conf.pri |  | ||||||
| Makefile |  | ||||||
| *.pyc |  | ||||||
| *.log |  | ||||||
| # Compiled object files |  | ||||||
| *.o |  | ||||||
| # Generated MOC, resource and UI files |  | ||||||
| moc_*.cpp |  | ||||||
| qrc_*.cpp |  | ||||||
| ui_*.h |  | ||||||
| *.moc |  | ||||||
| src/lang/qbittorrent_*.qm |  | ||||||
							
								
								
									
										53
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -1,53 +0,0 @@ | |||||||
| language: |  | ||||||
|   - cpp |  | ||||||
|  |  | ||||||
| env: |  | ||||||
|   # use libtorrent 0.15.10 |  | ||||||
|   - lt_source=from_dist gui=true |  | ||||||
|   - lt_source=from_dist gui=false |  | ||||||
|   # use libtorrent 0.16.X from RC_0_16 svn branch |  | ||||||
|   - lt_source=from_svn gui=true |  | ||||||
|   - lt_source=from_svn gui=false |  | ||||||
|  |  | ||||||
| branches: |  | ||||||
|   except: |  | ||||||
|     - search_encoding_windows |  | ||||||
|     - v2_9_x |  | ||||||
|  |  | ||||||
| notifications: |  | ||||||
|   email: |  | ||||||
|     on_success: change |  | ||||||
|     on_failure: change  |  | ||||||
|  |  | ||||||
| before_install: |  | ||||||
|   - shopt -s expand_aliases |  | ||||||
|   - alias sudo="sudo " |  | ||||||
|   # Using nprocs/2 sometimes may fail (gcc is killed by system), just use two threads |  | ||||||
|   - alias make="colormake -j2 " |  | ||||||
|  |  | ||||||
|   # Also setup a virtual display for after_success target when gui == true |  | ||||||
|   - if ! $gui; then qbtconf="$qbtconf --disable-gui"; else export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ; fi |  | ||||||
|   - ltconf=" --with-libgeoip=system" |  | ||||||
|  |  | ||||||
|   - echo settings |  | ||||||
|   - echo $lt_source |  | ||||||
|   - echo $ltconf |  | ||||||
|   - echo $gui |  | ||||||
|   - echo $qbtconf |  | ||||||
|  |  | ||||||
|   - sudo apt-get -qq update |  | ||||||
|   # Travis can stall during heavy load if these packages are installed in one step - split the command |  | ||||||
|   - sudo apt-get -qq install debhelper qconf colormake libssl-dev libgeoip-dev |  | ||||||
|   - sudo apt-get -qq install libboost-dev libboost-filesystem-dev libboost-system-dev |  | ||||||
|   - sudo apt-get -qq install libqt4-dev  |  | ||||||
|  |  | ||||||
| install: |  | ||||||
|   - if [[ "$lt_source" == "from_dist" ]]; then sudo apt-get -qq install libtorrent-rasterbar-dev; fi |  | ||||||
|   - if [[ "$lt_source" == "from_svn" ]]; then cd .. && svn co svn://svn.code.sf.net/p/libtorrent/code/branches/RC_0_16 ./libtorrent && (cd libtorrent && ./autotool.sh && ./configure $ltconf && sudo make install) && sudo ldconfig /usr/local/lib && cd $TRAVIS_BUILD_DIR ; fi |  | ||||||
|  |  | ||||||
| script: |  | ||||||
|   - qt-qconf |  | ||||||
|   - ./configure $qbtconf && sudo make install |  | ||||||
|    |  | ||||||
| after_success: |  | ||||||
|   - if $gui ; then qbittorrent --version ; else qbittorrent-nox --version ; fi |  | ||||||
							
								
								
									
										18
									
								
								.tx/config
									
									
									
									
									
								
							
							
						
						
									
										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 |  | ||||||
							
								
								
									
										64
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										64
									
								
								AUTHORS
									
									
									
									
									
								
							| @@ -1,11 +1,7 @@ | |||||||
| Current maintainer: | Author: | ||||||
| * Sledgehammer999 <sledgehammer999@qbittorrent.org> |  | ||||||
|  |  | ||||||
| Original author: |  | ||||||
| * Christophe Dumez <chris@qbittorrent.org> | * Christophe Dumez <chris@qbittorrent.org> | ||||||
|  |  | ||||||
| Contributors: | Contributors: | ||||||
| * Vladimir Golovnev <glassez@yandex.ru> |  | ||||||
| * Stefanos Antaris <santaris@csd.auth.gr> | * Stefanos Antaris <santaris@csd.auth.gr> | ||||||
| * Mohammad Dib <mdib@qbittorrent.org> | * Mohammad Dib <mdib@qbittorrent.org> | ||||||
| * Mirco Chinelli <infinity89@fastwebmail.it> | * Mirco Chinelli <infinity89@fastwebmail.it> | ||||||
| @@ -14,7 +10,6 @@ Contributors: | |||||||
| * Grigis Gaëtan <cipher16@gmail.com> | * Grigis Gaëtan <cipher16@gmail.com> | ||||||
| * Christian Kandeler <zambesi@users.sourceforge.net> | * Christian Kandeler <zambesi@users.sourceforge.net> | ||||||
| * Silvan Scherrer <silvan.scherrer@aroa.ch> | * Silvan Scherrer <silvan.scherrer@aroa.ch> | ||||||
| * Nick Tiskov <daymansmail@gmail.com> |  | ||||||
|  |  | ||||||
| Code from other projects: | Code from other projects: | ||||||
| * files src/qtsingleapp/* src/lineedit/* | * files src/qtsingleapp/* src/lineedit/* | ||||||
| @@ -29,10 +24,6 @@ Code from other projects: | |||||||
|   copyright: Dan Haim <negativeiq@users.sourceforge.net> |   copyright: Dan Haim <negativeiq@users.sourceforge.net> | ||||||
|   license: BSD |   license: BSD | ||||||
|  |  | ||||||
| * file src/stacktrace_win.h |  | ||||||
|   copyright: Quassel Project |  | ||||||
|   license: GPLv2/3 |  | ||||||
|  |  | ||||||
| Images Authors: | Images Authors: | ||||||
| * files: src/Icons/*.png | * files: src/Icons/*.png | ||||||
|   copyright: Gnome Icon Theme |   copyright: Gnome Icon Theme | ||||||
| @@ -45,9 +36,9 @@ Images Authors: | |||||||
|   url: http://www.oxygen-icons.org |   url: http://www.oxygen-icons.org | ||||||
|  |  | ||||||
| * files: src/Icons/flags/*.png | * files: src/Icons/flags/*.png | ||||||
|   copyright: Mark James <mjames@gmail.com> |   copyright: Open Clip Art Library | ||||||
|   license: Public Domain |   license: Creative Commons Public Domain Dedication | ||||||
|   url: http://www.famfamfam.com |   url: http://www.openclipart.org | ||||||
|  |  | ||||||
| * files: src/Icons/skin/*.png | * files: src/Icons/skin/*.png | ||||||
|   files: src/menuicons/YYxYY/*.png |   files: src/menuicons/YYxYY/*.png | ||||||
| @@ -58,10 +49,6 @@ Images Authors: | |||||||
|   copyright: Greg Houston <gregory.houston@gmail.com> |   copyright: Greg Houston <gregory.houston@gmail.com> | ||||||
|   license: MIT |   license: MIT | ||||||
|  |  | ||||||
| * file: src/Icons/skin/qbittorrent_mono* |  | ||||||
|   copyright: Daniel Eguren <deguren@gmail.com> |  | ||||||
|   license: LGPL |  | ||||||
|  |  | ||||||
| * file: src/search_engine/engines/btjunkie.png | * file: src/search_engine/engines/btjunkie.png | ||||||
|   copyright: Downloaded from btjunkie.org |   copyright: Downloaded from btjunkie.org | ||||||
|  |  | ||||||
| @@ -79,46 +66,35 @@ Images Authors: | |||||||
|  |  | ||||||
| Translations authors: | Translations authors: | ||||||
| * files: src/lang/*.ts | * files: src/lang/*.ts | ||||||
| * file: src/Icons/qBittorrent.desktop |  | ||||||
|   copyright: |   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) |   - Brazilian: Nick Marinho (nickmarinho@gmail.com) | ||||||
|   - Basque: Xabier Aramendi (azpidatziak@gmail.com) |  | ||||||
|   - Belarusian: Mihas Varantsou (meequz@gmail.com) |  | ||||||
|   - Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net) |   - Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net) | ||||||
|   - Catalan: Francisco Luque Contreras (frannoe@ya.com) |   - Catalan: Francisco Luque Contreras (frannoe@ya.com) | ||||||
|   - Chinese (Simplified): Guo Yue (yue.guo0418@gmail.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) |   - 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) |   - Danish: Mathias Nielsen (comoneo@gmail.com) | ||||||
|   - Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com) |   - Dutch: Joost Schipper (heavyjoost@users.sourceforge.net) | ||||||
|   - English: Christophe Dumez (chris@qbittorrent.org) |   - English: Christophe Dumez (chris@qbittorrent.org) | ||||||
|   - English(Australia): Robert Readman readmanr(Transifex) |   - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net) | ||||||
|   - 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) |  | ||||||
|   - French: Christophe Dumez (chris@qbittorrent.org) |   - French: Christophe Dumez (chris@qbittorrent.org) | ||||||
|   - Galician: Marcos Lans (marcoslansgarza@gmail.com) and antiparvos(Transifex) |  | ||||||
|   - Georgian: Beqa Arabuli (arabulibeqa@yahoo.com) |  | ||||||
|   - German: Niels Hoffmann (zentralmaschine@users.sourceforge.net) |   - 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) |   - Hungarian: Majoros Péter (majoros.j.p@t-online.hu) | ||||||
|   - Italian: bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com) |   - Italian: Mirko Ferrari (mirkoferrari@gmail.com) and Ferraro Luciano (luciano.ferraro@gmail.com) | ||||||
|   - Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com) |   - Japanese: Nardog (alphisation@gmail.com) | ||||||
|   - Korean: Jin Woo Sin (jin828sin@users.sourceforge.net) |   - Korean: Jin Woo Sin (jin828sin@users.sourceforge.net) | ||||||
|   - Lithuanian: Naglis Jonaitis (njonaitis@gmail.com) |   - Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net) | ||||||
|   - Norwegian: Tomaso |  | ||||||
|   - Polish: Mariusz Fik (fisiu@opensuse.org) |   - Polish: Mariusz Fik (fisiu@opensuse.org) | ||||||
|   - Portuguese: Sérgio Marques smarquespt(Transifex) |   - Portuguese: Nick Marinho (nickmarinho@gmail.com) | ||||||
|   - Portuguese(Brazil): Nick Marinho (nickmarinho@gmail.com) |   - Romanian: Obada Denis (obadadenis@users.sourceforge.net) | ||||||
|   - Romanian: Obada Denis (obadadenis@users.sourceforge.net), Adrian Gabor Adriannho(Transifex) and Mihai Coman z0id(Transifex) |   - Russian: Nick Khazov (m2k3d0n at users.sourceforge.net) | ||||||
|   - 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) |  | ||||||
|   - Serbian: Anaximandar Milet (anaximandar at operamail.com) |   - Serbian: Anaximandar Milet (anaximandar at operamail.com) | ||||||
|   - Slovak:  helix84 |   - Slovak:  helix84 | ||||||
|   - Spanish: Francisco Luque Contreras (frannoe@ya.com), Alfredo Monclus alfrix(Transifex) and José Antonio Moray moray33(Transifex) |   - Spanish: Francisco Luque Contreras (frannoe@ya.com) | ||||||
|   - Swedish: Daniel Nylander (po@danielnylander.se) and Emil Hammarberg Ooglogput(Transifex) |   - Swedish: Daniel Nylander (po@danielnylander.se) | ||||||
|   - Turkish: Hasan Yilmaz (iletisim@hedefturkce.com) |   - Turkish: Hasan Yilmaz (iletisim@hedefturkce.com) | ||||||
|   - Ukrainian: Oleh Prypin (blaxpirit@gmail.com) and zubr139(Transifex) |   - Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net) and Oleh Prypin (blaxpirit@gmail.com) | ||||||
|   - Vietnamese: Anh Phan ppanhh(Transifex) |  | ||||||
|   license: GPLv2 |   license: GPLv2 | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								COPYING
									
									
									
									
									
								
							
							
						
						
									
										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 |   The precise terms and conditions for copying, distribution and | ||||||
| modification follow. | modification follow. | ||||||
|  |  | ||||||
| 		    GNU GENERAL PUBLIC LICENSE | 		    GNU GENERAL PUBLIC LICENSE | ||||||
|    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |    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 |     License.  (Exception: if the Program itself is interactive but | ||||||
|     does not normally print such an announcement, your work based on |     does not normally print such an announcement, your work based on | ||||||
|     the Program is not required to print an announcement.) |     the Program is not required to print an announcement.) | ||||||
|  |  | ||||||
| These requirements apply to the modified work as a whole.  If | These requirements apply to the modified work as a whole.  If | ||||||
| identifiable sections of that work are not derived from the Program, | identifiable sections of that work are not derived from the Program, | ||||||
| and can be reasonably considered independent and separate works in | 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 | access to copy the source code from the same place counts as | ||||||
| distribution of the source code, even though third parties are not | distribution of the source code, even though third parties are not | ||||||
| compelled to copy the source along with the object code. | compelled to copy the source along with the object code. | ||||||
|  |  | ||||||
|   4. You may not copy, modify, sublicense, or distribute the Program |   4. You may not copy, modify, sublicense, or distribute the Program | ||||||
| except as expressly provided under this License.  Any attempt | except as expressly provided under this License.  Any attempt | ||||||
| otherwise to copy, modify, sublicense or distribute the Program is | 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 | This section is intended to make thoroughly clear what is believed to | ||||||
| be a consequence of the rest of this License. | be a consequence of the rest of this License. | ||||||
|  |  | ||||||
|   8. If the distribution and/or use of the Program is restricted in |   8. If the distribution and/or use of the Program is restricted in | ||||||
| certain countries either by patents or by copyrighted interfaces, the | certain countries either by patents or by copyrighted interfaces, the | ||||||
| original copyright holder who places the Program under this License | 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. | POSSIBILITY OF SUCH DAMAGES. | ||||||
|  |  | ||||||
| 		     END OF TERMS AND CONDITIONS | 		     END OF TERMS AND CONDITIONS | ||||||
|  |  | ||||||
| 	    How to Apply These Terms to Your New Programs | 	    How to Apply These Terms to Your New Programs | ||||||
|  |  | ||||||
|   If you develop a new program, and you want it to be of the greatest |   If you develop a new program, and you want it to be of the greatest | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								INSTALL
									
									
									
									
									
								
							| @@ -10,23 +10,25 @@ qBittorrent - A BitTorrent client in C++ / Qt4 | |||||||
|   will install and execute qBittorrent hopefully without any problems. |   will install and execute qBittorrent hopefully without any problems. | ||||||
|  |  | ||||||
|   Dependencies: |   Dependencies: | ||||||
|     - Qt >= 4.6.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional) |     - Qt >= 4.5.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml) | ||||||
|  |  | ||||||
|     - pkg-config executable |     - pkg-config executable | ||||||
|  |  | ||||||
|     - libtorrent-rasterbar by Arvid Norberg (>= 0.15.0) |     - libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, compatible with v0.15.x) | ||||||
|         -> 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. | ||||||
|  |  | ||||||
|     - libboost 1.34.x (libboost-filesystem°) + libasio |     - libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio | ||||||
|       or |       or | ||||||
|     - libboost >= 1.35.x (libboost-system, libboost-filesystem°) |     - libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time) | ||||||
|        |  | ||||||
|     °libboost-filesystem is not needed if libtorrent-rasterbar >= v0.16.x is used |  | ||||||
|  |  | ||||||
|     - python >= 2.3 (needed by search engine) |     - python >= 2.3 (needed by search engine) | ||||||
|         * Run time only dependency |         * Run time only dependency | ||||||
|  |  | ||||||
|  |     - libnotify >= 0.4.2, glib-2.0 (optional) | ||||||
|  |         * Can be used for system notifications to replace standard Qt notifications | ||||||
|  |           so that it integrates better into the Desktop | ||||||
|  |  | ||||||
|     - geoip-database (optional) |     - geoip-database (optional) | ||||||
|         * If qBittorrent cannot find this database, it will try to resolve countries using the Internet but it will be a lot slower. |         * If qBittorrent cannot find this database, it will try to resolve countries using the Internet but it will be a lot slower. | ||||||
|         * Run time only dependency |         * Run time only dependency | ||||||
| @@ -44,7 +46,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4 | |||||||
|  |  | ||||||
|     - pkg-config executable |     - pkg-config executable | ||||||
|  |  | ||||||
|     - libtorrent-rasterbar by Arvid Norberg (>= v0.15.0) |     - libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 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. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,11 +1,10 @@ | |||||||
| qBittorrent - A BitTorrent client in Qt | qBittorrent - A BitTorrent client in Qt4 | ||||||
| ------------------------------------------ | ------------------------------------------ | ||||||
|  |  | ||||||
| [](https://travis-ci.org/qbittorrent/qBittorrent) | Description: | ||||||
| ******************************** | ******************************** | ||||||
| ###Description: | qBittorrent is a bittorrent client programmed in C++ / Qt4 that uses | ||||||
| qBittorrent is a bittorrent client programmed in C++ / Qt that uses | libtorrent (sometimes called rblibtorrent) by Arvid Norberg. | ||||||
| libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg. |  | ||||||
|  |  | ||||||
| It aims to be a good alternative to all other bittorrent clients | It aims to be a good alternative to all other bittorrent clients | ||||||
| out there. qBittorrent is fast, stable and provides unicode | out there. qBittorrent is fast, stable and provides unicode | ||||||
| @@ -14,14 +13,13 @@ support as well as many features. | |||||||
| This product includes GeoLite data created by MaxMind, available from | This product includes GeoLite data created by MaxMind, available from | ||||||
| http://maxmind.com/ | http://maxmind.com/ | ||||||
|  |  | ||||||
| ### Installation: | Installation: | ||||||
|  | ******************************** | ||||||
| For installation, follow the instructions from INSTALL file, but simple: | For installation, follow the instructions from INSTALL file, but simple: | ||||||
|  |  | ||||||
| ``` |  | ||||||
| ./configure | ./configure | ||||||
| make && make install | make && make install | ||||||
| qbittorrent | qbittorrent | ||||||
| ``` |  | ||||||
|  |  | ||||||
| will install and execute qBittorrent hopefully without any problem. | will install and execute qBittorrent hopefully without any problem. | ||||||
|  |  | ||||||
| @@ -34,9 +32,9 @@ http://wiki.qbittorrent.org | |||||||
| Please report any bug (or feature request) to: | Please report any bug (or feature request) to: | ||||||
| http://bugs.qbittorrent.org | http://bugs.qbittorrent.org | ||||||
|  |  | ||||||
| You can also meet me (sledgehammer_999) on IRC: | You can also meet me (chris-qBT) on IRC: | ||||||
| `#qbittorrent on irc.freenode.net` | #qbittorrent on irc.freenode.net | ||||||
|  |  | ||||||
| ------------------------------------------ | ------------------------------------------ | ||||||
| sledgehammer999 <sledgehammer999@qbittorrent.org> | Christophe Dumez <chris@qbittorrent.org> | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								README.os2
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README.os2
									
									
									
									
									
								
							| @@ -27,6 +27,7 @@ First you need to create the conf.pri file in the same dir as this readme.os2 is | |||||||
| the conf.pri file has the following content: | the conf.pri file has the following content: | ||||||
|  |  | ||||||
| ##### conf.pri content beginn ##### | ##### conf.pri content beginn ##### | ||||||
|  | PREFIX = . | ||||||
| BINDIR = ./bin | BINDIR = ./bin | ||||||
| INCDIR = ./include | INCDIR = ./include | ||||||
| LIBDIR = ./lib | LIBDIR = ./lib | ||||||
| @@ -42,10 +43,7 @@ LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \ | |||||||
|  |  | ||||||
| Of course all the above path references have to be adjusted to your build env. | Of course all the above path references have to be adjusted to your build env. | ||||||
|  |  | ||||||
| Now you can either do a normal build or a shadow build. A shadow build has the | It should now be easy to build qBittorrent: | ||||||
| advantage that no created files are in the same dir as the sources are. |  | ||||||
|  |  | ||||||
| For a normal build do the following: |  | ||||||
|  |  | ||||||
| Simply type: | Simply type: | ||||||
| $ qmake | $ qmake | ||||||
| @@ -53,16 +51,6 @@ $ qmake | |||||||
| Followed by: | Followed by: | ||||||
| $ make | $ make | ||||||
|  |  | ||||||
| For a shadow build do the following: |  | ||||||
| given your sources are in x:\trees\qbittorrent\trunk create a  |  | ||||||
| x:\trees\qbittorrent\build directory |  | ||||||
|  |  | ||||||
| Now switch to the created directory and type: |  | ||||||
| $ qmake ..\trunk |  | ||||||
|  |  | ||||||
| Followed by: |  | ||||||
| $ make |  | ||||||
|  |  | ||||||
| If all works fine you should get a working qbittorrent executable. | If all works fine you should get a working qbittorrent executable. | ||||||
|  |  | ||||||
| If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC: | If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC: | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ qBittorrent\-nox \- a command line Bittorrent client written in C++ / Qt4 | |||||||
|  |  | ||||||
| .SH "SYNOPSIS" | .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 | \fBqbittorrent\-nox\fR \-\-help | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										187
									
								
								install.os2
									
									
									
									
									
								
							
							
						
						
									
										187
									
								
								install.os2
									
									
									
									
									
								
							| @@ -1,187 +0,0 @@ | |||||||
| QBittorrent installation |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 0. CONTENTS OF THIS FILE |  | ||||||
| ======================== |  | ||||||
|  |  | ||||||
| 1. INTRODUCTION |  | ||||||
|  |  | ||||||
| 2. REQUIREMENTS |  | ||||||
|  |  | ||||||
| 3. INSTALLATION |  | ||||||
|  |  | ||||||
| 4. BUGREPORTS |  | ||||||
|  |  | ||||||
| 5. CREDITS |  | ||||||
|  |  | ||||||
| 6. SUPPORT AND DONATIONS |  | ||||||
|  |  | ||||||
| 7. HISTORY |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 1. INTRODUCTION |  | ||||||
| =============== |  | ||||||
|  |  | ||||||
| Welcome to QBittorrent port for OS/2 and eComStation. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 2. REQUIREMENTS |  | ||||||
| =============== |  | ||||||
|  |  | ||||||
| The following requirements can be installed either by rpm or by zip files. |  | ||||||
|  |  | ||||||
| RPM Installation: |  | ||||||
|  |  | ||||||
| klibc |  | ||||||
| ----- |  | ||||||
|  |  | ||||||
|   1. yum install libc |  | ||||||
|  |  | ||||||
| openssl 1.0 |  | ||||||
| ----------- |  | ||||||
|  |  | ||||||
|   1. yum install openssl |  | ||||||
|  |  | ||||||
| pthread |  | ||||||
| ------- |  | ||||||
|  |  | ||||||
|   1. yum install pthread |  | ||||||
|  |  | ||||||
| GCC4Core |  | ||||||
| -------- |  | ||||||
|  |  | ||||||
|   1. yum install libgcc |  | ||||||
|   2. yum install gcc-stack-protector |  | ||||||
|   3. yum install gcc-stdc++-shared-library |  | ||||||
|   4. yum install gcc-supc++-shared-library |  | ||||||
|  |  | ||||||
| Qt4 dll |  | ||||||
| ------- |  | ||||||
|  |  | ||||||
|   1. yum install libqt4 |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ZIP Installation: |  | ||||||
|  |  | ||||||
| klibc |  | ||||||
| ----- |  | ||||||
|  |  | ||||||
|   1. Download klibc 0.6.5 or better (see http://svn.netlabs.org/libc for more information) |  | ||||||
|   2. Install the files to your libpath eg x:\ecs\dll |  | ||||||
|  |  | ||||||
| openssl 1.0 |  | ||||||
| ----------- |  | ||||||
|  |  | ||||||
|   1. Download the zip file from http://rpm.netlabs.org/release/00/zip |  | ||||||
|   2. Install the files to your libpath eg. x:\ecs\dll |  | ||||||
|  |  | ||||||
| pthread |  | ||||||
| ------- |  | ||||||
|  |  | ||||||
|   1. Download pthread 2012-03-13 or better from http://rpm.netlabs.org/release/00/zip |  | ||||||
|   2. Install the files to your libpath eg. x:\ecs\dll |  | ||||||
|  |  | ||||||
| GCC4Core |  | ||||||
| -------- |  | ||||||
|  |  | ||||||
|   1. Download GCC4Core 1.2.1 or better from http://ftp.netlabs.org/pub/gcc |  | ||||||
|   2. Install the files to your libpath eg. x:\ecs\dll |  | ||||||
|  |  | ||||||
| Qt4 dll |  | ||||||
| ------- |  | ||||||
|  |  | ||||||
|   1. Download Qt4 4.7.3 or better (see http://svn.netlabs.org/qt4 for more information) |  | ||||||
|   2. Install the files according to the readme |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 3. INSTALLATION |  | ||||||
| =============== |  | ||||||
|            |  | ||||||
| To install QBittorrent, do the following: |  | ||||||
|  |  | ||||||
|   1. Create a directory for QBittorrent. |  | ||||||
|   2. Extract the QBittorrent package to the new directory. |  | ||||||
|   3. Create a WPS object for QBittorrent.exe. |  | ||||||
|   4. Start QBittorrent |  | ||||||
|   5. Happy torrenting |  | ||||||
|    |  | ||||||
|  |  | ||||||
| 4. BUGREPORTS |  | ||||||
| ============= |  | ||||||
|  |  | ||||||
| Please create bugreports at http://svn.netlabs.org/qtapps |  | ||||||
| Only bug reports with a reproducable bug are accepted. :-) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 5. CREDITS |  | ||||||
| ========== |  | ||||||
|  |  | ||||||
| The port was done by: |  | ||||||
|  |  | ||||||
| Silvan Scherrer aka _diver |  | ||||||
|  |  | ||||||
| Thanks go to: |  | ||||||
|  |  | ||||||
|   * Dmitry A. Kuminov |  | ||||||
|  |  | ||||||
| They either helped me when I had some nasty questions or did some testing for |  | ||||||
| me. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 6. SUPPORT AND DONATIONS |  | ||||||
| ======================== |  | ||||||
|  |  | ||||||
| QBittorrent port is based on volunteer work. If you would like to support further |  | ||||||
| development, you can do so in one of the following ways: |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   * Donate to the Qt4 project: see qt.netlabs.org for more information |  | ||||||
|  |  | ||||||
|   * Contribute to the project: Besides actual development, this also includes |  | ||||||
|     maintaining the documentation and the project web site as well as help |  | ||||||
|     for users. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 7. HISTORY |  | ||||||
| ========== |  | ||||||
|  |  | ||||||
| 2012-09-19 |  | ||||||
|  |  | ||||||
|   * updated to 3.0.4 code level of QBittorrent |  | ||||||
|   * updated libtorrent to 0.16.3 level |  | ||||||
|  |  | ||||||
| 2012-09-06 |  | ||||||
|  |  | ||||||
|   * updated to 3.0.2 code level of QBittorrent |  | ||||||
|  |  | ||||||
| 2012-05-14 |  | ||||||
|  |  | ||||||
|   * updated to 2.9.8 code level of QBittorrent |  | ||||||
|  |  | ||||||
| 2012-03-15 |  | ||||||
|  |  | ||||||
|   * updated to 2.9.5 code level of QBittorrent |  | ||||||
|  |  | ||||||
| 2011-09-26 |  | ||||||
|  |  | ||||||
|   * updated to 2.8.5 code level of QBittorrent |  | ||||||
|   * updated to Qt 4.7.3 |  | ||||||
|  |  | ||||||
| 2011-06-20 |  | ||||||
|  |  | ||||||
|   * updated to 2.7.3 code level of QBittorrent |  | ||||||
|   * updated libtorrent to 0.15.6 level |  | ||||||
|  |  | ||||||
| 2010-12-23 |  | ||||||
|  |  | ||||||
|   * updated to 2.5.2 code level of QBittorrent |  | ||||||
|  |  | ||||||
| 2010-11-22 |  | ||||||
|  |  | ||||||
|   * updated to 2.4.11 code level of QBittorrent |  | ||||||
|  |  | ||||||
| 2010-xx-xx |  | ||||||
|  |  | ||||||
|   * initial port |  | ||||||
|  |  | ||||||
							
								
								
									
										67
									
								
								macxconf.pri
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								macxconf.pri
									
									
									
									
									
								
							| @@ -1,67 +0,0 @@ | |||||||
| PREFIX = /usr/local |  | ||||||
| BINDIR = /usr/local/bin |  | ||||||
| DATADIR = /usr/local/share |  | ||||||
|  |  | ||||||
| # Use pkg-config to get all necessary libtorrent DEFINES |  | ||||||
| CONFIG += link_pkgconfig |  | ||||||
| PKGCONFIG += libtorrent-rasterbar |  | ||||||
| DEFINES += BOOST_ASIO_DYN_LINK |  | ||||||
|  |  | ||||||
| # Special include/libs paths (macports) |  | ||||||
| INCLUDEPATH += /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include |  | ||||||
| LIBS += -L/opt/local/lib |  | ||||||
|  |  | ||||||
| # OpenSSL lib |  | ||||||
| LIBS += -lssl -lcrypto |  | ||||||
| # Boost system lib |  | ||||||
| LIBS += -lboost_system-mt |  | ||||||
| # Boost filesystem lib (Not needed for libtorrent >= 0.16.0) |  | ||||||
| #LIBS += -lboost_filesystem-mt |  | ||||||
| # Carbon |  | ||||||
| LIBS += -framework Carbon -framework IOKit |  | ||||||
| # Zlib |  | ||||||
| LIBS += -lz |  | ||||||
|  |  | ||||||
| document_icon.path = Contents/Resources |  | ||||||
| document_icon.files = mac/qBitTorrentDocument.icns |  | ||||||
| QMAKE_BUNDLE_DATA += document_icon |  | ||||||
|  |  | ||||||
| qt_conf.path = Contents/Resources |  | ||||||
| qt_conf.files = mac/qt.conf |  | ||||||
| QMAKE_BUNDLE_DATA += qt_conf |  | ||||||
|  |  | ||||||
| qt_translations.path = Contents/MacOS/translations |  | ||||||
| qt_translations.files = qt-translations/qt_ar.qm \ |  | ||||||
|                         qt-translations/qt_bg.qm \ |  | ||||||
|                         qt-translations/qt_ca.qm \ |  | ||||||
|                         qt-translations/qt_cs.qm \ |  | ||||||
|                         qt-translations/qt_da.qm \ |  | ||||||
|                         qt-translations/qt_de.qm \ |  | ||||||
|                         qt-translations/qt_es.qm \ |  | ||||||
|                         qt-translations/qt_fi.qm \ |  | ||||||
|                         qt-translations/qt_fr.qm \ |  | ||||||
|                         qt-translations/qt_gl.qm \ |  | ||||||
|                         qt-translations/qt_he.qm \ |  | ||||||
|                         qt-translations/qt_hu.qm \ |  | ||||||
|                         qt-translations/qt_it.qm \ |  | ||||||
|                         qt-translations/qt_ja.qm \ |  | ||||||
|                         qt-translations/qt_ko.qm \ |  | ||||||
|                         qt-translations/qt_lt.qm \ |  | ||||||
|                         qt-translations/qt_nl.qm \ |  | ||||||
|                         qt-translations/qt_pl.qm \ |  | ||||||
|                         qt-translations/qt_pt.qm \ |  | ||||||
|                         qt-translations/qt_pt_BR.qm \ |  | ||||||
|                         qt-translations/qt_ru.qm \ |  | ||||||
|                         qt-translations/qt_sk.qm \ |  | ||||||
|                         qt-translations/qt_sv.qm \ |  | ||||||
|                         qt-translations/qt_tr.qm \ |  | ||||||
|                         qt-translations/qt_uk.qm \ |  | ||||||
|                         qt-translations/qt_zh_CN.qm \ |  | ||||||
|                         qt-translations/qt_zh_TW.qm |  | ||||||
| QMAKE_BUNDLE_DATA += qt_translations |  | ||||||
|  |  | ||||||
| ICON = mac/qbittorrent_mac.icns |  | ||||||
| QMAKE_INFO_PLIST = mac/Info.plist |  | ||||||
|  |  | ||||||
| DEFINES += WITH_GEOIP_EMBEDDED |  | ||||||
| message("On Mac OS X, GeoIP database must be embedded.") |  | ||||||
							
								
								
									
										19
									
								
								os2conf.pri
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								os2conf.pri
									
									
									
									
									
								
							| @@ -1,19 +0,0 @@ | |||||||
| exists(conf.pri) { |  | ||||||
|     # to the conf.pri goes all system dependent stuff |  | ||||||
|     include(conf.pri) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| LIBS += -ltorrent-rasterbar \ |  | ||||||
|         -lboost_thread \ |  | ||||||
|         -lboost_system \ |  | ||||||
|         -lboost_filesystem \ |  | ||||||
|         -lssl -lcrypto -lidn -lpthread -lz |  | ||||||
|  |  | ||||||
| RC_FILE = qbittorrent_os2.rc |  | ||||||
|  |  | ||||||
| # LIBTORRENT DEFINES |  | ||||||
| DEFINES += WITH_SHIPPED_GEOIP_H |  | ||||||
| DEFINES += BOOST_ASIO_DYN_LINK |  | ||||||
|  |  | ||||||
| DEFINES += WITH_GEOIP_EMBEDDED |  | ||||||
| message("On eCS(OS/2), GeoIP database must be embedded.") |  | ||||||
							
								
								
									
										199
									
								
								qBittorrent.kdevelop
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								qBittorrent.kdevelop
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,199 @@ | |||||||
|  | <?xml version = '1.0'?> | ||||||
|  | <kdevelop> | ||||||
|  |   <general> | ||||||
|  |     <author>Christophe Dumez</author> | ||||||
|  |     <email>chris@qbittorrent.org</email> | ||||||
|  |     <version>1.0.0</version> | ||||||
|  |     <projectmanagement>KDevTrollProject</projectmanagement> | ||||||
|  |     <primarylanguage>C++</primarylanguage> | ||||||
|  |     <keywords> | ||||||
|  |       <keyword>Qt</keyword> | ||||||
|  |     </keywords> | ||||||
|  |     <projectname>qBittorrent</projectname> | ||||||
|  |     <ignoreparts/> | ||||||
|  |     <projectdirectory>.</projectdirectory> | ||||||
|  |     <absoluteprojectpath>false</absoluteprojectpath> | ||||||
|  |     <description/> | ||||||
|  |     <defaultencoding/> | ||||||
|  |     <versioncontrol>kdevsubversion</versioncontrol> | ||||||
|  |   </general> | ||||||
|  |   <kdevfileview> | ||||||
|  |     <groups> | ||||||
|  |       <group pattern="*.cpp;*.cxx;*.h" name="Sources" /> | ||||||
|  |       <group pattern="*.ui" name="User Interface" /> | ||||||
|  |       <group pattern="*.png" name="Icons" /> | ||||||
|  |       <group pattern="*" name="Others" /> | ||||||
|  |       <hidenonprojectfiles>false</hidenonprojectfiles> | ||||||
|  |       <hidenonlocation>false</hidenonlocation> | ||||||
|  |     </groups> | ||||||
|  |     <tree> | ||||||
|  |       <hidepatterns>*.o,*.lo,CVS</hidepatterns> | ||||||
|  |       <hidenonprojectfiles>false</hidenonprojectfiles> | ||||||
|  |       <showvcsfields>false</showvcsfields> | ||||||
|  |     </tree> | ||||||
|  |   </kdevfileview> | ||||||
|  |   <kdevdoctreeview> | ||||||
|  |     <ignoretocs> | ||||||
|  |       <toc>bash</toc> | ||||||
|  |       <toc>bash_bugs</toc> | ||||||
|  |       <toc>clanlib</toc> | ||||||
|  |       <toc>w3c-dom-level2-html</toc> | ||||||
|  |       <toc>fortran_bugs_gcc</toc> | ||||||
|  |       <toc>gnome1</toc> | ||||||
|  |       <toc>gnustep</toc> | ||||||
|  |       <toc>gtk</toc> | ||||||
|  |       <toc>gtk_bugs</toc> | ||||||
|  |       <toc>haskell</toc> | ||||||
|  |       <toc>haskell_bugs_ghc</toc> | ||||||
|  |       <toc>java_bugs_gcc</toc> | ||||||
|  |       <toc>java_bugs_sun</toc> | ||||||
|  |       <toc>kde2book</toc> | ||||||
|  |       <toc>opengl</toc> | ||||||
|  |       <toc>pascal_bugs_fp</toc> | ||||||
|  |       <toc>php</toc> | ||||||
|  |       <toc>php_bugs</toc> | ||||||
|  |       <toc>perl</toc> | ||||||
|  |       <toc>perl_bugs</toc> | ||||||
|  |       <toc>python</toc> | ||||||
|  |       <toc>python_bugs</toc> | ||||||
|  |       <toc>qt-kdev3</toc> | ||||||
|  |       <toc>ruby</toc> | ||||||
|  |       <toc>ruby_bugs</toc> | ||||||
|  |       <toc>sdl</toc> | ||||||
|  |       <toc>stl</toc> | ||||||
|  |       <toc>w3c-svg</toc> | ||||||
|  |       <toc>sw</toc> | ||||||
|  |       <toc>w3c-uaag10</toc> | ||||||
|  |       <toc>wxwidgets_bugs</toc> | ||||||
|  |     </ignoretocs> | ||||||
|  |     <ignoredoxygen> | ||||||
|  |       <toc>KDE Libraries (Doxygen)</toc> | ||||||
|  |     </ignoredoxygen> | ||||||
|  |   </kdevdoctreeview> | ||||||
|  |   <kdevdebugger> | ||||||
|  |     <general> | ||||||
|  |       <dbgshell/> | ||||||
|  |       <gdbpath/> | ||||||
|  |       <configGdbScript/> | ||||||
|  |       <runShellScript/> | ||||||
|  |       <runGdbScript/> | ||||||
|  |       <breakonloadinglibs>true</breakonloadinglibs> | ||||||
|  |       <separatetty>false</separatetty> | ||||||
|  |       <floatingtoolbar>false</floatingtoolbar> | ||||||
|  |     </general> | ||||||
|  |     <display> | ||||||
|  |       <staticmembers>false</staticmembers> | ||||||
|  |       <demanglenames>true</demanglenames> | ||||||
|  |       <outputradix>10</outputradix> | ||||||
|  |     </display> | ||||||
|  |   </kdevdebugger> | ||||||
|  |   <kdevcppsupport> | ||||||
|  |     <qt> | ||||||
|  |       <version>4</version> | ||||||
|  |       <used>true</used> | ||||||
|  |       <includestyle>4</includestyle> | ||||||
|  |       <designerintegration>ExternalDesigner</designerintegration> | ||||||
|  |       <root>/usr/lib/qt4</root> | ||||||
|  |       <qmake>/usr/bin/qmake</qmake> | ||||||
|  |       <designer>/usr/bin/designer</designer> | ||||||
|  |       <designerpluginpaths/> | ||||||
|  |     </qt> | ||||||
|  |     <references> | ||||||
|  |       <pcs>automatic_%2Fhome%2Fishanarora%2Fprojects%2Fqbittorrent</pcs> | ||||||
|  |     </references> | ||||||
|  |     <codecompletion> | ||||||
|  |       <automaticCodeCompletion>true</automaticCodeCompletion> | ||||||
|  |       <automaticArgumentsHint>true</automaticArgumentsHint> | ||||||
|  |       <automaticHeaderCompletion>true</automaticHeaderCompletion> | ||||||
|  |       <codeCompletionDelay>250</codeCompletionDelay> | ||||||
|  |       <argumentsHintDelay>400</argumentsHintDelay> | ||||||
|  |       <headerCompletionDelay>250</headerCompletionDelay> | ||||||
|  |       <showOnlyAccessibleItems>false</showOnlyAccessibleItems> | ||||||
|  |       <completionBoxItemOrder>0</completionBoxItemOrder> | ||||||
|  |       <howEvaluationContextMenu>true</howEvaluationContextMenu> | ||||||
|  |       <showCommentWithArgumentHint>true</showCommentWithArgumentHint> | ||||||
|  |       <statusBarTypeEvaluation>false</statusBarTypeEvaluation> | ||||||
|  |       <namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases> | ||||||
|  |       <processPrimaryTypes>true</processPrimaryTypes> | ||||||
|  |       <processFunctionArguments>true</processFunctionArguments> | ||||||
|  |       <preProcessAllHeaders>true</preProcessAllHeaders> | ||||||
|  |       <parseMissingHeadersExperimental>true</parseMissingHeadersExperimental> | ||||||
|  |       <resolveIncludePathsUsingMakeExperimental>true</resolveIncludePathsUsingMakeExperimental> | ||||||
|  |       <alwaysParseInBackground>true</alwaysParseInBackground> | ||||||
|  |       <usePermanentCaching>true</usePermanentCaching> | ||||||
|  |       <alwaysIncludeNamespaces>false</alwaysIncludeNamespaces> | ||||||
|  |       <includePaths>.;</includePaths> | ||||||
|  |     </codecompletion> | ||||||
|  |     <creategettersetter> | ||||||
|  |       <prefixGet>get</prefixGet> | ||||||
|  |       <prefixSet>set</prefixSet> | ||||||
|  |       <prefixVariable>m_,_</prefixVariable> | ||||||
|  |       <parameterName>theValue</parameterName> | ||||||
|  |       <inlineGet>true</inlineGet> | ||||||
|  |       <inlineSet>true</inlineSet> | ||||||
|  |     </creategettersetter> | ||||||
|  |     <splitheadersource> | ||||||
|  |       <enabled>false</enabled> | ||||||
|  |       <synchronize>true</synchronize> | ||||||
|  |       <orientation>Vertical</orientation> | ||||||
|  |     </splitheadersource> | ||||||
|  |   </kdevcppsupport> | ||||||
|  |   <kdevfilecreate> | ||||||
|  |     <filetypes/> | ||||||
|  |     <useglobaltypes> | ||||||
|  |       <type ext="ui" /> | ||||||
|  |       <type ext="cpp" /> | ||||||
|  |       <type ext="h" /> | ||||||
|  |     </useglobaltypes> | ||||||
|  |   </kdevfilecreate> | ||||||
|  |   <kdevtrollproject> | ||||||
|  |     <general> | ||||||
|  |       <activedir>src</activedir> | ||||||
|  |     </general> | ||||||
|  |     <run> | ||||||
|  |       <directoryradio>executable</directoryradio> | ||||||
|  |       <mainprogram>/home/ishanarora/projects/qbittorrent/src/qbittorrent</mainprogram> | ||||||
|  |       <programargs/> | ||||||
|  |       <globaldebugarguments/> | ||||||
|  |       <globalcwd>/home/ishanarora/projects/qbittorrent</globalcwd> | ||||||
|  |       <useglobalprogram>true</useglobalprogram> | ||||||
|  |       <terminal>false</terminal> | ||||||
|  |       <autocompile>true</autocompile> | ||||||
|  |       <autoinstall>false</autoinstall> | ||||||
|  |       <autokdesu>false</autokdesu> | ||||||
|  |       <envvars/> | ||||||
|  |     </run> | ||||||
|  |     <make> | ||||||
|  |       <abortonerror>true</abortonerror> | ||||||
|  |       <runmultiplejobs>false</runmultiplejobs> | ||||||
|  |       <numberofjobs>1</numberofjobs> | ||||||
|  |       <dontact>false</dontact> | ||||||
|  |       <makebin/> | ||||||
|  |       <prio>0</prio> | ||||||
|  |       <envvars/> | ||||||
|  |     </make> | ||||||
|  |     <qmake> | ||||||
|  |       <savebehaviour>2</savebehaviour> | ||||||
|  |       <replacePaths>false</replacePaths> | ||||||
|  |       <disableDefaultOpts>true</disableDefaultOpts> | ||||||
|  |     </qmake> | ||||||
|  |   </kdevtrollproject> | ||||||
|  |   <cppsupportpart> | ||||||
|  |     <filetemplates> | ||||||
|  |       <interfacesuffix>.h</interfacesuffix> | ||||||
|  |       <implementationsuffix>.cpp</implementationsuffix> | ||||||
|  |     </filetemplates> | ||||||
|  |   </cppsupportpart> | ||||||
|  |   <ctagspart> | ||||||
|  |     <customArguments/> | ||||||
|  |     <customTagfilePath>/home/ishanarora/projects/qbittorrent/tags</customTagfilePath> | ||||||
|  |     <activeTagsFiles/> | ||||||
|  |   </ctagspart> | ||||||
|  |   <kdevdocumentation> | ||||||
|  |     <projectdoc> | ||||||
|  |       <docsystem/> | ||||||
|  |       <docurl/> | ||||||
|  |       <usermanualurl/> | ||||||
|  |     </projectdoc> | ||||||
|  |   </kdevdocumentation> | ||||||
|  | </kdevelop> | ||||||
| @@ -2,18 +2,3 @@ TEMPLATE = subdirs | |||||||
|  |  | ||||||
| SUBDIRS += src | SUBDIRS += src | ||||||
|  |  | ||||||
| include(version.pri) |  | ||||||
| include(qm_gen.pri) |  | ||||||
|  |  | ||||||
| # Dist |  | ||||||
| dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/ && |  | ||||||
| dist.commands += git clone . ../$${PROJECT_NAME}-$${PROJECT_VERSION} && |  | ||||||
| dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.git && |  | ||||||
| dist.commands += rm -f ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.gitignore && |  | ||||||
| dist.commands += cd .. && |  | ||||||
| dist.commands += tar czf $${PROJECT_NAME}-$${PROJECT_VERSION}.tar.gz $${PROJECT_NAME}-$${PROJECT_VERSION} && |  | ||||||
| dist.commands += tar cf $${PROJECT_NAME}-$${PROJECT_VERSION}.tar $${PROJECT_NAME}-$${PROJECT_VERSION} && |  | ||||||
| dist.commands += xz -f $${PROJECT_NAME}-$${PROJECT_VERSION}.tar && |  | ||||||
| dist.commands += rm -fR $${PROJECT_NAME}-$${PROJECT_VERSION} |  | ||||||
|  |  | ||||||
| QMAKE_EXTRA_TARGETS += dist |  | ||||||
|   | |||||||
| @@ -6,8 +6,6 @@ | |||||||
|   <dep type='qt4'> |   <dep type='qt4'> | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
|   <dep type='qt-dbus'> |  | ||||||
|   </dep> |  | ||||||
|   <dep type='pkg-config'> |   <dep type='pkg-config'> | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
| @@ -17,9 +15,10 @@ | |||||||
|   <dep type='libboost'> |   <dep type='libboost'> | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
|  |   <dep type='libnotify'> | ||||||
|  |   </dep> | ||||||
|   <dep type='geoip-database'> |   <dep type='geoip-database'> | ||||||
|   </dep> |   </dep> | ||||||
|   <dep type='qtsingleapplication'> |   <dep type='qtsingleapplication'> | ||||||
|     <required/> |  | ||||||
|   </dep> |   </dep> | ||||||
| </qconf> | </qconf> | ||||||
|   | |||||||
| @@ -6,15 +6,12 @@ arg: with-libboost-lib=[path], Path to libboost library files | |||||||
| -----END QCMOD----- | -----END QCMOD----- | ||||||
| */ | */ | ||||||
| #include <boost/version.hpp> | #include <boost/version.hpp> | ||||||
| #include <libtorrent/version.hpp> |  | ||||||
|  |  | ||||||
| class qc_libboost : public ConfObj | class qc_libboost : public ConfObj | ||||||
| { | { | ||||||
| public: | public: | ||||||
| 	qc_libboost(Conf *c) : ConfObj(c) {} | 	qc_libboost(Conf *c) : ConfObj(c) {} | ||||||
| 	QString name() const { return "libboost"; } | 	QString name() const { return "libboost"; } | ||||||
| 	QString shortname() const { return "libboost"; } | 	QString shortname() const { return "libboost"; } | ||||||
|  |  | ||||||
|   QString findBoostLib(QString path, QString lib) const { |   QString findBoostLib(QString path, QString lib) const { | ||||||
|     QString name; |     QString name; | ||||||
|     QDir libDir(path); |     QDir libDir(path); | ||||||
| @@ -38,46 +35,69 @@ public: | |||||||
|     } |     } | ||||||
|     return name; |     return name; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| 	bool exec(){ | 	bool exec(){ | ||||||
|  |         	QString s; | ||||||
|  | 		s = conf->getenv("QC_WITH_LIBBOOST_INC"); | ||||||
|  | 		if(!s.isEmpty()) { | ||||||
|  | 			if(!conf->checkHeader(s, "boost/format.hpp")) { | ||||||
|  | 				return false; | ||||||
|  |       			} | ||||||
|  | 			if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) { | ||||||
|  | 				return false; | ||||||
|  |       			} | ||||||
|  | 			if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) { | ||||||
|  | 				return false; | ||||||
|  |       			} | ||||||
|  | 			if(!conf->checkHeader(s, "boost/thread.hpp")) { | ||||||
|  | 				return false; | ||||||
|  |       			} | ||||||
|  | 		}else{ | ||||||
| 			QStringList sl; | 			QStringList sl; | ||||||
|     QString s = conf->getenv("QC_WITH_LIBBOOST_INC"); |  | ||||||
|     if (!s.isEmpty()) |  | ||||||
|       sl << s; |  | ||||||
| 			sl << "/usr/include"; | 			sl << "/usr/include"; | ||||||
| 			sl << "/usr/local/include"; | 			sl << "/usr/local/include"; | ||||||
| 			bool found = false; | 			bool found = false; | ||||||
| 			foreach(s, sl){ | 			foreach(s, sl){ | ||||||
|       if (conf->checkHeader(s, "boost/format.hpp") | 				if(conf->checkHeader(s, "boost/format.hpp")){ | ||||||
| #if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 |  | ||||||
|           && conf->checkHeader(s, "boost/filesystem/path.hpp") |  | ||||||
| #endif |  | ||||||
|          ) { |  | ||||||
| 					found = true; | 					found = true; | ||||||
| 					break; | 					break; | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
|     if (!found) | 			if(!found) { | ||||||
| 				return false; | 				return false; | ||||||
|  |           		} | ||||||
|  | 			if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) { | ||||||
|  | 				return false; | ||||||
|  |       			} | ||||||
|  | 			if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) { | ||||||
|  | 				return false; | ||||||
|  |       			} | ||||||
|  | 			if(!conf->checkHeader(s, "boost/thread.hpp")) { | ||||||
|  | 				return false; | ||||||
|  |       			} | ||||||
|  | 		} | ||||||
| 		conf->addIncludePath(s); | 		conf->addIncludePath(s); | ||||||
|  |  | ||||||
| 		// Find library | 		// Find library | ||||||
| 		s = conf->getenv("QC_WITH_LIBBOOST_LIB"); | 		s = conf->getenv("QC_WITH_LIBBOOST_LIB"); | ||||||
|     QStringList required_libs; |     QStringList required_libs; | ||||||
| #if BOOST_VERSION >= 103500 | #if BOOST_VERSION >= 103500 | ||||||
|       required_libs << "system";  |       required_libs << "system";  | ||||||
| #endif | #endif | ||||||
| #if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 |     if(conf->getenv("QC_DISABLE_GUI").isEmpty()) { | ||||||
|     required_libs << "filesystem" ; |       // Not required by nox | ||||||
| #endif |       required_libs << "filesystem" << "thread"; | ||||||
|     //required_libs << "thread"; |     } | ||||||
|     QStringList libDirs; |     QStringList libDirs; | ||||||
|     if (!s.isEmpty()) |     libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/"; | ||||||
|       libDirs << s; |  | ||||||
|     libDirs << "/usr/lib/" << "/usr/lib/i386-linux-gnu/" << "/usr/lib64/" << "/usr/lib/x86_64-linux-gnu/" << "/usr/local/lib/" << "/usr/lib/local/i386-linux-gnu/" << "/usr/local/lib64/" << "/usr/local/lib/x86_64-linux-gnu/"; |  | ||||||
|  |  | ||||||
|     foreach(const QString& lib, required_libs) { |     foreach(const QString& lib, required_libs) { | ||||||
|  |       if(!s.isEmpty()) { | ||||||
|  |         QString detected_name = findBoostLib(s, lib); | ||||||
|  |         if(detected_name.isEmpty()) { | ||||||
|  |           printf("Could not find boost %s library!\n", qPrintable(lib)); | ||||||
|  |           return false; | ||||||
|  |         } else { | ||||||
|  |           conf->addLib("-l"+detected_name); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|         bool found = false; |         bool found = false; | ||||||
|         foreach(const QString& libDir, libDirs) { |         foreach(const QString& libDir, libDirs) { | ||||||
|           QString detected_name = findBoostLib(libDir, lib); |           QString detected_name = findBoostLib(libDir, lib); | ||||||
| @@ -91,6 +111,7 @@ public: | |||||||
|           printf("Could not find boost %s library!\n", qPrintable(lib)); |           printf("Could not find boost %s library!\n", qPrintable(lib)); | ||||||
|           return false; |           return false; | ||||||
|         } |         } | ||||||
|  |       } | ||||||
|     } |     } | ||||||
| 		return true; | 		return true; | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ public: | |||||||
| 		QString version, libs, other; | 		QString version, libs, other; | ||||||
| 		VersionMode mode = VersionMin; | 		VersionMode mode = VersionMin; | ||||||
| 		if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) { | 		if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) { | ||||||
| 			conf->addExtra("CONFIG += libnotify"); | 			conf->addDefine("WITH_LIBNOTIFY"); | ||||||
| 			for(int n = 0; n < incs.count(); ++n) | 			for(int n = 0; n < incs.count(); ++n) | ||||||
| 				conf->addIncludePath(incs[n]); | 				conf->addIncludePath(incs[n]); | ||||||
| 			if(!libs.isEmpty()) | 			if(!libs.isEmpty()) | ||||||
|   | |||||||
| @@ -8,17 +8,20 @@ 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.15.0"; } | 	QString name() const { return "libtorrent-rasterbar >= 0.14.4"; } | ||||||
| 	QString shortname() const { return "libtorrent-rasterbar"; } | 	QString shortname() const { return "libtorrent-rasterbar"; } | ||||||
| 	bool exec(){ | 	bool exec(){ | ||||||
| 		QStringList incs; | 		QStringList incs; | ||||||
| 		QString req_ver = "0.15.0"; | 		QString req_ver = "0.14.4"; | ||||||
| 		QString version, libs, other; | 		QString version, libs, other; | ||||||
| 		VersionMode mode = VersionMin; | 		VersionMode mode = VersionMin; | ||||||
| 		if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other)) | 		if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other)) | ||||||
| 			return false; | 			return false; | ||||||
| 		for(int n = 0; n < incs.count(); ++n) | 		for(int n = 0; n < incs.count(); ++n) | ||||||
| 			conf->addIncludePath(incs[n]); | 			conf->addIncludePath(incs[n]); | ||||||
|  | 		if(conf->getenv("QC_DISABLE_GUI").isEmpty()) { | ||||||
|  |   		  conf->addLib("-lcrypto"); | ||||||
|  |                 } | ||||||
| 		return true; | 		return true; | ||||||
| 	} | 	} | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -1,31 +0,0 @@ | |||||||
| /* |  | ||||||
| -----BEGIN QCMOD----- |  | ||||||
| name: qt-dbus |  | ||||||
| -----END QCMOD----- |  | ||||||
| */ |  | ||||||
| // see  Conf::findPkgConfig |  | ||||||
| class qc_qt_dbus : public ConfObj |  | ||||||
| { |  | ||||||
| public: |  | ||||||
| 	qc_qt_dbus(Conf *c) : ConfObj(c) {} |  | ||||||
| 	QString name() const { return "QtDBus >= 4.5"; } |  | ||||||
| 	QString shortname() const { return "qt-dbus"; } |  | ||||||
|         QString checkString() const { |  | ||||||
|                 if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) |  | ||||||
|                         return ""; |  | ||||||
|                 return ConfObj::checkString(); |  | ||||||
|         } |  | ||||||
| 	bool exec(){ |  | ||||||
|                 if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) |  | ||||||
|                   return false; |  | ||||||
| 		QStringList incs; |  | ||||||
| 		QString req_ver = "4.5.0"; |  | ||||||
| 		QString version, libs, other; |  | ||||||
| 		VersionMode mode = VersionMin; |  | ||||||
| 		if(conf->findPkgConfig("QtDBus", mode, req_ver, &version, &incs, &libs, &other)) { |  | ||||||
|                         conf->addExtra("CONFIG += dbus"); |  | ||||||
| 			return true; |  | ||||||
|                 } |  | ||||||
| 		return false; |  | ||||||
| 	} |  | ||||||
| }; |  | ||||||
| @@ -1,31 +0,0 @@ | |||||||
| /* |  | ||||||
| -----BEGIN QCMOD----- |  | ||||||
| name: qt-svg |  | ||||||
| -----END QCMOD----- |  | ||||||
| */ |  | ||||||
| // see  Conf::findPkgConfig |  | ||||||
| class qc_qt_svg : public ConfObj |  | ||||||
| { |  | ||||||
| public: |  | ||||||
| 	qc_qt_svg(Conf *c) : ConfObj(c) {} |  | ||||||
| 	QString name() const { return "QtSvg >= 4.5"; } |  | ||||||
| 	QString shortname() const { return "qt-svg"; } |  | ||||||
|         QString checkString() const { |  | ||||||
|                 if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) |  | ||||||
|                         return ""; |  | ||||||
|                 return ConfObj::checkString(); |  | ||||||
|         } |  | ||||||
| 	bool exec(){ |  | ||||||
|                 if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) |  | ||||||
|                   return false; |  | ||||||
| 		QStringList incs; |  | ||||||
| 		QString req_ver = "4.5.0"; |  | ||||||
| 		QString version, libs, other; |  | ||||||
| 		VersionMode mode = VersionMin; |  | ||||||
| 		if(conf->findPkgConfig("QtSvg", mode, req_ver, &version, &incs, &libs, &other)) { |  | ||||||
|                         conf->addExtra("CONFIG += svg"); |  | ||||||
| 			return true; |  | ||||||
|                 } |  | ||||||
| 		return false; |  | ||||||
| 	} |  | ||||||
| }; |  | ||||||
							
								
								
									
										26
									
								
								qcm/qt4.qcm
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								qcm/qt4.qcm
									
									
									
									
									
								
							| @@ -1,7 +1,6 @@ | |||||||
| /* | /* | ||||||
| -----BEGIN QCMOD----- | -----BEGIN QCMOD----- | ||||||
| name: Qt >= 4.6 | name: Qt >= 4.5 | ||||||
| arg: enable-debug, Enable debug mode |  | ||||||
| arg: disable-gui, Disable qBittorrent Graphical user interface for headless running | arg: disable-gui, Disable qBittorrent Graphical user interface for headless running | ||||||
| -----END QCMOD----- | -----END QCMOD----- | ||||||
| */ | */ | ||||||
| @@ -9,28 +8,13 @@ class qc_qt4 : public ConfObj | |||||||
| { | { | ||||||
| public: | public: | ||||||
| 	qc_qt4(Conf *c) : ConfObj(c) {} | 	qc_qt4(Conf *c) : ConfObj(c) {} | ||||||
| 	QString name() const { return "Qt >= 4.6"; } | 	QString name() const { return "Qt >= 4.5"; } | ||||||
| 	QString shortname() const { return "Qt 4.6"; } | 	QString shortname() const { return "Qt 4.5"; } | ||||||
| 	bool exec() | 	bool exec() | ||||||
| 	{ | 	{ | ||||||
|                 // NOX mode |  | ||||||
| 		if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) { | 		if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) { | ||||||
| 			conf->addExtra("CONFIG += nox"); | 			conf->addDefine("DISABLE_GUI"); | ||||||
| 		}	 | 		}	 | ||||||
|                 // Debug mode | 		return(QT_VERSION >= 0x040500); | ||||||
|                 if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) { |  | ||||||
|                   conf->addExtra("CONFIG -= release"); |  | ||||||
|                   conf->addExtra("CONFIG += debug"); |  | ||||||
|                 } else { |  | ||||||
|                   conf->addExtra("CONFIG -= debug"); |  | ||||||
|                   conf->addExtra("CONFIG += release"); |  | ||||||
|                 } |  | ||||||
|                 #ifdef Q_OS_FREEBSD |  | ||||||
|                   conf->addLib("-lexecinfo"); |  | ||||||
|                   conf->addExtra("MANPREFIX = $$PREFIX"); |  | ||||||
|                 #else |  | ||||||
|                   conf->addExtra("MANPREFIX = $$PREFIX/share");  |  | ||||||
|                 #endif |  | ||||||
| 		return(QT_VERSION >= 0x040600); |  | ||||||
| 	} | 	} | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| /* | /* | ||||||
| -----BEGIN QCMOD----- | -----BEGIN QCMOD----- | ||||||
| name: qtsingleapplication | name: libboost | ||||||
| arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one | arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one | ||||||
| -----END QCMOD----- | -----END QCMOD----- | ||||||
| */ | */ | ||||||
| @@ -16,7 +16,7 @@ public: | |||||||
|                 s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION"); |                 s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION"); | ||||||
|                 if(s.compare("system", Qt::CaseInsensitive) == 0) { |                 if(s.compare("system", Qt::CaseInsensitive) == 0) { | ||||||
|                   // System |                   // System | ||||||
|                   conf->addExtra("CONFIG += usesystemqtsingleapplication"); |                   conf->addDefine("USE_SYSTEM_QTSINGLEAPPLICATION"); | ||||||
|                   printf(" [system] "); |                   printf(" [system] "); | ||||||
|                 } else { |                 } else { | ||||||
|                   printf(" [shipped] "); |                   printf(" [shipped] "); | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								qm_gen.pri
									
									
									
									
									
								
							
							
						
						
									
										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") |  | ||||||
| } |  | ||||||
							
								
								
									
										1247
									
								
								src/GUI.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1247
									
								
								src/GUI.cpp
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -36,16 +36,20 @@ | |||||||
| #include <QPointer> | #include <QPointer> | ||||||
| #include "ui_mainwindow.h" | #include "ui_mainwindow.h" | ||||||
| #include "qtorrenthandle.h" | #include "qtorrenthandle.h" | ||||||
| #include "statsdialog.h" |  | ||||||
|  |  | ||||||
| class QBtSession; | class QBtSession; | ||||||
|  | class QTimer; | ||||||
| class downloadFromURL; | class downloadFromURL; | ||||||
| class SearchEngine; | class SearchEngine; | ||||||
|  | class QCloseEvent; | ||||||
| class RSSImp; | class RSSImp; | ||||||
|  | class QShortcut; | ||||||
| class about; | class about; | ||||||
| class options_imp; | class options_imp; | ||||||
|  | class QTabWidget; | ||||||
| class TransferListWidget; | class TransferListWidget; | ||||||
| class TransferListFiltersWidget; | class TransferListFiltersWidget; | ||||||
|  | class QSplitter; | ||||||
| class PropertiesWidget; | class PropertiesWidget; | ||||||
| class StatusBar; | class StatusBar; | ||||||
| class consoleDlg; | class consoleDlg; | ||||||
| @@ -54,24 +58,15 @@ class TorrentCreatorDlg; | |||||||
| class downloadFromURL; | class downloadFromURL; | ||||||
| class HidableTabWidget; | class HidableTabWidget; | ||||||
| class LineEdit; | class LineEdit; | ||||||
| class ExecutionLog; |  | ||||||
| class PowerManagement; |  | ||||||
|  |  | ||||||
| QT_BEGIN_NAMESPACE |  | ||||||
| class QCloseEvent; |  | ||||||
| class QFileSystemWatcher; | class QFileSystemWatcher; | ||||||
| class QShortcut; |  | ||||||
| class QSplitter; |  | ||||||
| class QTabWidget; |  | ||||||
| class QTimer; |  | ||||||
| QT_END_NAMESPACE |  | ||||||
|  |  | ||||||
| class MainWindow : public QMainWindow, private Ui::MainWindow{ | class GUI : public QMainWindow, private Ui::MainWindow{ | ||||||
|   Q_OBJECT |   Q_OBJECT | ||||||
|  |  | ||||||
| public: | public: | ||||||
|   // Construct / Destruct |   // Construct / Destruct | ||||||
|   MainWindow(QWidget *parent=0, const QStringList& torrentCmdLine = QStringList()); |   GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList()); | ||||||
|  |   ~GUI(); | ||||||
|   // Methods |   // Methods | ||||||
|   QWidget* getCurrentTabWidget() const; |   QWidget* getCurrentTabWidget() const; | ||||||
|   TransferListWidget* getTransferList() const { return transferList; } |   TransferListWidget* getTransferList() const { return transferList; } | ||||||
| @@ -79,41 +74,37 @@ public: | |||||||
|   PropertiesWidget *getProperties() const { return properties; } |   PropertiesWidget *getProperties() const { return properties; } | ||||||
|  |  | ||||||
| public slots: | public slots: | ||||||
|   void trackerAuthenticationRequired(const QTorrentHandle& h); |   void trackerAuthenticationRequired(QTorrentHandle& h); | ||||||
|   void setTabText(int index, QString text) const; |   void setTabText(int index, QString text) const; | ||||||
|   void showNotificationBaloon(QString title, QString msg) const; |   void showNotificationBaloon(QString title, QString msg) const; | ||||||
|   void downloadFromURLList(const QStringList& urls); |   void downloadFromURLList(const QStringList& urls); | ||||||
|   void updateAltSpeedsBtn(bool alternative); |   void updateAltSpeedsBtn(bool alternative); | ||||||
|   void updateNbTorrents(); |   void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused); | ||||||
|   void shutdownCleanUp(); |   void deleteBTSession(); | ||||||
|  |  | ||||||
| protected slots: | protected slots: | ||||||
|   // GUI related slots |   // GUI related slots | ||||||
|   void dropEvent(QDropEvent *event); |   void dropEvent(QDropEvent *event); | ||||||
|   void dragEnterEvent(QDragEnterEvent *event); |   void dragEnterEvent(QDragEnterEvent *event); | ||||||
|   void toggleVisibility(QSystemTrayIcon::ActivationReason e = QSystemTrayIcon::Trigger); |   void toggleVisibility(QSystemTrayIcon::ActivationReason e); | ||||||
|   void on_actionAbout_triggered(); |   void on_actionAbout_triggered(); | ||||||
|   void on_actionStatistics_triggered(); |  | ||||||
|   void on_actionCreate_torrent_triggered(); |   void on_actionCreate_torrent_triggered(); | ||||||
|   void on_actionWebsite_triggered() const; |   void on_actionWebsite_triggered() const; | ||||||
|   void on_actionBugReport_triggered() const; |   void on_actionBugReport_triggered() const; | ||||||
|  |   void on_actionShow_console_triggered(); | ||||||
|   void balloonClicked(); |   void balloonClicked(); | ||||||
|   void writeSettings(); |   void writeSettings(); | ||||||
|   void readSettings(); |   void readSettings(); | ||||||
|   void on_actionExit_triggered(); |   void on_actionExit_triggered(); | ||||||
|   void createTrayIcon(); |   void createTrayIcon(); | ||||||
|   void fullDiskError(const QTorrentHandle& h, QString msg) const; |   void fullDiskError(QTorrentHandle& h, QString msg) const; | ||||||
|   void handleDownloadFromUrlFailure(QString, QString) const; |   void handleDownloadFromUrlFailure(QString, QString) const; | ||||||
|   void createSystrayDelayed(); |   void createSystrayDelayed(); | ||||||
|   void tab_changed(int); |   void tab_changed(int); | ||||||
|   void on_actionLock_qBittorrent_triggered(); |   void on_actionLock_qBittorrent_triggered(); | ||||||
|   void defineUILockPassword(); |   void defineUILockPassword(); | ||||||
|   void clearUILockPassword(); |  | ||||||
|   bool unlockUI(); |   bool unlockUI(); | ||||||
|   void notifyOfUpdate(QString); |   void notifyOfUpdate(QString); | ||||||
|   void showConnectionSettings(); |  | ||||||
|   void minimizeWindow(); |  | ||||||
|   void updateTrayIconMenu(); |  | ||||||
|   // Keyboard shortcuts |   // Keyboard shortcuts | ||||||
|   void createKeyboardShortcuts(); |   void createKeyboardShortcuts(); | ||||||
|   void displayTransferTab() const; |   void displayTransferTab() const; | ||||||
| @@ -131,16 +122,16 @@ protected slots: | |||||||
|   void addTorrent(QString path); |   void addTorrent(QString path); | ||||||
|   void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker); |   void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker); | ||||||
|   void processDownloadedFiles(QString path, QString url); |   void processDownloadedFiles(QString path, QString url); | ||||||
|   void processNewMagnetLink(const QString& link); |   void finishedTorrent(QTorrentHandle& h) const; | ||||||
|   void finishedTorrent(const QTorrentHandle& h) const; |   void askRecursiveTorrentDownloadConfirmation(QTorrentHandle &h); | ||||||
|   void askRecursiveTorrentDownloadConfirmation(const QTorrentHandle &h); |  | ||||||
|   // Options slots |   // Options slots | ||||||
|   void on_actionOptions_triggered(); |   void on_actionOptions_triggered(); | ||||||
|   void optionsSaved(); |   void optionsSaved(); | ||||||
|   // HTTP slots |   // HTTP slots | ||||||
|   void on_actionDownload_from_URL_triggered(); |   void on_actionDownload_from_URL_triggered(); | ||||||
| #if defined(Q_WS_WIN) || defined(Q_WS_MAC) | #if defined(Q_WS_WIN) || defined(Q_WS_MAC) | ||||||
|   void handleUpdateCheckFinished(bool update_available, QString new_version, bool invokedByUser); |   void handleUpdateCheckFinished(bool update_available, QString new_version); | ||||||
|  |   void handleUpdateInstalled(QString error_msg); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| protected: | protected: | ||||||
| @@ -150,28 +141,18 @@ protected: | |||||||
|   void displayRSSTab(bool enable); |   void displayRSSTab(bool enable); | ||||||
|   void displaySearchTab(bool enable); |   void displaySearchTab(bool enable); | ||||||
|  |  | ||||||
| private: |  | ||||||
|   QIcon getSystrayIcon() const; |  | ||||||
| #ifdef Q_OS_WIN |  | ||||||
|   bool addPythonPathToEnv(); |  | ||||||
|   void installPython(); |  | ||||||
|   void pythonDownloadSuccess(QString url, QString file_path); |  | ||||||
|   void pythonDownloadFailure(QString url, QString error); |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| private: | private: | ||||||
|   QFileSystemWatcher *executable_watcher; |   QFileSystemWatcher *executable_watcher; | ||||||
|   // Bittorrent |   // Bittorrent | ||||||
|  |   QBtSession *BTSession; | ||||||
|   QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed? |   QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed? | ||||||
|   // GUI related |   // GUI related | ||||||
|   bool m_posInitialized; |  | ||||||
|   QTimer *guiUpdater; |   QTimer *guiUpdater; | ||||||
|   HidableTabWidget *tabs; |   HidableTabWidget *tabs; | ||||||
|   StatusBar *status_bar; |   StatusBar *status_bar; | ||||||
|   QPointer<options_imp> options; |   QPointer<options_imp> options; | ||||||
|   QPointer<consoleDlg> console; |   QPointer<consoleDlg> console; | ||||||
|   QPointer<about> aboutDlg; |   QPointer<about> aboutDlg; | ||||||
|   QPointer<StatsDialog> statsDlg; |  | ||||||
|   QPointer<TorrentCreatorDlg> createTorrentDlg; |   QPointer<TorrentCreatorDlg> createTorrentDlg; | ||||||
|   QPointer<downloadFromURL> downloadFromURLDialog; |   QPointer<downloadFromURL> downloadFromURLDialog; | ||||||
|   QPointer<QSystemTrayIcon> systrayIcon; |   QPointer<QSystemTrayIcon> systrayIcon; | ||||||
| @@ -183,7 +164,6 @@ private: | |||||||
|   bool displaySpeedInTitle; |   bool displaySpeedInTitle; | ||||||
|   bool force_exit; |   bool force_exit; | ||||||
|   bool ui_locked; |   bool ui_locked; | ||||||
|   bool unlockDlgShowing; |  | ||||||
|   LineEdit *search_filter; |   LineEdit *search_filter; | ||||||
|   // Keyboard shortcuts |   // Keyboard shortcuts | ||||||
|   QShortcut *switchSearchShortcut; |   QShortcut *switchSearchShortcut; | ||||||
| @@ -192,42 +172,23 @@ private: | |||||||
|   QShortcut *switchRSSShortcut; |   QShortcut *switchRSSShortcut; | ||||||
|   // Widgets |   // Widgets | ||||||
|   QAction *prioSeparator; |   QAction *prioSeparator; | ||||||
|   QAction *prioSeparatorMenu; |   QAction *prioSeparator2; | ||||||
|   QSplitter *hSplitter; |   QSplitter *hSplitter; | ||||||
|   QSplitter *vSplitter; |   QSplitter *vSplitter; | ||||||
|  |   QMenu *lockMenu; | ||||||
|   // Search |   // Search | ||||||
|   QPointer<SearchEngine> searchEngine; |   QPointer<SearchEngine> searchEngine; | ||||||
|   // RSS |   // RSS | ||||||
|   QPointer<RSSImp> rssWidget; |   QPointer<RSSImp> rssWidget; | ||||||
|   // Execution Log |  | ||||||
|   QPointer<ExecutionLog> m_executionLog; |  | ||||||
|   // Power Management |  | ||||||
|   PowerManagement *m_pwr; |  | ||||||
|   QTimer *preventTimer; |  | ||||||
| #if defined(Q_WS_WIN) || defined(Q_WS_MAC) |  | ||||||
|   QTimer programUpdateTimer; |  | ||||||
| #endif |  | ||||||
| #ifdef Q_OS_WIN |  | ||||||
|   bool has_python; |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| private slots: | private slots: | ||||||
|     void on_actionSearch_engine_triggered(); |     void on_actionSearch_engine_triggered(); | ||||||
|     void on_actionRSS_Reader_triggered(); |     void on_actionRSS_Reader_triggered(); | ||||||
|     void on_actionSpeed_in_title_bar_triggered(); |     void on_actionSpeed_in_title_bar_triggered(); | ||||||
|     void on_actionTop_tool_bar_triggered(); |     void on_actionTop_tool_bar_triggered(); | ||||||
|  |     void on_actionShutdown_when_downloads_complete_triggered(); | ||||||
|  |     void on_actionShutdown_qBittorrent_when_downloads_complete_triggered(); | ||||||
|     void on_action_Import_Torrent_triggered(); |     void on_action_Import_Torrent_triggered(); | ||||||
|     void on_actionDonate_money_triggered(); |  | ||||||
|     void on_actionExecution_Logs_triggered(bool checked); |  | ||||||
|     void on_actionAutoExit_qBittorrent_toggled(bool ); |  | ||||||
|     void on_actionAutoSuspend_system_toggled(bool ); |  | ||||||
|     void on_actionAutoHibernate_system_toggled(bool ); |  | ||||||
|     void on_actionAutoShutdown_system_toggled(bool ); |  | ||||||
|     // Check for active torrents and set preventing from suspend state |  | ||||||
|     void checkForActiveTorrents(); |  | ||||||
| #if defined(Q_WS_WIN) || defined(Q_WS_MAC) |  | ||||||
|     void checkProgramUpdate(); |  | ||||||
| #endif |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
							
								
								
									
										
											BIN
										
									
								
								src/Icons/downarrow.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/Icons/downarrow.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 722 B | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 643 B | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 408 B | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 604 B | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 591 B | 
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user