Compare commits
394 Commits
release-2.
...
release-2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82f5fbb52c | ||
|
|
1e21ac3d79 | ||
|
|
864bb8285e | ||
|
|
208e988c70 | ||
|
|
5cbcfb8efb | ||
|
|
107b833703 | ||
|
|
e2208a484e | ||
|
|
5ab7c91d49 | ||
|
|
a91ad3c9c7 | ||
|
|
385f950c2b | ||
|
|
4667a84939 | ||
|
|
5af0cacf0c | ||
|
|
bceb00d35f | ||
|
|
51068294f1 | ||
|
|
bcdf4e42fa | ||
|
|
214bb13843 | ||
|
|
7998395532 | ||
|
|
35aee18112 | ||
|
|
8ddbdd34ed | ||
|
|
66a5e479c7 | ||
|
|
8f5bd2bc9f | ||
|
|
5be2624cb1 | ||
|
|
f9684d662d | ||
|
|
9373796dd5 | ||
|
|
2634517cdb | ||
|
|
121a636b4e | ||
|
|
aad42d4a57 | ||
|
|
c8b8518608 | ||
|
|
0c40a8ab05 | ||
|
|
b9241ad5ad | ||
|
|
d354d7133e | ||
|
|
a1157c78b2 | ||
|
|
fb8d52e6e0 | ||
|
|
80c42cae1a | ||
|
|
f242fce5fd | ||
|
|
6223514704 | ||
|
|
8fb7445e20 | ||
|
|
3172c6859d | ||
|
|
58be573d02 | ||
|
|
82f7bdb9cc | ||
|
|
b41c39b7ce | ||
|
|
9e4958e96a | ||
|
|
65091f7cb9 | ||
|
|
75b758bb1f | ||
|
|
5028ff3ddd | ||
|
|
a246f76ec3 | ||
|
|
eeec067481 | ||
|
|
3ee44ad0c2 | ||
|
|
c38ff5b0b7 | ||
|
|
e51dc6758c | ||
|
|
7bb32643fa | ||
|
|
3172e1f530 | ||
|
|
7778877fa7 | ||
|
|
b4f6745251 | ||
|
|
4fd7f16911 | ||
|
|
ca29b5d7fc | ||
|
|
79d5a635a4 | ||
|
|
7f615c580e | ||
|
|
967dbbda89 | ||
|
|
452c0411d2 | ||
|
|
32d3ed2144 | ||
|
|
4efae21f1d | ||
|
|
c43efd7fb3 | ||
|
|
93b1dbd931 | ||
|
|
571896b888 | ||
|
|
9f5d31b2b1 | ||
|
|
c01f7102e6 | ||
|
|
df39e46c84 | ||
|
|
7f12bb5dfb | ||
|
|
ca762139f6 | ||
|
|
67f41ad991 | ||
|
|
621ec11ae3 | ||
|
|
de3135c43b | ||
|
|
faed0ba45a | ||
|
|
2104e4e2ce | ||
|
|
907a17a73b | ||
|
|
a1a9f8bc7e | ||
|
|
a9a3bb74e7 | ||
|
|
b7de3fcebd | ||
|
|
0b70b857b9 | ||
|
|
9c8a957dd7 | ||
|
|
cf65e4d77d | ||
|
|
762962270c | ||
|
|
a2067af4ea | ||
|
|
2f4f06ca8b | ||
|
|
56dba2cb10 | ||
|
|
f824357358 | ||
|
|
778cfff4b3 | ||
|
|
8ee762695b | ||
|
|
7dd9680e26 | ||
|
|
92661e1d53 | ||
|
|
09d5665ff9 | ||
|
|
c5dfe623c8 | ||
|
|
2665e2ef39 | ||
|
|
dfecdb1956 | ||
|
|
5a82aee76b | ||
|
|
4f07426010 | ||
|
|
9e575e45b7 | ||
|
|
39b32bf1cd | ||
|
|
54131001b0 | ||
|
|
f8134b1a62 | ||
|
|
13927599c8 | ||
|
|
0d85d0a777 | ||
|
|
0da83694e0 | ||
|
|
9bdac4d1e3 | ||
|
|
00c92d6d61 | ||
|
|
9628a9e156 | ||
|
|
f1bfcb4822 | ||
|
|
87879b6738 | ||
|
|
a4ff7047d1 | ||
|
|
da599da36d | ||
|
|
335e7366fd | ||
|
|
a993b2b3f1 | ||
|
|
b81c8d29ba | ||
|
|
08a08e4b24 | ||
|
|
8b5886cc6e | ||
|
|
22b3d8d594 | ||
|
|
17efa04257 | ||
|
|
e71f144c40 | ||
|
|
5e7cafb8c0 | ||
|
|
d01385a7ac | ||
|
|
ac80dd78a8 | ||
|
|
061f1000cf | ||
|
|
c36fed3081 | ||
|
|
75002906aa | ||
|
|
a451cf2d5f | ||
|
|
ca10c0ab09 | ||
|
|
80d76ae038 | ||
|
|
f699ee1363 | ||
|
|
bd97a4bd7c | ||
|
|
ec3b749ef6 | ||
|
|
44fc86e7da | ||
|
|
2cd940e7c7 | ||
|
|
cc6d371667 | ||
|
|
8fcc33b375 | ||
|
|
e44b570c3d | ||
|
|
8576847a99 | ||
|
|
c9fc9373e5 | ||
|
|
ae46d449e5 | ||
|
|
fe57cef756 | ||
|
|
3affb38ba2 | ||
|
|
a0dc6aa173 | ||
|
|
a357a690ce | ||
|
|
bce7959332 | ||
|
|
eef6f600c9 | ||
|
|
a3822c5aa8 | ||
|
|
eeaa1e83a9 | ||
|
|
387fb93b5b | ||
|
|
d470059c56 | ||
|
|
2e382fa88c | ||
|
|
e1e7e782d5 | ||
|
|
6f314502f6 | ||
|
|
3284d7a8e6 | ||
|
|
609ea7b4c2 | ||
|
|
7e8d21145e | ||
|
|
c31b5f1f97 | ||
|
|
11fe685a6b | ||
|
|
1127947f52 | ||
|
|
789b2cf326 | ||
|
|
b9394f2ba2 | ||
|
|
7ab206ebac | ||
|
|
0beb9fff73 | ||
|
|
65b8d0c24d | ||
|
|
715fe46f45 | ||
|
|
8209f341fb | ||
|
|
0d4b55ca32 | ||
|
|
ae7362706f | ||
|
|
4ca648a79b | ||
|
|
4ca0b14300 | ||
|
|
4386b6c2c4 | ||
|
|
61246f81c7 | ||
|
|
70f2bfdd9a | ||
|
|
5f23cbc470 | ||
|
|
2e0c8f848f | ||
|
|
f8add0ee04 | ||
|
|
f23051c1fd | ||
|
|
60636af544 | ||
|
|
2e685ea851 | ||
|
|
b61a06350f | ||
|
|
c9ece4695e | ||
|
|
4805690dbe | ||
|
|
8ec1621334 | ||
|
|
682377ff66 | ||
|
|
656beed82b | ||
|
|
ba4a0fac77 | ||
|
|
b719bfaecb | ||
|
|
4e1366bf0d | ||
|
|
b67938aa3f | ||
|
|
f4c29c07bf | ||
|
|
63a0f4bf11 | ||
|
|
a8a2ba188d | ||
|
|
a0d685bfe2 | ||
|
|
a3041b7f9f | ||
|
|
83a2ae7ad3 | ||
|
|
830a6250c6 | ||
|
|
f0e23ab1fc | ||
|
|
5b07c488b0 | ||
|
|
f61bccf700 | ||
|
|
4fd10bc5f5 | ||
|
|
c1a72f075d | ||
|
|
5c4450f3cd | ||
|
|
bb606e0b2f | ||
|
|
eed86aa9e1 | ||
|
|
338d4fd31e | ||
|
|
58a36f7cfd | ||
|
|
8b436f70d6 | ||
|
|
223fd4f0ba | ||
|
|
2e51e69cc9 | ||
|
|
bbac79c030 | ||
|
|
607bba4625 | ||
|
|
1a0cc3215c | ||
|
|
f0981c81c8 | ||
|
|
472604d1b0 | ||
|
|
781d33b869 | ||
|
|
8db8841c9c | ||
|
|
6e3b570be4 | ||
|
|
defd77b94c | ||
|
|
c09294df2f | ||
|
|
cc97ee86df | ||
|
|
10d6dd5a23 | ||
|
|
29e79dc54d | ||
|
|
982390f074 | ||
|
|
963d73af4e | ||
|
|
bdd8cbb1d8 | ||
|
|
80bd232054 | ||
|
|
c2da227254 | ||
|
|
e846c67bfa | ||
|
|
475c7094ab | ||
|
|
4434566d85 | ||
|
|
6bd557d22c | ||
|
|
4832a24ac5 | ||
|
|
b9a3890dd5 | ||
|
|
4cf9de6515 | ||
|
|
994c798264 | ||
|
|
119bda1595 | ||
|
|
bf73c47bc5 | ||
|
|
ea99f44893 | ||
|
|
4ec1fd3968 | ||
|
|
0b9e25ee65 | ||
|
|
73a9985599 | ||
|
|
a65f7bfa65 | ||
|
|
72cc1eb4d4 | ||
|
|
ed7ae32a69 | ||
|
|
54b53f3aba | ||
|
|
2f7728f987 | ||
|
|
f3a93af242 | ||
|
|
5a4ad2f822 | ||
|
|
c669240037 | ||
|
|
ce4fd8429e | ||
|
|
cc532d95da | ||
|
|
c800a0a6b5 | ||
|
|
5675c045ae | ||
|
|
e16ca862f4 | ||
|
|
29e757bb3a | ||
|
|
822f1a9557 | ||
|
|
7acfb27a1f | ||
|
|
83d6731fa9 | ||
|
|
de4f0272c1 | ||
|
|
df50a875df | ||
|
|
5f814f23b4 | ||
|
|
98ec373f8c | ||
|
|
0bbeab9ad2 | ||
|
|
ed4c711ef5 | ||
|
|
fc33702b81 | ||
|
|
70c79f31c3 | ||
|
|
82dc2103b5 | ||
|
|
529ab304b4 | ||
|
|
53919446d4 | ||
|
|
1052cd019b | ||
|
|
4f87819abf | ||
|
|
b94ecb2383 | ||
|
|
c00d83dee9 | ||
|
|
34052ce8f9 | ||
|
|
0a0c8948ee | ||
|
|
0cc9283275 | ||
|
|
6b2e9f057b | ||
|
|
3a1fc9ec77 | ||
|
|
e4399412b6 | ||
|
|
37650d8156 | ||
|
|
b4fa164dc3 | ||
|
|
6148e6b192 | ||
|
|
057743a779 | ||
|
|
530ba2a0bd | ||
|
|
977b2bda7c | ||
|
|
76eb93ba1a | ||
|
|
ae3c50c074 | ||
|
|
31017602fc | ||
|
|
ef7e2abdaf | ||
|
|
a6abedd67d | ||
|
|
9824d86a3c | ||
|
|
1eac3d1700 | ||
|
|
48585bb049 | ||
|
|
843e49a5a8 | ||
|
|
db01276f1d | ||
|
|
772028106e | ||
|
|
0cd5253857 | ||
|
|
eaf321facb | ||
|
|
81ecb5c7c8 | ||
|
|
3b3a452df6 | ||
|
|
65b1e29414 | ||
|
|
a6e3b9afac | ||
|
|
a7792701a2 | ||
|
|
846372e48b | ||
|
|
1597007ea1 | ||
|
|
dbceed21f5 | ||
|
|
3254dae59f | ||
|
|
12881dd4c4 | ||
|
|
35ec93ccb1 | ||
|
|
cb159ed00d | ||
|
|
e5b8b41373 | ||
|
|
492814a56e | ||
|
|
d639712303 | ||
|
|
f5d1c8a679 | ||
|
|
aea3d4be7a | ||
|
|
8d1fd7ee8e | ||
|
|
a98a002d57 | ||
|
|
fb874695c9 | ||
|
|
63457c034f | ||
|
|
daff6dce4c | ||
|
|
94c7c5cebe | ||
|
|
f2c4901dd0 | ||
|
|
95d8eb9714 | ||
|
|
62165445fe | ||
|
|
6b12371f50 | ||
|
|
38cb4ccbd3 | ||
|
|
8ccaaae085 | ||
|
|
6f7ae4770a | ||
|
|
5aa348a574 | ||
|
|
7b8fa49482 | ||
|
|
789cf654d0 | ||
|
|
a300a6094e | ||
|
|
37b09e70b0 | ||
|
|
530fbfc9b4 | ||
|
|
73c312ec1a | ||
|
|
318a959470 | ||
|
|
f9cc98791a | ||
|
|
263eb3c632 | ||
|
|
52b3926f92 | ||
|
|
af3755bf91 | ||
|
|
419d719ab8 | ||
|
|
3877cf9ab8 | ||
|
|
912056a364 | ||
|
|
165b33a94e | ||
|
|
12fff1b966 | ||
|
|
128eba7ec3 | ||
|
|
5bb370df0e | ||
|
|
6431343ad7 | ||
|
|
bd292076e3 | ||
|
|
ce0ddbe517 | ||
|
|
5451bb185e | ||
|
|
057cf3648e | ||
|
|
80d5c5d85c | ||
|
|
671a997092 | ||
|
|
f2fbfdf017 | ||
|
|
1ea7340111 | ||
|
|
7b38ea4151 | ||
|
|
c4ed12bbd1 | ||
|
|
c32b352ec1 | ||
|
|
9b2565dff9 | ||
|
|
f833f26212 | ||
|
|
66a7082b5c | ||
|
|
cc3a6350a5 | ||
|
|
9202ce8757 | ||
|
|
c0e4f126de | ||
|
|
44ca0a4904 | ||
|
|
64ddf393aa | ||
|
|
a60615a2d8 | ||
|
|
d9fa9c3566 | ||
|
|
5115b8739e | ||
|
|
854fb4acc0 | ||
|
|
07ef81fd95 | ||
|
|
17e39f56dd | ||
|
|
040e94cab7 | ||
|
|
93563365ac | ||
|
|
c287879e55 | ||
|
|
537c73d548 | ||
|
|
ad3f5f6e20 | ||
|
|
a468404ab5 | ||
|
|
6d7fba1a6c | ||
|
|
5c734a80f8 | ||
|
|
edfee5193c | ||
|
|
9900651c55 | ||
|
|
948adbe350 | ||
|
|
ade0ba794c | ||
|
|
5494c33a89 | ||
|
|
c8f5cab636 | ||
|
|
4a8a40a6f2 | ||
|
|
70d41cdc79 | ||
|
|
aec99ed14f | ||
|
|
9a645b4b19 | ||
|
|
bea3c33a46 | ||
|
|
e082c02630 | ||
|
|
291b94bef0 | ||
|
|
f119be3ed5 |
9
AUTHORS
@@ -3,12 +3,19 @@ Author:
|
|||||||
|
|
||||||
Contributors:
|
Contributors:
|
||||||
* Stefanos Antaris <santaris@csd.auth.gr>
|
* Stefanos Antaris <santaris@csd.auth.gr>
|
||||||
|
* Mohammad Dib <mdib@qbittorrent.org>
|
||||||
|
* Mirco Chinelli <infinity89@fastwebmail.it>
|
||||||
* Ishan Arora <ishan@qbittorrent.org>
|
* Ishan Arora <ishan@qbittorrent.org>
|
||||||
* Arnaud Demaizière <arnaud@qbittorrent.org>
|
* Arnaud Demaizière <arnaud@qbittorrent.org>
|
||||||
* Grigis Gaëtan <cipher16@gmail.com>
|
* Grigis Gaëtan <cipher16@gmail.com>
|
||||||
* Christian Kandeler <zambesi@users.sourceforge.net>
|
* Christian Kandeler <zambesi@users.sourceforge.net>
|
||||||
|
* Silvan Scherrer <silvan.scherrer@aroa.ch>
|
||||||
|
|
||||||
Code from other projects:
|
Code from other projects:
|
||||||
|
* files src/qtsingleapp/*
|
||||||
|
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
|
||||||
@@ -60,11 +67,13 @@ 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)
|
||||||
- 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)
|
||||||
- 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: Joost Schipper (heavyjoost@users.sourceforge.net)
|
- Dutch: Joost Schipper (heavyjoost@users.sourceforge.net)
|
||||||
|
|||||||
51
Changelog
@@ -1,29 +1,28 @@
|
|||||||
* Sun Apr 04 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.3
|
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v2.3.0
|
||||||
- BUGFIX: Fix possible crash when deleting a torrent just after pausing it
|
- FEATURE: Simplified torrent root folder renaming/truncating (< v2.3.0 is no longer forward compatible)
|
||||||
- BUGFIX: Enable Apply button when alternative rate limits are changed
|
- FEATURE: Remember previous save paths in torrent addition dialog
|
||||||
- BUGFIX: Source compatibility with Windows (Thanks Ishan Arora)
|
- FEATURE: Max number of half-open connections can now be edited
|
||||||
- BUGFIX: Source compatibility with eCS (OS/2) (Thanks Silvan Scherrer)
|
- FEATURE: Added support for strict super seeding
|
||||||
- BUGFIX: Cleaner binutils gold linker support
|
- FEATURE: The user can force listening on a particular network interface
|
||||||
- BUGFIX: Clean fix for progress display with cleanlooks style
|
- FEATURE: Added cookie support for RSS feeds
|
||||||
|
- FEATURE: User can force tracker reannounce
|
||||||
* Mon Mar 22 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.2
|
- FEATURE: Added "No action" setting for double-click action
|
||||||
- FEATURE: DHT port can be set from Web UI
|
- FEATURE: Several torrents can be moved at once
|
||||||
- BUGFIX: Fix possible crash with folder scanning
|
- FEATURE: Added error state for torrents (error is displayed in a tooltip)
|
||||||
- BUGFIX: Fix Mac compilation
|
- FEATURE: Added filter for paused/error torrents
|
||||||
- BUGFIX: Save fast resume data every 3 minutes (for robustness)
|
- FEATURE: Add Check/Uncheck all feature in Web UI
|
||||||
- I18N: Updated Polish translation (thanks Szymon Świerkosz)
|
- FEATURE: Search engine can now be disabled
|
||||||
|
- FEATURE: Torrents can be automatically paused once they reach a given ratio
|
||||||
* Sat Mar 20 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.1
|
- FEATURE: Several files can now be disabled at once
|
||||||
- FEATURE: Display pieces that are being downloaded
|
- FEATURE: Added "Select All/None" buttons to files list
|
||||||
- FEATURE: Added back folder watching in Web UI
|
- BUGFIX: Hide seeding torrents files priorities in Web UI
|
||||||
- FEATURE: Added back file prioritizing in Web UI
|
- BUGFIX: The user can disable permanently recursive torrent download
|
||||||
- BUGFIX: Fix compilation with Qt 4.4
|
- BUGFIX: Peer Exchange status is now correctly reported
|
||||||
- BUGFIX: Fix Web UI compatibility with Safari
|
- BUGFIX: Use an INI file instead of the registry on Windows (More reliable)
|
||||||
- BUGFIX: Fix progress display with cleanlook style
|
- COSMETIC: Display peers country name in tooltip
|
||||||
- BUGFIX: Fix file filtering in complex torrents
|
- COSMETIC: Display number of torrents in transfers tab label
|
||||||
- BUGFIX: Ask for user confirmation for recursive torrent download
|
- COSMETIC: Simplified program preferences
|
||||||
- BUGFIX: Fix "add file" dialog in torrent creation tool
|
- COSMETIC: Fix naming of actions opening new dialogs (use Name...)
|
||||||
- BUGFIX: Fix "Ctrl+A" in Web UI
|
|
||||||
|
|
||||||
* Sun Mar 14 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.0
|
* Sun Mar 14 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.0
|
||||||
- FEATURE: User can set alternative speed limits for fast toggling
|
- FEATURE: User can set alternative speed limits for fast toggling
|
||||||
|
|||||||
6
INSTALL
@@ -14,11 +14,13 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
|||||||
|
|
||||||
- pkg-config executable
|
- pkg-config executable
|
||||||
|
|
||||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED)
|
- 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: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
|
- libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio
|
||||||
|
or
|
||||||
|
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time)
|
||||||
|
|
||||||
- python >= 2.3 (needed by search engine)
|
- python >= 2.3 (needed by search engine)
|
||||||
* Run time only dependency
|
* Run time only dependency
|
||||||
|
|||||||
62
README.os2
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
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 #####
|
||||||
|
PREFIX = .
|
||||||
|
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.
|
||||||
|
|
||||||
|
It should now be easy to build qBittorrent:
|
||||||
|
|
||||||
|
Simply type:
|
||||||
|
$ qmake
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
|
||||||
@@ -19,4 +19,6 @@
|
|||||||
</dep>
|
</dep>
|
||||||
<dep type='geoip-database'>
|
<dep type='geoip-database'>
|
||||||
</dep>
|
</dep>
|
||||||
|
<dep type='qtsingleapplication'>
|
||||||
|
</dep>
|
||||||
</qconf>
|
</qconf>
|
||||||
|
|||||||
@@ -5,12 +5,36 @@ arg: with-libboost-inc=[path], Path to libboost include files
|
|||||||
arg: with-libboost-lib=[path], Path to libboost library files
|
arg: with-libboost-lib=[path], Path to libboost library files
|
||||||
-----END QCMOD-----
|
-----END QCMOD-----
|
||||||
*/
|
*/
|
||||||
|
#include <boost/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 name;
|
||||||
|
QDir libDir(path);
|
||||||
|
QStringList filters;
|
||||||
|
filters << "libboost_"+lib+"*-mt*.so";
|
||||||
|
QStringList result = libDir.entryList(filters, QDir::Files);
|
||||||
|
if(!result.empty()) {
|
||||||
|
name = result.first().mid(3);
|
||||||
|
// Remove .so
|
||||||
|
name.chop(3);
|
||||||
|
} else {
|
||||||
|
// Fall back to non -mt boost lib
|
||||||
|
filters.clear();
|
||||||
|
filters << "libboost_"+lib+"*.so";
|
||||||
|
result = libDir.entryList(filters, QDir::Files);
|
||||||
|
if(!result.empty()) {
|
||||||
|
name = result.first().mid(3);
|
||||||
|
// Remove .so
|
||||||
|
name.chop(3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
bool exec(){
|
bool exec(){
|
||||||
QString s;
|
QString s;
|
||||||
s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
||||||
@@ -54,28 +78,41 @@ public:
|
|||||||
conf->addIncludePath(s);
|
conf->addIncludePath(s);
|
||||||
// Find library
|
// Find library
|
||||||
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
|
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
|
||||||
if(!s.isEmpty()) {
|
QStringList required_libs;
|
||||||
if(!conf->checkLibrary(s, "boost_system-mt")) {
|
#if BOOST_VERSION >= 103500
|
||||||
return false;
|
required_libs << "system";
|
||||||
}
|
#endif
|
||||||
}else{
|
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||||
QStringList sl;
|
// Not required by nox
|
||||||
sl << "/usr/lib/";
|
required_libs << "filesystem" << "thread";
|
||||||
sl << "/usr/lib64/";
|
}
|
||||||
sl << "/usr/local/lib/";
|
QStringList libDirs;
|
||||||
sl << "/usr/local/lib64/";
|
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
|
||||||
bool found = false;
|
foreach(const QString& lib, required_libs) {
|
||||||
foreach(s, sl){
|
if(!s.isEmpty()) {
|
||||||
if(conf->checkLibrary(s, "boost_system-mt")) {
|
QString detected_name = findBoostLib(s, lib);
|
||||||
found = true;
|
if(detected_name.isEmpty()) {
|
||||||
break;
|
printf("Could not find boost %s library!\n", qPrintable(lib));
|
||||||
}
|
return false;
|
||||||
}
|
} else {
|
||||||
if(!found)
|
conf->addLib("-l"+detected_name);
|
||||||
return false;
|
}
|
||||||
}
|
} else {
|
||||||
conf->addLib(QString("-L") + s);
|
bool found = false;
|
||||||
conf->addLib("-lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt");
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -40,10 +40,21 @@ public:
|
|||||||
} else {
|
} else {
|
||||||
return false;
|
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 {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,27 +13,15 @@ public:
|
|||||||
bool exec(){
|
bool exec(){
|
||||||
QStringList incs;
|
QStringList incs;
|
||||||
QString req_ver = "0.14.4";
|
QString req_ver = "0.14.4";
|
||||||
QString adv_ver = "0.15.0";
|
|
||||||
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())
|
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||||
// conf->addLib(libs);
|
conf->addLib("-lcrypto");
|
||||||
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other))
|
}
|
||||||
printf("\nWarning: libtorrent-rasterbar v%s was detected. Some feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
|
|
||||||
else
|
|
||||||
conf->addDefine("LIBTORRENT_0_15");
|
|
||||||
// Get linking parameters
|
|
||||||
//QStringList params;
|
|
||||||
//QByteArray staticlibs;
|
|
||||||
//params << "--static" << "--libs" << "libtorrent-rasterbar";
|
|
||||||
//conf->doCommand("pkg-config", params, &staticlibs);
|
|
||||||
//conf->addLib(staticlibs.trimmed());
|
|
||||||
//libcrypto
|
|
||||||
conf->addLib("-lcrypto");
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
353
src/GUI.cpp
26
src/GUI.h
@@ -37,13 +37,10 @@
|
|||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "qtorrenthandle.h"
|
#include "qtorrenthandle.h"
|
||||||
|
|
||||||
enum TabIndex{TAB_TRANSFER, TAB_SEARCH, TAB_RSS};
|
|
||||||
|
|
||||||
class Bittorrent;
|
class Bittorrent;
|
||||||
class QTimer;
|
class QTimer;
|
||||||
class downloadFromURL;
|
class downloadFromURL;
|
||||||
class SearchEngine;
|
class SearchEngine;
|
||||||
class QLocalServer;
|
|
||||||
class QCloseEvent;
|
class QCloseEvent;
|
||||||
class RSSImp;
|
class RSSImp;
|
||||||
class QShortcut;
|
class QShortcut;
|
||||||
@@ -59,6 +56,7 @@ class consoleDlg;
|
|||||||
class about;
|
class about;
|
||||||
class createtorrent;
|
class createtorrent;
|
||||||
class downloadFromURL;
|
class downloadFromURL;
|
||||||
|
class HidableTabWidget;
|
||||||
|
|
||||||
class GUI : public QMainWindow, private Ui::MainWindow{
|
class GUI : public QMainWindow, private Ui::MainWindow{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@@ -68,8 +66,9 @@ public:
|
|||||||
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
||||||
~GUI();
|
~GUI();
|
||||||
// Methods
|
// Methods
|
||||||
int getCurrentTabIndex() const;
|
QWidget* getCurrentTabWidget() const;
|
||||||
TransferListWidget* getTransferList() const { return transferList; }
|
TransferListWidget* getTransferList() const { return transferList; }
|
||||||
|
QMenu* getTrayIconMenu();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void trackerAuthenticationRequired(QTorrentHandle& h);
|
void trackerAuthenticationRequired(QTorrentHandle& h);
|
||||||
@@ -77,6 +76,7 @@ public slots:
|
|||||||
void showNotificationBaloon(QString title, QString msg) const;
|
void showNotificationBaloon(QString title, QString msg) const;
|
||||||
void downloadFromURLList(const QStringList& urls);
|
void downloadFromURLList(const QStringList& urls);
|
||||||
void updateAltSpeedsBtn(bool alternative);
|
void updateAltSpeedsBtn(bool alternative);
|
||||||
|
void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused);
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
// GUI related slots
|
// GUI related slots
|
||||||
@@ -88,8 +88,6 @@ protected slots:
|
|||||||
void on_actionWebsite_triggered() const;
|
void on_actionWebsite_triggered() const;
|
||||||
void on_actionBugReport_triggered() const;
|
void on_actionBugReport_triggered() const;
|
||||||
void on_actionShow_console_triggered();
|
void on_actionShow_console_triggered();
|
||||||
void readParamsOnSocket();
|
|
||||||
void acceptConnection();
|
|
||||||
void balloonClicked();
|
void balloonClicked();
|
||||||
void writeSettings();
|
void writeSettings();
|
||||||
void readSettings();
|
void readSettings();
|
||||||
@@ -111,6 +109,7 @@ protected slots:
|
|||||||
void on_actionOpen_triggered();
|
void on_actionOpen_triggered();
|
||||||
void updateGUI();
|
void updateGUI();
|
||||||
void loadPreferences(bool configure_session=true);
|
void loadPreferences(bool configure_session=true);
|
||||||
|
void processParams(const QString& params);
|
||||||
void processParams(const QStringList& params);
|
void processParams(const QStringList& params);
|
||||||
void addTorrent(QString path);
|
void addTorrent(QString path);
|
||||||
void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker);
|
void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker);
|
||||||
@@ -128,6 +127,7 @@ protected:
|
|||||||
void showEvent(QShowEvent *);
|
void showEvent(QShowEvent *);
|
||||||
bool event(QEvent * event);
|
bool event(QEvent * event);
|
||||||
void displayRSSTab(bool enable);
|
void displayRSSTab(bool enable);
|
||||||
|
void displaySearchTab(bool enable);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Bittorrent
|
// Bittorrent
|
||||||
@@ -135,7 +135,7 @@ private:
|
|||||||
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
|
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
|
||||||
// GUI related
|
// GUI related
|
||||||
QTimer *guiUpdater;
|
QTimer *guiUpdater;
|
||||||
QTabWidget *tabs;
|
HidableTabWidget *tabs;
|
||||||
StatusBar *status_bar;
|
StatusBar *status_bar;
|
||||||
QPointer<options_imp> options;
|
QPointer<options_imp> options;
|
||||||
QPointer<consoleDlg> console;
|
QPointer<consoleDlg> console;
|
||||||
@@ -144,7 +144,7 @@ private:
|
|||||||
QPointer<downloadFromURL> downloadFromURLDialog;
|
QPointer<downloadFromURL> downloadFromURLDialog;
|
||||||
QPointer<QSystemTrayIcon> systrayIcon;
|
QPointer<QSystemTrayIcon> systrayIcon;
|
||||||
QPointer<QTimer> systrayCreator;
|
QPointer<QTimer> systrayCreator;
|
||||||
QMenu *myTrayIconMenu;
|
QPointer<QMenu> myTrayIconMenu;
|
||||||
TransferListWidget *transferList;
|
TransferListWidget *transferList;
|
||||||
TransferListFiltersWidget *transferListFilters;
|
TransferListFiltersWidget *transferListFilters;
|
||||||
PropertiesWidget *properties;
|
PropertiesWidget *properties;
|
||||||
@@ -161,11 +161,15 @@ private:
|
|||||||
QSplitter *hSplitter;
|
QSplitter *hSplitter;
|
||||||
QSplitter *vSplitter;
|
QSplitter *vSplitter;
|
||||||
// Search
|
// Search
|
||||||
SearchEngine *searchEngine;
|
QPointer<SearchEngine> searchEngine;
|
||||||
// RSS
|
// RSS
|
||||||
QPointer<RSSImp> rssWidget;
|
QPointer<RSSImp> rssWidget;
|
||||||
// Misc
|
|
||||||
QLocalServer *localServer;
|
private slots:
|
||||||
|
void on_actionSearch_engine_triggered();
|
||||||
|
void on_actionRSS_Reader_triggered();
|
||||||
|
void on_actionSpeed_in_title_bar_triggered();
|
||||||
|
void on_actionTop_tool_bar_triggered();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
BIN
src/Icons/3-state-checkbox.gif
Normal file
|
After Width: | Height: | Size: 322 B |
BIN
src/Icons/L.gif
Normal file
|
After Width: | Height: | Size: 66 B |
BIN
src/Icons/flags/saoudi_arabia.png
Normal file
|
After Width: | Height: | Size: 546 B |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
src/Icons/oxygen/cookies.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 860 B |
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -1,8 +1,9 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Categories=Qt;Network;P2P;
|
Categories=Qt;Network;P2P;
|
||||||
Comment=V2.2.3
|
Comment=V2.3.0
|
||||||
Exec=qbittorrent %f
|
Exec=qbittorrent %f
|
||||||
GenericName=Bittorrent client
|
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
|
||||||
@@ -10,6 +11,7 @@ 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[hu]=Bittorrent kliens
|
GenericName[hu]=Bittorrent kliens
|
||||||
GenericName[it]=Client Bittorrent
|
GenericName[it]=Client Bittorrent
|
||||||
GenericName[ja]=Bittorrent クライアント
|
GenericName[ja]=Bittorrent クライアント
|
||||||
|
|||||||
BIN
src/Icons/qbittorrent_mac.icns
Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 315 B |
|
Before Width: | Height: | Size: 910 B After Width: | Height: | Size: 1.7 KiB |