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
		
	
	
		
			v3_0_x
			...
			release-1.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 943e863be0 | 
							
								
								
									
										14
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,14 +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 |  | ||||||
							
								
								
									
										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 |  | ||||||
							
								
								
									
										68
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								AUTHORS
									
									
									
									
									
								
							| @@ -1,38 +1,16 @@ | |||||||
| 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> |  | ||||||
| * Mohammad Dib <mdib@qbittorrent.org> |  | ||||||
| * Mirco Chinelli <infinity89@fastwebmail.it> |  | ||||||
| * Ishan Arora <ishan@qbittorrent.org> |  | ||||||
| * Arnaud Demaizière <arnaud@qbittorrent.org> | * Arnaud Demaizière <arnaud@qbittorrent.org> | ||||||
|  | * Ishan Arora <ishan@qbittorrent.org> | ||||||
| * Grigis Gaëtan <cipher16@gmail.com> | * Grigis Gaëtan <cipher16@gmail.com> | ||||||
| * Christian Kandeler <zambesi@users.sourceforge.net> |  | ||||||
| * Silvan Scherrer <silvan.scherrer@aroa.ch> |  | ||||||
| * Nick Tiskov <daymansmail@gmail.com> |  | ||||||
|  |  | ||||||
| Code from other projects: | Code from other projects: | ||||||
| * files src/qtsingleapp/* src/lineedit/* |  | ||||||
|   copyright: Nokia Corporation |  | ||||||
|   license: LGPL |  | ||||||
|  |  | ||||||
| * files src/ico.cpp src/ico.h | * files src/ico.cpp src/ico.h | ||||||
|   copyright: Malte Starostik <malte@kde.org> |   copyright: Malte Starostik <malte@kde.org> | ||||||
|   license: LGPL |   license: LGPL | ||||||
|  |  | ||||||
| * files src/search_engine/socks.py |  | ||||||
|   copyright: Dan Haim <negativeiq@users.sourceforge.net> |  | ||||||
|   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 +23,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 +36,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 | ||||||
|  |  | ||||||
| @@ -80,41 +54,31 @@ Images Authors: | |||||||
| Translations authors: | Translations authors: | ||||||
| * files: src/lang/*.ts | * files: src/lang/*.ts | ||||||
|   copyright: |   copyright: | ||||||
|   - 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) |   - Brazilian: Nick Marinho (nickmarinho@gmail.com) | ||||||
|   - Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net) |   - Bulgarian: Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net) | ||||||
|   - Catalan: Francisco Luque Contreras (frannoe@ya.com) |   - Catalan: Gekko Dam Beer (gekko04@users.sourceforge.net) | ||||||
|   - Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com) |   - Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com) | ||||||
|   - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) |   - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) | ||||||
|   - Croatian: Oliver Mucafir (oliver.untwist@gmail.com) |  | ||||||
|   - Czech: Jirka Vilim (web@tets.cz) |   - Czech: Jirka Vilim (web@tets.cz) | ||||||
|   - Danish: Mathias Nielsen (comoneo@gmail.com) |   - Danish: Mathias Nielsen (comoneo@gmail.com) | ||||||
|   - 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) | ||||||
|   - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net) |   - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net) | ||||||
|   - French: Christophe Dumez (chris@qbittorrent.org) |   - French: Christophe Dumez (chris@qbittorrent.org) | ||||||
|   - Galician: Marcos Lans (marcoslansgarza@gmail.com) |  | ||||||
|   - 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) and Stephanos Antaris (santaris@csd.auth.gr) |   - Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) | ||||||
|   - 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 (nardog@e2umail.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: Jarek Smieja (ajep9691@wp.pl) | ||||||
|   - Polish: Mariusz Fik (fisiu@opensuse.org) |  | ||||||
|   - Portuguese: Nick Marinho (nickmarinho@gmail.com) |   - Portuguese: Nick Marinho (nickmarinho@gmail.com) | ||||||
|   - Romanian: Obada Denis (obadadenis@users.sourceforge.net) |   - Romanian: Obada Denis (obadadenis@users.sourceforge.net) | ||||||
|   - Russian: Nick Khazov (m2k3d0n at users.sourceforge.net) |   - Russian: Nick Khazov (m2k3d0n at users.sourceforge.net) | ||||||
|   - Serbian: Anaximandar Milet (anaximandar at operamail.com) |  | ||||||
|   - Slovak:  helix84 |   - Slovak:  helix84 | ||||||
|   - Spanish: Francisco Luque Contreras (frannoe@ya.com) |   - Spanish: Vicente Raul Plata Fonseca (silverxnt@users.sourceforge.net) | ||||||
|   - Swedish: Daniel Nylander (po@danielnylander.se) |   - Swedish: Daniel Nylander (po@danielnylander.se) | ||||||
|   - Turkish: Hasan Yilmaz (iletisim@hedefturkce.com) |   - Turkish: Erdem Bingöl (erdem84@gmail.com) | ||||||
|   - Ukrainian: Oleh Prypin (blaxpirit@gmail.com) |   - Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net) | ||||||
|   license: GPLv2 |   license: GPLv2 | ||||||
|   | |||||||
							
								
								
									
										65
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								INSTALL
									
									
									
									
									
								
							| @@ -1,55 +1,42 @@ | |||||||
| qBittorrent - A BitTorrent client in C++ / Qt4 | qBittorrent - A BitTorrent client in C++ / Qt4 | ||||||
| ------------------------------------------ | ------------------------------------------ | ||||||
|  |  | ||||||
| 1) Compile and install qBittorrent with Qt4 Graphical Interface | *** Necessary if qt3 is default on your system *** | ||||||
|  | export QTDIR=/usr/include/qt4 | ||||||
|  | export PATH=$QTDIR/bin:$PATH | ||||||
|  | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib | ||||||
|  | *** End *** | ||||||
|  |  | ||||||
|   $ ./configure | ./configure | ||||||
|   $ make && make install | make && make install | ||||||
|   $ qbittorrent | qbittorrent | ||||||
|  |  | ||||||
|   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.3.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml) | ||||||
|  |   Qt >= 4.4.0 is advised | ||||||
|  |  | ||||||
|     - pkg-config executable | - libtorrent-rasterbar by Arvid Norberg (>= v0.14.0 REQUIRED) | ||||||
|  |     -> http://www.qbittorrent.org/download.php (advised) | ||||||
|  |     -> http://www.libtorrent.net | ||||||
|  |     Be careful: another library (the one used by rTorrent) uses a similar name. | ||||||
|  |  | ||||||
|     - libtorrent-rasterbar by Arvid Norberg (>= 0.15.0) | - libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization | ||||||
|         -> http://www.libtorrent.net |  | ||||||
|         Be careful: another library (the one used by rTorrent) uses a similar name. |  | ||||||
|  |  | ||||||
|     - libboost 1.34.x (libboost-filesystem°) + libasio | - libcurl | ||||||
|       or |  | ||||||
|     - libboost >= 1.35.x (libboost-system, libboost-filesystem°) |  | ||||||
|        |  | ||||||
|     °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 |  | ||||||
|  |  | ||||||
|     - geoip-database (optional) | - libmagick++ (advised, not required) | ||||||
|         * If qBittorrent cannot find this database, it will try to resolve countries using the Internet but it will be a lot slower. |   * Needed for favicons support (RSS / Search plugins) | ||||||
|         * Run time only dependency |  | ||||||
|  |  | ||||||
| 2) Compile and install qBittorrent without Qt4 Graphical interface | - libzzip (advised, not required) | ||||||
|  |   * Needed for zip support (Search plugins) | ||||||
|   $ ./configure --disable-gui |  | ||||||
|   $ make && make install |  | ||||||
|   $ qbittorrent |  | ||||||
|  |  | ||||||
|   will install and execute qBittorrent hopefully without any problems. |  | ||||||
|  |  | ||||||
|   Dependencies: |  | ||||||
|     - Qt >= 4.4.0 (libqt-devel, libqtcore, libqtnetwork) |  | ||||||
|  |  | ||||||
|     - pkg-config executable |  | ||||||
|  |  | ||||||
|     - libtorrent-rasterbar by Arvid Norberg (>= v0.15.0) |  | ||||||
|         -> http://www.libtorrent.net |  | ||||||
|         Be careful: another library (the one used by rTorrent) uses a similar name. |  | ||||||
|  |  | ||||||
|     - libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization |  | ||||||
|  |  | ||||||
|  | NOTE FOR NON-KDE USERS: | ||||||
|  | - qt4-qtconfig package is advised when using other systems than KDE. | ||||||
|  |   You can also change qBittorrent style to Cleanlooks (GNOME like) | ||||||
|  |  | ||||||
| DOCUMENTATION: | DOCUMENTATION: | ||||||
| Please note that there is a documentation with a "compiling howto" at http://wiki.qbittorrent.org. | Please note that there is a documentation with a "compiling howto" at http://wiki.qbittorrent.org. | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								README
									
									
									
									
									
								
							| @@ -10,9 +10,6 @@ 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 | ||||||
| support as well as many features. | support as well as many features. | ||||||
|  |  | ||||||
| This product includes GeoLite data created by MaxMind, available from |  | ||||||
| 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: | ||||||
| @@ -26,9 +23,6 @@ will install and execute qBittorrent hopefully without any problem. | |||||||
| For more information please visit: | For more information please visit: | ||||||
| http://www.qbittorrent.org | http://www.qbittorrent.org | ||||||
|  |  | ||||||
| or our wiki here: |  | ||||||
| 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 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										74
									
								
								README.os2
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								README.os2
									
									
									
									
									
								
							| @@ -1,74 +0,0 @@ | |||||||
| qBittorrent - A BitTorrent client in Qt4 |  | ||||||
| ------------------------------------------ |  | ||||||
|  |  | ||||||
| This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| Building qBittorrent |  | ||||||
| ******************** |  | ||||||
|  |  | ||||||
|  |  | ||||||
| Requirements |  | ||||||
| ============ |  | ||||||
|  |  | ||||||
| - gcc based build env (recommended gcc v4.4.2 or greater) |  | ||||||
|    |  | ||||||
| - Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information) |  | ||||||
|  |  | ||||||
| - libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information) |  | ||||||
|  |  | ||||||
| - boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| How to build |  | ||||||
| ============ |  | ||||||
|  |  | ||||||
| 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: |  | ||||||
|  |  | ||||||
| ##### conf.pri content beginn ##### |  | ||||||
| BINDIR = ./bin |  | ||||||
| INCDIR = ./include |  | ||||||
| LIBDIR = ./lib |  | ||||||
| DATADIR = ./share |  | ||||||
|  |  | ||||||
| CONFIG += staticlib |  | ||||||
| INCLUDEPATH += x:/trees/libtorrent/trunk/include |  | ||||||
| LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \ |  | ||||||
|         -Lx:/trees/boost/trunk/stage/lib \ |  | ||||||
|         -Lx:/trees/openssl \ |  | ||||||
| 	-Lx:/extras/lib |  | ||||||
| ##### conf.pri content end ##### |  | ||||||
|  |  | ||||||
| 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 |  | ||||||
| advantage that no created files are in the same dir as the sources are. |  | ||||||
|  |  | ||||||
| For a normal build do the following: |  | ||||||
|  |  | ||||||
| Simply type: |  | ||||||
| $ qmake |  | ||||||
|  |  | ||||||
| Followed by: |  | ||||||
| $ 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 you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC: |  | ||||||
| #netlabs on irc.freenode.net |  | ||||||
|  |  | ||||||
| ------------------------------------------ |  | ||||||
| Silvan Scherrer <silvan.scherrer@aroa.ch> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,44 +0,0 @@ | |||||||
| .\" This manpage has been automatically generated by docbook2man |  | ||||||
| .\" from a DocBook document.  This tool can be found at: |  | ||||||
| .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>. |  | ||||||
| .TH "QBITTORRENT\-NOX" "1" "January 16th 2010" "Command line Bittorrent client written in C++ / Qt4" "" |  | ||||||
|  |  | ||||||
| .SH "NAME" |  | ||||||
| qBittorrent\-nox \- a command line Bittorrent client written in C++ / Qt4 |  | ||||||
|  |  | ||||||
| .SH "SYNOPSIS" |  | ||||||
|  |  | ||||||
| \fBqbittorrent\-nox\fR [\-\-webui-port=x] [TORRENT_FILE | URL]... |  | ||||||
|  |  | ||||||
| \fBqbittorrent\-nox\fR \-\-help |  | ||||||
|  |  | ||||||
| \fBqbittorrent\-nox\fR \-\-version |  | ||||||
|  |  | ||||||
| .PP |  | ||||||
| .SH "DESCRIPTION" |  | ||||||
|  |  | ||||||
| \fBqBittorrent-nox\fR is an advanced command-line Bittorrent client written in C++ / Qt4, |  | ||||||
| using the \fBlibtorrent-rasterbar\fR library by Arvid Norberg. qBittorrent\-nox aims |  | ||||||
| to be a good alternative to other command line bittorrent clients and provides features similar to popular graphical clients. |  | ||||||
|  |  | ||||||
| qBittorrent\-nox is fast, stable, light and it supports unicode.  |  | ||||||
| It also comes with UPnP port forwarding / NAT-PMP, encryption (Vuze compatible),  |  | ||||||
| FAST extension (mainline) and PeX support (utorrent compatible). |  | ||||||
|  |  | ||||||
| qBittorrent\-nox is meant to be controlled via its feature-rich Web UI which is accessible as a default on http://localhost:8080. The Web UI access is secured and the default account user name is "admin" with "adminadmin" as a password. |  | ||||||
|  |  | ||||||
| .SH "OPTIONS" |  | ||||||
|  |  | ||||||
| \fB--help\fR Prints the command line options. |  | ||||||
|  |  | ||||||
| \fB--version\fR Prints qbittorrent program version number. |  | ||||||
|  |  | ||||||
| \fB--webui-port=x\fR Changes Web UI port to x (default: 8080). |  | ||||||
|  |  | ||||||
| .SH "BUGS" |  | ||||||
|  |  | ||||||
| If you find a bug, please report it at http://bugs.qbittorrent.org |  | ||||||
|  |  | ||||||
| .SH "AUTHOR" |  | ||||||
|  |  | ||||||
| Christophe Dumez <chris@qbittorrent.org> |  | ||||||
| @@ -1,42 +1,28 @@ | |||||||
| .\" This manpage has been automatically generated by docbook2man | .\" This manpage has been automatically generated by docbook2man | ||||||
| .\" from a DocBook document.  This tool can be found at: | .\" from a DocBook document.  This tool can be found at: | ||||||
| .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>. | .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>. | ||||||
| .TH "QBITTORRENT" "1" "January 16th 2010" "Bittorrent client written in C++ / Qt4" "" | .TH "QBITTORRENT" "1" "September 1st 2007" "Bittorrent client written in C++ / Qt4" "" | ||||||
|  |  | ||||||
| .SH "NAME" | .SH NAME | ||||||
| qBittorrent \- a Bittorrent client written in C++ / Qt4 | qBittorrent \- a Bittorrent client written in C++ / Qt4 | ||||||
|  | .SH SYNOPSIS | ||||||
|  |  | ||||||
| .SH "SYNOPSIS" | \fBqbittorrent\fR [FILE | URL] [FILE | URL...] | ||||||
|  |  | ||||||
| \fBqbittorrent\fR [\-\-no-splash] [\-\-webui-port=x] [TORRENT_FILE | URL]... |  | ||||||
|  |  | ||||||
| \fBqbittorrent\fR \-\-help | \fBqbittorrent\fR \-\-help | ||||||
|  |  | ||||||
| \fBqbittorrent\fR \-\-version | \fBqbittorrent\fR \-\-version | ||||||
|  |  | ||||||
| .PP | .PP | ||||||
| .SH "DESCRIPTION" | .SH "DESCRIPTION" | ||||||
|  |  | ||||||
| \fBqBittorrent\fR is an advanced Bittorrent client written in C++ / Qt4, | \fBqBittorrent\fR is an advanced Bittorrent client written in C++ / Qt4, | ||||||
| using the \fBlibtorrent-rasterbar\fR library by Arvid Norberg. qBittorrent is similar to uTorrent. qBittorrent | using the \fBrblibtorrent\fR library by Arvid Norberg. qBittorrent aims | ||||||
|  | to be a good alternative to all other bittorrent clients out there. qBittorrent | ||||||
| is fast, stable, light, it supports unicode and it provides a good integrated search engine. | is fast, stable, light, it supports unicode and it provides a good integrated search engine. | ||||||
| It also comes with UPnP port forwarding / NAT-PMP, encryption (Vuze compatible),  | It also comes with UPnP port forwarding / NAT-PMP, encryption (Azureus compatible), FAST extension (mainline) and PeX support (utorrent compatible). | ||||||
| FAST extension (mainline) and PeX support (utorrent compatible). |  | ||||||
|  |  | ||||||
| .SH "OPTIONS" |  | ||||||
|  |  | ||||||
| \fB--help\fR Prints the command line options. |  | ||||||
|  |  | ||||||
| \fB--version\fR Prints qbittorrent program version number. |  | ||||||
|  |  | ||||||
| \fB--no-splash\fR Disables splash screen on startup. |  | ||||||
|  |  | ||||||
| \fB--webui-port=x\fR Changes Web UI port to x (default: 8080). |  | ||||||
|  |  | ||||||
| .SH "BUGS" |  | ||||||
|  |  | ||||||
| If you find a bug, please report it at http://bugs.qbittorrent.org |  | ||||||
|  |  | ||||||
|  | Please report any problem to http://bugs.qbittorrent.org | ||||||
|  | .PP | ||||||
| .SH "AUTHOR" | .SH "AUTHOR" | ||||||
|  |  | ||||||
| Christophe Dumez <chris@qbittorrent.org> | Christophe Dumez <chris@qbittorrent.org> | ||||||
|   | |||||||
							
								
								
									
										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> | ||||||
| @@ -1,18 +1,6 @@ | |||||||
| TEMPLATE = subdirs | TEMPLATE = subdirs | ||||||
|  |  | ||||||
|  | include(conf.pri) | ||||||
|  |  | ||||||
| SUBDIRS += src | SUBDIRS += src | ||||||
|  |  | ||||||
| include(version.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,20 +6,14 @@ | |||||||
|   <dep type='qt4'> |   <dep type='qt4'> | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
|   <dep type='qt-dbus'> |  | ||||||
|   </dep> |  | ||||||
|   <dep type='pkg-config'> |  | ||||||
|     <required/> |  | ||||||
|   </dep> |  | ||||||
|   <dep type='libtorrent-rasterbar'> |   <dep type='libtorrent-rasterbar'> | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
|   <dep type='libboost'> |   <dep type='libboost'> | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
|   <dep type='geoip-database'> |   <dep type='libcurl'> | ||||||
|   </dep> |  | ||||||
|   <dep type='qtsingleapplication'> |  | ||||||
|     <required/> |     <required/> | ||||||
|   </dep> |   </dep> | ||||||
|  |   <dep type='libzzip'/> | ||||||
| </qconf> | </qconf> | ||||||
|   | |||||||
| @@ -1,37 +0,0 @@ | |||||||
| /* |  | ||||||
| -----BEGIN QCMOD----- |  | ||||||
| name: geoip-database |  | ||||||
| arg: with-geoip-database-embedded, Geoip Database will be embedded in qBittorrent executable (please follow instructions in src/geoip/README) |  | ||||||
| -----END QCMOD----- |  | ||||||
| */ |  | ||||||
| // see  Conf::findPkgConfig |  | ||||||
| class qc_geoip_database : public ConfObj |  | ||||||
| { |  | ||||||
| public: |  | ||||||
| 	qc_geoip_database(Conf *c) : ConfObj(c) {} |  | ||||||
| 	QString name() const { return "GeoIP Database (optional)"; } |  | ||||||
| 	QString shortname() const { return "GeoIP Database"; } |  | ||||||
|         QString checkString() const { |  | ||||||
|                 if(!conf->getenv("QC_DISABLE_geoip_database").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) |  | ||||||
|                         return ""; |  | ||||||
|                 return ConfObj::checkString(); |  | ||||||
|         } |  | ||||||
| 	bool exec() { |  | ||||||
| 	if(!conf->getenv("QC_DISABLE_geoip_database").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) { |  | ||||||
| 		return false; |  | ||||||
| 	} |  | ||||||
| #ifdef Q_WS_X11 |  | ||||||
| 		if(!conf->getenv("QC_WITH_GEOIP_DATABASE_EMBEDDED").isEmpty()) { |  | ||||||
| #endif |  | ||||||
| 			conf->addDefine("WITH_GEOIP_EMBEDDED"); |  | ||||||
|                         printf(" embedded and"); |  | ||||||
| 			return true; |  | ||||||
| #ifdef Q_WS_X11 |  | ||||||
| 		} |  | ||||||
|                 if(QFile::exists("/usr/share/GeoIP/GeoIP.dat") || QFile::exists("/usr/local/share/GeoIP/GeoIP.dat") || QFile::exists("/var/lib/GeoIP/GeoIP.dat")) |  | ||||||
| 			return true; |  | ||||||
|                 printf("\nWarning: GeoIP database was not found at /usr/share/GeoIP/GeoIP.dat or /var/lib/GeoIP/GeoIP.dat\nCountry resolution will be slow."); |  | ||||||
| 		return false; |  | ||||||
| #endif |  | ||||||
| 	} |  | ||||||
| }; |  | ||||||
							
								
								
									
										133
									
								
								qcm/libboost.qcm
									
									
									
									
									
								
							
							
						
						
									
										133
									
								
								qcm/libboost.qcm
									
									
									
									
									
								
							| @@ -2,96 +2,55 @@ | |||||||
