Compare commits

..

32 Commits

Author SHA1 Message Date
Christophe Dumez
7c192141d2 Tagged v2.5.3 release 2011-01-01 12:01:25 +00:00
Christophe Dumez
0180f46dc9 Updated Changelog 2011-01-01 09:05:08 +00:00
Christophe Dumez
6e4d15e72d Bump to v2.5.3 2010-12-31 12:36:27 +00:00
Christophe Dumez
3e1e992fa8 Improved splash screen code 2010-12-31 12:33:15 +00:00
Christophe Dumez
6051aa57cf BUGFIX: Fix ampersand display in search tabs (closes #695715) 2010-12-30 17:07:39 +00:00
Christophe Dumez
55b0cac61b BUGFIX: Remove empty folders on torrent soft deletion (closes #695174) 2010-12-29 20:31:45 +00:00
Christophe Dumez
28409b83c3 Fix scan dirs saving 2010-12-27 19:28:41 +00:00
Christophe Dumez
eed0b6ca12 Restore Update Url 2010-12-26 12:30:08 +00:00
Christophe Dumez
4b0fae88bc Updated plugin update URL 2010-12-26 09:57:15 +00:00
Christophe Dumez
6ff3de7686 Make compatible with nova2 plugins (new API) 2010-12-26 09:08:28 +00:00
Christophe Dumez
f08d792e67 Improvement to last commit 2010-12-25 09:24:33 +00:00
Christophe Dumez
e2edf62834 BUGFIX: Make sure the number of torrents is properly set on startup (closes #694135) 2010-12-25 09:17:26 +00:00
Christophe Dumez
eb4c449620 Some OS2 changes by Silvan Scherrer 2010-12-24 09:15:16 +00:00
Christophe Dumez
c06386126b BUGFIX: Fix priority up/down for multiple torrents at the same time (closes #692184) 2010-12-19 13:46:13 +00:00
Christophe Dumez
8c854b8a0e Fix compilation error in release mode 2010-12-19 10:19:52 +00:00
Christophe Dumez
749c3a429a Update release date 2010-12-19 08:57:52 +00:00
Christophe Dumez
a6edea2222 Bump to v2.5.2 2010-12-19 08:57:28 +00:00
Christophe Dumez
d66c88d59e Fix possible encoding problem 2010-12-18 19:09:47 +00:00
Christophe Dumez
b92c152d30 Fixes possible crash in the RSS Downloader dialog (when having RSS folders) 2010-12-18 18:54:27 +00:00
Christophe Dumez
148ec32825 Fix possibly uncaught invalid_handle exception 2010-12-18 08:48:23 +00:00
Christophe Dumez
8298b62f56 No longer expand the first folder in the torrent content list (Thanks Ahmad) 2010-12-16 20:45:51 +00:00
Christophe Dumez
53f46875d8 BUGFIX: Fix dangerous usage of vector iterator 2010-12-16 20:37:03 +00:00
Christophe Dumez
a67caf1730 BUGFIX: Fix some 'File Not found' warning in the Web UI 2010-12-13 17:34:20 +00:00
Christophe Dumez
6a38f69fad BUGFIX: Make sure we don't move completed torrent to the temp directory for checking (closes #602938) 2010-12-11 19:32:13 +00:00
Christophe Dumez
d5bf2b2e1f Fix alignment issues in program preferences 2010-12-09 17:19:33 +00:00
Christophe Dumez
f6df1c7fed Updated Polish translation 2010-12-08 18:31:32 +00:00
Christophe Dumez
fa88bce77d Fix wrong slot name 2010-12-08 18:08:45 +00:00
Christophe Dumez
571465ff7e BUGFIX: Fix alternative speed icon staying pressed when disabled 2010-12-05 19:56:38 +00:00
Christophe Dumez
09a3f78a28 Fix error in configure help 2010-12-05 18:17:04 +00:00
Christophe Dumez
f98520e6c2 Bump to v2.5.1 2010-12-05 10:16:52 +00:00
Christophe Dumez
0211f3aee3 BUGFIX: Fix possible crash when right-clicking on a torrent 2010-12-05 10:15:47 +00:00
Christophe Dumez
0dcd33fb6d Branched the v2.5.x series 2010-12-05 08:32:31 +00:00
459 changed files with 40131 additions and 117349 deletions

14
.gitignore vendored
View File

@@ -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

18
AUTHORS
View File

@@ -2,7 +2,6 @@ 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>
@@ -50,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
@@ -73,9 +68,6 @@ Translations authors:
* files: src/lang/*.ts * files: src/lang/*.ts
copyright: copyright:
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com) - 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 & Boyko Bankoff (emerge_life@users.sourceforge.net)
- Catalan: Francisco Luque Contreras (frannoe@ya.com) - Catalan: Francisco Luque Contreras (frannoe@ya.com)
@@ -88,17 +80,13 @@ Translations authors:
- 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) 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: Matteo Sechi (bu17714@gmail.com) - Italian: Matteo Sechi (bu17714@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: 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)
@@ -108,5 +96,5 @@ Translations authors:
- Spanish: Francisco Luque Contreras (frannoe@ya.com) - Spanish: Francisco Luque Contreras (frannoe@ya.com)
- Swedish: Daniel Nylander (po@danielnylander.se) - Swedish: Daniel Nylander (po@danielnylander.se)
- Turkish: Hasan Yilmaz (iletisim@hedefturkce.com) - Turkish: Hasan Yilmaz (iletisim@hedefturkce.com)
- Ukrainian: Oleh Prypin (blaxpirit@gmail.com) - Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net) and Oleh Prypin (blaxpirit@gmail.com)
license: GPLv2 license: GPLv2

125
Changelog
View File

@@ -1,111 +1,24 @@
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v3.0.3 * Sat Jan 1 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.5.3
- BUGFIX: Bypass cache when uploading a torrent file in Web UI (closes #68) - BUGFIX: Fix priority up/down for multiple torrents at the same time (closes #692184)
- BUGFIX: "Completed On" column is not updated until restart (closes #84) - BUGFIX: Make sure the number of torrents is properly set on startup (closes #694135)
- BUGFIX: Fix possible build error on some systems - BUGFIX: Fix scan directories saving (closes #694768)
- I18N: Add hebrew translation - BUGFIX: Remove empty folders on torrent soft deletion (closes #695174)
- BUGFIX: Make sure the main window has focus on startup
- BUGFIX: Fix ampersand display in search tabs (closes #695715)
* Sat Sep 1 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.2 * Sun Dec 19 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.2
- FEATURE: Add "clear" functionality to search field (closes #59) - BUGFIX: Fix alternative speed icon staying pressed when disabled
- BUGFIX: Attempt to use qBittorrent icon from theme if available (closes #49) - BUGFIX: Fix slot warning on startup
- BUGFIX: Fix crash when a fastresume file is empty (closes #52) - BUGFIX: Fix alignment issues in program preferences
- BUGFIX: Fix encoding problem for detected XDG Download folder (closes #53) - BUGFIX: Make sure we don't move completed torrent to the temp directory
- BUGFIX: Improve performance when showing torrent content panel (Improves #24) for checking (closes #602938)
- BUGFIX: Fix label-based filtering of torrents whose label contains special characters - BUGFIX: Fix some 'File Not found' warning in the Web UI
- BUGFIX: Fix possible crash due to labels (closes #64) - BUGFIX: Fix dangerous usage of vector iterator
- BUGFIX: No longer expand the first folder in the torrent content list
- BUGFIX: Fixes possible crash in the RSS Downloader dialog (closes #691426)
* Tue Aug 21 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.1 * Sun Dec 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.1
- BUGFIX: Fix possible crash when adding a tracker to a magnet torrent without metadata (Closes #1034254) - BUGFIX: Fix possible crash when right-clicking on a torrent
- BUGFIX: Remember queue position for torrents without metadata (closes #17)
- BUGFIX: Fix crash when using unauthorized characters in label names (closes #19)
- BUGFIX: Fix search plugins updating (closes #25)
- BUGFIX: Make uTP connections rate limited by default
* Thu Aug 09 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.0
- FEATURE: Brand new torrent addition dialog
- FEATURE: Add the ability to choose the save path when using magnet links (mutoso)
- FEATURE: Add support for adding multiple local torrents at once (Web UI)
- COSMETIC: Improve style of left panel
- BUGFIX: Lower panels no longer gets disabled
- BUGFIX: Major code refactoring and various optimizations.
- BUGFIX: No longer strip root folder from torrent files
- OTHER: Drop support for libtorrent v0.14.x
- OTHER: Drop support for Qt 4.5
* Sat Oct 08 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.0
- FEATURE: Add file association settings to program preferences (Windows)
- FEATURE: Add setting to ignore slow torrents in queueing system
- FEATURE: Add advanced setting to announce to all trackers
- FEATURE: Add support for anonymous mode (libtorrent >= v0.16)
- FEATURE: Add quick "set as default save path" checkbox to torrent addition dialog (sledgehammer999)
- BUGFIX: Add tray menu entry for toggling window visibility
- BUGFIX: Fix execution log lines selection and copying
- BUGFIX: Reduce CPU usage when running Web UI
- BUGFIX: Save RSS items to disk regularly for safety
- BUGFIX: Fix ratio calculation (use all_time_download)
- BUGFIX: Fix torrent upload issues (Web UI)
- BUGFIX: Fix some IE incompatibilities (Web UI)
- COSMETIC: Display speed at the beginning of the Window title
- COSMETIC: Several cosmetic fixes to the Web UI
- COSMETIC: Make top toolbar follow system style
- OTHER: Display libraries versions in about dialog (sledgehammer999)
- OTHER: Display qBittorrent version in Web UI about dialog
* Thu Jun 02 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.8.0
- FEATURE: Added full libtorrent v0.16 support (uTP, ...)
- FEATURE: Proxy can be disabled for peer connections
- FEATURE: Added support for secure SMTP connection (SSL)
- FEATURE: Added support for SMTP authentication
- FEATURE: Added UPnP/NAT-PMP port forward for the Web UI port
- FEATURE: qBittorrent can update dynamic DNS services (DynDNS, no-ip)
- FEATURE: Display peer connection type in peer list (BT, uTP, Web)
- FEATURE: Added full regex support to RSS downloader
- FEATURE: Added regex help and validation in RSS downloader
- FEATURE: Added HTTPS support to Web UI (Ishan Arora)
- BUGFIX: Change systray icon on the fly (no restart needed)
- BUGFIX: Remember peer-level rate limits (requires libtorrent v0.16)
- BUGFIX: Stop annoncing to trackers an all tiers (more respectful)
- BUGFIX: Stop sharing private trackers with other peers
- BUGFIX: Tracker exchange extension can be disabled
- BUGFIX: Cleaner program exit on system log out
- BUGFIX: Fix possible magnet link parsing problems
- BUGFIX: Fix possible RSS URL parsing problems
- COSMETIC: Added monochrome icon for light themes
* Sun Mar 20 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.7.0
- FEATURE: Added search field for torrent content
- FEATURE: Added auto-shutdown confirmation dialog
- FEATURE: Added option to skip torrent deletion confirmation (Ville Kiiskinen)
- FEATURE: IP address reported to trackers is now customizable
- FEATURE: Inhibit system sleep when torrents are active (Vladimir Golovnev)
- FEATURE: Added option to bypass Web UI authentication for localhost
- FEATURE: Added option to disable program exit confirmation
- FEATURE: Added per-torrent ratio limiting (Christian Kandeler)
- FEATURE: Torrent content list is now sortable
- BUGFIX: Fix compilation with namespaced Qt (Christian Kandeler)
- BUGFIX: Added length restriction on UI lock password
- COSMETIC: Added monochrome tray icon
- COSMETIC: Improved status bar's style
- OTHER: Make QtDBus dependency optional (X11)
* Sun Jan 9 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.0
- FEATURE: Use system icons (Linux, Qt >= 4.6)
- FEATURE: Improved ETA calculation
- FEATURE: Simplify program preferences
- FEATURE: Software update check can now be disabled (Mac OS X / Windows)
- FEATURE: Display pieces size in torrent properties
- FEATURE: Added "Time Active/Seeded" column to transfer list
- FEATURE: Give feedback regarding the IP filter parsing
- FEATURE: Added a button to reload the IP filter
- FEATURE: Search engine results can now be opened in a Web browser
- FEATURE: Added a search engine plugin to extratorrent.com
- FEATURE: Added a search engine plugin for kickasstorrents.com
- FEATURE: Added auto-suspend upon downloads completion feature
- BUGFIX: Hide unwanted files that have to be partly downloaded
- BUGFIX: Do not allocate space for unwanted files (preallocation mode)
- I18N: Added Galician translation
- COSMETIC: Same deletion confirmation dialog in the GUI and Web UI
- COSMETIC: Simplified the top toolbar
- COSMETIC: Display execution log as a tab instead of a modal window
* Sun Dec 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.0 * Sun Dec 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.0
- FEATURE: qBittorrent can now act as a tracker - FEATURE: qBittorrent can now act as a tracker

16
INSTALL
View File

@@ -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.

View File

@@ -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:

288
configure vendored
View File

@@ -18,21 +18,22 @@ Main options:
--help This help text. --help This help text.
Dependency options: Dependency options:
--enable-debug Enable debug mode
--disable-gui Disable qBittorrent --disable-gui Disable qBittorrent
Graphical user interface for Graphical user interface for
headless running headless running
--disable-qt-dbus Disable use of qt-dbus
--with-libboost-inc=[path] Path to libboost include --with-libboost-inc=[path] Path to libboost include
files files
--with-libboost-lib=[path] Path to libboost library --with-libboost-lib=[path] Path to libboost library
files files
--disable-libnotify Disable use of libnotify
--disable-geoip-database Disable use of geoip-database --disable-geoip-database Disable use of geoip-database
--with-geoip-database-embedded Geoip Database will be --with-geoip-database-embedded Geoip Database will be
embedded in qBittorrent embedded in qBittorrent
executable (please follow executable (please follow
instructions in instructions in
src/geoip/README) src/geoip/README)
--disable-qtsingleapplication Disable use of
qtsingleapplication
--with-qtsingleapplication=[system|shipped] Use the shipped --with-qtsingleapplication=[system|shipped] Use the shipped
qtsingleapplication library qtsingleapplication library
or the system one or the system one
@@ -152,21 +153,11 @@ while [ $# -gt 0 ]; do
shift shift
;; ;;
--enable-debug)
QC_ENABLE_DEBUG="Y"
shift
;;
--disable-gui) --disable-gui)
QC_DISABLE_GUI="Y" QC_DISABLE_GUI="Y"
shift shift
;; ;;
--disable-qt-dbus)
QC_DISABLE_qt_dbus="Y"
shift
;;
--with-libboost-inc=*) --with-libboost-inc=*)
QC_WITH_LIBBOOST_INC=$optarg QC_WITH_LIBBOOST_INC=$optarg
shift shift
@@ -177,6 +168,11 @@ while [ $# -gt 0 ]; do
shift shift
;; ;;
--disable-libnotify)
QC_DISABLE_libnotify="Y"
shift
;;
--disable-geoip-database) --disable-geoip-database)
QC_DISABLE_geoip_database="Y" QC_DISABLE_geoip_database="Y"
shift shift
@@ -187,6 +183,11 @@ while [ $# -gt 0 ]; do
shift shift
;; ;;
--disable-qtsingleapplication)
QC_DISABLE_qtsingleapplication="Y"
shift
;;
--with-qtsingleapplication=*) --with-qtsingleapplication=*)
QC_WITH_QTSINGLEAPPLICATION=$optarg QC_WITH_QTSINGLEAPPLICATION=$optarg
shift shift
@@ -213,13 +214,13 @@ echo PREFIX=$PREFIX
echo BINDIR=$BINDIR echo BINDIR=$BINDIR
echo DATADIR=$DATADIR echo DATADIR=$DATADIR
echo EX_QTDIR=$EX_QTDIR echo EX_QTDIR=$EX_QTDIR
echo QC_ENABLE_DEBUG=$QC_ENABLE_DEBUG
echo QC_DISABLE_GUI=$QC_DISABLE_GUI echo QC_DISABLE_GUI=$QC_DISABLE_GUI
echo QC_DISABLE_qt_dbus=$QC_DISABLE_qt_dbus
echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC
echo QC_WITH_LIBBOOST_LIB=$QC_WITH_LIBBOOST_LIB echo QC_WITH_LIBBOOST_LIB=$QC_WITH_LIBBOOST_LIB
echo QC_DISABLE_libnotify=$QC_DISABLE_libnotify
echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database
echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED
echo QC_DISABLE_qtsingleapplication=$QC_DISABLE_qtsingleapplication
echo QC_WITH_QTSINGLEAPPLICATION=$QC_WITH_QTSINGLEAPPLICATION echo QC_WITH_QTSINGLEAPPLICATION=$QC_WITH_QTSINGLEAPPLICATION
echo echo
fi fi
@@ -325,8 +326,7 @@ cat >$1/modules.cpp <<EOT
#line 1 "qt4.qcm" #line 1 "qt4.qcm"
/* /*
-----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-----
*/ */
@@ -334,61 +334,14 @@ 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->addExtra("CONFIG += nox");
} }
// 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);
}
};
#line 1 "qt-dbus.qcm"
/*
-----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;
} }
}; };
#line 1 "pkg-config.qcm" #line 1 "pkg-config.qcm"
@@ -419,17 +372,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;
} }
}; };
@@ -442,15 +398,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);
@@ -474,62 +427,147 @@ public:
} }
return name; return name;
} }
bool exec(){
bool exec(){ QString s;
QStringList sl; s = conf->getenv("QC_WITH_LIBBOOST_INC");
QString s = conf->getenv("QC_WITH_LIBBOOST_INC"); if(!s.isEmpty()) {
if (!s.isEmpty()) if(!conf->checkHeader(s, "boost/format.hpp")) {
sl << s; return false;
sl << "/usr/include"; }
sl << "/usr/local/include"; if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) {
bool found = false; return false;
foreach (s, sl) { }
if (conf->checkHeader(s, "boost/format.hpp") if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
#if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 return false;
&& conf->checkHeader(s, "boost/filesystem/path.hpp") }
#endif if(!conf->checkHeader(s, "boost/thread.hpp")) {
) { return false;
found = true; }
break; }else{
} QStringList sl;
} sl << "/usr/include";
if (!found) sl << "/usr/local/include";
return false; bool found = false;
foreach(s, sl){
conf->addIncludePath(s); if(conf->checkHeader(s, "boost/format.hpp")){
found = true;
// Find library break;
s = conf->getenv("QC_WITH_LIBBOOST_LIB"); }
}
if(!found) {
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);
// Find library
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 << s;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/"; libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
foreach(const QString& lib, required_libs) { foreach(const QString& lib, required_libs) {
bool found = false; if(!s.isEmpty()) {
foreach(const QString& libDir, libDirs) { QString detected_name = findBoostLib(s, lib);
QString detected_name = findBoostLib(libDir, lib); if(detected_name.isEmpty()) {
if(!detected_name.isEmpty()) { printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
} else {
conf->addLib("-l"+detected_name); conf->addLib("-l"+detected_name);
found = true; }
break; } else {
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;
} }
} }
if(!found) {
printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
}
} }
return true; return true;
} }
};
#line 1 "libnotify.qcm"
/*
-----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;
}
}; };
#line 1 "geoip-database.qcm" #line 1 "geoip-database.qcm"
/* /*
@@ -602,9 +640,6 @@ cat >$1/modules_new.cpp <<EOT
o = new qc_qt4(conf); o = new qc_qt4(conf);
o->required = true; o->required = true;
o->disabled = false; o->disabled = false;
o = new qc_qt_dbus(conf);
o->required = false;
o->disabled = false;
o = new qc_pkg_config(conf); o = new qc_pkg_config(conf);
o->required = true; o->required = true;
o->disabled = false; o->disabled = false;
@@ -614,11 +649,14 @@ cat >$1/modules_new.cpp <<EOT
o = new qc_libboost(conf); o = new qc_libboost(conf);
o->required = true; o->required = true;
o->disabled = false; o->disabled = false;
o = new qc_libnotify(conf);
o->required = false;
o->disabled = false;
o = new qc_geoip_database(conf); o = new qc_geoip_database(conf);
o->required = false; o->required = false;
o->disabled = false; o->disabled = false;
o = new qc_qtsingleapplication(conf); o = new qc_qtsingleapplication(conf);
o->required = true; o->required = false;
o->disabled = false; o->disabled = false;
EOT EOT
@@ -1565,13 +1603,13 @@ export PREFIX
export BINDIR export BINDIR
export DATADIR export DATADIR
export EX_QTDIR export EX_QTDIR
export QC_ENABLE_DEBUG
export QC_DISABLE_GUI export QC_DISABLE_GUI
export QC_DISABLE_qt_dbus
export QC_WITH_LIBBOOST_INC export QC_WITH_LIBBOOST_INC
export QC_WITH_LIBBOOST_LIB export QC_WITH_LIBBOOST_LIB
export QC_DISABLE_libnotify
export QC_DISABLE_geoip_database export QC_DISABLE_geoip_database
export QC_WITH_GEOIP_DATABASE_EMBEDDED export QC_WITH_GEOIP_DATABASE_EMBEDDED
export QC_DISABLE_qtsingleapplication
export QC_WITH_QTSINGLEAPPLICATION export QC_WITH_QTSINGLEAPPLICATION
export QC_VERBOSE export QC_VERBOSE
rm -rf .qconftemp rm -rf .qconftemp

View File

@@ -11,7 +11,7 @@ QBittorrent installation
3. INSTALLATION 3. INSTALLATION
4. BUGREPORTS 4. CONTACT
5. CREDITS 5. CREDITS
@@ -29,70 +29,17 @@ Welcome to QBittorrent port for OS/2 and eComStation.
2. REQUIREMENTS 2. REQUIREMENTS
=============== ===============
The following requirements can be installed either by rpm or by zip files. * klibc 0.6.3 or later
RPM Installation: ftp://ftp.netlabs.org/pub/gcc/libc-0_6_3-csd3.wpi
klibc * openssl 1.0
-----
1. yum install libc ftp://ftp.netlabs.org/pub/unixos2/ssl10.zip
openssl 1.0 * Qt4 dll
-----------
1. yum install openssl see http://svn.netlabs.org/qt4 for more information whats needed and where to get the latest
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 3. INSTALLATION
@@ -100,6 +47,30 @@ Qt4 dll
To install QBittorrent, do the following: To install QBittorrent, do the following:
klibc
-----
1. Download klibc 0.6.3 csd3 or later.
2. Install the package by double-clicking on the WPI file.
openssl 1.0
-----------
1. Download the zip file
2. Install the files to your libpath eg. x:\ecs\dll
Qt4 dll
-------
1. Download the package
2. Install the package by double-clicking on the wpi file.
QBittorrent
-----------
1. Create a directory for QBittorrent. 1. Create a directory for QBittorrent.
2. Extract the QBittorrent package to the new directory. 2. Extract the QBittorrent package to the new directory.
3. Create a WPS object for QBittorrent.exe. 3. Create a WPS object for QBittorrent.exe.
@@ -107,13 +78,18 @@ To install QBittorrent, do the following:
5. Happy torrenting 5. Happy torrenting
4. BUGREPORTS
=============
Please create bugreports at http://svn.netlabs.org/qtapps 4. CONTACT
==========
Please send bugreports to:
ecs@aroa.ch
Only bug reports with a reproducable bug are accepted. :-) Only bug reports with a reproducable bug are accepted. :-)
5. CREDITS 5. CREDITS
========== ==========
@@ -146,28 +122,6 @@ development, you can do so in one of the following ways:
7. HISTORY 7. HISTORY
========== ==========
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 2010-12-23
* updated to 2.5.2 code level of QBittorrent * updated to 2.5.2 code level of QBittorrent

View File

@@ -2,23 +2,8 @@ PREFIX = /usr/local
BINDIR = /usr/local/bin BINDIR = /usr/local/bin
DATADIR = /usr/local/share DATADIR = /usr/local/share
# Use pkg-config to get all necessary libtorrent DEFINES INCLUDEPATH += /usr/local/include/libtorrent /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include
CONFIG += link_pkgconfig LIBS += -ltorrent-rasterbar -lcrypto -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -framework Cocoa -framework Carbon
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
document_icon.path = Contents/Resources document_icon.path = Contents/Resources
document_icon.files = Icons/qBitTorrentDocument.icns document_icon.files = Icons/qBitTorrentDocument.icns

View File

@@ -1,3 +1,5 @@
INCLUDEPATH += $$PWD
exists(conf.pri) { exists(conf.pri) {
# to the conf.pri goes all system dependent stuff # to the conf.pri goes all system dependent stuff
include(conf.pri) include(conf.pri)
@@ -11,8 +13,5 @@ LIBS += -ltorrent-rasterbar \
RC_FILE = qbittorrent_os2.rc RC_FILE = qbittorrent_os2.rc
# LIBTORRENT DEFINES
DEFINES += WITH_SHIPPED_GEOIP_H
DEFINES += WITH_GEOIP_EMBEDDED DEFINES += WITH_GEOIP_EMBEDDED
message("On eCS(OS/2), GeoIP database must be embedded.") message("On eCS(OS/2), GeoIP database must be embedded.")

View File

@@ -2,17 +2,3 @@ TEMPLATE = subdirs
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

View File

@@ -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>

View File

@@ -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,60 +35,84 @@ public:
} }
return name; return name;
} }
bool exec(){
bool exec(){ QString s;
QStringList sl; s = conf->getenv("QC_WITH_LIBBOOST_INC");
QString s = conf->getenv("QC_WITH_LIBBOOST_INC"); if(!s.isEmpty()) {
if (!s.isEmpty()) if(!conf->checkHeader(s, "boost/format.hpp")) {
sl << s; return false;
sl << "/usr/include"; }
sl << "/usr/local/include"; if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) {
bool found = false; return false;
foreach (s, sl) { }
if (conf->checkHeader(s, "boost/format.hpp") if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
#if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 return false;
&& conf->checkHeader(s, "boost/filesystem/path.hpp") }
#endif if(!conf->checkHeader(s, "boost/thread.hpp")) {
) { return false;
found = true; }
break; }else{
} QStringList sl;
} sl << "/usr/include";
if (!found) sl << "/usr/local/include";
return false; bool found = false;
foreach(s, sl){
conf->addIncludePath(s); if(conf->checkHeader(s, "boost/format.hpp")){
found = true;
// Find library break;
s = conf->getenv("QC_WITH_LIBBOOST_LIB"); }
}
if(!found) {
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);
// Find library
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 << s;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/"; libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
foreach(const QString& lib, required_libs) { foreach(const QString& lib, required_libs) {
bool found = false; if(!s.isEmpty()) {
foreach(const QString& libDir, libDirs) { QString detected_name = findBoostLib(s, lib);
QString detected_name = findBoostLib(libDir, lib); if(detected_name.isEmpty()) {
if(!detected_name.isEmpty()) { printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
} else {
conf->addLib("-l"+detected_name); conf->addLib("-l"+detected_name);
found = true; }
break; } else {
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;
} }
} }
if(!found) {
printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
}
} }
return true; return true;
} }
}; };

View File

@@ -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;
} }
}; };

View File

@@ -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;
}
};

View File

@@ -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;
}
};

View File

@@ -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->addExtra("CONFIG += nox");
} }
// 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);
} }
}; };

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: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

BIN
src/Icons/oxygen/browse.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/Icons/oxygen/bug.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/file.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

View File

Before

Width:  |  Height:  |  Size: 885 B

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

BIN
src/Icons/oxygen/folder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 892 B

BIN
src/Icons/oxygen/go-top.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 996 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 907 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 498 B

BIN
src/Icons/oxygen/log.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/peer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

BIN
src/Icons/oxygen/proxy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/remove.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,39 +1,36 @@
[Desktop Entry] [Desktop Entry]
Categories=Network;FileTransfer;P2P;Qt; Categories=Qt;Network;P2P;
Exec=qbittorrent %U Comment=V2.5.3
GenericName=BitTorrent client Exec=qbittorrent %f
GenericName[ar]=العميل BitTorrent GenericName=Bittorrent client
GenericName[ar]=العميل Bittorrent
GenericName[bg]=Торент клиент GenericName[bg]=Торент клиент
GenericName[cs]=BitTorrent klient GenericName[cs]=Bittorrent klient
GenericName[de]=BitTorren Client GenericName[de]=Bittorren Client
GenericName[el]=BitTorrent πελάτης GenericName[el]=Bittorrent πελάτης
GenericName[es]=Cliente BitTorrent GenericName[es]=Cliente Bittorrent
GenericName[fi]=BitTorrent-ohjelma GenericName[fi]=Bittorrent-ohjelma
GenericName[fr]=Client BitTorrent GenericName[fr]=Client Bittorrent
GenericName[hr]=BitTorrent klijent GenericName[hr]=Bittorrent klijent
GenericName[hu]=BitTorrent kliens GenericName[hu]=Bittorrent kliens
GenericName[it]=Client BitTorrent GenericName[it]=Client Bittorrent
GenericName[ja]=BitTorrent クライアント GenericName[ja]=Bittorrent クライアント
GenericName[ko]=비토렌트 클라이언트 GenericName[ko]=비토렌트 클라이언트
GenericName[lt]=BitTorrent klientas GenericName[nl]=Bittorrent-cliënt
GenericName[nl]=BitTorrent-cliënt GenericName[pl]=Klient Bittorrent
GenericName[pl]=Klient BitTorrent GenericName[pt]=Cliente Bittorrent
GenericName[pt]=Cliente BitTorrent GenericName[pt_BR]=Cliente Bittorrent
GenericName[pt_BR]=Cliente BitTorrent GenericName[ro]=Client Bittorrent
GenericName[ro]=Client BitTorrent GenericName[ru]=клиент Bittorrent
GenericName[ru]=клиент BitTorrent GenericName[sk]=Klient siete Bittorrent
GenericName[sk]=Klient siete BitTorrent GenericName[sr]=Bittorrent-клијент
GenericName[sr]=BitTorrent-клијент GenericName[sv]=Bittorrent-klient
GenericName[sv]=BitTorrent-klient GenericName[tr]=Bittorrent istemcisi
GenericName[tr]=BitTorrent istemcisi GenericName[uk]=Bittorrent-клієнт
GenericName[uk]=BitTorrent-клієнт GenericName[zh]=Bittorrent之用户
GenericName[zh]=BitTorrent之用户 GenericName[zh_TW]=Bittorrent客戶端
GenericName[zh_TW]=BitTorrent客戶端
Comment=Download and share files over BitTorrent
Comment[fr]=Télécharger et partager des fichiers avec BitTorrent
Comment[pl]=Dzielenie się plikami przez BitTorrent
Icon=qbittorrent Icon=qbittorrent
MimeType=application/x-bittorrent;x-scheme-handler/magnet; MimeType=application/x-bittorrent;
Name=qBittorrent Name=qBittorrent
Name[ko]=큐비토런트 Name[ko]=큐비토런트
Terminal=false Terminal=false

BIN
src/Icons/rss16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

BIN
src/Icons/rss32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/Icons/skin/decrease.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
src/Icons/skin/delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/Icons/skin/delete22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/Icons/skin/exit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/Icons/skin/increase.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
src/Icons/skin/info.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Some files were not shown because too many files have changed in this diff Show More