You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-10-09 18:32:15 +02:00
Compare commits
1765 Commits
release-1.
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8664140275 | ||
![]() |
0b9640d471 | ||
![]() |
d66c88d59e | ||
![]() |
b92c152d30 | ||
![]() |
148ec32825 | ||
![]() |
8298b62f56 | ||
![]() |
53f46875d8 | ||
![]() |
a67caf1730 | ||
![]() |
6a38f69fad | ||
![]() |
d5bf2b2e1f | ||
![]() |
f6df1c7fed | ||
![]() |
fa88bce77d | ||
![]() |
571465ff7e | ||
![]() |
09a3f78a28 | ||
![]() |
f98520e6c2 | ||
![]() |
0211f3aee3 | ||
![]() |
7c580a87e2 | ||
![]() |
0dcd33fb6d | ||
![]() |
797a4608bf | ||
![]() |
abb8554c51 | ||
![]() |
258a3ea3b0 | ||
![]() |
6d1ad28d8c | ||
![]() |
38aca6af6f | ||
![]() |
0fd8ecd9ee | ||
![]() |
f24224649d | ||
![]() |
b41aa38f39 | ||
![]() |
b267ac169d | ||
![]() |
1c0f1b91e7 | ||
![]() |
9bf673210f | ||
![]() |
42f5cbf2a6 | ||
![]() |
45f0383ee2 | ||
![]() |
a39c7f52cf | ||
![]() |
f1ca4f40af | ||
![]() |
62503fb663 | ||
![]() |
0853ae4691 | ||
![]() |
bb19cfce1f | ||
![]() |
287cdc43c1 | ||
![]() |
79e595c195 | ||
![]() |
d198451bb0 | ||
![]() |
ebf252ce86 | ||
![]() |
f9ece8b447 | ||
![]() |
efe5ca6242 | ||
![]() |
0dbcf5653d | ||
![]() |
20a201703c | ||
![]() |
bfaa6c69fd | ||
![]() |
6744ee8a4d | ||
![]() |
20630e91ec | ||
![]() |
cec74eb080 | ||
![]() |
4e51393dd2 | ||
![]() |
5d86930c80 | ||
![]() |
cc1b812232 | ||
![]() |
0fcbcd0dcd | ||
![]() |
dd9e290a60 | ||
![]() |
61a05c7e5b | ||
![]() |
1c27e2bd35 | ||
![]() |
68f66579ea | ||
![]() |
e5eaea8949 | ||
![]() |
ed491cf7cb | ||
![]() |
3b3642bbba | ||
![]() |
28eddb74ed | ||
![]() |
401693dccd | ||
![]() |
826e137aa5 | ||
![]() |
7d4805988e | ||
![]() |
bc2694bb88 | ||
![]() |
19db0d471f | ||
![]() |
2f337f9191 | ||
![]() |
e05536a115 | ||
![]() |
7364815ef3 | ||
![]() |
bcc6597e93 | ||
![]() |
661e2cb6fc | ||
![]() |
8a5dc1f239 | ||
![]() |
61208fce13 | ||
![]() |
71c4f6e7e3 | ||
![]() |
b169083fe2 | ||
![]() |
efe5e7b068 | ||
![]() |
ee3d4ce8f1 | ||
![]() |
2707bf6349 | ||
![]() |
a4b6228542 | ||
![]() |
d49164b362 | ||
![]() |
906b0755eb | ||
![]() |
52f81a8066 | ||
![]() |
d8af5d681c | ||
![]() |
d05c725253 | ||
![]() |
5fc3aa17b9 | ||
![]() |
e15ac643de | ||
![]() |
0b9f9aa0d7 | ||
![]() |
549fcf8b4c | ||
![]() |
19b11b8fa8 | ||
![]() |
ba83354f32 | ||
![]() |
a63eecc86a | ||
![]() |
1ad80a8e2b | ||
![]() |
b7ae2eabc7 | ||
![]() |
c9ff34af8d | ||
![]() |
8a1e79d22f | ||
![]() |
1ca084038c | ||
![]() |
c77eb35f5b | ||
![]() |
f5cf5c2176 | ||
![]() |
2b4043dc43 | ||
![]() |
a3db4790a7 | ||
![]() |
299b0f90bc | ||
![]() |
a58d5c0f32 | ||
![]() |
ea631f6675 | ||
![]() |
7a5f9195fc | ||
![]() |
6629c39f01 | ||
![]() |
29e465d2f6 | ||
![]() |
8c33daa369 | ||
![]() |
147060fdee | ||
![]() |
1fd326aa15 | ||
![]() |
e5032a52c4 | ||
![]() |
a640b08414 | ||
![]() |
3144bfebc7 | ||
![]() |
df04427c6a | ||
![]() |
6a689e83c4 | ||
![]() |
9fe64982bb | ||
![]() |
5cd376d2c3 | ||
![]() |
1d795d85d2 | ||
![]() |
d5898f024d | ||
![]() |
2de4c50d4f | ||
![]() |
e57f8b6204 | ||
![]() |
9c67aaf641 | ||
![]() |
af562ecf89 | ||
![]() |
d76877b1a2 | ||
![]() |
01cc4452b2 | ||
![]() |
1cb30d77fd | ||
![]() |
126e2e7c75 | ||
![]() |
9c13ed2635 | ||
![]() |
e11545c8a3 | ||
![]() |
ad087d7e88 | ||
![]() |
c387c15eb0 | ||
![]() |
345222cf42 | ||
![]() |
adffd7df74 | ||
![]() |
4de980c1a1 | ||
![]() |
578a5c9551 | ||
![]() |
c47dbfb1f5 | ||
![]() |
cb0942b388 | ||
![]() |
1904bc1abb | ||
![]() |
5a02c56865 | ||
![]() |
d7b0299416 | ||
![]() |
265ab7bef2 | ||
![]() |
e824bc8bb1 | ||
![]() |
046ebb5a8f | ||
![]() |
8b83d60732 | ||
![]() |
d2754fb242 | ||
![]() |
30ba1a428e | ||
![]() |
0553668da8 | ||
![]() |
ff63d75532 | ||
![]() |
b7ec18e4f1 | ||
![]() |
9c9944715a | ||
![]() |
ea1a54c5f1 | ||
![]() |
34cb5efb72 | ||
![]() |
8597689a52 | ||
![]() |
41a61ced89 | ||
![]() |
da95d5e0df | ||
![]() |
8276c301c2 | ||
![]() |
75ff9984fa | ||
![]() |
cda77d1724 | ||
![]() |
583b8c60bb | ||
![]() |
5c2b57052b | ||
![]() |
9cf79a4a76 | ||
![]() |
c4968edb79 | ||
![]() |
a859a6d179 | ||
![]() |
e2c75b5a11 | ||
![]() |
12195b186b | ||
![]() |
658d876ff7 | ||
![]() |
390508e7db | ||
![]() |
0a2efaf5fc | ||
![]() |
6b7af5b464 | ||
![]() |
a2c19302cb | ||
![]() |
1638554944 | ||
![]() |
1d1b49205d | ||
![]() |
0ca7100168 | ||
![]() |
26c680ae1f | ||
![]() |
6c1eda8755 | ||
![]() |
0374f9d0a8 | ||
![]() |
080a36de5f | ||
![]() |
071801fee7 | ||
![]() |
bee507cb45 | ||
![]() |
7d6df2a3c2 | ||
![]() |
a2ffecd6bd | ||
![]() |
1532b24448 | ||
![]() |
c4dae02ef6 | ||
![]() |
846962aab1 | ||
![]() |
35e98b6cbb | ||
![]() |
ecfc3d0118 | ||
![]() |
3ecc8c8d67 | ||
![]() |
a83fbf5a98 | ||
![]() |
328e4fd860 | ||
![]() |
b98d0282ce | ||
![]() |
166dad51d5 | ||
![]() |
e3ccea3b17 | ||
![]() |
8a64a6441e | ||
![]() |
c34000ab17 | ||
![]() |
90dd337069 | ||
![]() |
31e4b8dc31 | ||
![]() |
5145abe5c8 | ||
![]() |
7ec842929a | ||
![]() |
39778baaf5 | ||
![]() |
0a510db95e | ||
![]() |
c73243b0d2 | ||
![]() |
46b75b760f | ||
![]() |
fc3ae51122 | ||
![]() |
05d9f28f8b | ||
![]() |
b1b2a2c775 | ||
![]() |
105de3161a | ||
![]() |
354d968a94 | ||
![]() |
f617b74bac | ||
![]() |
3664134e02 | ||
![]() |
1875846326 | ||
![]() |
64f0adc813 | ||
![]() |
a9d4b38bd3 | ||
![]() |
44fa7388d5 | ||
![]() |
24df142b02 | ||
![]() |
958b73f2cb | ||
![]() |
1962898e24 | ||
![]() |
56b88661bc | ||
![]() |
5b47a762ac | ||
![]() |
a5c6bcceea | ||
![]() |
290932e128 | ||
![]() |
f53fe96191 | ||
![]() |
fc8a822dac | ||
![]() |
b7a3ae2b4c | ||
![]() |
26d19b33e6 | ||
![]() |
4ba9dc1fed | ||
![]() |
2c3f99692d | ||
![]() |
a27d2dcac2 | ||
![]() |
f7cb6a7da5 | ||
![]() |
6855edf649 | ||
![]() |
aff27558dd | ||
![]() |
f6172f8c77 | ||
![]() |
1562088bc8 | ||
![]() |
67973515d5 | ||
![]() |
7867cf68f9 | ||
![]() |
1eb26bd78b | ||
![]() |
a8d635f7ac | ||
![]() |
289ad37f06 | ||
![]() |
94de42bf2e | ||
![]() |
ca9f40eb7f | ||
![]() |
4013f9fefd | ||
![]() |
ccf0002c0f | ||
![]() |
86fb4a323a | ||
![]() |
38c56a2b5f | ||
![]() |
2d1286158a | ||
![]() |
6e7309316c | ||
![]() |
593fdad426 | ||
![]() |
933a831eb1 | ||
![]() |
7c55082464 | ||
![]() |
fa3e70316e | ||
![]() |
c9c2ab320d | ||
![]() |
53d9817d8a | ||
![]() |
828ecb6b3c | ||
![]() |
af61ed7c72 | ||
![]() |
1e86ea8c0a | ||
![]() |
129bfac549 | ||
![]() |
4815bb9f11 | ||
![]() |
81eb8b1341 | ||
![]() |
1596dc5206 | ||
![]() |
76a22fabcd | ||
![]() |
3d7bf26f85 | ||
![]() |
69661406a0 | ||
![]() |
74fba0fb7e | ||
![]() |
d56fc9fcd4 | ||
![]() |
124dcee7b8 | ||
![]() |
b5b06ce36d | ||
![]() |
ef01088411 | ||
![]() |
bc87c1c409 | ||
![]() |
bbe4328c06 | ||
![]() |
d557410156 | ||
![]() |
a150e24ce4 | ||
![]() |
261d02863c | ||
![]() |
c64f02c9bf | ||
![]() |
790db14b51 | ||
![]() |
2500ac2cb7 | ||
![]() |
cd8a7cf0e0 | ||
![]() |
b3be32126d | ||
![]() |
643bc5516c | ||
![]() |
eb94c59892 | ||
![]() |
72f4c81f4c | ||
![]() |
9543bd63f9 | ||
![]() |
7ae7a71782 | ||
![]() |
8994ca6dd5 | ||
![]() |
354dceeaf0 | ||
![]() |
50c7225c1e | ||
![]() |
44d945b5c0 | ||
![]() |
4ff6104601 | ||
![]() |
80760dd7af | ||
![]() |
7835a13573 | ||
![]() |
9b26fd50b2 | ||
![]() |
eb54d81c5e | ||
![]() |
431d2f082c | ||
![]() |
a0ff0cdc7e | ||
![]() |
fb91558261 | ||
![]() |
fc2a47ca31 | ||
![]() |
dcccbaad59 | ||
![]() |
99d040de3f | ||
![]() |
ee30a75b57 | ||
![]() |
8c001aa478 | ||
![]() |
849bc11a01 | ||
![]() |
5024e0b092 | ||
![]() |
d93447489b | ||
![]() |
33988e70ab | ||
![]() |
d2b41d70c8 | ||
![]() |
8e1e51d268 | ||
![]() |
53500ea005 | ||
![]() |
e048389dea | ||
![]() |
fa7b1a205d | ||
![]() |
7dd6b7e9bb | ||
![]() |
78b96accda | ||
![]() |
73d0e2568a | ||
![]() |
92fc212a0e | ||
![]() |
6f4d7b7c1b | ||
![]() |
63ee1c36e8 | ||
![]() |
7d07debcb5 | ||
![]() |
dd67e1ee9d | ||
![]() |
493efdbf10 | ||
![]() |
e323175275 | ||
![]() |
c1fa7f8645 | ||
![]() |
275b962363 | ||
![]() |
3847c33017 | ||
![]() |
9e21f52213 | ||
![]() |
25cf9b33ec | ||
![]() |
c7a2d3589f | ||
![]() |
d8dd3834c3 | ||
![]() |
ee01c2c745 | ||
![]() |
e7e5a2b4e9 | ||
![]() |
ff16f59be1 | ||
![]() |
2cd4937ddc | ||
![]() |
0e9abc1762 | ||
![]() |
e24ce87946 | ||
![]() |
308e358d3f | ||
![]() |
d15e6a4847 | ||
![]() |
e311239a28 | ||
![]() |
df677789d2 | ||
![]() |
0af44eadb6 | ||
![]() |
85cafe530e | ||
![]() |
7609db28f1 | ||
![]() |
fefda39284 | ||
![]() |
b2f98bd059 | ||
![]() |
26c69fe6d4 | ||
![]() |
bf4f1a7c37 | ||
![]() |
9b0dd39d9d | ||
![]() |
66d4cc2ab8 | ||
![]() |
0bcbaf6521 | ||
![]() |
e074872b24 | ||
![]() |
63ec1e618e | ||
![]() |
331c15b76c | ||
![]() |
d2089c9aad | ||
![]() |
3c8326d3b6 | ||
![]() |
2d0713ca1d | ||
![]() |
afaca423cc | ||
![]() |
ff08abe177 | ||
![]() |
159be479cc | ||
![]() |
f3066b07b5 | ||
![]() |
aa58636832 | ||
![]() |
5d1a584eac | ||
![]() |
7ee9abd646 | ||
![]() |
4d977a8d46 | ||
![]() |
5c891724c4 | ||
![]() |
185af18790 | ||
![]() |
fa6da97cf9 | ||
![]() |
9503d9b024 | ||
![]() |
de7b6ca553 | ||
![]() |
1788078594 | ||
![]() |
3caf473424 | ||
![]() |
5435bd2354 | ||
![]() |
1cdb22a7e3 | ||
![]() |
95a9424ae7 | ||
![]() |
902196a176 | ||
![]() |
dbfef8665b | ||
![]() |
b3d8f2400f | ||
![]() |
c12ae58868 | ||
![]() |
4b77bb57ad | ||
![]() |
a6b1d308c2 | ||
![]() |
b483f09d11 | ||
![]() |
bbb5ad31c4 | ||
![]() |
3d4c1fe7da | ||
![]() |
7a2c0d5d5a | ||
![]() |
39d86c5f61 | ||
![]() |
e2cdbbb184 | ||
![]() |
e83f9245a9 | ||
![]() |
52f25c44eb | ||
![]() |
1ed565d8e5 | ||
![]() |
10801f111b | ||
![]() |
efe1655834 | ||
![]() |
7f71e3981e | ||
![]() |
8113f8df63 | ||
![]() |
62f579fdbe | ||
![]() |
1d4454c6eb | ||
![]() |
310433fb54 | ||
![]() |
c0520146e9 | ||
![]() |
35f6675d86 | ||
![]() |
9494b15bd5 | ||
![]() |
3b82120923 | ||
![]() |
b9a0adc311 | ||
![]() |
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 | ||
![]() |
9034094cf9 | ||
![]() |
c48766aeb7 | ||
![]() |
28a6afeb02 | ||
![]() |
c8d0f5a104 | ||
![]() |
3c396257de | ||
![]() |
a9be841d2d | ||
![]() |
7d0581a7a5 | ||
![]() |
4efeb66b73 | ||
![]() |
3b05f8b4b4 | ||
![]() |
6b4f09d740 | ||
![]() |
f1b02c1280 | ||
![]() |
3d546a4c5d | ||
![]() |
19368bcefa | ||
![]() |
dbbf26449c | ||
![]() |
8f28804f8c | ||
![]() |
b7edfea4ce | ||
![]() |
23b2f94c40 | ||
![]() |
8f40f41fef | ||
![]() |
33f868144b | ||
![]() |
b2545bb709 | ||
![]() |
3b6e1e82d9 | ||
![]() |
7710c88797 | ||
![]() |
4d5001d18d | ||
![]() |
0f4f108eb5 | ||
![]() |
f0d0bb7170 | ||
![]() |
66157da5c2 | ||
![]() |
13493e1afe | ||
![]() |
f6bfacda2c | ||
![]() |
f7a86b5484 | ||
![]() |
66cd3f8184 | ||
![]() |
3a237c93be | ||
![]() |
4c34066727 | ||
![]() |
1960008c83 | ||
![]() |
deffbd6321 | ||
![]() |
53927c9aa0 | ||
![]() |
d84346616a | ||
![]() |
e1183dbc0b | ||
![]() |
602f1574ca | ||
![]() |
358f7d16da | ||
![]() |
e4006d6175 | ||
![]() |
949b4ce4e9 | ||
![]() |
cbafac8ea9 | ||
![]() |
e4bf116ce8 | ||
![]() |
bccdad4b1b | ||
![]() |
9b372b3cce | ||
![]() |
98d0c00f85 | ||
![]() |
9d2f2230ee | ||
![]() |
81c6958428 | ||
![]() |
f976eda6a9 | ||
![]() |
fe8d5a3528 | ||
![]() |
240c3508fe | ||
![]() |
1065f5fb86 | ||
![]() |
2b37986007 | ||
![]() |
22d0c4a241 | ||
![]() |
dd47ce6767 | ||
![]() |
5c80ce42e0 | ||
![]() |
adb727d282 | ||
![]() |
e17ca355ae | ||
![]() |
b80940ac4f | ||
![]() |
1eca139db9 | ||
![]() |
25278beb2f | ||
![]() |
5922ffff62 | ||
![]() |
ff084e9681 | ||
![]() |
86e5d219d2 | ||
![]() |
b78e0a54ed | ||
![]() |
4bfacb8b91 | ||
![]() |
e9ad58a373 | ||
![]() |
09c48539ad | ||
![]() |
3693ecdd30 | ||
![]() |
ddc66e6005 | ||
![]() |
fd0b1f8931 | ||
![]() |
1a4f638ff6 | ||
![]() |
77239db3c5 | ||
![]() |
0ea59c8d58 | ||
![]() |
54e2a8c7fe | ||
![]() |
245a8e0a3a | ||
![]() |
51e474c893 | ||
![]() |
81d3e64518 | ||
![]() |
95da161be3 | ||
![]() |
8618f13b7a | ||
![]() |
e24e7578f2 | ||
![]() |
a03ad3de23 | ||
![]() |
9bd40a9b79 | ||
![]() |
b4b61b9b7d | ||
![]() |
5656fe9a9b | ||
![]() |
fb79146ae6 | ||
![]() |
ba27191b2a | ||
![]() |
dc87aa3d5c | ||
![]() |
83cf3aebab | ||
![]() |
dedd9bd03c | ||
![]() |
ab36a358b7 | ||
![]() |
6ea97f09cf | ||
![]() |
5f7822d202 | ||
![]() |
6a87225dd0 | ||
![]() |
b6f56c0812 | ||
![]() |
c4ce2a2549 | ||
![]() |
41650da297 | ||
![]() |
74c61e6805 | ||
![]() |
e8dd7bbcc9 | ||
![]() |
335d012d55 | ||
![]() |
17fc58840a | ||
![]() |
0e8c55b9f5 | ||
![]() |
d581f653c6 | ||
![]() |
48dbaf05ae | ||
![]() |
540da69d61 | ||
![]() |
06efd64a80 | ||
![]() |
62d872984b | ||
![]() |
1dd11dd8f8 | ||
![]() |
2ce375d8eb | ||
![]() |
8ed0e58d63 | ||
![]() |
660a6929fd | ||
![]() |
44f6c972d4 | ||
![]() |
6a6077bf1d | ||
![]() |
30234a4e78 | ||
![]() |
dc9edf7538 | ||
![]() |
92574458d0 | ||
![]() |
c35ef9ad15 | ||
![]() |
4059bcc0fa | ||
![]() |
1840d1c49f | ||
![]() |
cbd948f6f3 | ||
![]() |
454c093033 | ||
![]() |
45eaf7ce58 | ||
![]() |
04b7af4df5 | ||
![]() |
8c6978be82 | ||
![]() |
6c9e7156f7 | ||
![]() |
bc89845523 | ||
![]() |
9ffe9c2006 | ||
![]() |
1d598d7772 | ||
![]() |
7f576ccc82 | ||
![]() |
d5da8a6277 | ||
![]() |
a297204b27 | ||
![]() |
e0182bb03e | ||
![]() |
ca5bf5e9d7 | ||
![]() |
5475d730ff | ||
![]() |
7796520580 | ||
![]() |
340500c351 | ||
![]() |
043d33ff91 | ||
![]() |
baf991b342 | ||
![]() |
dc47e90126 | ||
![]() |
67e3f9e686 | ||
![]() |
aaeb6b90ed | ||
![]() |
d124ada755 | ||
![]() |
31105aefe4 | ||
![]() |
44c258796e | ||
![]() |
26100120a9 | ||
![]() |
0db8ce891b | ||
![]() |
979aba5685 | ||
![]() |
396da6bd94 | ||
![]() |
1b0d86220f | ||
![]() |
957d2c0d1a | ||
![]() |
455657912a | ||
![]() |
e3da1902df | ||
![]() |
d0f8e9208f | ||
![]() |
de50346428 | ||
![]() |
c7ca51f950 | ||
![]() |
4522174555 | ||
![]() |
126230ad08 | ||
![]() |
6aa1f4156a | ||
![]() |
2726faa090 | ||
![]() |
230b84032d | ||
![]() |
9c4c5e2d1a | ||
![]() |
2bf8e2d2d7 | ||
![]() |
9bb05c8dea | ||
![]() |
2707aa2818 | ||
![]() |
93c644da88 | ||
![]() |
4a114c0fdc | ||
![]() |
f95108155d | ||
![]() |
75f75854c2 | ||
![]() |
e20c3cd0b6 | ||
![]() |
2273ea4099 | ||
![]() |
b115b0c6a3 | ||
![]() |
9d79a51f18 | ||
![]() |
db9005158e | ||
![]() |
4491999a8c | ||
![]() |
113a502a7e | ||
![]() |
7ad39003f4 | ||
![]() |
4b43871708 | ||
![]() |
aa8f7552a2 | ||
![]() |
19d94b53d2 | ||
![]() |
ca98a261e6 | ||
![]() |
535ec2ced6 | ||
![]() |
a300c236ba | ||
![]() |
b16c26b24c | ||
![]() |
1b1dde3fc8 | ||
![]() |
bd5880843f | ||
![]() |
abf35a31f3 | ||
![]() |
015638035a | ||
![]() |
8e27fe83f1 | ||
![]() |
ce4b105065 | ||
![]() |
37a7b79a6f | ||
![]() |
ef19e8aeef | ||
![]() |
f6886b4749 | ||
![]() |
8306959cb4 | ||
![]() |
d1918ee206 | ||
![]() |
b2b76f9e35 | ||
![]() |
a07fb264e8 | ||
![]() |
881f2d04d2 | ||
![]() |
e1b629df88 | ||
![]() |
eab6a194e1 | ||
![]() |
3733bc9148 | ||
![]() |
ae5746a636 | ||
![]() |
cb509cebb3 | ||
![]() |
511c4474c7 | ||
![]() |
d063aea977 | ||
![]() |
447efc52d8 | ||
![]() |
296acf820c | ||
![]() |
6ae49acb69 | ||
![]() |
af1b06c5be | ||
![]() |
4732c8565d | ||
![]() |
52dd1476db | ||
![]() |
63170b9214 | ||
![]() |
2203b399df | ||
![]() |
d80f7a6ef3 | ||
![]() |
88c56d8250 | ||
![]() |
fca24a8f84 | ||
![]() |
6d140a141a | ||
![]() |
a18e325c18 | ||
![]() |
c4d9c51e49 | ||
![]() |
27e980de28 | ||
![]() |
3c4906bb4d | ||
![]() |
da796c80c3 | ||
![]() |
7a2af0f506 | ||
![]() |
3e562e7450 | ||
![]() |
4fc777268b | ||
![]() |
037e57b687 | ||
![]() |
2b289655c1 | ||
![]() |
118ea6093d | ||
![]() |
cac6f7428c | ||
![]() |
ae6acc4ca2 | ||
![]() |
641c6f0132 | ||
![]() |
56dc8cad71 | ||
![]() |
7cc07d842c | ||
![]() |
baaadf07fa | ||
![]() |
719b32ba36 | ||
![]() |
af5c1096b5 | ||
![]() |
3008222b92 | ||
![]() |
5ef9faacd5 | ||
![]() |
ff65b6ea2f | ||
![]() |
4c8a087b81 | ||
![]() |
8f4bf93f02 | ||
![]() |
824b2f6fff | ||
![]() |
ba0c7334b7 | ||
![]() |
a1dd724220 | ||
![]() |
a7820e5f08 | ||
![]() |
1a2eee8060 | ||
![]() |
4a2713a9f0 | ||
![]() |
5ece0b4f70 | ||
![]() |
44e8ec2b37 | ||
![]() |
d7e5f4b895 | ||
![]() |
b0c7bdf82b | ||
![]() |
a239ac1a52 | ||
![]() |
99459dc55d | ||
![]() |
78ba99778a | ||
![]() |
96d3df3135 | ||
![]() |
cbe4bbac6a | ||
![]() |
f502e82ec4 | ||
![]() |
a5d8766a9e | ||
![]() |
55d8e3d76b | ||
![]() |
7b7fb4d278 | ||
![]() |
09c7c50ad3 | ||
![]() |
131250dc03 | ||
![]() |
130187723c | ||
![]() |
7bac95c9ad | ||
![]() |
add2475700 | ||
![]() |
533e402bca | ||
![]() |
b87a23037e | ||
![]() |
6d88bb5b83 | ||
![]() |
435801c893 | ||
![]() |
9d0577fa5c | ||
![]() |
f2891dae74 | ||
![]() |
a43a1f5b67 | ||
![]() |
ee9ca1ece7 | ||
![]() |
8271e20fac | ||
![]() |
132b1f7ffe | ||
![]() |
77b4d97069 | ||
![]() |
2168d5a30e | ||
![]() |
7ad90b1b80 | ||
![]() |
f60ef5dbd5 | ||
![]() |
4dc26d0a77 | ||
![]() |
551273b831 | ||
![]() |
d5a09674ae | ||
![]() |
907e620e9e | ||
![]() |
f96ec75eec | ||
![]() |
4d00db2b42 | ||
![]() |
db564b4521 | ||
![]() |
3f2076d195 | ||
![]() |
ed13c43e93 | ||
![]() |
b5a9fe71e1 | ||
![]() |
d0037d90f4 | ||
![]() |
e885ee0d35 | ||
![]() |
ff5e5d1062 | ||
![]() |
1bfadf5219 | ||
![]() |
4f9eca78d9 | ||
![]() |
7aa2994078 | ||
![]() |
1128b3ea83 | ||
![]() |
9d06947125 | ||
![]() |
14cc600a8b | ||
![]() |
4f3fd86f91 | ||
![]() |
e663717d64 | ||
![]() |
8b5d388e77 | ||
![]() |
22d781edd5 | ||
![]() |
4252832ba5 | ||
![]() |
fab58296af | ||
![]() |
e142877e10 | ||
![]() |
6f6e453ae4 | ||
![]() |
50e620daf2 | ||
![]() |
c334439df6 | ||
![]() |
2d9b4f273e | ||
![]() |
15c7099e85 | ||
![]() |
d2b1f6176f | ||
![]() |
8306d7931b | ||
![]() |
b07fbb726e | ||
![]() |
9586f0e61c | ||
![]() |
7d66c07cef | ||
![]() |
28ecb2fe1d | ||
![]() |
a9cafeaa76 | ||
![]() |
5fc69ccb73 | ||
![]() |
bc626e3512 | ||
![]() |
98561f9db9 | ||
![]() |
b56dee2a92 | ||
![]() |
885a7f592e | ||
![]() |
6965448a24 | ||
![]() |
475d63dad8 | ||
![]() |
c87a0bde0b | ||
![]() |
c1bc9886b7 | ||
![]() |
88f8437c5a | ||
![]() |
411a1c641d | ||
![]() |
dc0ad73eca | ||
![]() |
04e008afa0 | ||
![]() |
a6207f70d5 | ||
![]() |
b8a30be7bc | ||
![]() |
67d60766c1 | ||
![]() |
97c0b28a98 | ||
![]() |
c61aded388 | ||
![]() |
1fd57b5d63 | ||
![]() |
755b8dec30 | ||
![]() |
ecd5c1fcc3 | ||
![]() |
db5402385a | ||
![]() |
09ef3073a1 | ||
![]() |
6dd3833e0f | ||
![]() |
d4762a4d8d | ||
![]() |
38cc55ea09 | ||
![]() |
5d60295db3 | ||
![]() |
18bd3b855c | ||
![]() |
868d423c82 | ||
![]() |
edb6857de0 | ||
![]() |
ed803fb994 | ||
![]() |
83d83a364d | ||
![]() |
690bb92154 | ||
![]() |
8e39eef7aa | ||
![]() |
1923a51c59 | ||
![]() |
3dc1107b40 | ||
![]() |
dd22e9009c | ||
![]() |
c7ccf39abf | ||
![]() |
af166f53d3 | ||
![]() |
21eb26a374 | ||
![]() |
e2aaf5d1de | ||
![]() |
0b7ca15c4f | ||
![]() |
07ee2a4aff | ||
![]() |
141d3b6737 | ||
![]() |
e2c3e6dbaa | ||
![]() |
b1126556c0 | ||
![]() |
69cb8d1398 | ||
![]() |
094d979ce6 | ||
![]() |
92dd669597 | ||
![]() |
32a8dec0e7 | ||
![]() |
2dd5bccd49 | ||
![]() |
18d0283463 | ||
![]() |
9fe807b6f1 | ||
![]() |
84f00bf3f6 | ||
![]() |
d3687fd863 | ||
![]() |
d1a549a6cc | ||
![]() |
c1552ff254 | ||
![]() |
54a396bc6e | ||
![]() |
ed732bca63 | ||
![]() |
02a4464e8f | ||
![]() |
7f97df4462 | ||
![]() |
9d20af02a2 | ||
![]() |
cbaef050f0 | ||
![]() |
148139c2c4 | ||
![]() |
793f8a103d | ||
![]() |
ffa48b64ac | ||
![]() |
59a8e651f9 | ||
![]() |
fb9f2a01b5 | ||
![]() |
944e25a5d8 | ||
![]() |
ad597c72d2 | ||
![]() |
abbbf1e562 | ||
![]() |
d2dd29c35a | ||
![]() |
906f2bab1e | ||
![]() |
bb6468005d | ||
![]() |
a2423e97eb | ||
![]() |
ed1d75ecb1 | ||
![]() |
1e4200345a | ||
![]() |
be11f4e039 | ||
![]() |
22ec528cdf | ||
![]() |
ebf341a6de | ||
![]() |
68ba6322e1 | ||
![]() |
968a5f3017 | ||
![]() |
8df1708491 | ||
![]() |
da51ce1b71 | ||
![]() |
95a6de9b00 | ||
![]() |
269bbdf01d | ||
![]() |
df03b042d6 | ||
![]() |
3ec118d59b | ||
![]() |
bce575ee68 | ||
![]() |
83da56b0eb | ||
![]() |
fa2891c225 | ||
![]() |
c4bf42524c | ||
![]() |
a096105f18 | ||
![]() |
51f842aaef | ||
![]() |
76c4466fb6 | ||
![]() |
facd02a7ec | ||
![]() |
ed8da2ef66 | ||
![]() |
998352f9f1 | ||
![]() |
8c1a135d16 | ||
![]() |
b976d39207 | ||
![]() |
f0a18ec1f5 | ||
![]() |
f9a5afe446 | ||
![]() |
b13c7abca0 | ||
![]() |
1f104f62f5 | ||
![]() |
f8f7729e77 | ||
![]() |
eca262f5f4 | ||
![]() |
df5f5a943b | ||
![]() |
497cb07852 | ||
![]() |
10ab8f107c | ||
![]() |
3a6ff19418 | ||
![]() |
ab317a3a62 | ||
![]() |
617724c2b1 | ||
![]() |
422c03b4ec | ||
![]() |
4af05dc63c | ||
![]() |
ac92287b43 | ||
![]() |
c7634b3828 | ||
![]() |
5d1d26b285 | ||
![]() |
644fea69a1 | ||
![]() |
4dc8959f67 | ||
![]() |
63be5ffc74 | ||
![]() |
c5a9e27cb3 | ||
![]() |
ecf48b3a7b | ||
![]() |
63e5339690 | ||
![]() |
d8c27ac8c4 | ||
![]() |
925597c43a | ||
![]() |
ba8fd62900 | ||
![]() |
3f61e176f0 | ||
![]() |
542338972a | ||
![]() |
fe91599eb4 | ||
![]() |
d9817795ed | ||
![]() |
6ede368f63 | ||
![]() |
6885f46f4b | ||
![]() |
9323660c79 | ||
![]() |
88b77a63ed | ||
![]() |
4d1ef40f6e | ||
![]() |
9a68e0cc25 | ||
![]() |
396427e3b6 | ||
![]() |
e460f1c365 | ||
![]() |
b9531c8245 | ||
![]() |
27aff04f11 | ||
![]() |
08fe5814c5 | ||
![]() |
5af8b7c0e2 | ||
![]() |
c1acbda38f | ||
![]() |
afa5213c94 | ||
![]() |
17b8ba27b3 | ||
![]() |
3f9b74430a | ||
![]() |
efed943366 | ||
![]() |
1784c5cecb | ||
![]() |
62fad5df87 | ||
![]() |
6b04005d08 | ||
![]() |
4908458729 | ||
![]() |
9ada7c809b | ||
![]() |
3c6635cdbe | ||
![]() |
90207020f2 | ||
![]() |
d22d6468c7 | ||
![]() |
893c5e6784 | ||
![]() |
77ded75613 | ||
![]() |
ce31bef2cf | ||
![]() |
45e56c02ee | ||
![]() |
e1725e8001 | ||
![]() |
d22e932ef7 | ||
![]() |
d99dc65b19 | ||
![]() |
ae10bc9270 | ||
![]() |
3e56cf96a3 | ||
![]() |
b6dc5f9675 | ||
![]() |
d79cd07d50 | ||
![]() |
9a16a9d11b | ||
![]() |
52ac94cc73 | ||
![]() |
672a83cfc4 | ||
![]() |
5d33e3033b | ||
![]() |
80a721fd36 | ||
![]() |
058430d2cd | ||
![]() |
d227e744d9 | ||
![]() |
17f712e3e0 | ||
![]() |
507b9b149e | ||
![]() |
c28217f8fa | ||
![]() |
d55553c53f | ||
![]() |
01f38b05eb | ||
![]() |
91efa0e2d4 | ||
![]() |
b80843c602 | ||
![]() |
9fa0ff78bc | ||
![]() |
5d566bba86 | ||
![]() |
5ef888d142 | ||
![]() |
92b04b66c7 | ||
![]() |
f15973f2c8 | ||
![]() |
c075016b51 | ||
![]() |
9708b335d8 | ||
![]() |
950aa497c6 | ||
![]() |
fe62efa145 | ||
![]() |
cc2da45c2d | ||
![]() |
c212d8beff | ||
![]() |
93f3d0b687 | ||
![]() |
b88d0e87d9 | ||
![]() |
afaf40eee0 | ||
![]() |
236c0da563 | ||
![]() |
c48a3b55d6 | ||
![]() |
6f69ab2b6d | ||
![]() |
b2a0ddb9b1 | ||
![]() |
aff7824b8d | ||
![]() |
6206befbec | ||
![]() |
ac2473da6d | ||
![]() |
11fd99e2de | ||
![]() |
d42ab6120e | ||
![]() |
7c1d3dea86 | ||
![]() |
e7f6ae3110 | ||
![]() |
1c0bc205f0 | ||
![]() |
aeb2c06e0f | ||
![]() |
d4524993ee | ||
![]() |
bf77b186c1 | ||
![]() |
d1072afb89 | ||
![]() |
a9b49ea3e0 | ||
![]() |
33d77ccf39 | ||
![]() |
11a41a1652 | ||
![]() |
f04b19ddfa | ||
![]() |
e35d100769 | ||
![]() |
ce6f665a7b | ||
![]() |
3958c990a4 | ||
![]() |
30b5daaa2a | ||
![]() |
f63199f7b7 | ||
![]() |
4edab29bfe | ||
![]() |
14e94c8971 | ||
![]() |
31ca3c1334 | ||
![]() |
0c09183f89 | ||
![]() |
3eeeb73af4 | ||
![]() |
cad6228ae0 | ||
![]() |
cb27d530c0 | ||
![]() |
bc52863aec | ||
![]() |
68092f3b5c | ||
![]() |
8650b20904 | ||
![]() |
a83744289f | ||
![]() |
34ba69e319 | ||
![]() |
74f0737903 | ||
![]() |
b1bbbd79c4 | ||
![]() |
87f93a7a1d | ||
![]() |
e187426dd5 | ||
![]() |
13e22aef51 | ||
![]() |
08710ed822 | ||
![]() |
5fc4ff22d9 | ||
![]() |
8b41d1973c | ||
![]() |
c52e0cf841 | ||
![]() |
2f4d27b422 | ||
![]() |
508c765991 | ||
![]() |
f9399714cc | ||
![]() |
d25128e0b3 | ||
![]() |
072200c5f9 | ||
![]() |
72d82af147 | ||
![]() |
581efd0afd | ||
![]() |
8b78096366 | ||
![]() |
573a18c20f | ||
![]() |
b460f67cc4 | ||
![]() |
823da52d18 | ||
![]() |
c55666996c | ||
![]() |
690215e2b0 | ||
![]() |
8fe448d35f | ||
![]() |
5544f2a138 | ||
![]() |
c1d3f719df | ||
![]() |
f5fc1884b2 | ||
![]() |
002faac042 | ||
![]() |
03552c9a1f | ||
![]() |
d267d65e57 | ||
![]() |
cdce77962a | ||
![]() |
0c617f0a03 | ||
![]() |
47d545633d | ||
![]() |
fb6b40ccd1 | ||
![]() |
ac021aaecb | ||
![]() |
a4cfc77531 | ||
![]() |
480d1b18db | ||
![]() |
3827a66a3a | ||
![]() |
eb3d7f31e8 | ||
![]() |
62f57862e5 | ||
![]() |
70c62f6294 | ||
![]() |
d6e1dc9020 | ||
![]() |
46f081d888 | ||
![]() |
ef4c320af7 | ||
![]() |
6673273830 | ||
![]() |
154673a99b | ||
![]() |
62604e32c0 | ||
![]() |
873221ec14 | ||
![]() |
e645133baf | ||
![]() |
8c1851c0bd | ||
![]() |
d15a177027 | ||
![]() |
5d427d2acf | ||
![]() |
aa0c2e611f | ||
![]() |
332a4121c8 | ||
![]() |
843168bb62 | ||
![]() |
4ee47ce2b8 | ||
![]() |
262b88930e | ||
![]() |
d1646c169d | ||
![]() |
c6a9ec7c6f | ||
![]() |
ff2fef0dc1 | ||
![]() |
b35cc2c9e4 | ||
![]() |
98223e54e8 | ||
![]() |
e36e500045 | ||
![]() |
e2b8aeafa6 | ||
![]() |
484a75ad64 | ||
![]() |
5a88c1ad46 | ||
![]() |
e8fba3e630 | ||
![]() |
81412584e1 | ||
![]() |
1b82dd315b | ||
![]() |
ccdb2a82c3 | ||
![]() |
8ada8d33c8 | ||
![]() |
ac279979fb | ||
![]() |
d5e2905ead | ||
![]() |
1b0d2a7d55 | ||
![]() |
da080a8979 | ||
![]() |
41e18fd245 | ||
![]() |
10c40c6485 | ||
![]() |
e93fab40fe | ||
![]() |
b64919234a | ||
![]() |
fb4700907d | ||
![]() |
d3c59f0814 | ||
![]() |
cedc87a703 | ||
![]() |
54f2e66464 | ||
![]() |
8160449964 | ||
![]() |
e467fd8fab | ||
![]() |
5da2e6a9ee | ||
![]() |
0cb5993f66 | ||
![]() |
54d7c6dc54 | ||
![]() |
c30ec7bb6e | ||
![]() |
0bc2e9aeeb | ||
![]() |
95469756d1 | ||
![]() |
aa65cf9547 | ||
![]() |
623933e2aa | ||
![]() |
db92ffaf92 | ||
![]() |
79e139268a | ||
![]() |
6c796ff302 | ||
![]() |
4ca2d060ea | ||
![]() |
b9387cf4c4 | ||
![]() |
ff5524475f | ||
![]() |
31374d8d30 | ||
![]() |
2b5522e165 | ||
![]() |
3987d0b5ef | ||
![]() |
7c84551150 | ||
![]() |
47fc4679d4 | ||
![]() |
bf6d7534d5 | ||
![]() |
5ffcf5a9dc | ||
![]() |
490ef19e64 | ||
![]() |
94f3323270 | ||
![]() |
bb4dc84824 | ||
![]() |
660f478a70 | ||
![]() |
f24749bbf8 | ||
![]() |
04a3fcb0ed | ||
![]() |
9fdc6a2acd | ||
![]() |
4e8eaafd53 | ||
![]() |
e30268cf3b | ||
![]() |
eab216e5a8 | ||
![]() |
7578e7404b | ||
![]() |
7093c3576b | ||
![]() |
c3281a1e8f | ||
![]() |
561033d7eb | ||
![]() |
f588882a96 | ||
![]() |
6b0f855752 | ||
![]() |
881c3be58c | ||
![]() |
78346a881c | ||
![]() |
b3ce32b405 | ||
![]() |
3d790d131c | ||
![]() |
9e9e6f028c | ||
![]() |
cb32ed97a8 | ||
![]() |
e9350e66f0 | ||
![]() |
d843366c0d | ||
![]() |
1b6e282938 | ||
![]() |
aeb12e53ee | ||
![]() |
31180bb00c | ||
![]() |
36748b6729 | ||
![]() |
d9cb73634d | ||
![]() |
c5c09b09ee | ||
![]() |
12106c308e | ||
![]() |
f7f4d1333b | ||
![]() |
1c08bf054a | ||
![]() |
4824637681 | ||
![]() |
5962ef79cb | ||
![]() |
3762c37517 | ||
![]() |
e97b805365 | ||
![]() |
6dbd1daa5c | ||
![]() |
59f21d592e | ||
![]() |
946e2778f8 | ||
![]() |
9fbe2ff6c4 | ||
![]() |
a4383d1b7f | ||
![]() |
131dda2617 | ||
![]() |
51ebfadd85 | ||
![]() |
0a1ae18412 | ||
![]() |
cd50c3299e | ||
![]() |
f7c196dbcf | ||
![]() |
8260159ca4 | ||
![]() |
d8c6e2bcc6 | ||
![]() |
bc2a4b622b | ||
![]() |
daef9ece75 | ||
![]() |
a6f31c7950 | ||
![]() |
0e93e8dc9d | ||
![]() |
3fa98705bc | ||
![]() |
4493752d2f | ||
![]() |
6199d6d543 | ||
![]() |
f9c8b6a66e | ||
![]() |
743d54a745 | ||
![]() |
5d09f89a0f | ||
![]() |
ea2f5df95f | ||
![]() |
a03c1d3d50 | ||
![]() |
5fac6ef3b2 | ||
![]() |
81658b9648 | ||
![]() |
2e2e506162 | ||
![]() |
d006327f14 | ||
![]() |
21de03ffd4 | ||
![]() |
308bd65c8f | ||
![]() |
6afb82e2e2 | ||
![]() |
5f8f7bdc17 | ||
![]() |
611e33bf80 | ||
![]() |
998b161696 | ||
![]() |
f9da85ecfe | ||
![]() |
d86cb62dc0 | ||
![]() |
15427619bd | ||
![]() |
9bc90fc7b2 | ||
![]() |
6ecde51e45 | ||
![]() |
bf727c11d3 | ||
![]() |
6a028c9efd | ||
![]() |
92a9d04568 | ||
![]() |
a7da280f57 | ||
![]() |
4a33917e89 | ||
![]() |
8686ef0892 | ||
![]() |
cee9ece4c7 | ||
![]() |
c756412ee6 | ||
![]() |
75e5a7e3d4 | ||
![]() |
707e87f5b8 | ||
![]() |
6b8521355f | ||
![]() |
a0beccc04b | ||
![]() |
6b6181a3ee | ||
![]() |
2dddd2b24b | ||
![]() |
9f9f6abec1 | ||
![]() |
7caed10dc0 | ||
![]() |
806eee9404 | ||
![]() |
52638a2891 | ||
![]() |
33324c190e | ||
![]() |
8d59f3c4e1 | ||
![]() |
e6465d784d | ||
![]() |
31eb902494 | ||
![]() |
c818c2dae6 | ||
![]() |
23d1aa7691 | ||
![]() |
bf7841cdb9 | ||
![]() |
d6e90883cb | ||
![]() |
ff6e9c0f9b | ||
![]() |
be240f72ab | ||
![]() |
e3a29d8ebf | ||
![]() |
7792b4f849 | ||
![]() |
53171c81e1 | ||
![]() |
9b4cfa4a3d | ||
![]() |
e4be70edec | ||
![]() |
7f12bbb783 | ||
![]() |
5d1ed7a564 | ||
![]() |
92dd4c8c5b | ||
![]() |
bc308741b7 | ||
![]() |
66590bfa4a | ||
![]() |
7fc0b02259 | ||
![]() |
061a9c7ecf | ||
![]() |
e97a6f5f08 | ||
![]() |
fe3a6b8b57 | ||
![]() |
92e569fc36 | ||
![]() |
edfd93496e | ||
![]() |
d8e4732627 | ||
![]() |
966367aff6 | ||
![]() |
1cc6086468 | ||
![]() |
b00eeef04d | ||
![]() |
e423285d88 | ||
![]() |
74d8a00854 | ||
![]() |
c65bf303cf | ||
![]() |
24470a7cc3 | ||
![]() |
edc25ba52f | ||
![]() |
922112fc5b | ||
![]() |
b7a26c6676 | ||
![]() |
038c326f81 | ||
![]() |
148d175ab0 | ||
![]() |
3dd9ebc61d | ||
![]() |
0485864d38 | ||
![]() |
a2792efa72 | ||
![]() |
00a17b9447 | ||
![]() |
15df7029b9 | ||
![]() |
2556346dda | ||
![]() |
0433254ad8 | ||
![]() |
741d95b33e | ||
![]() |
55ff924e60 | ||
![]() |
37158a32ad | ||
![]() |
095dfe5b9e | ||
![]() |
a9686e8c4b | ||
![]() |
e2d801d920 | ||
![]() |
194eb3ba6e | ||
![]() |
8792637634 | ||
![]() |
63ad2def91 | ||
![]() |
f790b80aa3 | ||
![]() |
ab78e5b438 | ||
![]() |
05948e2edf | ||
![]() |
c9c4f7001a | ||
![]() |
6cd185d0d5 | ||
![]() |
063219cbe7 | ||
![]() |
e324f3792b | ||
![]() |
0267ecc342 | ||
![]() |
e53c7aaea6 | ||
![]() |
3e90e56266 | ||
![]() |
1c1b8acd67 | ||
![]() |
811846e5fa | ||
![]() |
3ba28885b9 | ||
![]() |
8ed1c57c29 | ||
![]() |
af5d24c5bc | ||
![]() |
9dcd572d60 | ||
![]() |
e024a3ff35 | ||
![]() |
37342e0f0c | ||
![]() |
bfbbc1f497 | ||
![]() |
5d31dcdb15 | ||
![]() |
6f89b1f131 | ||
![]() |
9d35bda43c | ||
![]() |
e780d83fd0 | ||
![]() |
7a59d5e47c | ||
![]() |
f2ea524be9 | ||
![]() |
a33094519c | ||
![]() |
e313ae808f | ||
![]() |
dc9802fe1e | ||
![]() |
64f1d306f4 | ||
![]() |
f3af4867fd | ||
![]() |
4fe22dbc57 | ||
![]() |
1d9b524b77 | ||
![]() |
63761afd0a | ||
![]() |
8da148ffa1 | ||
![]() |
e2dc2207d8 | ||
![]() |
6e87d6655a | ||
![]() |
d72485a955 | ||
![]() |
04c6760892 | ||
![]() |
382f3e3c86 | ||
![]() |
c1378450fc | ||
![]() |
4e10a8dbf7 | ||
![]() |
4f7b4c2a55 | ||
![]() |
f98f076335 | ||
![]() |
b148a93a8f | ||
![]() |
37cf23fe33 | ||
![]() |
87f43123c6 | ||
![]() |
11dd2d81b8 | ||
![]() |
d18d07efed | ||
![]() |
518a120c07 | ||
![]() |
290bc8b7a6 | ||
![]() |
0ede09efb5 | ||
![]() |
15de12f6dd | ||
![]() |
ef95d6df81 | ||
![]() |
f382ba4fd0 | ||
![]() |
01d504d992 | ||
![]() |
cdd894a6a1 | ||
![]() |
d7b2d3497f | ||
![]() |
5dbd5c4326 | ||
![]() |
9a14c4c599 | ||
![]() |
3fa14cd47f | ||
![]() |
941d9b9bd9 | ||
![]() |
3d88b7b05c | ||
![]() |
8d39e2a776 | ||
![]() |
4a1c8a7279 | ||
![]() |
b8d8862562 | ||
![]() |
40e9105ee5 | ||
![]() |
0984b8b8e1 | ||
![]() |
3dd7dcc58f | ||
![]() |
6ba5df3ec8 | ||
![]() |
1560b4ca3b | ||
![]() |
68d8a9ed47 | ||
![]() |
ca00f3084d | ||
![]() |
39c16b20ae | ||
![]() |
666d4622b9 | ||
![]() |
27388643b1 | ||
![]() |
90d17d16a4 | ||
![]() |
df0f01cd71 | ||
![]() |
480d00d747 | ||
![]() |
a0923741a4 | ||
![]() |
8e2efc2950 | ||
![]() |
91dee6058e | ||
![]() |
f5c1343722 | ||
![]() |
d4d0a08390 | ||
![]() |
d02aca7323 | ||
![]() |
fd81567ecd | ||
![]() |
8e5f5b5d65 | ||
![]() |
215d561b82 | ||
![]() |
dc18780a97 | ||
![]() |
06fb19e8be | ||
![]() |
3550e31871 | ||
![]() |
46c6c4fc9a | ||
![]() |
e126de8ff5 | ||
![]() |
f2d2e70967 | ||
![]() |
48b14d1066 | ||
![]() |
725700420c | ||
![]() |
480df1f5dc | ||
![]() |
2fa43dd973 | ||
![]() |
b9f1586068 | ||
![]() |
07dbe388f4 | ||
![]() |
b2af40c95b | ||
![]() |
05569a5011 | ||
![]() |
73dbce45b2 | ||
![]() |
fdaeafc701 | ||
![]() |
9ca4e2f1f6 | ||
![]() |
2b53aa7e81 | ||
![]() |
8e79e918c5 | ||
![]() |
687842a949 | ||
![]() |
645ee86860 | ||
![]() |
f50762dfa8 | ||
![]() |
7e252d3fbd | ||
![]() |
2dc9f10bf4 | ||
![]() |
bca03706a0 | ||
![]() |
e7663e7b6b | ||
![]() |
2b0e05b453 | ||
![]() |
4d67170d3e | ||
![]() |
538c028f8a | ||
![]() |
2cbbd6ef50 | ||
![]() |
955d8069e2 | ||
![]() |
25d998f1b5 | ||
![]() |
462f6c41cd | ||
![]() |
298f1e6a9a | ||
![]() |
2926745102 | ||
![]() |
c6003c7403 | ||
![]() |
66e5a6672a | ||
![]() |
c35500dd29 | ||
![]() |
f80bd42361 | ||
![]() |
0b9c05d41b | ||
![]() |
2477dc1fc0 | ||
![]() |
706362333d | ||
![]() |
6fcf25af52 | ||
![]() |
c8e8306e0a | ||
![]() |
e429126934 | ||
![]() |
7e71de558a | ||
![]() |
09d8a4797d | ||
![]() |
1bcb8b1ed8 | ||
![]() |
d132d50f4d | ||
![]() |
e619b6977a | ||
![]() |
2742a54d6e | ||
![]() |
360a327d7d | ||
![]() |
b659303419 | ||
![]() |
43108712be | ||
![]() |
a038616fe5 | ||
![]() |
81e5c295b6 | ||
![]() |
08d079a563 | ||
![]() |
454c8dc2bc | ||
![]() |
337fc72ee6 | ||
![]() |
b1e9c1ccf5 | ||
![]() |
64806cb199 | ||
![]() |
8e8e7cd3e7 | ||
![]() |
27a18e01e2 | ||
![]() |
fc9e7d74a3 | ||
![]() |
037a1875f9 | ||
![]() |
66baa4d3dc | ||
![]() |
9e522a8a6c | ||
![]() |
cfa4edd140 | ||
![]() |
9e9134cd44 | ||
![]() |
83a798b07e | ||
![]() |
baee85684c | ||
![]() |
88afb0f0e7 | ||
![]() |
6f212f18f5 | ||
![]() |
f04e600340 | ||
![]() |
5140886567 | ||
![]() |
0aa59694fd | ||
![]() |
66d31b5ca1 | ||
![]() |
47135932a4 | ||
![]() |
40d0e44f15 | ||
![]() |
16c30a2f10 | ||
![]() |
7f2639fcbd | ||
![]() |
8ad987a672 | ||
![]() |
b24194068a | ||
![]() |
f4e9b00ce3 | ||
![]() |
5c0a24d58b | ||
![]() |
c4aa23c86b | ||
![]() |
96911a2c48 | ||
![]() |
85abb80f43 | ||
![]() |
2372f434cf | ||
![]() |
ee6bc3c2e9 | ||
![]() |
b6c6637c3b |
44
AUTHORS
44
AUTHORS
@@ -2,15 +2,28 @@ Author:
|
||||
* Christophe Dumez <chris@qbittorrent.org>
|
||||
|
||||
Contributors:
|
||||
* Arnaud Demaizière <arnaud@qbittorrent.org>
|
||||
* 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>
|
||||
* Grigis Gaëtan <cipher16@gmail.com>
|
||||
* Christian Kandeler <zambesi@users.sourceforge.net>
|
||||
* Silvan Scherrer <silvan.scherrer@aroa.ch>
|
||||
|
||||
Code from other projects:
|
||||
* files src/qtsingleapp/* src/lineedit/*
|
||||
copyright: Nokia Corporation
|
||||
license: LGPL
|
||||
|
||||
* files src/ico.cpp src/ico.h
|
||||
copyright: Malte Starostik <malte@kde.org>
|
||||
license: LGPL
|
||||
|
||||
* files src/search_engine/socks.py
|
||||
copyright: Dan Haim <negativeiq@users.sourceforge.net>
|
||||
license: BSD
|
||||
|
||||
Images Authors:
|
||||
* files: src/Icons/*.png
|
||||
copyright: Gnome Icon Theme
|
||||
@@ -23,9 +36,9 @@ Images Authors:
|
||||
url: http://www.oxygen-icons.org
|
||||
|
||||
* files: src/Icons/flags/*.png
|
||||
copyright: Open Clip Art Library
|
||||
license: Creative Commons Public Domain Dedication
|
||||
url: http://www.openclipart.org
|
||||
copyright: Mark James <mjames@gmail.com>
|
||||
license: Public Domain
|
||||
url: http://www.famfamfam.com
|
||||
|
||||
* files: src/Icons/skin/*.png
|
||||
files: src/menuicons/YYxYY/*.png
|
||||
@@ -54,31 +67,34 @@ Images Authors:
|
||||
Translations authors:
|
||||
* files: src/lang/*.ts
|
||||
copyright:
|
||||
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
|
||||
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
|
||||
- Bulgarian: Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net)
|
||||
- Catalan: Gekko Dam Beer (gekko04@users.sourceforge.net)
|
||||
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
|
||||
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
|
||||
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
|
||||
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
|
||||
- Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
|
||||
- Czech: Jirka Vilim (web@tets.cz)
|
||||
- Danish: Mathias Nielsen (comoneo@gmail.com)
|
||||
- Dutch: Joost Schipper (heavyjoost@users.sourceforge.net)
|
||||
- Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com)
|
||||
- English: Christophe Dumez (chris@qbittorrent.org)
|
||||
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net)
|
||||
- French: Christophe Dumez (chris@qbittorrent.org)
|
||||
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
||||
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net)
|
||||
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
|
||||
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
|
||||
- Italian: Mirko Ferrari (mirkoferrari@gmail.com) and Ferraro Luciano (luciano.ferraro@gmail.com)
|
||||
- Japanese: Nardog (nardog@e2umail.com)
|
||||
- Italian: Matteo Sechi (bu17714@gmail.com)
|
||||
- Japanese: Nardog (alphisation@gmail.com)
|
||||
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
|
||||
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
|
||||
- Polish: Jarek Smieja (ajep9691@wp.pl)
|
||||
- Polish: Mariusz Fik (fisiu@opensuse.org)
|
||||
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
|
||||
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)
|
||||
- Russian: Nick Khazov (m2k3d0n at users.sourceforge.net)
|
||||
- Serbian: Anaximandar Milet (anaximandar at operamail.com)
|
||||
- Slovak: helix84
|
||||
- Spanish: Vicente Raul Plata Fonseca (silverxnt@users.sourceforge.net)
|
||||
- Spanish: Francisco Luque Contreras (frannoe@ya.com)
|
||||
- Swedish: Daniel Nylander (po@danielnylander.se)
|
||||
- Turkish: Erdem Bingöl (erdem84@gmail.com)
|
||||
- Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net)
|
||||
- Turkish: Hasan Yilmaz (iletisim@hedefturkce.com)
|
||||
- Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net) and Oleh Prypin (blaxpirit@gmail.com)
|
||||
license: GPLv2
|
||||
|
67
INSTALL
67
INSTALL
@@ -1,42 +1,57 @@
|
||||
qBittorrent - A BitTorrent client in C++ / Qt4
|
||||
------------------------------------------
|
||||
|
||||
*** 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 ***
|
||||
1) Compile and install qBittorrent with Qt4 Graphical Interface
|
||||
|
||||
./configure
|
||||
make && make install
|
||||
qbittorrent
|
||||
$ ./configure
|
||||
$ make && make install
|
||||
$ qbittorrent
|
||||
|
||||
will install and execute qBittorrent hopefully without any problems.
|
||||
will install and execute qBittorrent hopefully without any problems.
|
||||
|
||||
Dependencies:
|
||||
- Qt >= 4.3.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
|
||||
Qt >= 4.4.0 is advised
|
||||
Dependencies:
|
||||
- Qt >= 4.5.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
|
||||
|
||||
- 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.
|
||||
- pkg-config executable
|
||||
|
||||
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, compatible with v0.15.x)
|
||||
-> http://www.libtorrent.net
|
||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||
|
||||
- libcurl
|
||||
- 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
|
||||
|
||||
- libmagick++ (advised, not required)
|
||||
* Needed for favicons support (RSS / Search plugins)
|
||||
- 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
|
||||
|
||||
- libzzip (advised, not required)
|
||||
* Needed for zip support (Search plugins)
|
||||
- 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.
|
||||
* Run time only dependency
|
||||
|
||||
2) Compile and install qBittorrent without Qt4 Graphical interface
|
||||
|
||||
$ ./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 (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED)
|
||||
-> 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:
|
||||
Please note that there is a documentation with a "compiling howto" at http://wiki.qbittorrent.org.
|
||||
|
6
README
6
README
@@ -10,6 +10,9 @@ It aims to be a good alternative to all other bittorrent clients
|
||||
out there. qBittorrent is fast, stable and provides unicode
|
||||
support as well as many features.
|
||||
|
||||
This product includes GeoLite data created by MaxMind, available from
|
||||
http://maxmind.com/
|
||||
|
||||
Installation:
|
||||
********************************
|
||||
For installation, follow the instructions from INSTALL file, but simple:
|
||||
@@ -23,6 +26,9 @@ will install and execute qBittorrent hopefully without any problem.
|
||||
For more information please visit:
|
||||
http://www.qbittorrent.org
|
||||
|
||||
or our wiki here:
|
||||
http://wiki.qbittorrent.org
|
||||
|
||||
Please report any bug (or feature request) to:
|
||||
http://bugs.qbittorrent.org
|
||||
|
||||
|
62
README.os2
Normal file
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>
|
||||
|
||||
|
25
TODO
25
TODO
@@ -1,27 +1,2 @@
|
||||
See https://blueprints.launchpad.net/qbittorrent/
|
||||
|
||||
// TODO in v1.4.0
|
||||
- Display peers information (disabled as a default)
|
||||
- Automatically move torrent to another directory on completion (disabled as a default)
|
||||
- Rework program preferences (make easier)
|
||||
- Provide better errors messages to make debugging easier
|
||||
|
||||
// translations done in v1.3.0
|
||||
- Romanian
|
||||
- Russian
|
||||
- Hungarian
|
||||
- German
|
||||
- Chinese (traditional)
|
||||
- Chinese (simplified)
|
||||
- Italian
|
||||
- Swedish
|
||||
- Turkish
|
||||
- French
|
||||
- Slovak
|
||||
- Czech
|
||||
- Korean
|
||||
- Portuguese
|
||||
- Brazilian
|
||||
- Greek
|
||||
- Bulgarian
|
||||
- Finnish
|
||||
|
44
doc/qbittorrent-nox.1
Normal file
44
doc/qbittorrent-nox.1
Normal file
@@ -0,0 +1,44 @@
|
||||
.\" 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,28 +1,42 @@
|
||||
.\" 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" "1" "September 1st 2007" "Bittorrent client written in C++ / Qt4" ""
|
||||
.TH "QBITTORRENT" "1" "January 16th 2010" "Bittorrent client written in C++ / Qt4" ""
|
||||
|
||||
.SH NAME
|
||||
.SH "NAME"
|
||||
qBittorrent \- a Bittorrent client written in C++ / Qt4
|
||||
.SH SYNOPSIS
|
||||
|
||||
\fBqbittorrent\fR [FILE | URL] [FILE | URL...]
|
||||
.SH "SYNOPSIS"
|
||||
|
||||
\fBqbittorrent\fR [\-\-no-splash] [\-\-webui-port=x] [TORRENT_FILE | URL]...
|
||||
|
||||
\fBqbittorrent\fR \-\-help
|
||||
|
||||
\fBqbittorrent\fR \-\-version
|
||||
|
||||
.PP
|
||||
.SH "DESCRIPTION"
|
||||
|
||||
\fBqBittorrent\fR is an advanced Bittorrent client written in C++ / Qt4,
|
||||
using the \fBrblibtorrent\fR library by Arvid Norberg. qBittorrent aims
|
||||
to be a good alternative to all other bittorrent clients out there. qBittorrent
|
||||
using the \fBlibtorrent-rasterbar\fR library by Arvid Norberg. qBittorrent is similar to uTorrent. qBittorrent
|
||||
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 (Azureus compatible), FAST extension (mainline) and PeX support (utorrent compatible).
|
||||
It also comes with UPnP port forwarding / NAT-PMP, encryption (Vuze 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"
|
||||
|
||||
Christophe Dumez <chris@qbittorrent.org>
|
||||
|
16
macxconf.pri
Normal file
16
macxconf.pri
Normal file
@@ -0,0 +1,16 @@
|
||||
PREFIX = /usr/local
|
||||
BINDIR = /usr/local/bin
|
||||
DATADIR = /usr/local/share
|
||||
|
||||
INCLUDEPATH += /usr/local/include/libtorrent /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include
|
||||
LIBS += -ltorrent-rasterbar -lcrypto -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -framework Cocoa -framework Carbon
|
||||
|
||||
document_icon.path = Contents/Resources
|
||||
document_icon.files = Icons/qBitTorrentDocument.icns
|
||||
|
||||
QMAKE_BUNDLE_DATA += document_icon
|
||||
ICON = Icons/qbittorrent_mac.icns
|
||||
QMAKE_INFO_PLIST = Info.plist
|
||||
|
||||
DEFINES += WITH_GEOIP_EMBEDDED
|
||||
message("On Mac OS X, GeoIP database must be embedded.")
|
10
os2conf.pri
Normal file
10
os2conf.pri
Normal file
@@ -0,0 +1,10 @@
|
||||
LIBS += -ltorrent-rasterbar \
|
||||
-lboost_thread \
|
||||
-lboost_system \
|
||||
-lboost_filesystem \
|
||||
-lssl -lcrypto -lidn -lpthread
|
||||
|
||||
RC_FILE = qbittorrent_os2.rc
|
||||
|
||||
DEFINES += WITH_GEOIP_EMBEDDED
|
||||
message("On eCS(OS/2), GeoIP database must be embedded.")
|
@@ -1,199 +0,0 @@
|
||||
<?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,6 +1,4 @@
|
||||
TEMPLATE = subdirs
|
||||
|
||||
include(conf.pri)
|
||||
|
||||
SUBDIRS += src
|
||||
|
||||
|
@@ -6,14 +6,19 @@
|
||||
<dep type='qt4'>
|
||||
<required/>
|
||||
</dep>
|
||||
<dep type='pkg-config'>
|
||||
<required/>
|
||||
</dep>
|
||||
<dep type='libtorrent-rasterbar'>
|
||||
<required/>
|
||||
</dep>
|
||||
<dep type='libboost'>
|
||||
<required/>
|
||||
</dep>
|
||||
<dep type='libcurl'>
|
||||
<required/>
|
||||
<dep type='libnotify'>
|
||||
</dep>
|
||||
<dep type='geoip-database'>
|
||||
</dep>
|
||||
<dep type='qtsingleapplication'>
|
||||
</dep>
|
||||
<dep type='libzzip'/>
|
||||
</qconf>
|
||||
|
37
qcm/geoip-database.qcm
Normal file
37
qcm/geoip-database.qcm
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
-----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
|
||||
}
|
||||
};
|
@@ -2,14 +2,39 @@
|
||||
-----BEGIN QCMOD-----
|
||||
name: libboost
|
||||
arg: with-libboost-inc=[path], Path to libboost include files
|
||||
arg: with-libboost-lib=[path], Path to libboost library files
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
#include <boost/version.hpp>
|
||||
class qc_libboost : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_libboost(Conf *c) : ConfObj(c) {}
|
||||
QString name() 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(){
|
||||
QString s;
|
||||
s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
||||
@@ -51,6 +76,43 @@ public:
|
||||
}
|
||||
}
|
||||
conf->addIncludePath(s);
|
||||
// Find library
|
||||
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
|
||||
QStringList required_libs;
|
||||
#if BOOST_VERSION >= 103500
|
||||
required_libs << "system";
|
||||
#endif
|
||||
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||
// Not required by nox
|
||||
required_libs << "filesystem" << "thread";
|
||||
}
|
||||
QStringList libDirs;
|
||||
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
|
||||
foreach(const QString& lib, required_libs) {
|
||||
if(!s.isEmpty()) {
|
||||
QString detected_name = findBoostLib(s, lib);
|
||||
if(detected_name.isEmpty()) {
|
||||
printf("Could not find boost %s library!\n", qPrintable(lib));
|
||||
return false;
|
||||
} else {
|
||||
conf->addLib("-l"+detected_name);
|
||||
}
|
||||
} else {
|
||||
bool found = false;
|
||||
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;
|
||||
}
|
||||
};
|
||||
|
@@ -1,61 +0,0 @@
|
||||
/*
|
||||
-----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;
|
||||
}
|
||||
};
|
@@ -64,14 +64,11 @@ public:
|
||||
return false;
|
||||
}
|
||||
conf->addLib(QString("-L") + s);
|
||||
QProcess magickConfig;
|
||||
QString out = "";
|
||||
QStringList params;
|
||||
params << "--libs";
|
||||
magickConfig.start("Magick++-config", params, QIODevice::ReadOnly);
|
||||
magickConfig.waitForStarted();
|
||||
magickConfig.waitForFinished();
|
||||
QByteArray result = magickConfig.readAll();
|
||||
result = result.replace("\n", "");
|
||||
params << "--libs";
|
||||
qconf->doCommand("Magick++-config", params, &out);
|
||||
out = out.replace("\n", "");
|
||||
conf->addLib(result.data());
|
||||
conf->addDefine("HAVE_MAGICK");
|
||||
return true;
|
||||
|
60
qcm/libnotify.qcm
Normal file
60
qcm/libnotify.qcm
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
-----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;
|
||||
}
|
||||
};
|
@@ -1,9 +1,6 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: libtorrent-rasterbar
|
||||
arg: with-libtorrent-inc=[path], Path to libtorrent-rasterbar include files
|
||||
arg: with-libtorrent-lib=[path], Path to libtorrent-rasterbar library files
|
||||
arg: with-libtorrent-static-lib=[path], Path to libtorrent-rasterbar .a file
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
// see Conf::findPkgConfig
|
||||
@@ -11,61 +8,20 @@ class qc_libtorrent_rasterbar : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "libtorrent-rasterbar >= 0.14"; }
|
||||
QString name() const { return "libtorrent-rasterbar >= 0.14.4"; }
|
||||
QString shortname() const { return "libtorrent-rasterbar"; }
|
||||
bool exec(){
|
||||
QString s;
|
||||
s = conf->getenv("QC_WITH_LIBTORRENT_INC");
|
||||
if(!s.isEmpty()) {
|
||||
if(!conf->checkHeader(s, "libtorrent/magnet_uri.hpp")) {
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
QStringList sl;
|
||||
sl << "/usr/include";
|
||||
sl << "/usr/local/include";
|
||||
bool found = false;
|
||||
foreach(s, sl){
|
||||
if(conf->checkHeader(s, "libtorrent/magnet_uri.hpp")){
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
conf->addIncludePath(s);
|
||||
conf->addIncludePath(s+QDir::separator()+"libtorrent");
|
||||
|
||||
s = conf->getenv("QC_WITH_LIBTORRENT_STATIC_LIB");
|
||||
if(!s.isEmpty() && QFile::exists(s) && s.endsWith(".a")){
|
||||
conf->addLib(s);
|
||||
return true;
|
||||
}
|
||||
|
||||
s = conf->getenv("QC_WITH_LIBTORRENT_LIB");
|
||||
if(!s.isEmpty()) {
|
||||
if(!conf->checkLibrary(s, "torrent-rasterbar")) {
|
||||
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(conf->checkLibrary(s, "torrent-rasterbar")){
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found) return false;
|
||||
conf->addLib(QString("-L") + s);
|
||||
}
|
||||
QStringList incs;
|
||||
QString req_ver = "0.14.4";
|
||||
QString version, libs, other;
|
||||
VersionMode mode = VersionMin;
|
||||
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
||||
return false;
|
||||
for(int n = 0; n < incs.count(); ++n)
|
||||
conf->addIncludePath(incs[n]);
|
||||
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||
conf->addLib("-lcrypto");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
@@ -1,71 +0,0 @@
|
||||
/*
|
||||
-----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;
|
||||
}
|
||||
};
|
16
qcm/pkg-config.qcm
Normal file
16
qcm/pkg-config.qcm
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
-----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();
|
||||
}
|
||||
};
|
16
qcm/qt4.qcm
16
qcm/qt4.qcm
@@ -1,20 +1,20 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: Qt >= 4.3
|
||||
name: Qt >= 4.5
|
||||
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
class qc_qt4 : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_qt4(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "Qt >= 4.3"; }
|
||||
QString shortname() const { return "Qt 4.3"; }
|
||||
QString name() const { return "Qt >= 4.5"; }
|
||||
QString shortname() const { return "Qt 4.5"; }
|
||||
bool exec()
|
||||
{
|
||||
if(QT_VERSION >= 0x040400) {
|
||||
conf->addDefine("QT_4_4");
|
||||
}
|
||||
return(QT_VERSION >= 0x040300);
|
||||
|
||||
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||
conf->addExtra("CONFIG += nox");
|
||||
}
|
||||
return(QT_VERSION >= 0x040500);
|
||||
}
|
||||
};
|
||||
|
26
qcm/qtsingleapplication.qcm
Normal file
26
qcm/qtsingleapplication.qcm
Normal file
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
-----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;
|
||||
}
|
||||
};
|
@@ -1,116 +0,0 @@
|
||||
/*
|
||||
* 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
|
@@ -1,98 +0,0 @@
|
||||
/*
|
||||
* 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
|
File diff suppressed because it is too large
Load Diff
@@ -1,104 +0,0 @@
|
||||
/*
|
||||
* 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 SEEDING_H
|
||||
#define SEEDING_H
|
||||
|
||||
#include "ui_seeding.h"
|
||||
#include "qtorrenthandle.h"
|
||||
|
||||
class QStandardItemModel;
|
||||
class bittorrent;
|
||||
class FinishedListDelegate;
|
||||
|
||||
using namespace libtorrent;
|
||||
|
||||
class FinishedTorrents : public QWidget, public Ui::seeding {
|
||||
Q_OBJECT
|
||||
private:
|
||||
QObject *parent;
|
||||
bittorrent *BTSession;
|
||||
FinishedListDelegate *finishedListDelegate;
|
||||
QStandardItemModel *finishedListModel;
|
||||
unsigned int nbFinished;
|
||||
void hideOrShowColumn(int index);
|
||||
bool loadHiddenColumns();
|
||||
void saveHiddenColumns();
|
||||
QAction* getActionHoSCol(int index);
|
||||
|
||||
public:
|
||||
FinishedTorrents(QObject *parent, bittorrent *BTSession);
|
||||
~FinishedTorrents();
|
||||
// Methods
|
||||
bool loadColWidthFinishedList();
|
||||
int getRowFromHash(QString hash) const;
|
||||
QStringList getSelectedTorrents(bool only_one=false) const;
|
||||
unsigned int getNbTorrentsInList() const;
|
||||
QString getHashFromRow(unsigned int row) const;
|
||||
|
||||
protected slots:
|
||||
void showProperties(const QModelIndex &index);
|
||||
void displayFinishedListMenu(const QPoint&);
|
||||
void displayFinishedHoSMenu(const QPoint&);
|
||||
void setRowColor(int row, QString color);
|
||||
void saveColWidthFinishedList() const;
|
||||
void toggleFinishedListSortOrder(int index);
|
||||
void sortFinishedList(int index=-1, Qt::SortOrder sortOrder=Qt::AscendingOrder);
|
||||
void sortFinishedListFloat(int index, Qt::SortOrder sortOrder);
|
||||
void sortFinishedListString(int index, Qt::SortOrder sortOrder);
|
||||
void updateFileSize(QString hash);
|
||||
void on_actionSet_upload_limit_triggered();
|
||||
void notifyTorrentDoubleClicked(const QModelIndex& index);
|
||||
void hideOrShowColumnName();
|
||||
void hideOrShowColumnSize();
|
||||
void hideOrShowColumnUpSpeed();
|
||||
void hideOrShowColumnSwarm();
|
||||
void hideOrShowColumnPeers();
|
||||
void hideOrShowColumnUpload();
|
||||
void hideOrShowColumnRatio();
|
||||
void forceRecheck();
|
||||
|
||||
public slots:
|
||||
void addTorrent(QString hash);
|
||||
void updateTorrent(QTorrentHandle h);
|
||||
void pauseTorrent(QString hash);
|
||||
void propertiesSelection();
|
||||
void deleteTorrent(QString hash);
|
||||
void showPropertiesFromHash(QString hash);
|
||||
void loadLastSortedColumn();
|
||||
|
||||
signals:
|
||||
void torrentMovedFromFinishedList(QString);
|
||||
void torrentDoubleClicked(QString hash, bool finished);
|
||||
void finishedTorrentsNumberChanged(unsigned int);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
1609
src/GUI.cpp
1609
src/GUI.cpp
File diff suppressed because it is too large
Load Diff
211
src/GUI.h
211
src/GUI.h
@@ -1,211 +0,0 @@
|
||||
/*
|
||||
* 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 GUI_H
|
||||
#define GUI_H
|
||||
|
||||
#include <QProcess>
|
||||
#include <QSystemTrayIcon>
|
||||
#include <QPointer>
|
||||
#include "ui_MainWindow.h"
|
||||
#include "qtorrenthandle.h"
|
||||
|
||||
class bittorrent;
|
||||
class createtorrent;
|
||||
class QTimer;
|
||||
class DownloadingTorrents;
|
||||
class FinishedTorrents;
|
||||
class downloadFromURL;
|
||||
class SearchEngine;
|
||||
#ifdef QT_4_4
|
||||
class QLocalServer;
|
||||
class QLocalSocket;
|
||||
#else
|
||||
class QTcpServer;
|
||||
class QTcpSocket;
|
||||
#endif
|
||||
class QCloseEvent;
|
||||
class RSSImp;
|
||||
class QShortcut;
|
||||
class about;
|
||||
class previewSelect;
|
||||
class options_imp;
|
||||
class QTabWidget;
|
||||
class QLabel;
|
||||
class QModelIndex;
|
||||
class HttpServer;
|
||||
class QFrame;
|
||||
|
||||
class GUI : public QMainWindow, private Ui::MainWindow{
|
||||
Q_OBJECT
|
||||
|
||||
private:
|
||||
// Bittorrent
|
||||
bittorrent *BTSession;
|
||||
QTimer *checkConnect;
|
||||
QTimer *scrapeTimer;
|
||||
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers;
|
||||
// GUI related
|
||||
QTabWidget *tabs;
|
||||
QPointer<options_imp> options;
|
||||
QSystemTrayIcon *myTrayIcon;
|
||||
QPointer<QTimer> systrayCreator;
|
||||
QMenu *myTrayIconMenu;
|
||||
DownloadingTorrents *downloadingTorrentTab;
|
||||
FinishedTorrents *finishedTorrentTab;
|
||||
QLabel *connecStatusLblIcon;
|
||||
bool systrayIntegration;
|
||||
bool displaySpeedInTitle;
|
||||
bool force_exit;
|
||||
unsigned int refreshInterval;
|
||||
QTimer *refresher;
|
||||
QLabel *dlSpeedLbl;
|
||||
QLabel *upSpeedLbl;
|
||||
QLabel *ratioLbl;
|
||||
QLabel *DHTLbl;
|
||||
QFrame *statusSep1;
|
||||
QFrame *statusSep2;
|
||||
QFrame *statusSep3;
|
||||
QFrame *statusSep4;
|
||||
// Keyboard shortcuts
|
||||
QShortcut *switchSearchShortcut;
|
||||
QShortcut *switchSearchShortcut2;
|
||||
QShortcut *switchDownShortcut;
|
||||
QShortcut *switchUpShortcut;
|
||||
QShortcut *switchRSSShortcut;
|
||||
QAction *prioSeparator;
|
||||
QAction *prioSeparator2;
|
||||
// Search
|
||||
SearchEngine *searchEngine;
|
||||
// RSS
|
||||
RSSImp *rssWidget;
|
||||
// Web UI
|
||||
QPointer<HttpServer> httpServer;
|
||||
// Misc
|
||||
#ifdef QT_4_4
|
||||
QLocalServer *localServer;
|
||||
QLocalSocket *clientConnection;
|
||||
#else
|
||||
QTcpServer *localServer;
|
||||
QTcpSocket *clientConnection;
|
||||
#endif
|
||||
|
||||
protected slots:
|
||||
// GUI related slots
|
||||
void dropEvent(QDropEvent *event);
|
||||
void dragEnterEvent(QDragEnterEvent *event);
|
||||
void toggleVisibility(QSystemTrayIcon::ActivationReason e);
|
||||
void on_actionAbout_triggered();
|
||||
void on_actionCreate_torrent_triggered();
|
||||
void on_actionWebsite_triggered() const;
|
||||
void on_actionBugReport_triggered() const;
|
||||
void on_actionShow_console_triggered();
|
||||
void readParamsOnSocket();
|
||||
void acceptConnection();
|
||||
void togglePausedState(QString hash);
|
||||
void torrentDoubleClicked(QString hash, bool finished);
|
||||
void on_actionPreview_file_triggered();
|
||||
void previewFile(QString filePath);
|
||||
void balloonClicked();
|
||||
void writeSettings();
|
||||
void readSettings();
|
||||
void on_actionExit_triggered();
|
||||
void createTrayIcon();
|
||||
void updateUnfinishedTorrentNumber(unsigned int nb);
|
||||
void updateFinishedTorrentNumber(unsigned int nb);
|
||||
void fullDiskError(QTorrentHandle& h, QString msg) const;
|
||||
void handleDownloadFromUrlFailure(QString, QString) const;
|
||||
void createSystrayDelayed();
|
||||
// Keyboard shortcuts
|
||||
void createKeyboardShortcuts();
|
||||
void displayDownTab() const;
|
||||
void displayUpTab() const;
|
||||
void displaySearchTab() const;
|
||||
void displayRSSTab() const;
|
||||
// Torrent actions
|
||||
void on_actionTorrent_Properties_triggered();
|
||||
void on_actionPause_triggered();
|
||||
void on_actionPause_All_triggered();
|
||||
void on_actionStart_triggered();
|
||||
void on_actionStart_All_triggered();
|
||||
void on_actionOpen_triggered();
|
||||
void on_actionDelete_Permanently_triggered();
|
||||
void on_actionDelete_triggered();
|
||||
void on_actionSet_global_upload_limit_triggered();
|
||||
void on_actionSet_global_download_limit_triggered();
|
||||
void on_actionDocumentation_triggered() const;
|
||||
void checkConnectionStatus();
|
||||
void configureSession(bool deleteOptions);
|
||||
void processParams(const QStringList& params);
|
||||
void addTorrent(QString path);
|
||||
void addUnauthenticatedTracker(QPair<QTorrentHandle,QString> tracker);
|
||||
void processDownloadedFiles(QString path, QString url);
|
||||
void downloadFromURLList(const QStringList& urls);
|
||||
void deleteTorrent(QString hash);
|
||||
void finishedTorrent(QTorrentHandle& h) const;
|
||||
void addedTorrent(QTorrentHandle& h) const;
|
||||
void checkedTorrent(QTorrentHandle& h) const;
|
||||
void pausedTorrent(QTorrentHandle& h) const;
|
||||
void resumedTorrent(QTorrentHandle& h) const;
|
||||
void updateLists(bool force=false);
|
||||
bool initWebUi(QString username, QString password, int port);
|
||||
void on_actionIncreasePriority_triggered();
|
||||
void on_actionDecreasePriority_triggered();
|
||||
void scrapeTrackers();
|
||||
// Options slots
|
||||
void on_actionOptions_triggered();
|
||||
void OptionsSaved(bool deleteOptions);
|
||||
// HTTP slots
|
||||
void on_actionDownload_from_URL_triggered();
|
||||
|
||||
|
||||
public slots:
|
||||
void trackerAuthenticationRequired(QTorrentHandle& h);
|
||||
void setTabText(int index, QString text) const;
|
||||
void openDestinationFolder() const;
|
||||
void goBuyPage() const;
|
||||
void updateRatio();
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *);
|
||||
void showEvent(QShowEvent *);
|
||||
bool event(QEvent * event);
|
||||
void displayRSSTab(bool enable);
|
||||
|
||||
public:
|
||||
// Construct / Destruct
|
||||
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
||||
~GUI();
|
||||
// Methods
|
||||
int getCurrentTabIndex() const;
|
||||
QPoint screenCenter() const;
|
||||
};
|
||||
|
||||
#endif
|
BIN
src/Icons/3-state-checkbox.gif
Normal file
BIN
src/Icons/3-state-checkbox.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 322 B |
BIN
src/Icons/L.gif
Normal file
BIN
src/Icons/L.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 B |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user