| -----BEGIN QCMOD----- | -----BEGIN QCMOD----- | ||||||
| name: libboost | name: libboost | ||||||
| arg: with-libboost-inc=[path], Path to libboost include files | arg: with-libboost-inc=[path], Path to libboost include files | ||||||
| arg: with-libboost-lib=[path], Path to libboost library files |  | ||||||
| -----END QCMOD----- | -----END QCMOD----- | ||||||
| */ | */ | ||||||
| #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"; } | ||||||
|  | 	bool exec(){ | ||||||
|   QString findBoostLib(QString path, QString lib) const { |         	QString s; | ||||||
|     QString name; | 		s = conf->getenv("QC_WITH_LIBBOOST_INC"); | ||||||
|     QDir libDir(path); | 		if(!s.isEmpty()) { | ||||||
|     QStringList filters; | 			if(!conf->checkHeader(s, "boost/format.hpp")) { | ||||||
|     filters << "libboost_"+lib+"*-mt*.so"; | 				return false; | ||||||
|     QStringList result = libDir.entryList(filters, QDir::Files); |       			} | ||||||
|     if(!result.empty()) { | 			if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) { | ||||||
|       name = result.first().mid(3); | 				return false; | ||||||
|       // Remove .so |       			} | ||||||
|       name.chop(3); | 			if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) { | ||||||
|     } else { | 				return false; | ||||||
|       // Fall back to non -mt boost lib |       			} | ||||||
|       filters.clear(); | 			if(!conf->checkHeader(s, "boost/thread.hpp")) { | ||||||
|       filters << "libboost_"+lib+"*.so"; | 				return false; | ||||||
|       result = libDir.entryList(filters, QDir::Files); |       			} | ||||||
|       if(!result.empty()) { | 		}else{ | ||||||
|         name = result.first().mid(3); | 			QStringList sl; | ||||||
|         // Remove .so | 			sl << "/usr/include"; | ||||||
|         name.chop(3); | 			sl << "/usr/local/include"; | ||||||
|       } | 			bool found = false; | ||||||
|     } | 			foreach(s, sl){ | ||||||
|     return name; | 				if(conf->checkHeader(s, "boost/format.hpp")){ | ||||||
|   } | 					found = true; | ||||||
|  | 					break; | ||||||
|   bool exec(){ | 				} | ||||||
|     QStringList sl; | 			} | ||||||
|     QString s = conf->getenv("QC_WITH_LIBBOOST_INC"); | 			if(!found) { | ||||||
|     if (!s.isEmpty()) | 				return false; | ||||||
|       sl << s; |           		} | ||||||
|     sl << "/usr/include"; | 			if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) { | ||||||
|     sl << "/usr/local/include"; | 				return false; | ||||||
|     bool found = false; |       			} | ||||||
|     foreach (s, sl) { | 			if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) { | ||||||
|       if (conf->checkHeader(s, "boost/format.hpp") | 				return false; | ||||||
| #if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 |       			} | ||||||
|           && conf->checkHeader(s, "boost/filesystem/path.hpp") | 			if(!conf->checkHeader(s, "boost/thread.hpp")) { | ||||||
| #endif | 				return false; | ||||||
|          ) { |       			} | ||||||
|         found = true; | 		} | ||||||
|         break; | 		conf->addIncludePath(s); | ||||||
|       } | 		return true; | ||||||
|     } | 	} | ||||||
|     if (!found) |  | ||||||
|       return false; |  | ||||||
|  |  | ||||||
|     conf->addIncludePath(s); |  | ||||||
|  |  | ||||||
|     // Find library |  | ||||||
|     s = conf->getenv("QC_WITH_LIBBOOST_LIB"); |  | ||||||
|     QStringList required_libs; |  | ||||||
| #if BOOST_VERSION >= 103500 |  | ||||||
|       required_libs << "system";  |  | ||||||
| #endif |  | ||||||
| #if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 |  | ||||||
|     required_libs << "filesystem" ; |  | ||||||
| #endif |  | ||||||
|     //required_libs << "thread"; |  | ||||||
|     QStringList libDirs; |  | ||||||
|     if (!s.isEmpty()) |  | ||||||
|       libDirs << s; |  | ||||||
|     libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/"; |  | ||||||
|  |  | ||||||
|     foreach(const QString& lib, required_libs) { |  | ||||||
|       bool found = false; |  | ||||||
|       foreach(const QString& libDir, libDirs) { |  | ||||||
|         QString detected_name = findBoostLib(libDir, lib); |  | ||||||
|         if(!detected_name.isEmpty()) { |  | ||||||
|           conf->addLib("-l"+detected_name); |  | ||||||
|           found = true; |  | ||||||
|           break; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|       if(!found) { |  | ||||||
|         printf("Could not find boost %s library!\n", qPrintable(lib)); |  | ||||||
|         return false; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     return true; |  | ||||||
|   } |  | ||||||
| }; | }; | ||||||
|   | |||||||
							
								
								
									
										61
									
								
								qcm/libcurl.qcm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								qcm/libcurl.qcm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | /* | ||||||
|  | -----BEGIN QCMOD----- | ||||||
|  | name: libcommoncpp2 | ||||||
|  | arg: with-libcurl-inc=[path], Path to libcurl include files | ||||||
|  | arg: with-libcurl-lib=[path], Path to libcurl library files | ||||||
|  | -----END QCMOD----- | ||||||
|  | */ | ||||||
|  | class qc_libcurl : public ConfObj | ||||||
|  | { | ||||||
|  | public: | ||||||
|  | 	qc_libcurl(Conf *c) : ConfObj(c) {} | ||||||
|  | 	QString name() const { return "libcurl"; } | ||||||
|  | 	QString shortname() const { return "libcurl"; } | ||||||
|  | 	bool exec(){ | ||||||
|  |     QString s; | ||||||
|  | 		s = conf->getenv("QC_WITH_LIBCURL_INC"); | ||||||
|  | 		if(!s.isEmpty()) { | ||||||
|  | 			if(!conf->checkHeader(s, "curl/curl.h")) { | ||||||
|  | 				return false; | ||||||
|  |     	} | ||||||
|  | 		}else{ | ||||||
|  | 			QStringList sl; | ||||||
|  | 			sl << "/usr/include"; | ||||||
|  | 			sl << "/usr/local/include"; | ||||||
|  | 			bool found = false; | ||||||
|  | 			foreach(s, sl){ | ||||||
|  | 				if(conf->checkHeader(s, "curl/curl.h")){ | ||||||
|  | 					found = true; | ||||||
|  | 					break; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			if(!found) { | ||||||
|  | 				return false; | ||||||
|  |       } | ||||||
|  | 		} | ||||||
|  | 		conf->addIncludePath(s); | ||||||
|  |  | ||||||
|  | 		s = conf->getenv("QC_WITH_LIBCURL_LIB"); | ||||||
|  | 		if(!s.isEmpty()) { | ||||||
|  | 			if(!QFile::exists(s+QString("/libcurl.so"))) | ||||||
|  | 		          return false; | ||||||
|  |     	conf->addLib(QString("-L") + s); | ||||||
|  | 		}else{ | ||||||
|  | 			QStringList sl; | ||||||
|  | 			sl << "/usr/lib/"; | ||||||
|  | 			sl << "/usr/lib64/"; | ||||||
|  | 			sl << "/usr/local/lib/"; | ||||||
|  | 			sl << "/usr/local/lib64/"; | ||||||
|  | 			bool found = false; | ||||||
|  | 			foreach(s, sl){ | ||||||
|  | 				if(QFile::exists(s+QString("libcurl.so"))){ | ||||||
|  | 					found = true; | ||||||
|  | 					break; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			if(!found) return false; | ||||||
|  | 			conf->addLib(QString("-L") + s); | ||||||
|  | 		} | ||||||
|  | 		return true; | ||||||
|  | 	} | ||||||
|  | }; | ||||||
| @@ -1,60 +0,0 @@ | |||||||
| /* |  | ||||||
| -----BEGIN QCMOD----- |  | ||||||
| name: libnotify |  | ||||||
| -----END QCMOD----- |  | ||||||
| */ |  | ||||||
| // see  Conf::findPkgConfig |  | ||||||
| class qc_libnotify : public ConfObj |  | ||||||
| { |  | ||||||
| public: |  | ||||||
| 	qc_libnotify(Conf *c) : ConfObj(c) {} |  | ||||||
| 	QString name() const { return "libnotify >= 0.4.2 (optional)"; } |  | ||||||
| 	QString shortname() const { return "libnotify"; } |  | ||||||
|         QString checkString() const { |  | ||||||
|                 if(!conf->getenv("QC_DISABLE_libnotify").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) |  | ||||||
|                         return ""; |  | ||||||
|                 return ConfObj::checkString(); |  | ||||||
|         } |  | ||||||
| 	bool exec(){ |  | ||||||
| 		if(!conf->getenv("QC_DISABLE_libnotify").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) { |  | ||||||
| 			return false; |  | ||||||
| 		} |  | ||||||
| 		QStringList incs; |  | ||||||
| 		QString req_ver = "0.4.2"; |  | ||||||
| 		QString version, libs, other; |  | ||||||
| 		VersionMode mode = VersionMin; |  | ||||||
| 		if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) { |  | ||||||
| 			conf->addExtra("CONFIG += libnotify"); |  | ||||||
| 			for(int n = 0; n < incs.count(); ++n) |  | ||||||
| 				conf->addIncludePath(incs[n]); |  | ||||||
| 			if(!libs.isEmpty()) |  | ||||||
| 				conf->addLib(libs); |  | ||||||
| 			QStringList incs2; |  | ||||||
| 			QString req_ver2 = "2.0"; |  | ||||||
| 			QString version2, libs2, other2; |  | ||||||
| 			if(conf->findPkgConfig("glib-2.0", mode, req_ver2, &version2, &incs2, &libs2, &other2)) { |  | ||||||
| 				for(int n = 0; n < incs2.count(); ++n) |  | ||||||
| 				conf->addIncludePath(incs2[n]); |  | ||||||
| 				if(!libs2.isEmpty()) |  | ||||||
| 					conf->addLib(libs2); |  | ||||||
| 			} else { |  | ||||||
| 				return false; |  | ||||||
| 			} |  | ||||||
| 			QStringList incs3; |  | ||||||
|                         QString req_ver3 = "2.0"; |  | ||||||
|                         QString version3, libs3, other3; |  | ||||||
| 			if(conf->findPkgConfig("gtk+-2.0", mode, req_ver3, &version3, &incs3, &libs3, &other3)) { |  | ||||||
|                                 for(int n = 0; n < incs3.count(); ++n) |  | ||||||
|                                 conf->addIncludePath(incs3[n]); |  | ||||||
|                                 if(!libs3.isEmpty()) |  | ||||||
|                                         conf->addLib(libs3); |  | ||||||
|                         } else { |  | ||||||
|                                 return false; |  | ||||||
|                         } |  | ||||||
| 		} else { |  | ||||||
| 			return false; |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		return true; |  | ||||||
| 	} |  | ||||||
| }; |  | ||||||
| @@ -8,17 +8,22 @@ 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.0 (>= 0.14.4 advised)"; } | ||||||
| 	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.0"; | ||||||
|  | 		QString adv_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(!libs.isEmpty()) | ||||||
|  | 			conf->addLib(libs); | ||||||
|  | 		if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other)) | ||||||
|  | 			printf("\nWarning: libtorrent-rasterbar v%s was detected. Although it will compile and run, you will probably experience some bugs. Please consider updating to v%s!\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data()); | ||||||
| 		return true; | 		return true; | ||||||
| 	} | 	} | ||||||
| }; | }; | ||||||
|   | |||||||
							
								
								
									
										71
									
								
								qcm/libzzip.qcm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								qcm/libzzip.qcm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | |||||||
|  | /* | ||||||
|  | -----BEGIN QCMOD----- | ||||||
|  | name: libzzip | ||||||
|  | arg: with-libzzip-inc=[path], Path to libzzip++ include files | ||||||
|  | arg: with-libzzip-lib=[path], Path to libzzip++ library files | ||||||
|  | -----END QCMOD----- | ||||||
|  | */ | ||||||
|  | #include <QProcess> | ||||||
|  | class qc_libzzip : public ConfObj | ||||||
|  | { | ||||||
|  | public: | ||||||
|  | 	qc_libzzip(Conf *c) : ConfObj(c) {} | ||||||
|  | 	QString name() const { return "Zzip library (libzzip)"; } | ||||||
|  | 	QString shortname() const { return "libzzip"; } | ||||||
|  | 	QString checkString() const { | ||||||
|  | 		if(!conf->getenv("QC_DISABLE_LIBZZIP").isEmpty()) | ||||||
|  | 			return ""; | ||||||
|  | 		return ConfObj::checkString(); | ||||||
|  | 	} | ||||||
|  | 	bool exec(){ | ||||||
|  | 		if(!conf->getenv("QC_DISABLE_LIBZZIP").isEmpty()) | ||||||
|  | 			return false; | ||||||
|  | 		QString s; | ||||||
|  | 		s = conf->getenv("QC_WITH_LIBZZIP_INC"); | ||||||
|  | 		if(!s.isEmpty()) { | ||||||
|  | 			if(!conf->checkHeader(s, "zzip/zzip.h")) { | ||||||
|  | 				return false; | ||||||
|  |     			} | ||||||
|  | 		}else{ | ||||||
|  | 			QStringList sl; | ||||||
|  | 			sl << "/usr/include"; | ||||||
|  | 			sl << "/usr/local/include"; | ||||||
|  | 			bool found = false; | ||||||
|  | 			foreach(s, sl){ | ||||||
|  | 				if(conf->checkHeader(s, "zzip/zzip.h")){ | ||||||
|  | 					found = true; | ||||||
|  | 					break; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			if(!found) | ||||||
|  | 				return false; | ||||||
|  | 		} | ||||||
|  | 		conf->addIncludePath(s); | ||||||
|  |  | ||||||
|  | 		s = conf->getenv("QC_WITH_LIBZZIP_LIB"); | ||||||
|  | 		if(!s.isEmpty()) { | ||||||
|  | 			if(!QFile::exists(s+QString("/libzzip.so"))){ | ||||||
|  |                           return false; | ||||||
|  |                         } | ||||||
|  | 		}else{ | ||||||
|  | 			QStringList sl; | ||||||
|  | 			sl << "/usr/lib/"; | ||||||
|  | 			sl << "/usr/lib64/"; | ||||||
|  | 			sl << "/usr/local/lib/"; | ||||||
|  | 			sl << "/usr/local/lib64/"; | ||||||
|  | 			bool found = false; | ||||||
|  | 			foreach(s, sl){ | ||||||
|  | 				if(QFile::exists(s+QString("libzzip.so"))){ | ||||||
|  | 					found = true; | ||||||
|  | 					break; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			if(!found) | ||||||
|  |                          	return false; | ||||||
|  | 		} | ||||||
|  | 		conf->addLib(QString("-L") + s); | ||||||
|  | 		conf->addLib("-lzzip"); | ||||||
|  | 		conf->addDefine("HAVE_ZZIP"); | ||||||
|  | 		return true; | ||||||
|  | 	} | ||||||
|  | }; | ||||||
| @@ -1,16 +0,0 @@ | |||||||
| /* |  | ||||||
| -----BEGIN QCMOD----- |  | ||||||
| name: pkg-config |  | ||||||
| -----END QCMOD----- |  | ||||||
| */ |  | ||||||
| #include <QProcess> |  | ||||||
| class qc_pkg_config : public ConfObj |  | ||||||
| { |  | ||||||
| public: |  | ||||||
| 	qc_pkg_config(Conf *c) : ConfObj(c) {} |  | ||||||
| 	QString name() const { return "pkg-config executable"; } |  | ||||||
| 	QString shortname() const { return "pkg-config"; } |  | ||||||
| 	bool exec(){ |  | ||||||
| 		return !conf->findProgram("pkg-config").isEmpty(); |  | ||||||
| 	} |  | ||||||
| }; |  | ||||||
| @@ -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; |  | ||||||
| 	} |  | ||||||
| }; |  | ||||||
							
								
								
									
										30
									
								
								qcm/qt4.qcm
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								qcm/qt4.qcm
									
									
									
									
									
								
							| @@ -1,36 +1,20 @@ | |||||||
| /* | /* | ||||||
| -----BEGIN QCMOD----- | -----BEGIN QCMOD----- | ||||||
| name: Qt >= 4.6 | name: Qt >= 4.3 | ||||||
| arg: enable-debug, Enable debug mode |  | ||||||
| arg: disable-gui, Disable qBittorrent Graphical user interface for headless running |  | ||||||
| -----END QCMOD----- | -----END QCMOD----- | ||||||
| */ | */ | ||||||
| class qc_qt4 : public ConfObj | 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.3"; } | ||||||
| 	QString shortname() const { return "Qt 4.6"; } | 	QString shortname() const { return "Qt 4.3"; } | ||||||
| 	bool exec() | 	bool exec() | ||||||
| 	{ | 	{ | ||||||
|                 // NOX mode | 		if(QT_VERSION >= 0x040400) { | ||||||
| 		if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) { | 			conf->addDefine("QT_4_4"); | ||||||
| 			conf->addExtra("CONFIG += nox"); |  | ||||||
| 		} | 		} | ||||||
|                 // Debug mode | 		return(QT_VERSION >= 0x040300); | ||||||
|                 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,26 +0,0 @@ | |||||||
| /* |  | ||||||
| -----BEGIN QCMOD----- |  | ||||||
| name: qtsingleapplication |  | ||||||
| arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one |  | ||||||
| -----END QCMOD----- |  | ||||||
| */ |  | ||||||
| class qc_qtsingleapplication : public ConfObj |  | ||||||
| { |  | ||||||
| public: |  | ||||||
|         qc_qtsingleapplication(Conf *c) : ConfObj(c) {} |  | ||||||
|         QString name() const { return "qtsingleapplication library"; } |  | ||||||
|         QString shortname() const { return "qtsingleapplication"; } |  | ||||||
|  |  | ||||||
|         bool exec(){ |  | ||||||
|                 QString s; |  | ||||||
|                 s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION"); |  | ||||||
|                 if(s.compare("system", Qt::CaseInsensitive) == 0) { |  | ||||||
|                   // System |  | ||||||
|                   conf->addExtra("CONFIG += usesystemqtsingleapplication"); |  | ||||||
|                   printf(" [system] "); |  | ||||||
|                 } else { |  | ||||||
|                   printf(" [shipped] "); |  | ||||||
|                 } |  | ||||||
|                 return true; |  | ||||||
|         } |  | ||||||
| }; |  | ||||||
							
								
								
									
										116
									
								
								src/DLListDelegate.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								src/DLListDelegate.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,116 @@ | |||||||
|  | /* | ||||||
|  |  * Bittorrent Client using Qt4 and libtorrent. | ||||||
|  |  * Copyright (C) 2006  Christophe Dumez | ||||||
|  |  * | ||||||
|  |  * 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 : chris@qbittorrent.org | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef DLLISTDELEGATE_H | ||||||
|  | #define DLLISTDELEGATE_H | ||||||
|  |  | ||||||
|  | #include <QItemDelegate> | ||||||
|  | #include <QModelIndex> | ||||||
|  | #include <QPainter> | ||||||
|  | #include <QStyleOptionProgressBarV2> | ||||||
|  | #include <QStyleOptionViewItemV2> | ||||||
|  | #include <QProgressBar> | ||||||
|  | #include <QApplication> | ||||||
|  | #include "misc.h" | ||||||
|  |  | ||||||
|  | // Defines for download list list columns | ||||||
|  | #define NAME 0 | ||||||
|  | #define SIZE 1 | ||||||
|  | #define PROGRESS 2 | ||||||
|  | #define DLSPEED 3 | ||||||
|  | #define UPSPEED 4 | ||||||
|  | #define SEEDSLEECH 5 | ||||||
|  | #define RATIO 6 | ||||||
|  | #define ETA 7 | ||||||
|  | #define PRIORITY 8 | ||||||
|  | #define HASH 9 | ||||||
|  |  | ||||||
|  | class DLListDelegate: public QItemDelegate { | ||||||
|  |   Q_OBJECT | ||||||
|  |  | ||||||
|  |   public: | ||||||
|  |     DLListDelegate(QObject *parent) : QItemDelegate(parent){} | ||||||
|  |  | ||||||
|  |     ~DLListDelegate(){} | ||||||
|  |  | ||||||
|  |     void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const{ | ||||||
|  |       QStyleOptionViewItemV2 opt = QItemDelegate::setOptions(index, option); | ||||||
|  |       switch(index.column()){ | ||||||
|  |         case SIZE: | ||||||
|  |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|  |           QItemDelegate::drawDisplay(painter, opt, option.rect, misc::friendlyUnit(index.data().toLongLong())); | ||||||
|  |           break; | ||||||
|  |         case ETA: | ||||||
|  |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|  |           QItemDelegate::drawDisplay(painter, opt, option.rect, misc::userFriendlyDuration(index.data().toLongLong())); | ||||||
|  |           break; | ||||||
|  |         case UPSPEED: | ||||||
|  |         case DLSPEED:{ | ||||||
|  |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|  |           double speed = index.data().toDouble(); | ||||||
|  |           QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(speed/1024., 'f', 1))+QString::fromUtf8(" ")+tr("KiB/s")); | ||||||
|  |           break; | ||||||
|  |         } | ||||||
|  |         case RATIO:{ | ||||||
|  |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|  |           double ratio = index.data().toDouble(); | ||||||
|  |           if(ratio > 100.) | ||||||
|  |               QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::fromUtf8("∞")); | ||||||
|  |           else | ||||||
|  |               QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(ratio, 'f', 1))); | ||||||
|  |           break; | ||||||
|  |         } | ||||||
|  |         case PROGRESS:{ | ||||||
|  |           QStyleOptionProgressBarV2 newopt; | ||||||
|  |           double progress = index.data().toDouble()*100.; | ||||||
|  |           newopt.rect = opt.rect; | ||||||
|  |           newopt.text = QString(QByteArray::number(progress, 'f', 1))+QString::fromUtf8("%"); | ||||||
|  |           newopt.progress = (int)progress; | ||||||
|  |           newopt.maximum = 100; | ||||||
|  |           newopt.minimum = 0; | ||||||
|  |           newopt.state |= QStyle::State_Enabled; | ||||||
|  |           newopt.textVisible = true; | ||||||
|  |           QApplication::style()->drawControl(QStyle::CE_ProgressBar, &newopt, | ||||||
|  |           painter); | ||||||
|  |           break; | ||||||
|  |         } | ||||||
|  |         default: | ||||||
|  |           QItemDelegate::paint(painter, option, index); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     QWidget* createEditor(QWidget*, const QStyleOptionViewItem &, const QModelIndex &) const { | ||||||
|  |       // No editor here | ||||||
|  |       return 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #endif | ||||||
							
								
								
									
										480
									
								
								src/FeedDownloader.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										480
									
								
								src/FeedDownloader.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										546
									
								
								src/FeedDownloader.ui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										546
									
								
								src/FeedDownloader.ui
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										98
									
								
								src/FinishedListDelegate.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								src/FinishedListDelegate.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | |||||||
|  | /* | ||||||
|  |  * Bittorrent Client using Qt4 and libtorrent. | ||||||
|  |  * Copyright (C) 2006  Christophe Dumez | ||||||
|  |  * | ||||||
|  |  * 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 : chris@qbittorrent.org | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef FINISHEDLISTDELEGATE_H | ||||||
|  | #define FINISHEDLISTDELEGATE_H | ||||||
|  |  | ||||||
|  | #include <QItemDelegate> | ||||||
|  | #include <QModelIndex> | ||||||
|  | #include <QPainter> | ||||||
|  | #include <QStyleOptionProgressBarV2> | ||||||
|  | #include <QStyleOptionViewItemV2> | ||||||
|  | #include <QProgressBar> | ||||||
|  | #include <QApplication> | ||||||
|  | #include "misc.h" | ||||||
|  |  | ||||||
|  | // Defines for download list list columns | ||||||
|  | #define F_NAME 0 | ||||||
|  | #define F_SIZE 1 | ||||||
|  | #define F_UPSPEED 2 | ||||||
|  | #define F_SWARM 3 | ||||||
|  | #define F_PEERS 4 | ||||||
|  | #define F_UPLOAD 5 | ||||||
|  | #define F_RATIO 6 | ||||||
|  | #define F_HASH 7 | ||||||
|  |  | ||||||
|  | #define MAX_RATIO 100. | ||||||
|  |  | ||||||
|  | class FinishedListDelegate: public QItemDelegate { | ||||||
|  |   Q_OBJECT | ||||||
|  |  | ||||||
|  |   public: | ||||||
|  |     FinishedListDelegate(QObject *parent) : QItemDelegate(parent){} | ||||||
|  |  | ||||||
|  |     ~FinishedListDelegate(){} | ||||||
|  |  | ||||||
|  |     void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const{ | ||||||
|  |       QStyleOptionViewItemV2 opt = QItemDelegate::setOptions(index, option); | ||||||
|  |       switch(index.column()){ | ||||||
|  |         case F_SIZE: | ||||||
|  |         case F_UPLOAD: | ||||||
|  |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|  |           QItemDelegate::drawDisplay(painter, opt, option.rect, misc::friendlyUnit(index.data().toLongLong())); | ||||||
|  |           break; | ||||||
|  |         case F_UPSPEED:{ | ||||||
|  |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|  |           double speed = index.data().toDouble(); | ||||||
|  |           QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(speed/1024., 'f', 1))+QString::fromUtf8(" ")+tr("KiB/s")); | ||||||
|  |           break; | ||||||
|  |         } | ||||||
|  |         case F_RATIO:{ | ||||||
|  |           QItemDelegate::drawBackground(painter, opt, index); | ||||||
|  |           double ratio = index.data().toDouble(); | ||||||
|  |           if(ratio > MAX_RATIO) | ||||||
|  |             QItemDelegate::drawDisplay(painter, opt, opt.rect, QString::fromUtf8("∞")); | ||||||
|  |           else | ||||||
|  |             QItemDelegate::drawDisplay(painter, opt, opt.rect, QString(QByteArray::number(ratio, 'f', 1))); | ||||||
|  |           break; | ||||||
|  |         } | ||||||
|  |         default: | ||||||
|  |           QItemDelegate::paint(painter, option, index); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     QWidget* createEditor(QWidget*, const QStyleOptionViewItem &, const QModelIndex &) const { | ||||||
|  |       // No editor here | ||||||
|  |       return 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #endif | ||||||
							
								
								
									
										627
									
								
								src/FinishedTorrents.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										627
									
								
								src/FinishedTorrents.cpp
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user