Compare commits
2187 Commits
release-4.
...
v4_2_x
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2c65b79640 | ||
|
|
1ef504631d | ||
|
|
5468f10184 | ||
|
|
5e249c4898 | ||
|
|
c67d863c93 | ||
|
|
6e375a38ef | ||
|
|
0f6768f6ad | ||
|
|
bdeb662cb0 | ||
|
|
b9b06d5384 | ||
|
|
6a174b594b | ||
|
|
f7cd5ac7c7 | ||
|
|
50f676c305 | ||
|
|
7103ae73cd | ||
|
|
7d4b8b010f | ||
|
|
09bf033226 | ||
|
|
4e62608802 | ||
|
|
37b29bf91a | ||
|
|
d67037136b | ||
|
|
73292137b7 | ||
|
|
56f7a4e803 | ||
|
|
1cea6a25af | ||
|
|
ebc704ef14 | ||
|
|
a2a1a78f44 | ||
|
|
3a54d574b0 | ||
|
|
d0be71c225 | ||
|
|
7c04b4acd8 | ||
|
|
eda3747c08 | ||
|
|
7d23ea1f80 | ||
|
|
698ee94d0b | ||
|
|
65d1b588d9 | ||
|
|
eea693979a | ||
|
|
654bf85a71 | ||
|
|
8706a7c973 | ||
|
|
439a2ef597 | ||
|
|
c5a7aa7668 | ||
|
|
e5bf83a594 | ||
|
|
2a3e64933b | ||
|
|
35f8af32a3 | ||
|
|
37354a9e29 | ||
|
|
7cb14e2a5b | ||
|
|
4aae7266a5 | ||
|
|
075245c915 | ||
|
|
476707cc80 | ||
|
|
7b0b5e3d7f | ||
|
|
4142722303 | ||
|
|
8ebb11f981 | ||
|
|
80016db781 | ||
|
|
a9f43bd5d2 | ||
|
|
2f0c3f047a | ||
|
|
f40a36ecb3 | ||
|
|
a1ee1c0448 | ||
|
|
939f83bdd5 | ||
|
|
e98a887286 | ||
|
|
29e9594859 | ||
|
|
e881a42368 | ||
|
|
67c6107892 | ||
|
|
ea66edd1cb | ||
|
|
cb444978ef | ||
|
|
2794e883b6 | ||
|
|
e86249a4e8 | ||
|
|
6f45764629 | ||
|
|
5250a8be42 | ||
|
|
f3d878324b | ||
|
|
43d9d16241 | ||
|
|
5ad8f60ca1 | ||
|
|
539fe7259e | ||
|
|
6521d00d5b | ||
|
|
e8010abc8b | ||
|
|
99614aaa9d | ||
|
|
56342c9c79 | ||
|
|
efa748e853 | ||
|
|
26ee009e72 | ||
|
|
aff4065e42 | ||
|
|
1c1cac2cba | ||
|
|
ea3c360901 | ||
|
|
39fe0025cd | ||
|
|
3c17ad566c | ||
|
|
97bfd13060 | ||
|
|
3e91481672 | ||
|
|
e131cd16a1 | ||
|
|
a0976f4181 | ||
|
|
5366bebb97 | ||
|
|
f51cd36c29 | ||
|
|
553f443fbc | ||
|
|
97a92984c0 | ||
|
|
f1489dc2bf | ||
|
|
716aad9483 | ||
|
|
8c91c03be2 | ||
|
|
03e6b6e09d | ||
|
|
75d3c03763 | ||
|
|
f6b0abbd75 | ||
|
|
03e8b9f74f | ||
|
|
808f6ad9fb | ||
|
|
4cf45aeebf | ||
|
|
a0cf80c967 | ||
|
|
56183ff5d9 | ||
|
|
664dabdb7e | ||
|
|
055d752c50 | ||
|
|
3e4c2193fb | ||
|
|
5c2b8d3e10 | ||
|
|
ae9b8720af | ||
|
|
30f2d11203 | ||
|
|
9a69afb34a | ||
|
|
923395b5c7 | ||
|
|
9de819ea4a | ||
|
|
21c8acd55c | ||
|
|
709198d2f1 | ||
|
|
87542b4f75 | ||
|
|
566ecefbcf | ||
|
|
41061f3c39 | ||
|
|
703330c40d | ||
|
|
5fdd069f66 | ||
|
|
0ba8111c37 | ||
|
|
5d206acb21 | ||
|
|
7f1218a7c7 | ||
|
|
c4ed7daf67 | ||
|
|
5a09f996ed | ||
|
|
dbde206ed4 | ||
|
|
0947f93ad3 | ||
|
|
f338d267bc | ||
|
|
84aa63a3c5 | ||
|
|
c2afc50c02 | ||
|
|
f72e7c0a8f | ||
|
|
575bde1d1d | ||
|
|
d15fdf2dde | ||
|
|
868fd53551 | ||
|
|
66c2e70016 | ||
|
|
89ee24fb3e | ||
|
|
b02eb32806 | ||
|
|
e162aef5be | ||
|
|
837528c206 | ||
|
|
b19153287b | ||
|
|
544d3f9025 | ||
|
|
7a463299ea | ||
|
|
bbaa3a94c5 | ||
|
|
d2834bd7fd | ||
|
|
534549142e | ||
|
|
5e73afa04e | ||
|
|
6ad1ba1d35 | ||
|
|
f978b3a002 | ||
|
|
2f70d273b4 | ||
|
|
2289bf4005 | ||
|
|
0cd4900e92 | ||
|
|
0ad8dc39e5 | ||
|
|
60d133ca6d | ||
|
|
000a726e20 | ||
|
|
4006818520 | ||
|
|
756bc3da54 | ||
|
|
fbb01a36e6 | ||
|
|
21922ed3b4 | ||
|
|
43fe5214d2 | ||
|
|
ab6079e0d5 | ||
|
|
dc0b1ce227 | ||
|
|
1db12e4421 | ||
|
|
b160b56306 | ||
|
|
0e6627b0f6 | ||
|
|
33390bf463 | ||
|
|
2a6ddffb22 | ||
|
|
06c09f0113 | ||
|
|
db258f7461 | ||
|
|
81cec1930b | ||
|
|
7444227c9a | ||
|
|
07196571e8 | ||
|
|
b083bd78e7 | ||
|
|
e75a65d798 | ||
|
|
e1a10a0375 | ||
|
|
080c542953 | ||
|
|
d7ab472363 | ||
|
|
c4eb6eccaf | ||
|
|
1c091cef76 | ||
|
|
e37b08a879 | ||
|
|
39018ef1db | ||
|
|
c6cadb6800 | ||
|
|
0898196a5f | ||
|
|
4b40b80145 | ||
|
|
6ade38400e | ||
|
|
71ca3a5cc9 | ||
|
|
2a3fc0ede1 | ||
|
|
1b9fd85497 | ||
|
|
c73f61c8d4 | ||
|
|
4205e99479 | ||
|
|
35c7e6bf2c | ||
|
|
37bc47ee04 | ||
|
|
c5dc361213 | ||
|
|
0c83b3e3a3 | ||
|
|
63c9e29419 | ||
|
|
7389dc082f | ||
|
|
1e05e6a842 | ||
|
|
03550a0932 | ||
|
|
85c1a9dbe0 | ||
|
|
89de23718b | ||
|
|
3760b63582 | ||
|
|
621ee80539 | ||
|
|
7589487c0c | ||
|
|
ad7279953e | ||
|
|
2bf340a89a | ||
|
|
1d9df11e8c | ||
|
|
118af03534 | ||
|
|
596a71e03d | ||
|
|
dab392645d | ||
|
|
2d1fa9e154 | ||
|
|
3a63fabe9c | ||
|
|
3129712f03 | ||
|
|
66baf64e17 | ||
|
|
1bdeab398a | ||
|
|
2bda2a37e3 | ||
|
|
027b605fc0 | ||
|
|
87e1c80e28 | ||
|
|
2d3efbc711 | ||
|
|
8e394e0cdb | ||
|
|
0623c623d5 | ||
|
|
307d8ec360 | ||
|
|
5a518d2f35 | ||
|
|
93fe20afcd | ||
|
|
7f217110cd | ||
|
|
4e7b33fadf | ||
|
|
7926d1755f | ||
|
|
3a13a3d5ca | ||
|
|
caa8e1658a | ||
|
|
890ccb7b84 | ||
|
|
912b076707 | ||
|
|
b7c2f74c19 | ||
|
|
f46058bbd6 | ||
|
|
b296c076f1 | ||
|
|
a73dfe4a10 | ||
|
|
9342fb15b3 | ||
|
|
5d0d8a0b7b | ||
|
|
7e0d64294c | ||
|
|
bf58555a7a | ||
|
|
56c0f39593 | ||
|
|
bd3f723ebf | ||
|
|
7aa01a1b51 | ||
|
|
005f0010ec | ||
|
|
7ff8545f55 | ||
|
|
a4b9a4d9da | ||
|
|
9c1617b977 | ||
|
|
442daa31d4 | ||
|
|
c27457efda | ||
|
|
aaf659519a | ||
|
|
af52a18f82 | ||
|
|
1bd739dd4a | ||
|
|
76a3f57996 | ||
|
|
4ffc0cff12 | ||
|
|
5d46c9b2d6 | ||
|
|
30ca4e6986 | ||
|
|
0f2c61a207 | ||
|
|
b55403ce66 | ||
|
|
640f52c05f | ||
|
|
8fe8cbd3d1 | ||
|
|
9b5df92078 | ||
|
|
9cb07db84b | ||
|
|
cdb1874263 | ||
|
|
e69df60f11 | ||
|
|
e3879f9ab9 | ||
|
|
e009f17889 | ||
|
|
74009f13d9 | ||
|
|
ff4aae11f8 | ||
|
|
325f36fa4f | ||
|
|
d936bca268 | ||
|
|
b4c518e075 | ||
|
|
9ef2cd48e0 | ||
|
|
eff0208382 | ||
|
|
0ff3b7641d | ||
|
|
871161310b | ||
|
|
d12468ffb5 | ||
|
|
f150b3077d | ||
|
|
6a6c05fba2 | ||
|
|
50c20e1ef4 | ||
|
|
b408a09755 | ||
|
|
1b47350952 | ||
|
|
2fb1182700 | ||
|
|
475fbfb712 | ||
|
|
a7f38eaa82 | ||
|
|
89d214bb8f | ||
|
|
6da39d9279 | ||
|
|
565eb4cdc8 | ||
|
|
d944a0ccbd | ||
|
|
e262b86c44 | ||
|
|
f31ee6a225 | ||
|
|
6fd678195c | ||
|
|
0f60121b94 | ||
|
|
a40d490b76 | ||
|
|
c1e0207454 | ||
|
|
29fe0029f0 | ||
|
|
89c58921de | ||
|
|
a3fd340187 | ||
|
|
e32ef7f5c5 | ||
|
|
865394a59c | ||
|
|
abb3e7ace0 | ||
|
|
c73d698718 | ||
|
|
4888b22622 | ||
|
|
9c466d84ec | ||
|
|
721ba608c7 | ||
|
|
009ccbef7f | ||
|
|
0de5cbaa4b | ||
|
|
49266cb9e4 | ||
|
|
cbe78baff1 | ||
|
|
0d3152e4b0 | ||
|
|
11bebd50d9 | ||
|
|
06a3a30619 | ||
|
|
d0e084ce1d | ||
|
|
48d6286714 | ||
|
|
bb23366912 | ||
|
|
c5da4d1500 | ||
|
|
5e671a4b0b | ||
|
|
ccbd9c83e2 | ||
|
|
c7f092b95f | ||
|
|
0760398e99 | ||
|
|
339e195043 | ||
|
|
7f73a71319 | ||
|
|
6a462edb72 | ||
|
|
7ed0cd0c35 | ||
|
|
0607050ecc | ||
|
|
021908320e | ||
|
|
e0a23ba93d | ||
|
|
a9e6ef183b | ||
|
|
c062a31f12 | ||
|
|
c632a91ee5 | ||
|
|
36056ad5af | ||
|
|
19b6f56a0a | ||
|
|
d76adff81d | ||
|
|
7f453a80d3 | ||
|
|
7276a79cef | ||
|
|
975b44d05f | ||
|
|
68dcc972fa | ||
|
|
53e7faa47c | ||
|
|
07eb261991 | ||
|
|
de7d62c128 | ||
|
|
103e2b9398 | ||
|
|
7a3607c729 | ||
|
|
7c7963f93f | ||
|
|
58fa5e004f | ||
|
|
72faf89e26 | ||
|
|
50e0b2ab15 | ||
|
|
5708e53f0a | ||
|
|
918ccefdc4 | ||
|
|
85133a6680 | ||
|
|
418164bee4 | ||
|
|
9968eb53b2 | ||
|
|
8bbed461a6 | ||
|
|
c7ac96c4f5 | ||
|
|
4a71b78e2d | ||
|
|
2152a81d11 | ||
|
|
ed62854af7 | ||
|
|
eebb2186c7 | ||
|
|
ecc3ff3ca4 | ||
|
|
72e511e3c4 | ||
|
|
82276b2a99 | ||
|
|
e3b9659fb8 | ||
|
|
3971bf2d58 | ||
|
|
4d00435209 | ||
|
|
19c70fd659 | ||
|
|
209831d3b0 | ||
|
|
bf64fe0d2f | ||
|
|
fccbc5318a | ||
|
|
bab953298b | ||
|
|
f1243871b0 | ||
|
|
12c127b482 | ||
|
|
fdde2184f5 | ||
|
|
9804a2e06a | ||
|
|
1439bcc864 | ||
|
|
cf6e721b00 | ||
|
|
73ef69526d | ||
|
|
edcc74c1ae | ||
|
|
5e1e983928 | ||
|
|
b144d3b797 | ||
|
|
0a959bcbe7 | ||
|
|
e7e5ee1ea2 | ||
|
|
daf52a2610 | ||
|
|
d2c21ce507 | ||
|
|
ee8b99ffd5 | ||
|
|
f3b4fb8600 | ||
|
|
7113174593 | ||
|
|
ee0f38a696 | ||
|
|
17e4902519 | ||
|
|
0d5b0b9542 | ||
|
|
9dc3b18178 | ||
|
|
ef8b37f7fa | ||
|
|
2396ef5bd6 | ||
|
|
80bf5978de | ||
|
|
3104291734 | ||
|
|
0b58fadc83 | ||
|
|
18369f6c21 | ||
|
|
4363082173 | ||
|
|
21d7ca8eab | ||
|
|
1bb06a7428 | ||
|
|
60994df8d0 | ||
|
|
2a66bb3127 | ||
|
|
f42b10f3b6 | ||
|
|
4aab44e779 | ||
|
|
d657c87243 | ||
|
|
2d13f87ba4 | ||
|
|
ee8a7beb41 | ||
|
|
7e0daf1663 | ||
|
|
47b9d8dbc6 | ||
|
|
62a3938480 | ||
|
|
eb784b0d2e | ||
|
|
b921d96f4b | ||
|
|
72d1d5d2dd | ||
|
|
4a9fc48dee | ||
|
|
60df790b82 | ||
|
|
7ce26435bd | ||
|
|
4a0f5a0c15 | ||
|
|
09503b58fa | ||
|
|
f3ce76110b | ||
|
|
3a11c23efd | ||
|
|
0891cd4878 | ||
|
|
aeabd2d625 | ||
|
|
69f665ed01 | ||
|
|
5c7f9530ee | ||
|
|
62a2374f49 | ||
|
|
53ec25df28 | ||
|
|
8d0d8e4dcb | ||
|
|
fba72f5fb7 | ||
|
|
bbecf87292 | ||
|
|
e26573d97f | ||
|
|
9b611a6207 | ||
|
|
7047974132 | ||
|
|
863c9f9876 | ||
|
|
9c964cdd97 | ||
|
|
e3483c62ca | ||
|
|
1f3bf75fff | ||
|
|
f339f629ae | ||
|
|
24ec4744df | ||
|
|
94f7a095bb | ||
|
|
10afa8166b | ||
|
|
26abbb12fa | ||
|
|
d639c16f72 | ||
|
|
f907328bdc | ||
|
|
230949ee3b | ||
|
|
973da6feb8 | ||
|
|
b34d90df0b | ||
|
|
8555629128 | ||
|
|
c15e8752ed | ||
|
|
2cac830749 | ||
|
|
146ef69346 | ||
|
|
e649559650 | ||
|
|
bed143cafa | ||
|
|
085ae05f19 | ||
|
|
f214dd233b | ||
|
|
b3f9b9e9b2 | ||
|
|
3f8f9a3962 | ||
|
|
feb1570c48 | ||
|
|
2d28f50acd | ||
|
|
767f024585 | ||
|
|
2f32b0962e | ||
|
|
1f6f1716ad | ||
|
|
6ac36368cd | ||
|
|
0b6c1694b4 | ||
|
|
2427f5d324 | ||
|
|
2f28365bfa | ||
|
|
8d6b9b6181 | ||
|
|
061219d0a2 | ||
|
|
c420ff29af | ||
|
|
b5b678c58f | ||
|
|
bd493e261e | ||
|
|
c61116882b | ||
|
|
dcf632b39c | ||
|
|
672b44acba | ||
|
|
c19f8f6b5e | ||
|
|
1eeac90a29 | ||
|
|
f31bcc384e | ||
|
|
5558092c1e | ||
|
|
6bfa4370b7 | ||
|
|
2ded6dc636 | ||
|
|
6b1481d328 | ||
|
|
b829a0c687 | ||
|
|
c65c40a5cb | ||
|
|
7f1bff4eb4 | ||
|
|
ec4240dd06 | ||
|
|
d8f0c245f4 | ||
|
|
2b617b0e71 | ||
|
|
7d598b18ca | ||
|
|
733da5ffdb | ||
|
|
d92bf13706 | ||
|
|
e90a2c00a5 | ||
|
|
378504de2b | ||
|
|
0fa28f233f | ||
|
|
f4e7b8c6bf | ||
|
|
c004a84f84 | ||
|
|
a3ca277eaf | ||
|
|
6cc7c700b8 | ||
|
|
60a1835813 | ||
|
|
bc8f9840e2 | ||
|
|
2f0ae7a7d8 | ||
|
|
f4329779e9 | ||
|
|
6fe063146f | ||
|
|
3093751fa4 | ||
|
|
7d636d8c3f | ||
|
|
2346bc8f7c | ||
|
|
cfe83275d3 | ||
|
|
f6ee96ed83 | ||
|
|
7f300b757f | ||
|
|
bad588a749 | ||
|
|
25a94ee60a | ||
|
|
c0fc4e6d90 | ||
|
|
3811612f80 | ||
|
|
c1659a189b | ||
|
|
3ab2fe907f | ||
|
|
cdb0db02f9 | ||
|
|
25c56d3b66 | ||
|
|
5c015d573b | ||
|
|
eaa700791b | ||
|
|
45690967a0 | ||
|
|
fd17b9bbf0 | ||
|
|
38fa6d2aee | ||
|
|
7da2d04898 | ||
|
|
7ab3479a34 | ||
|
|
ee0d2d2220 | ||
|
|
ca44b40222 | ||
|
|
c17d653544 | ||
|
|
65dfec9acf | ||
|
|
6ea6e52d99 | ||
|
|
35ebd9a095 | ||
|
|
e0037b819a | ||
|
|
93c8be5b5d | ||
|
|
f121e67aba | ||
|
|
19b8a52e44 | ||
|
|
60faba60ea | ||
|
|
cfedbf8e6b | ||
|
|
9d88dd2604 | ||
|
|
ccec50e18e | ||
|
|
cf47342cec | ||
|
|
02ab77053e | ||
|
|
ce81103398 | ||
|
|
7fb1e07b39 | ||
|
|
80d1c48f0d | ||
|
|
fe0fb3a251 | ||
|
|
b530e19a44 | ||
|
|
cf2e7d77d6 | ||
|
|
431ab095e8 | ||
|
|
4021a0c7ce | ||
|
|
3d70ebfc46 | ||
|
|
ad6a40d5f4 | ||
|
|
b822d2c380 | ||
|
|
1b23a27acb | ||
|
|
efae685c25 | ||
|
|
60ffa3030e | ||
|
|
38cf1fb3ee | ||
|
|
4f06c091c9 | ||
|
|
a610c8567e | ||
|
|
e53d4e5ff7 | ||
|
|
4a90716843 | ||
|
|
45eba9ec31 | ||
|
|
752d4b85ea | ||
|
|
4153a2e2af | ||
|
|
7f3291c3de | ||
|
|
937c5be4a9 | ||
|
|
07263d2d70 | ||
|
|
1e70c52e7a | ||
|
|
620e1be5a7 | ||
|
|
7a5e883cd2 | ||
|
|
f6f8aaf3db | ||
|
|
f993230582 | ||
|
|
e74b984a0a | ||
|
|
6af01cfcbe | ||
|
|
f441d561a2 | ||
|
|
8267a4fef9 | ||
|
|
7071c5bda0 | ||
|
|
a887e1c295 | ||
|
|
17541b0d34 | ||
|
|
ba40719d76 | ||
|
|
e1d073bc6d | ||
|
|
94e2c44840 | ||
|
|
1c3c81db99 | ||
|
|
324d20d42c | ||
|
|
87d98403f4 | ||
|
|
9462685c78 | ||
|
|
b9da9ebfdf | ||
|
|
75a2274b66 | ||
|
|
7b568b07e6 | ||
|
|
032883e278 | ||
|
|
23ebb3134b | ||
|
|
cc663746eb | ||
|
|
e917c371d9 | ||
|
|
7b31868e3c | ||
|
|
644dc9792d | ||
|
|
07649f713e | ||
|
|
599bfc0735 | ||
|
|
662e1e6134 | ||
|
|
afa73d4e89 | ||
|
|
b55c6a360a | ||
|
|
0aa6f39db0 | ||
|
|
24932f6cb6 | ||
|
|
8eabaf5eb2 | ||
|
|
9e7f50517e | ||
|
|
51fa98aa0b | ||
|
|
7d67cc5de7 | ||
|
|
a24925c858 | ||
|
|
9399b876eb | ||
|
|
91742d4a53 | ||
|
|
b9094ff8a5 | ||
|
|
664cfe7d69 | ||
|
|
c4dbe84832 | ||
|
|
33b225ac6d | ||
|
|
ed2199b91c | ||
|
|
6286bc716c | ||
|
|
73cf3fb68f | ||
|
|
4b25f87859 | ||
|
|
38362664ce | ||
|
|
e6c448aa4f | ||
|
|
4eff268095 | ||
|
|
c7f3693ad1 | ||
|
|
c0557c296a | ||
|
|
11000412d8 | ||
|
|
b389650465 | ||
|
|
2bc91fba3e | ||
|
|
46ee193cd8 | ||
|
|
6119cb370f | ||
|
|
cd654d61fd | ||
|
|
a305032c39 | ||
|
|
da2bfd2457 | ||
|
|
5b9b5ce577 | ||
|
|
4f5302adf8 | ||
|
|
d0bfe9a661 | ||
|
|
26ff9150a2 | ||
|
|
3d6041ebbd | ||
|
|
af5af0ad3f | ||
|
|
32a861fd1b | ||
|
|
cf89c2f5bf | ||
|
|
412e326cf2 | ||
|
|
04e7b3f6d2 | ||
|
|
8d9b4a19bd | ||
|
|
ded825e419 | ||
|
|
8220f8d003 | ||
|
|
7c8948c45e | ||
|
|
e418ea03e2 | ||
|
|
0b1b3c1f84 | ||
|
|
38b6ee9e75 | ||
|
|
75c80c3716 | ||
|
|
042cd4267f | ||
|
|
1831f71cc4 | ||
|
|
17c601e8b8 | ||
|
|
5e76f7d699 | ||
|
|
34fbaf3325 | ||
|
|
ece70daaa5 | ||
|
|
368fbd9e7d | ||
|
|
e47d7fe55c | ||
|
|
11fdf91196 | ||
|
|
88c3ffbef8 | ||
|
|
e31c1ca780 | ||
|
|
183db3475a | ||
|
|
4880dc812c | ||
|
|
516c968373 | ||
|
|
1de4c2497c | ||
|
|
19f50a363d | ||
|
|
e83019bdfa | ||
|
|
a6c5a90630 | ||
|
|
3b015db77d | ||
|
|
623210df58 | ||
|
|
cfd02a4355 | ||
|
|
68da10c39d | ||
|
|
ec33cdd8b5 | ||
|
|
8e65317d61 | ||
|
|
3748b995ff | ||
|
|
206bb018dd | ||
|
|
46d445d042 | ||
|
|
a64f3bbc6a | ||
|
|
9893a415c0 | ||
|
|
7d860b6c24 | ||
|
|
4e87aebf55 | ||
|
|
440860c4a9 | ||
|
|
89124bdcc8 | ||
|
|
fa3ad7eb57 | ||
|
|
3e97793ef1 | ||
|
|
a65f36592a | ||
|
|
4f4f435e76 | ||
|
|
3a0f0c2f58 | ||
|
|
56f0d0fef5 | ||
|
|
8191f1498a | ||
|
|
eabcae1018 | ||
|
|
9c747d3c6d | ||
|
|
62ccfd37b2 | ||
|
|
5b9ff4a015 | ||
|
|
63b0a5b78c | ||
|
|
7c9309aa52 | ||
|
|
370544764e | ||
|
|
f3c0cc3cee | ||
|
|
c95650c4f3 | ||
|
|
431e7179ac | ||
|
|
fbd5699786 | ||
|
|
e071c31a4e | ||
|
|
dc9d0ed76f | ||
|
|
03fdc0e1c4 | ||
|
|
014273d7ec | ||
|
|
70f8882f87 | ||
|
|
9995967fbf | ||
|
|
4370a7eb12 | ||
|
|
6f6033cf1c | ||
|
|
b644d6685f | ||
|
|
4ae4ae3cfc | ||
|
|
2c145fa57c | ||
|
|
b8e205c048 | ||
|
|
ecb4a76db7 | ||
|
|
68ee071331 | ||
|
|
d710bbd9ef | ||
|
|
411b956009 | ||
|
|
4d92c7e094 | ||
|
|
87dcbbbd23 | ||
|
|
3f2ce8a2b7 | ||
|
|
39830986c2 | ||
|
|
84e683cc99 | ||
|
|
f52dcc08eb | ||
|
|
49df1cd3c7 | ||
|
|
0fe9cd05c4 | ||
|
|
db88c2d6a5 | ||
|
|
683196f916 | ||
|
|
bb3634c382 | ||
|
|
c5768e3513 | ||
|
|
05fd0b5859 | ||
|
|
36cf689432 | ||
|
|
0d9fcb0c1d | ||
|
|
45bafab4e0 | ||
|
|
61ae820206 | ||
|
|
9232dd30dc | ||
|
|
c5430030e3 | ||
|
|
4df1bca8bb | ||
|
|
1b0ffd7781 | ||
|
|
485fdf910e | ||
|
|
09ff735007 | ||
|
|
ebdf5225a8 | ||
|
|
9387dbce41 | ||
|
|
ccbb4576b6 | ||
|
|
d7afc91975 | ||
|
|
e283026a3c | ||
|
|
1e029da5ad | ||
|
|
ed6bb0efdc | ||
|
|
f86c5442aa | ||
|
|
802af70e2f | ||
|
|
cb4c53c848 | ||
|
|
e92209475e | ||
|
|
10e1c35998 | ||
|
|
c75500670d | ||
|
|
6738cdd715 | ||
|
|
e288de7ec1 | ||
|
|
401bdbf3d9 | ||
|
|
ff707ea5af | ||
|
|
3d6dccc689 | ||
|
|
c9ff0abade | ||
|
|
459cdf6071 | ||
|
|
dca055656a | ||
|
|
62c72091ce | ||
|
|
c6f3da1097 | ||
|
|
4ed8b31641 | ||
|
|
8c4a373ed7 | ||
|
|
5aaf040300 | ||
|
|
3955eef50d | ||
|
|
4b263f057d | ||
|
|
677a419f0b | ||
|
|
e08d0c4e0f | ||
|
|
6d73a7ef0a | ||
|
|
af7d8f6a43 | ||
|
|
4b9f0a87cd | ||
|
|
ca0dad7356 | ||
|
|
75e87de473 | ||
|
|
bd8d70bf60 | ||
|
|
69d29af097 | ||
|
|
bd2d636bb5 | ||
|
|
412b51fb3c | ||
|
|
a3fee32b42 | ||
|
|
c0c2fe247b | ||
|
|
ae793b7395 | ||
|
|
56434fc8b9 | ||
|
|
3f962ba336 | ||
|
|
3f10ac55a3 | ||
|
|
d49379789a | ||
|
|
3a3dec1707 | ||
|
|
d001927d47 | ||
|
|
8aa8b19f37 | ||
|
|
2d7b833ae6 | ||
|
|
aaed5f7fe0 | ||
|
|
375de4f8a6 | ||
|
|
44e4a5b13a | ||
|
|
f9ac1d4cd5 | ||
|
|
6435e994f1 | ||
|
|
7de0f9abed | ||
|
|
0af17bf7e9 | ||
|
|
49b57904f9 | ||
|
|
d022457e0c | ||
|
|
6e1e7a45a1 | ||
|
|
18be4732b3 | ||
|
|
bc2cb057a9 | ||
|
|
238ca03936 | ||
|
|
7db2d1b8cf | ||
|
|
c7f89f55d0 | ||
|
|
08b4cce72a | ||
|
|
a2a669572c | ||
|
|
a35b6cc8dd | ||
|
|
41773a5465 | ||
|
|
d254a98662 | ||
|
|
19dfec1e0a | ||
|
|
2f3b7642c2 | ||
|
|
25102b9c5d | ||
|
|
73b4fb09dc | ||
|
|
460b73ebda | ||
|
|
4a02922bfb | ||
|
|
7361f730a3 | ||
|
|
4bf4313862 | ||
|
|
6a4cb5f0e1 | ||
|
|
94aeeed95f | ||
|
|
d86a984e25 | ||
|
|
371a090cec | ||
|
|
1ea61db1fb | ||
|
|
efe50baddc | ||
|
|
e499317695 | ||
|
|
74fc86e2ab | ||
|
|
24fef762ce | ||
|
|
7e99ce6d7f | ||
|
|
3731a3ea65 | ||
|
|
05b6265a31 | ||
|
|
6de02b0f2a | ||
|
|
6c9368ef36 | ||
|
|
ead078a38e | ||
|
|
f403fdb2e8 | ||
|
|
20f2c86d25 | ||
|
|
d1b0c230ed | ||
|
|
05b6865618 | ||
|
|
b7d739ab3f | ||
|
|
cb9a160366 | ||
|
|
874bc84efc | ||
|
|
a3019f56b0 | ||
|
|
04fd6e9d04 | ||
|
|
4c53447d35 | ||
|
|
bcfa62cc76 | ||
|
|
cccaca0c01 | ||
|
|
3fca49e44d | ||
|
|
36f6e9b288 | ||
|
|
c47d6b517a | ||
|
|
928ce940c9 | ||
|
|
4ee6a0ba29 | ||
|
|
746916a963 | ||
|
|
c2d1af9853 | ||
|
|
c7b451b18f | ||
|
|
f9e10616d0 | ||
|
|
ccd8f3e0f1 | ||
|
|
480aa01ea6 | ||
|
|
1ea7907e09 | ||
|
|
22835c0350 | ||
|
|
78b9eafed2 | ||
|
|
6cb15706f5 | ||
|
|
adbd34c795 | ||
|
|
5c63ad3b95 | ||
|
|
c109b7a57a | ||
|
|
8329ca2ed6 | ||
|
|
4ce3cda676 | ||
|
|
aa2172f1ad | ||
|
|
0f1fc7be9d | ||
|
|
37606891db | ||
|
|
9f250713d2 | ||
|
|
3dd969df64 | ||
|
|
c6ae1aa9d9 | ||
|
|
6dab93f7fd | ||
|
|
c657134344 | ||
|
|
168d3fbdac | ||
|
|
c33284fa8c | ||
|
|
46bc1d12b9 | ||
|
|
7765c1c739 | ||
|
|
d7ea9a5f55 | ||
|
|
77aea3c59e | ||
|
|
ce437817de | ||
|
|
89dce36e98 | ||
|
|
8a19a0d4a0 | ||
|
|
70f1537d9f | ||
|
|
e5dca50025 | ||
|
|
bb041c0eca | ||
|
|
1c14a08390 | ||
|
|
5c0d9b7eab | ||
|
|
e621a98a0a | ||
|
|
12b2b8ad99 | ||
|
|
5e3fddf456 | ||
|
|
8fe1ff87f1 | ||
|
|
86df25a3e9 | ||
|
|
8c944bd4e1 | ||
|
|
9959a901fe | ||
|
|
92a290895b | ||
|
|
400792d18e | ||
|
|
d8cbc9266a | ||
|
|
947c7e1d64 | ||
|
|
409557ef30 | ||
|
|
8a3f942385 | ||
|
|
313a95bdd1 | ||
|
|
184ac3e473 | ||
|
|
78ab0e4ba9 | ||
|
|
445adb0ab4 | ||
|
|
ca3ce87e06 | ||
|
|
12aea82031 | ||
|
|
79d7ba8205 | ||
|
|
0413a05246 | ||
|
|
efed3fc78c | ||
|
|
c540e57f55 | ||
|
|
6f0a66ce26 | ||
|
|
364a837dbd | ||
|
|
6d29a3af60 | ||
|
|
f789df7edf | ||
|
|
e9f3e20e67 | ||
|
|
bfdd674054 | ||
|
|
4483b72bfd | ||
|
|
8096e49c24 | ||
|
|
5a86c4ac52 | ||
|
|
61925f74fd | ||
|
|
32474b05c5 | ||
|
|
814eef1e56 | ||
|
|
0738b3860b | ||
|
|
40eb8a1f4a | ||
|
|
0facdf3dfb | ||
|
|
5c00d89d57 | ||
|
|
9d91b17e33 | ||
|
|
899b0c1104 | ||
|
|
52de31ac79 | ||
|
|
c631dbdaa1 | ||
|
|
5cdb3b6a2d | ||
|
|
48d358872f | ||
|
|
5b82b681cb | ||
|
|
bb3ad8acd3 | ||
|
|
6fdc02f947 | ||
|
|
b0446380c6 | ||
|
|
fc534e88a3 | ||
|
|
4a414d50f1 | ||
|
|
b917f4ed01 | ||
|
|
b8def07cd8 | ||
|
|
009fd0e211 | ||
|
|
d1dc9a39ae | ||
|
|
86c21baf40 | ||
|
|
ece27b84cc | ||
|
|
81943fb3b0 | ||
|
|
3b949c4a8a | ||
|
|
04227f5a41 | ||
|
|
6d7e5f82ae | ||
|
|
cf4db1b418 | ||
|
|
972b8d11fe | ||
|
|
81c09d34ad | ||
|
|
f67ded678c | ||
|
|
118d14c93f | ||
|
|
2ac7f2defe | ||
|
|
bbabf6dc1a | ||
|
|
6c6d75f607 | ||
|
|
dbca4346aa | ||
|
|
ec90b69c9e | ||
|
|
eecdd4c6cf | ||
|
|
ea7ac59a61 | ||
|
|
2a5dd7f5ec | ||
|
|
dbaebf4f33 | ||
|
|
851c02acb0 | ||
|
|
2f33ecf37b | ||
|
|
74a772aafb | ||
|
|
2e5c09aeba | ||
|
|
eaaf8b8e85 | ||
|
|
7e98035df5 | ||
|
|
198034f976 | ||
|
|
6d6af8e70d | ||
|
|
302c99d7d5 | ||
|
|
b7091cf9a4 | ||
|
|
a8ba5bda79 | ||
|
|
6f34afce21 | ||
|
|
83d4641a4d | ||
|
|
2ce3aa9731 | ||
|
|
77fc731dec | ||
|
|
b7627db98c | ||
|
|
06e82d10f6 | ||
|
|
d013e0922d | ||
|
|
f0e67cbb53 | ||
|
|
8dfcb028a6 | ||
|
|
d7c561df6b | ||
|
|
168695bd15 | ||
|
|
88295f8075 | ||
|
|
6eaab41820 | ||
|
|
f4bb65b46e | ||
|
|
9f8f9b6702 | ||
|
|
a0f3678163 | ||
|
|
9289b009b6 | ||
|
|
28fa5a895c | ||
|
|
06edabb9be | ||
|
|
26a9af850b | ||
|
|
a5266c7018 | ||
|
|
5d114614bb | ||
|
|
f3c65f34b6 | ||
|
|
6b2a382ab8 | ||
|
|
bd1856594b | ||
|
|
b87987ec89 | ||
|
|
2b903fc3d1 | ||
|
|
6759446639 | ||
|
|
19d6de795c | ||
|
|
d133ccc69f | ||
|
|
d322e10a83 | ||
|
|
3772968f49 | ||
|
|
1fff760722 | ||
|
|
6236aee8d5 | ||
|
|
dd2763d725 | ||
|
|
0b47021504 | ||
|
|
877a2a2802 | ||
|
|
9197b0a5ea | ||
|
|
4e8ab08425 | ||
|
|
a5c53ff756 | ||
|
|
2a84345835 | ||
|
|
94998b5da0 | ||
|
|
5b62aaa9f8 | ||
|
|
fb6bb932da | ||
|
|
7c172edd50 | ||
|
|
05895f360b | ||
|
|
814488863d | ||
|
|
6bd5d0b8e9 | ||
|
|
dd4cb43e3f | ||
|
|
d9416299f4 | ||
|
|
7b3eed323b | ||
|
|
8aa2789ded | ||
|
|
25cefee0f8 | ||
|
|
8dd334dc5d | ||
|
|
8ab94d7704 | ||
|
|
e98d4e874f | ||
|
|
6f638058d1 | ||
|
|
38f4bea6f1 | ||
|
|
70435ab5bf | ||
|
|
9491d40f22 | ||
|
|
3f9300dff4 | ||
|
|
b69dd05216 | ||
|
|
63cf216550 | ||
|
|
fd310e4e69 | ||
|
|
d6f2647472 | ||
|
|
deed457764 | ||
|
|
72ce5c26db | ||
|
|
eebbf3b1ee | ||
|
|
c1912e17c1 | ||
|
|
d0886f8db0 | ||
|
|
ba32525b45 | ||
|
|
1cb065edc6 | ||
|
|
1c525d9c19 | ||
|
|
7f349732ee | ||
|
|
718f66e6a2 | ||
|
|
9e1f7a72b7 | ||
|
|
33351e3d8d | ||
|
|
4947b0a44f | ||
|
|
b8e4c6b0be | ||
|
|
dd790d94c9 | ||
|
|
c89e9d4354 | ||
|
|
b481787574 | ||
|
|
cd2c448e6d | ||
|
|
cf9d903ba9 | ||
|
|
57e625494b | ||
|
|
66015164d7 | ||
|
|
a44ed9cfd3 | ||
|
|
c5b8f62780 | ||
|
|
f27dc977e9 | ||
|
|
7fd30fa90f | ||
|
|
afbcf2095f | ||
|
|
e1f19b7c75 | ||
|
|
3ff7d16cfc | ||
|
|
66f6823965 | ||
|
|
fc08091765 | ||
|
|
2eb213e2f9 | ||
|
|
c093561532 | ||
|
|
0418401ddd | ||
|
|
f3c1e82199 | ||
|
|
f32865b0c8 | ||
|
|
1b2cdda7e2 | ||
|
|
2a428ffd37 | ||
|
|
f13bcbd772 | ||
|
|
a8d5b146be | ||
|
|
b7ad751ec3 | ||
|
|
a137f1493e | ||
|
|
de437b905b | ||
|
|
adcfbf0b8c | ||
|
|
3aeaf6a054 | ||
|
|
402715004c | ||
|
|
2ebc6a056e | ||
|
|
c237accf82 | ||
|
|
e499e1ba85 | ||
|
|
abf43b695b | ||
|
|
7151d6babd | ||
|
|
a7c2ee3ce6 | ||
|
|
19ccd8c7d3 | ||
|
|
d05cf47169 | ||
|
|
bf4df54fb8 | ||
|
|
127e4acb24 | ||
|
|
b9229babfc | ||
|
|
66e3be1579 | ||
|
|
99ca872011 | ||
|
|
6bb4eb825b | ||
|
|
1eef5b6876 | ||
|
|
0ab5b8fcba | ||
|
|
74be5d9030 | ||
|
|
de9067d6a3 | ||
|
|
89deccd9b5 | ||
|
|
593052dd93 | ||
|
|
2c8890bd06 | ||
|
|
05d6a29416 | ||
|
|
8a6cac8338 | ||
|
|
eb957bb790 | ||
|
|
31078cb7fd | ||
|
|
63e4dc566a | ||
|
|
d04d6bfcf8 | ||
|
|
6a21acbf1a | ||
|
|
8f5bbe24ce | ||
|
|
1baa71c97a | ||
|
|
ede9b1a7c4 | ||
|
|
b4564f5f4e | ||
|
|
b56937f5fa | ||
|
|
36429887dc | ||
|
|
297ef52dcb | ||
|
|
0ad831e48a | ||
|
|
1f36b8b89f | ||
|
|
6b1d26d555 | ||
|
|
d668a4fe6d | ||
|
|
5efdd211cc | ||
|
|
9e00f08ea6 | ||
|
|
4d3a894bcb | ||
|
|
881b692c58 | ||
|
|
b2f454399c | ||
|
|
0339e6ee35 | ||
|
|
68508ba657 | ||
|
|
e146c2f227 | ||
|
|
a97543d258 | ||
|
|
a7c6e873d4 | ||
|
|
64c20bf6b2 | ||
|
|
2ef16f669b | ||
|
|
0e8323659e | ||
|
|
45cfac6c00 | ||
|
|
b79a231d2e | ||
|
|
70707a2664 | ||
|
|
4885fe6b4c | ||
|
|
cd47380b85 | ||
|
|
d05897c89a | ||
|
|
9826aec4cf | ||
|
|
2d7138839d | ||
|
|
58be2d4bc2 | ||
|
|
344e47dcfb | ||
|
|
39ee27785c | ||
|
|
45878fb7dd | ||
|
|
d3e012148e | ||
|
|
d866033a8e | ||
|
|
4f565d9f09 | ||
|
|
64d7cf4794 | ||
|
|
9090f2d321 | ||
|
|
819a84eb7a | ||
|
|
59fcfdc13b | ||
|
|
555382779c | ||
|
|
ceb4a0d5fe | ||
|
|
547140ec46 | ||
|
|
626b9eb380 | ||
|
|
019da6a98c | ||
|
|
2ce57b97be | ||
|
|
d2d28ef19c | ||
|
|
6fa64c81b7 | ||
|
|
54e4806e3d | ||
|
|
46ec72f688 | ||
|
|
266ce1d226 | ||
|
|
3fa5358c3f | ||
|
|
1b81356a67 | ||
|
|
a57a026f4c | ||
|
|
c1c28ce195 | ||
|
|
ee030cc4eb | ||
|
|
d52c6230e9 | ||
|
|
53f9d031c9 | ||
|
|
1214cf0fa1 | ||
|
|
9dadb919ef | ||
|
|
a8c00456e4 | ||
|
|
209e6a889a | ||
|
|
dea6b3d7e0 | ||
|
|
69bf848f32 | ||
|
|
f309a5279e | ||
|
|
2a67f640f0 | ||
|
|
4fee16fafb | ||
|
|
5712c05e68 | ||
|
|
b5d253ae66 | ||
|
|
f0f329b402 | ||
|
|
30dadfceea | ||
|
|
2fd4d50f3a | ||
|
|
0b20750cd5 | ||
|
|
7e36cc746f | ||
|
|
f2957c721d | ||
|
|
2aea235e34 | ||
|
|
fabd7e34f5 | ||
|
|
c57a7292b6 | ||
|
|
c269d63bc1 | ||
|
|
41462a39c7 | ||
|
|
1c3112e402 | ||
|
|
bab18036aa | ||
|
|
ae374f6903 | ||
|
|
5ccd4b3611 | ||
|
|
e590fff2fe | ||
|
|
18a64f109d | ||
|
|
7befc79081 | ||
|
|
23d924643f | ||
|
|
ff72be9c2d | ||
|
|
5d2e35d14d | ||
|
|
3e8f3d61fb | ||
|
|
72e148e0f1 | ||
|
|
acdf5363b2 | ||
|
|
cff5af2e76 | ||
|
|
fb8fad3fa1 | ||
|
|
305c1fc851 | ||
|
|
9b552c463f | ||
|
|
25a0147f61 | ||
|
|
c1a4ef1377 | ||
|
|
becb002d87 | ||
|
|
85d49e2540 | ||
|
|
d8054f9cb3 | ||
|
|
2d0f0cb372 | ||
|
|
6d619e9491 | ||
|
|
ea404445f6 | ||
|
|
b09e32ebc0 | ||
|
|
5aaa51881e | ||
|
|
2f1a0ffe5c | ||
|
|
1de7c385d5 | ||
|
|
3236f65533 | ||
|
|
0b6ae68801 | ||
|
|
998545512a | ||
|
|
f6ed605414 | ||
|
|
649798c989 | ||
|
|
1e6942e967 | ||
|
|
43fbf8ab3b | ||
|
|
b8d87f641f | ||
|
|
66ffb01629 | ||
|
|
08df3277df | ||
|
|
f26a5c3581 | ||
|
|
7d808cfc99 | ||
|
|
60ecc4fe8f | ||
|
|
65934a4c69 | ||
|
|
7b85473d2b | ||
|
|
6c0af1b078 | ||
|
|
76f186f395 | ||
|
|
06c8142826 | ||
|
|
e8213b2c6a | ||
|
|
fc93f2eb78 | ||
|
|
9b7a884d2b | ||
|
|
c8a6fe9974 | ||
|
|
5a638e4d28 | ||
|
|
de951d6637 | ||
|
|
bbe76231cf | ||
|
|
141af072b9 | ||
|
|
bdc788c824 | ||
|
|
fe9fb03e38 | ||
|
|
28a6ac3197 | ||
|
|
6660184091 | ||
|
|
7d493f5367 | ||
|
|
c520e657ce | ||
|
|
4e28033c9c | ||
|
|
bfb1210c43 | ||
|
|
5e35335ad4 | ||
|
|
d18de18128 | ||
|
|
01feae60ee | ||
|
|
118545d0f4 | ||
|
|
5cb41c3c2d | ||
|
|
94613c2fa2 | ||
|
|
e2b46f01bb | ||
|
|
487ea36782 | ||
|
|
eb9f07bcc6 | ||
|
|
9ce619eac8 | ||
|
|
ffc2193df9 | ||
|
|
fef1ad6083 | ||
|
|
79dae55a61 | ||
|
|
8544351754 | ||
|
|
c10d237f7a | ||
|
|
adad883eb6 | ||
|
|
b05a443cad | ||
|
|
63c53766b4 | ||
|
|
ce3e68670d | ||
|
|
846d8993a9 | ||
|
|
371c7008e1 | ||
|
|
6f04754a63 | ||
|
|
33af699191 | ||
|
|
718b3f0bf5 | ||
|
|
254782def6 | ||
|
|
be419d5ecf | ||
|
|
af6c5ae5bd | ||
|
|
ec9120adf0 | ||
|
|
95b02bbb2e | ||
|
|
386d0565fe | ||
|
|
9fa78c7b50 | ||
|
|
93f9b3de8b | ||
|
|
5f175e113a | ||
|
|
c83d89385a | ||
|
|
903a747dba | ||
|
|
e9a8ac0544 | ||
|
|
a0e6007fc1 | ||
|
|
d89ef22d85 | ||
|
|
262c3a75bd | ||
|
|
ee57b68901 | ||
|
|
d7aa0819d9 | ||
|
|
2d94c4cb6e | ||
|
|
0c4a7ed9c8 | ||
|
|
14e5fc8e33 | ||
|
|
7ed0d13de2 | ||
|
|
400eafce2b | ||
|
|
4dcb0b922e | ||
|
|
71dcc76a64 | ||
|
|
866408151c | ||
|
|
078325a3eb | ||
|
|
acdf9061fe | ||
|
|
ac1839fa6b | ||
|
|
239f98e450 | ||
|
|
cced81ddf0 | ||
|
|
6f2b1823ad | ||
|
|
d9461f348f | ||
|
|
6c9a4df515 | ||
|
|
366239ca7b | ||
|
|
a3172590d0 | ||
|
|
f44ff63361 | ||
|
|
9dd1049f24 | ||
|
|
3808b5df16 | ||
|
|
5f61ffa184 | ||
|
|
2485525896 | ||
|
|
63991cb58e | ||
|
|
05d76e7282 | ||
|
|
fd30bf7423 | ||
|
|
2befd2927a | ||
|
|
260b03de92 | ||
|
|
879ba230af | ||
|
|
8e1f3ac016 | ||
|
|
89081d5365 | ||
|
|
48cd993c92 | ||
|
|
d106d908ef | ||
|
|
dc9ec0e408 | ||
|
|
1c7abfdf46 | ||
|
|
9612a75faa | ||
|
|
e1727c9a6a | ||
|
|
2a6e38aa28 | ||
|
|
7716a27d0d | ||
|
|
9df67b52b8 | ||
|
|
fea7a96e68 | ||
|
|
8dae7f4a87 | ||
|
|
73b5efbb23 | ||
|
|
a68cdc5225 | ||
|
|
c55daeec38 | ||
|
|
9bd8587c68 | ||
|
|
e59841d35c | ||
|
|
650f585bf3 | ||
|
|
a70219eea0 | ||
|
|
517fc39950 | ||
|
|
56766dc08b | ||
|
|
5d4da09093 | ||
|
|
13075e5099 | ||
|
|
cdad0dc7d3 | ||
|
|
0217d5b4c0 | ||
|
|
17405dfc10 | ||
|
|
eb20b53af4 | ||
|
|
90dfdcc36d | ||
|
|
7e3cf99bb9 | ||
|
|
cb687ba3bd | ||
|
|
aed971883d | ||
|
|
1b406c97da | ||
|
|
59d70c8a96 | ||
|
|
837308deb6 | ||
|
|
a87d1d43fc | ||
|
|
af7b40ecc2 | ||
|
|
42eac2ee3c | ||
|
|
ec7dfee887 | ||
|
|
c7f1f1494e | ||
|
|
11cd828e8a | ||
|
|
5d931ef9ab | ||
|
|
e04aae686f | ||
|
|
ae03ecea21 | ||
|
|
2e9c61c452 | ||
|
|
df9aa6dc36 | ||
|
|
f7c252886f | ||
|
|
088273a767 | ||
|
|
cd44ab2fc6 | ||
|
|
b2ffd6e03b | ||
|
|
7ebd63a60f | ||
|
|
de8050701d | ||
|
|
c81756111c | ||
|
|
670a8e27af | ||
|
|
553bd8e22c | ||
|
|
d61435e4bf | ||
|
|
6a16fc1ca2 | ||
|
|
a0348c46fc | ||
|
|
9d58a189d7 | ||
|
|
456270bbb1 | ||
|
|
eb508d67ef | ||
|
|
6d4434ad66 | ||
|
|
ca68b86550 | ||
|
|
97b3761dbf | ||
|
|
b0afa33e22 | ||
|
|
2528c6e39a | ||
|
|
8c32302377 | ||
|
|
d78414307e | ||
|
|
112a9bcfa2 | ||
|
|
8d438e159c | ||
|
|
a9a6b74416 | ||
|
|
77b71e392e | ||
|
|
f951bf678d | ||
|
|
5c50c5b24d | ||
|
|
361afb401b | ||
|
|
ad5c88be3d | ||
|
|
6bf3f1d0b8 | ||
|
|
78d7cc0570 | ||
|
|
1a7021156e | ||
|
|
3e6c8a05dd | ||
|
|
51e82762c5 | ||
|
|
383a354700 | ||
|
|
1daadfc4ec | ||
|
|
8da5ccee03 | ||
|
|
8f6e066332 | ||
|
|
40f4223d02 | ||
|
|
33bb3719d7 | ||
|
|
171bc77059 | ||
|
|
7d9cc04c88 | ||
|
|
dc20fff6e4 | ||
|
|
d34ddb2e3c | ||
|
|
a162550d7f | ||
|
|
0433d5f074 | ||
|
|
fd2fc65ba9 | ||
|
|
8be949fec3 | ||
|
|
232f0f4b0b | ||
|
|
091ad6103e | ||
|
|
c66738dc05 | ||
|
|
4100282673 | ||
|
|
4022799881 | ||
|
|
5b7c089dd2 | ||
|
|
5d94db9c79 | ||
|
|
6203f23f06 | ||
|
|
26a4703398 | ||
|
|
c8c7ed4a2e | ||
|
|
0073f2c8ab | ||
|
|
da87c2d9ae | ||
|
|
682ef9e2a8 | ||
|
|
5ddbf9bba9 | ||
|
|
04aea413ba | ||
|
|
0e655b4f9a | ||
|
|
96819f3798 | ||
|
|
fa770871e9 | ||
|
|
0b050e2a30 | ||
|
|
40330c4606 | ||
|
|
731865427e | ||
|
|
eaa276b284 | ||
|
|
050b78f378 | ||
|
|
5f8feec1c1 | ||
|
|
e61c882fee | ||
|
|
c4e4e7432d | ||
|
|
658702dcbb | ||
|
|
356d6a6589 | ||
|
|
09f759355f | ||
|
|
c22e6b4502 | ||
|
|
5c72a52ea2 | ||
|
|
d782d62b34 | ||
|
|
9b874b8941 | ||
|
|
43656aaa1e | ||
|
|
8f98f87d12 | ||
|
|
6e96bbb2e9 | ||
|
|
93d4f2d595 | ||
|
|
68c6ddf05d | ||
|
|
15153a4446 | ||
|
|
e8d378e167 | ||
|
|
ee202b721d | ||
|
|
727800ef2c | ||
|
|
34ed0cba08 | ||
|
|
817b7bb4f2 | ||
|
|
1d25d95740 | ||
|
|
4a51f14328 | ||
|
|
2ef7adec89 | ||
|
|
6ad8d730cc | ||
|
|
a1a6a7ef56 | ||
|
|
200f4d0f07 | ||
|
|
8a976d40be | ||
|
|
9f4e93df14 | ||
|
|
4751b79f42 | ||
|
|
80e93e23f9 | ||
|
|
7c6a5afbff | ||
|
|
51499c4bdd | ||
|
|
868a65abd8 | ||
|
|
935bb5bd1c | ||
|
|
e099f6ad33 | ||
|
|
9631a9c2ad | ||
|
|
b38925413d | ||
|
|
cd21071c69 | ||
|
|
84df2794dc | ||
|
|
1bcbe65819 | ||
|
|
b9546ccd4c | ||
|
|
9df6ecafd0 | ||
|
|
9eeef0be97 | ||
|
|
4f8ed09183 | ||
|
|
bad4d94f77 | ||
|
|
e8a69dd60c | ||
|
|
9b80c4f7eb | ||
|
|
1b14706b08 | ||
|
|
0aee1cf7d0 | ||
|
|
12e40ca865 | ||
|
|
b4c1a949cc | ||
|
|
a54f57611c | ||
|
|
3be945a401 | ||
|
|
95b19ec303 | ||
|
|
da75a010c7 | ||
|
|
eb72b9ca7d | ||
|
|
c29e5c76dc | ||
|
|
53b9bcaaac | ||
|
|
844f76c2ca | ||
|
|
c7601d7a43 | ||
|
|
07c15127ba | ||
|
|
256f6954c5 | ||
|
|
ceaf755ac6 | ||
|
|
e157ca2430 | ||
|
|
b857bb9652 | ||
|
|
fcbcf4039b | ||
|
|
90f09e7570 | ||
|
|
7bfe08d466 | ||
|
|
e2da7928b1 | ||
|
|
98ca274169 | ||
|
|
0a49f76c0a | ||
|
|
2a0b104e5e | ||
|
|
71e5a40857 | ||
|
|
3b1fa19ea8 | ||
|
|
a0f200be0d | ||
|
|
e3ce9b2645 | ||
|
|
7afbc346d5 | ||
|
|
35eee0b590 | ||
|
|
7626ebe7a6 | ||
|
|
bde736c18a | ||
|
|
61e61a1fd5 | ||
|
|
8906c47798 | ||
|
|
8a99e29122 | ||
|
|
375b15727d | ||
|
|
7484889836 | ||
|
|
263524e856 | ||
|
|
5ae926a376 | ||
|
|
92a4e73a22 | ||
|
|
2230d96705 | ||
|
|
1000b1a6fc | ||
|
|
e5c73cee4a | ||
|
|
565ffa7d1e | ||
|
|
b3f98fc975 | ||
|
|
88f2a66aac | ||
|
|
0fda49c060 | ||
|
|
afcf232bd8 | ||
|
|
29ec830e5c | ||
|
|
32e2791f56 | ||
|
|
0d35527035 | ||
|
|
b1304057ec | ||
|
|
c26ff40029 | ||
|
|
4e42f97c8f | ||
|
|
4cfa163bbd | ||
|
|
768262ae64 | ||
|
|
fb2bcb57bb | ||
|
|
20ca90800d | ||
|
|
6c6e23910d | ||
|
|
586e1a0830 | ||
|
|
6b4455e13d | ||
|
|
4d04af4043 | ||
|
|
f934042a98 | ||
|
|
0b63f35a54 | ||
|
|
7af83ab704 | ||
|
|
0f8127a897 | ||
|
|
99a1343b9d | ||
|
|
eab5dad32d | ||
|
|
3a0e5e51df | ||
|
|
0b8c620fd3 | ||
|
|
c0df292567 | ||
|
|
defba23d61 | ||
|
|
48bdd5fa86 | ||
|
|
7242d68c4b | ||
|
|
85dd446198 | ||
|
|
6d923f703a | ||
|
|
90f42e6737 | ||
|
|
58861c35b0 | ||
|
|
051ba4fa48 | ||
|
|
7aa18dbb22 | ||
|
|
203bafc4c3 | ||
|
|
9f809114f0 | ||
|
|
d20f40184f | ||
|
|
239352ad88 | ||
|
|
d8c14ffe97 | ||
|
|
c5472edc6f | ||
|
|
400743fc64 | ||
|
|
ea8c57be23 | ||
|
|
591cde53cf | ||
|
|
90bb67c654 | ||
|
|
fc58e8a0c6 | ||
|
|
8f7fda492c | ||
|
|
e423314ac2 | ||
|
|
f92d85c536 | ||
|
|
9fabe59b80 | ||
|
|
55c98d8706 | ||
|
|
6e94b03c13 | ||
|
|
e3a82d4614 | ||
|
|
c61f641613 | ||
|
|
f6d74e3996 | ||
|
|
099314d17f | ||
|
|
708b5a6904 | ||
|
|
b64a51337e | ||
|
|
19dcf7851b | ||
|
|
fb346e15e8 | ||
|
|
827d8c0dad | ||
|
|
beef041e71 | ||
|
|
8b575484e6 | ||
|
|
d4b77a6541 | ||
|
|
4ba6334506 | ||
|
|
b78899cb9a | ||
|
|
0dec7b9f4f | ||
|
|
81a4f3ced0 | ||
|
|
b155b8609f | ||
|
|
970ad7cf28 | ||
|
|
c4625f50a8 | ||
|
|
001bd38557 | ||
|
|
7aae915a68 | ||
|
|
5f1ac96f66 | ||
|
|
68c2d81072 | ||
|
|
4dea03fc74 | ||
|
|
3e4099fe5b | ||
|
|
a70942ed53 | ||
|
|
7e8c72f424 | ||
|
|
e538eae726 | ||
|
|
898239a42e | ||
|
|
1055cc0f45 | ||
|
|
9f36b54b04 | ||
|
|
1f42ab8c4f | ||
|
|
3f0fbc0810 | ||
|
|
7e4b62c68d | ||
|
|
784b154228 | ||
|
|
ddba79ef3d | ||
|
|
7712d0ada0 | ||
|
|
38837db8de | ||
|
|
d997d887e5 | ||
|
|
341a971cd3 | ||
|
|
fa380c8b2c | ||
|
|
758c70283f | ||
|
|
747c70a58e | ||
|
|
6ca2e42bca | ||
|
|
cb505a07fe | ||
|
|
5819b6dd39 | ||
|
|
644e7d0450 | ||
|
|
b0e3d77975 | ||
|
|
643a209812 | ||
|
|
c3311e83a0 | ||
|
|
3301e9cb69 | ||
|
|
cf2c0bd47e | ||
|
|
df0c5c41c5 | ||
|
|
59e6757242 | ||
|
|
6bbcf9b3d6 | ||
|
|
208d21ff73 | ||
|
|
2df71dbde5 | ||
|
|
9e4f246c89 | ||
|
|
e4fc8e4156 | ||
|
|
883d4d81d5 | ||
|
|
041b86981f | ||
|
|
470e993c2d | ||
|
|
cbf10ebb7f | ||
|
|
89f06274bb | ||
|
|
c07cd440cd | ||
|
|
e90be67fec | ||
|
|
37ea01bd44 | ||
|
|
ccc91e2e52 | ||
|
|
d31954761f | ||
|
|
aa122b062e | ||
|
|
65921eaf7b | ||
|
|
bfbd978d3f | ||
|
|
1876dbd523 | ||
|
|
ea7eb7c0ec | ||
|
|
19c733ce95 | ||
|
|
2ba5dd1344 | ||
|
|
61eddfce90 | ||
|
|
0840556f77 | ||
|
|
f564e8a1c4 | ||
|
|
315d9835b2 | ||
|
|
ed03456999 | ||
|
|
e1a14007f8 | ||
|
|
a15cfae03a | ||
|
|
c2a195360a | ||
|
|
a4f99995bb | ||
|
|
16616f4e0e | ||
|
|
a5294e1e08 | ||
|
|
a8dbff06a3 | ||
|
|
d9cd5d4680 | ||
|
|
ac42ccb5e4 | ||
|
|
68ca95faf0 | ||
|
|
8d285c66aa | ||
|
|
1f28122428 | ||
|
|
6ec179e0f7 | ||
|
|
423511765a | ||
|
|
c061d67b14 | ||
|
|
4863078744 | ||
|
|
88881de8c6 | ||
|
|
690c439ae6 | ||
|
|
e78b5202bc | ||
|
|
c9be1d0a19 | ||
|
|
3348eef423 | ||
|
|
931af6c97e | ||
|
|
cea2948593 | ||
|
|
a468c84b30 | ||
|
|
7278625f53 | ||
|
|
7b3e692f68 | ||
|
|
fdb0d97b28 | ||
|
|
08a2439f46 | ||
|
|
6767487e40 | ||
|
|
141a2d2856 | ||
|
|
2eea57e609 | ||
|
|
0b185e347b | ||
|
|
1e1db31ab5 | ||
|
|
7233274110 | ||
|
|
d4e2b21534 | ||
|
|
4f206f987a | ||
|
|
dfddda57b9 | ||
|
|
0cacd71503 | ||
|
|
fdf3ebbb6c | ||
|
|
a3d9e457a0 | ||
|
|
ffb5c0635e | ||
|
|
b4f23d8154 | ||
|
|
ed310c2dac | ||
|
|
50167d40d7 | ||
|
|
5261d4375f | ||
|
|
0b56cd5fa0 | ||
|
|
e22946ef61 | ||
|
|
0457fd260e | ||
|
|
c60b7b213e | ||
|
|
c759c4301e | ||
|
|
307736e263 | ||
|
|
7aa5bc4bc1 | ||
|
|
c47e4efade | ||
|
|
b0781e820c | ||
|
|
1aca3b0adc | ||
|
|
20c4b0ee0c | ||
|
|
3df4a7ac2e | ||
|
|
efdeb81af1 | ||
|
|
34295a78f2 | ||
|
|
57163612ff | ||
|
|
1a9b009951 | ||
|
|
9406b4b226 | ||
|
|
38dc6ab8cf | ||
|
|
55c3db339b | ||
|
|
34456a7459 | ||
|
|
02b029abbe | ||
|
|
b26eb3d146 | ||
|
|
7cb6100c9c | ||
|
|
ef06485c45 | ||
|
|
1c2d9c1fe4 | ||
|
|
6f7f7d87c6 | ||
|
|
817aadd52d | ||
|
|
058bad0af3 | ||
|
|
0e421ae415 | ||
|
|
2227c3afc1 | ||
|
|
050af8a793 | ||
|
|
6207855f3b | ||
|
|
a65a70ab48 | ||
|
|
4110bb874f | ||
|
|
5c74f374af | ||
|
|
a8420a43f9 | ||
|
|
279bce2014 | ||
|
|
f3d370870d | ||
|
|
0e30659c26 | ||
|
|
f34dfca5e6 | ||
|
|
cec68c3fd7 | ||
|
|
5c2f698cb4 | ||
|
|
f5fc2d52b8 | ||
|
|
edef85fa3e | ||
|
|
6244ad5fa8 | ||
|
|
aba23f67a0 | ||
|
|
1a913c502b | ||
|
|
078982ada6 | ||
|
|
3035184d25 | ||
|
|
fccdc7ebdc | ||
|
|
e0c74c2d39 | ||
|
|
288f372914 | ||
|
|
ba331436fa | ||
|
|
afd4069eb4 | ||
|
|
387f9b1230 | ||
|
|
2114817890 | ||
|
|
dac2ab5409 | ||
|
|
b87ca60c5a | ||
|
|
6d44075662 | ||
|
|
69af205094 | ||
|
|
8a2e3f5d93 | ||
|
|
3f79726ab9 | ||
|
|
d1c4b1599a | ||
|
|
a0842a1e68 | ||
|
|
29042e4841 | ||
|
|
3e2cfb5136 | ||
|
|
0d55599e02 | ||
|
|
ea1b0b26b1 | ||
|
|
176b2eb18b | ||
|
|
98a1c111b9 | ||
|
|
47048d8410 | ||
|
|
882fa7ecd4 | ||
|
|
d07ece53e6 | ||
|
|
afd2f6ba14 | ||
|
|
226b0d4194 | ||
|
|
44e4b5d238 | ||
|
|
c59d2575c8 | ||
|
|
f50b4724a6 | ||
|
|
48cbccff1e | ||
|
|
e31ec20ec4 | ||
|
|
b9ec216aa5 | ||
|
|
2ac3004762 | ||
|
|
543cbc6d1c | ||
|
|
27d8dbf13b | ||
|
|
e487b31877 | ||
|
|
2845a791d0 | ||
|
|
024df8c53f | ||
|
|
12d97475da | ||
|
|
5154d431f6 | ||
|
|
0fc1ad664f | ||
|
|
bb683bd393 | ||
|
|
69df8174b9 | ||
|
|
56ccf28000 | ||
|
|
0a45fc9ffe | ||
|
|
a56262401b | ||
|
|
ebea0d91af | ||
|
|
d6cea2f76d | ||
|
|
4386fd9f89 | ||
|
|
1c18edac76 | ||
|
|
247b93e8ec | ||
|
|
6470f9acb9 | ||
|
|
65e0aa6b82 | ||
|
|
53cc8e1115 | ||
|
|
72b8ec8f3b | ||
|
|
29e24232ad | ||
|
|
6d0cceca83 | ||
|
|
8e9b928b61 | ||
|
|
df81e84fc2 | ||
|
|
e6a1b72354 | ||
|
|
e48b97466c | ||
|
|
84b9929025 | ||
|
|
5c50dba9e1 | ||
|
|
55b9b8fc91 | ||
|
|
fb698896c9 | ||
|
|
95c32221a2 | ||
|
|
230fc8e11e | ||
|
|
9b919b6c34 | ||
|
|
49d3b7bf30 | ||
|
|
1d778676cd | ||
|
|
e887b3106f | ||
|
|
be5600dae2 | ||
|
|
686fb701bf | ||
|
|
a73c4d57b1 | ||
|
|
e6ce1dd0b0 | ||
|
|
25ab660c14 | ||
|
|
38d3eea6ee | ||
|
|
13f69a2245 | ||
|
|
ec337a8a84 | ||
|
|
267362a7a0 | ||
|
|
11f26bfefd | ||
|
|
87c3f5163e | ||
|
|
22bdf98617 | ||
|
|
e5001e8f40 | ||
|
|
ddd6c82dd7 | ||
|
|
155dc49c5a | ||
|
|
c2c0dd2717 | ||
|
|
27cf98a962 | ||
|
|
aaaa67050c | ||
|
|
52ae118e3c | ||
|
|
cb929f7e59 | ||
|
|
94b64884f8 | ||
|
|
8a590c7472 | ||
|
|
b11c33b2d9 | ||
|
|
eb201003ee | ||
|
|
cf9bad03aa | ||
|
|
c5127d2eec | ||
|
|
0a35adbdba | ||
|
|
38d68d9d97 | ||
|
|
8494c6c5d4 | ||
|
|
cbfdb7df56 | ||
|
|
ea44923cce | ||
|
|
e75f8603b0 | ||
|
|
5437974b85 | ||
|
|
99abc21dab | ||
|
|
5156399c68 | ||
|
|
c8a5ef8c5d | ||
|
|
5b52835377 | ||
|
|
b8277614ec | ||
|
|
fb6bdbefd5 | ||
|
|
53c33317f9 | ||
|
|
d534973650 | ||
|
|
ed154d35ba | ||
|
|
ff7e5da6de | ||
|
|
d7fa5b6b6b | ||
|
|
d57bd62add | ||
|
|
0f6dff6315 | ||
|
|
97b4e4a3d3 | ||
|
|
84c84160fd | ||
|
|
60c9926834 | ||
|
|
fcde1ba09c | ||
|
|
8dcf326576 | ||
|
|
22b0ebb5a8 | ||
|
|
c5d99a12f3 | ||
|
|
240f5b6718 | ||
|
|
d184bd8c82 | ||
|
|
98a2dedb32 | ||
|
|
c405cb2f1c | ||
|
|
5ea100352e | ||
|
|
86c5a8df75 | ||
|
|
a05562cdc5 | ||
|
|
ee37f1db3d | ||
|
|
c9720cad81 | ||
|
|
2124ef261a | ||
|
|
aae6030064 | ||
|
|
b234fcec9c | ||
|
|
1a45145c1e | ||
|
|
c1a282aa7b | ||
|
|
e23c5614b6 | ||
|
|
f457937980 | ||
|
|
eac8838dc2 | ||
|
|
74d281526b | ||
|
|
7a8128eec4 | ||
|
|
a55be5e58f | ||
|
|
4c317f1e4a | ||
|
|
48c46dc79a | ||
|
|
b9339bb727 | ||
|
|
e1f8e6aa6f | ||
|
|
76c95d8c6c | ||
|
|
a7da714b13 | ||
|
|
916cfcdb03 | ||
|
|
b8fc415870 | ||
|
|
428cb9c986 | ||
|
|
99341409f4 | ||
|
|
f07333acc9 | ||
|
|
342f5f1a09 | ||
|
|
d74efd839f | ||
|
|
af898e9117 | ||
|
|
c0e48627ae | ||
|
|
534ed91d04 | ||
|
|
c58d0af88f | ||
|
|
ca5c1e8a15 | ||
|
|
4e96a1065e | ||
|
|
c9a8d19e6c | ||
|
|
81f5fdda15 | ||
|
|
a38730eb9e | ||
|
|
1a9e650936 | ||
|
|
ae5177b20f | ||
|
|
27090f0cfb | ||
|
|
433b5a46cf | ||
|
|
034d71dce3 | ||
|
|
c3de2310c5 | ||
|
|
b9478e0f00 | ||
|
|
94aeac992c | ||
|
|
4927d26877 | ||
|
|
ae1634623e | ||
|
|
296c7d3c13 | ||
|
|
22add258ae | ||
|
|
77f66be493 | ||
|
|
f41cb8089d | ||
|
|
32a686a037 | ||
|
|
236abcf3f1 | ||
|
|
325f9f629d | ||
|
|
88a771c9ff | ||
|
|
b960e41cfa | ||
|
|
9f461d0fe6 | ||
|
|
9db1f3baca | ||
|
|
af5a02d971 | ||
|
|
71bb6538db | ||
|
|
06ecc45d13 | ||
|
|
31607c4d18 | ||
|
|
84bb214642 | ||
|
|
d821bdc9f3 | ||
|
|
63461e0895 | ||
|
|
08755a211b | ||
|
|
a3c9c1c386 | ||
|
|
0de2f1776e | ||
|
|
da0db92b9f | ||
|
|
95bf63330e | ||
|
|
04cec39277 | ||
|
|
7b95785954 | ||
|
|
7d0342e366 | ||
|
|
21bc08d643 | ||
|
|
ffa6f7ea34 | ||
|
|
6b0449dde7 | ||
|
|
aa4107478e | ||
|
|
9f8e7917a8 | ||
|
|
1b652c882e | ||
|
|
601234e492 | ||
|
|
6c804edadf | ||
|
|
3a5c0d9818 | ||
|
|
2194a05e60 | ||
|
|
a89c1a8d9a | ||
|
|
86215f8483 | ||
|
|
a1b01c1b40 | ||
|
|
09cb95d3da | ||
|
|
48d7bdee0e | ||
|
|
5157fc201c | ||
|
|
492ea5bceb | ||
|
|
e8cf351b6a | ||
|
|
fc0628d35b | ||
|
|
1f7391737e | ||
|
|
acdb7a27dc | ||
|
|
1fed324f91 | ||
|
|
e4771ba508 | ||
|
|
6a36a3b1d9 | ||
|
|
2956b28a32 | ||
|
|
50471ec8c8 | ||
|
|
3aa9ff5fba | ||
|
|
b6be5afb89 | ||
|
|
157b809e21 | ||
|
|
f74e2b0130 | ||
|
|
c887a162ba | ||
|
|
52df71ad3a | ||
|
|
d6ddc90199 | ||
|
|
9600e7f5ad | ||
|
|
f3603d05e7 | ||
|
|
8cd243b06b | ||
|
|
1da3437a4a | ||
|
|
c72fb92318 | ||
|
|
954448863e | ||
|
|
eec6009398 | ||
|
|
ce362f0e5e | ||
|
|
4940a77d12 | ||
|
|
4e77e01a67 | ||
|
|
5acdcb6c09 | ||
|
|
8400d855de | ||
|
|
bd07cb91bb | ||
|
|
d7e0a9b1ad | ||
|
|
dc600d47ec | ||
|
|
0d3952eef5 | ||
|
|
30a4ce40b9 | ||
|
|
9d0ab0ae5f | ||
|
|
e78d8b9fcc | ||
|
|
f350977cb4 | ||
|
|
7a652c0a8c | ||
|
|
a652baadb5 | ||
|
|
66b86888fc | ||
|
|
e07501252c | ||
|
|
2977ba9ec2 | ||
|
|
db35bb54e1 | ||
|
|
19bb6f5fe0 | ||
|
|
aab752dd2e | ||
|
|
8c75fdcb4c | ||
|
|
df03b69151 | ||
|
|
aca7a851bb | ||
|
|
e9caefdfce | ||
|
|
16ac20b594 | ||
|
|
a3e071b734 | ||
|
|
5d3b9d2f22 | ||
|
|
27a7e86599 | ||
|
|
d93d0ab19e | ||
|
|
776627eee9 | ||
|
|
5185eeb7ef | ||
|
|
083bc71315 | ||
|
|
b1b931922e | ||
|
|
0717f0d60c | ||
|
|
525fdd6c2b | ||
|
|
f27e75e8fa | ||
|
|
0ad5290389 | ||
|
|
7895afb8e9 | ||
|
|
2626378dfd | ||
|
|
1378245a63 | ||
|
|
05c92e652c | ||
|
|
6c0dd81528 | ||
|
|
bd1d775ca9 | ||
|
|
b3207b8144 | ||
|
|
4c8dd0ca9d | ||
|
|
61d9fcd753 | ||
|
|
c5607f07c8 | ||
|
|
49802be7d4 | ||
|
|
3d932b1cce | ||
|
|
66a6674cbc | ||
|
|
2d12c126eb | ||
|
|
3ec992474d | ||
|
|
15babe97ea | ||
|
|
308fd3dcac | ||
|
|
e8250104c8 | ||
|
|
796cd674d7 | ||
|
|
1fe9272a8f | ||
|
|
c285de87d4 | ||
|
|
058062d586 | ||
|
|
3b4fd35dde | ||
|
|
2a6bd5de35 | ||
|
|
64e539fcfb | ||
|
|
de6ca29dcd | ||
|
|
ef63202be2 | ||
|
|
62493c672d | ||
|
|
8c58a69be6 | ||
|
|
2eb3ec1a6e | ||
|
|
e3da17caa8 | ||
|
|
c7e35a1801 | ||
|
|
83c6b22d30 | ||
|
|
fc5d49bf9a | ||
|
|
473ed45b3f | ||
|
|
c5ddbcfb5b | ||
|
|
72b0ba36ae | ||
|
|
b107c0671d | ||
|
|
b9e233601d | ||
|
|
8f16388915 | ||
|
|
d143929454 | ||
|
|
45a0c5558a | ||
|
|
b6596f9957 | ||
|
|
7059b947e8 | ||
|
|
4eafe7a2c8 | ||
|
|
d165da9c6c | ||
|
|
a341b793e4 | ||
|
|
a1d46a278b | ||
|
|
c6cf3a98a4 | ||
|
|
56887efdf5 | ||
|
|
4ec193042f | ||
|
|
6b33db3ae3 | ||
|
|
855772ae5a | ||
|
|
467ba380b2 | ||
|
|
93ed8e98c1 | ||
|
|
5c18db240c | ||
|
|
915ec81f83 | ||
|
|
8c545d2947 | ||
|
|
cbfbae1409 | ||
|
|
728b7dec3e | ||
|
|
7b5730723d | ||
|
|
71844e13af | ||
|
|
c6dfdf9135 | ||
|
|
4cd3a37b4a | ||
|
|
5efb4b522f | ||
|
|
64d5e329c0 | ||
|
|
ee9caa4305 | ||
|
|
39b56ac598 | ||
|
|
551ffb88ab | ||
|
|
698bd431e6 | ||
|
|
ccd3b305c2 | ||
|
|
b47c90f0e0 | ||
|
|
1afd5f70dd | ||
|
|
4cb304def8 | ||
|
|
f2af308e6d | ||
|
|
a6868e2b25 | ||
|
|
7a96ddccc6 | ||
|
|
bda5be8e4c | ||
|
|
93f5d4058d | ||
|
|
98dd2be673 | ||
|
|
ea7c1ace2a | ||
|
|
2da2054ccf | ||
|
|
3f5fa0025d | ||
|
|
f4be165767 | ||
|
|
55a1628a5e | ||
|
|
6c32f6beff | ||
|
|
21ec8fe53f | ||
|
|
4185209036 | ||
|
|
6150e0c56b | ||
|
|
42b811e578 | ||
|
|
ef1597e45b | ||
|
|
1e677c6728 | ||
|
|
9ef1e32327 | ||
|
|
173f6fd75d | ||
|
|
bbe7821483 | ||
|
|
65ca490b64 | ||
|
|
907f222a73 | ||
|
|
b649d61e8b | ||
|
|
ea793368a9 | ||
|
|
3331526865 | ||
|
|
cccb22f0e3 | ||
|
|
4f0d9605fe | ||
|
|
19fcd3dad6 | ||
|
|
eb8ff91c5d | ||
|
|
f98edcab5c | ||
|
|
e5ea3bd707 | ||
|
|
c87c1d2359 | ||
|
|
7bb9c69c08 | ||
|
|
25eb2edb86 | ||
|
|
c2a8970109 | ||
|
|
59c14801cc | ||
|
|
ea749bb052 | ||
|
|
1cb69c9b43 | ||
|
|
89d8a2fe72 | ||
|
|
4846b0ec28 | ||
|
|
771033a449 | ||
|
|
16d7301046 | ||
|
|
e2893fe68f | ||
|
|
8d913d77dd | ||
|
|
0522db3f19 | ||
|
|
50cea9d912 | ||
|
|
cff6a64e9f | ||
|
|
219a6b3ad1 | ||
|
|
798c230634 | ||
|
|
3801150a7a | ||
|
|
91b2b14ba5 | ||
|
|
1b8cda7924 | ||
|
|
31a4309077 | ||
|
|
db3fd24cea | ||
|
|
62b956946f | ||
|
|
04552f7921 | ||
|
|
9417105990 | ||
|
|
593c24e5bd | ||
|
|
7380bfa9e4 | ||
|
|
6f0d16bca5 | ||
|
|
78dafc9cbe | ||
|
|
2da5800665 | ||
|
|
6270433237 | ||
|
|
8214d25f9f | ||
|
|
df7565c9e2 | ||
|
|
d48218bfe9 | ||
|
|
db653cbdac | ||
|
|
766f70c81a | ||
|
|
3e9311b096 | ||
|
|
1bfb8d35cd | ||
|
|
07a85a1018 | ||
|
|
145641ac41 | ||
|
|
08aa827366 | ||
|
|
4d8a939291 | ||
|
|
e1f514042f | ||
|
|
7d78457fe0 | ||
|
|
f067b8b37c | ||
|
|
6043584305 | ||
|
|
bb02ccd574 | ||
|
|
64b250903f | ||
|
|
c5e73219bf | ||
|
|
5f47d3b021 | ||
|
|
d22b626a02 | ||
|
|
af9c0cca23 | ||
|
|
a641c0bb2f | ||
|
|
6c3ab99e3c |
@@ -45,13 +45,14 @@ before_build:
|
||||
- CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
|
||||
- SET PATH=%PATH%;c:\qbt\qt5_32\bin;%CACHE_DIR%\jom;
|
||||
# setup project
|
||||
- COPY /Y "%CACHE_DIR%\winconf.pri" "%REPO_DIR%"
|
||||
- COPY /Y "%CACHE_DIR%\winconf-msvc.pri" "%REPO_DIR%"
|
||||
- COPY /Y "%CACHE_DIR%\conf.pri" "%REPO_DIR%"
|
||||
# workarounds
|
||||
- MKLINK /J "c:\qbt\base" "%CACHE_DIR%\base"
|
||||
|
||||
build_script:
|
||||
- cd "%REPO_DIR%"
|
||||
# scan only as lupdate is prone to hang
|
||||
- lupdate -extensions c,cpp,h,hpp,ui .
|
||||
- qmake qbittorrent.pro && cd src && qmake src.pro
|
||||
- jom -j2 -f Makefile.Release
|
||||
|
||||
|
||||
18
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,14 +1,20 @@
|
||||
**Please provide the following information**
|
||||
|
||||
### qBittorrent version and Operating System:
|
||||
### qBittorrent version and Operating System
|
||||
(type here)
|
||||
|
||||
### If on linux, libtorrent and Qt version:
|
||||
### If on linux, libtorrent-rasterbar and Qt version
|
||||
(type here)
|
||||
|
||||
### What is the problem:
|
||||
### What is the problem
|
||||
(type here)
|
||||
|
||||
### What is the expected behavior:
|
||||
### What is the expected behavior
|
||||
(type here)
|
||||
|
||||
### Steps to reproduce:
|
||||
### Steps to reproduce
|
||||
(type here)
|
||||
|
||||
### Extra info(if any):
|
||||
### Extra info(if any)
|
||||
(type here)
|
||||
|
||||
|
||||
9
.gitignore
vendored
@@ -4,6 +4,7 @@ src/qbittorrent
|
||||
src/qbittorrent-nox
|
||||
src/release
|
||||
src/debug
|
||||
CMakeLists.txt.user*
|
||||
qbittorrent.pro.user*
|
||||
conf.pri
|
||||
Makefile*
|
||||
@@ -22,6 +23,7 @@ qrc_*.cpp
|
||||
ui_*.h
|
||||
*.moc
|
||||
src/lang/qbittorrent_*.qm
|
||||
src/webui/www/translations/webui_*.qm
|
||||
.DS_Store
|
||||
.qmake.stash
|
||||
src/qbittorrent.app
|
||||
@@ -34,3 +36,10 @@ config.status
|
||||
src/icons/qbt-theme/build-icons/node_modules/
|
||||
src/icons/skin/build-icons/node_modules/
|
||||
src/icons/skin/build-icons/icons/*.png
|
||||
|
||||
# CMake build directory
|
||||
build/
|
||||
|
||||
# Web UI tools
|
||||
node_modules
|
||||
package-lock.json
|
||||
|
||||
237
.travis.yml
@@ -3,25 +3,29 @@ language: cpp
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
osx_image: xcode7.3
|
||||
|
||||
dist: xenial
|
||||
|
||||
env:
|
||||
matrix:
|
||||
# Uncomment when Travis upgraded "Ubuntu 12.04 LTS" to a newer version whose repo will have a more up-to-date libtorrent package
|
||||
#- lt_branch=dist gui=true
|
||||
#- lt_branch=dist gui=false
|
||||
- lt_branch=RC_1_0 gui=true build_system=cmake
|
||||
- lt_branch=RC_1_0 gui=false build_system=cmake
|
||||
- lt_branch=RC_1_0 gui=true build_system=qmake
|
||||
- lt_branch=RC_1_0 gui=false build_system=qmake
|
||||
- libt_branch=RC_1_2 gui=true build_system=qmake
|
||||
- libt_branch=RC_1_2 gui=false build_system=qmake
|
||||
- libt_branch=RC_1_2 gui=true build_system=cmake
|
||||
- libt_branch=RC_1_2 gui=false build_system=cmake
|
||||
- libt_branch=RC_1_1 gui=true build_system=qmake
|
||||
- libt_branch=RC_1_1 gui=false build_system=qmake
|
||||
- libt_branch=RC_1_1 gui=true build_system=cmake
|
||||
- libt_branch=RC_1_1 gui=false build_system=cmake
|
||||
global:
|
||||
- secure: "OI9CUjj4lTb0HwwIZU5PbECU3hLlAL6KC8KsbwohG8/O3j5fLcnmDsK4Ad9us5cC39sS11Jcd1kDP2qRcCuST/glVNhLkcjKkiQerOfd5nQ/qL4JYfz/1mfP5mdpz9jHKzpLUIG+TXkbSTjP6VVmsb5KPT+3pKEdRFZB+Pu9+J8="
|
||||
- coverity_branch: coverity_scan
|
||||
|
||||
matrix:
|
||||
allow_failures:
|
||||
- env: lt_branch=RC_1_0 gui=true build_system=cmake
|
||||
- env: lt_branch=RC_1_0 gui=false build_system=cmake
|
||||
- env: libt_branch=RC_1_2 gui=true build_system=cmake
|
||||
- env: libt_branch=RC_1_2 gui=false build_system=cmake
|
||||
- env: libt_branch=RC_1_1 gui=true build_system=cmake
|
||||
- env: libt_branch=RC_1_1 gui=false build_system=cmake
|
||||
|
||||
branches:
|
||||
except:
|
||||
@@ -36,150 +40,187 @@ notifications:
|
||||
cache:
|
||||
ccache: true
|
||||
directories:
|
||||
- $HOME/hombebrew_cache
|
||||
|
||||
# opt-in Ubuntu Trusty
|
||||
dist: trusty
|
||||
# container-based builds
|
||||
sudo: false
|
||||
- $HOME/travis/deb
|
||||
- $HOME/travis/brew
|
||||
|
||||
addons:
|
||||
coverity_scan:
|
||||
project:
|
||||
name: "qbittorrent/qBittorrent"
|
||||
description: "Build submitted via Travis CI"
|
||||
build_command_prepend: "./bootstrap.sh && ./configure $qbtconf"
|
||||
build_command: make
|
||||
build_command_prepend: "./bootstrap.sh && ./configure $qmake_conf"
|
||||
build_command: "make -j2"
|
||||
branch_pattern: $coverity_branch
|
||||
notification_email: sledgehammer999@qbittorrent.org
|
||||
apt:
|
||||
sources:
|
||||
# sources list: https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
|
||||
- ubuntu-toolchain-r-test
|
||||
#- boost-latest
|
||||
- sourceline: 'ppa:qbittorrent-team/qbittorrent-stable'
|
||||
- sourceline: 'ppa:beineri/opt-qt551-trusty'
|
||||
- sourceline: 'ppa:adrozdoff/cmake'
|
||||
# sources list: https://github.com/travis-ci/apt-source-safelist/blob/master/ubuntu.json
|
||||
- sourceline: 'ppa:qbittorrent-team/qbt-libtorrent-travisci'
|
||||
- sourceline: 'ppa:beineri/opt-qt59-xenial'
|
||||
packages:
|
||||
# packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
|
||||
# packages list: https://github.com/travis-ci/apt-package-safelist/blob/master/ubuntu-trusty
|
||||
- [autoconf, automake, colormake]
|
||||
- [cmake, ninja-build]
|
||||
- libssl-dev
|
||||
- [libboost-dev, libboost-system-dev]
|
||||
- libtorrent-rasterbar-dev
|
||||
- [qt55base, qt55svg, qt55tools]
|
||||
- [gcc-6, g++-6]
|
||||
- libssl-dev
|
||||
- [qt59base, qt59svg, qt59tools]
|
||||
- zlib1g-dev
|
||||
# required for Qt 5.9 from 'beineri' PPA
|
||||
- libgl1-mesa-dev
|
||||
|
||||
before_install:
|
||||
# only allow specific build for coverity scan, others will stop
|
||||
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ] && ! [ "$TRAVIS_OS_NAME" = "linux" -a "$lt_branch" = "RC_1_0" -a "$gui" = true -a "$build_system" = "qmake" ]; then exit ; fi
|
||||
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ] && ! [ "$TRAVIS_OS_NAME" = "linux" -a "$libt_branch" = "RC_1_2" -a "$gui" = "true" -a "$build_system" = "qmake" ]; then exit ; fi
|
||||
|
||||
- shopt -s expand_aliases
|
||||
- alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system)
|
||||
#- libt_path="$HOME/libt_install"
|
||||
#- ltconf="$ltconf --prefix="$libt_path" --disable-geoip"
|
||||
- alias make="colormake -j2" # Using nprocs/2 sometimes may fail (gcc is killed by system)
|
||||
- qbt_path="$HOME/qbt_install"
|
||||
- qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH="$libt_path/lib/pkgconfig":/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
- qmake_conf="$qmake_conf --prefix=$qbt_path"
|
||||
- cmake_conf="$cmake_conf -DCMAKE_INSTALL_PREFIX=$qbt_path"
|
||||
|
||||
# options for specific branches
|
||||
- if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ; fi
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
# setup virtual display for after_success target
|
||||
if [ "$gui" = true ]; then export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ; fi ;
|
||||
if [ "$gui" = "true" ]; then export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ; fi ;
|
||||
|
||||
# Qt 5
|
||||
PATH=/opt/qt55/bin:${PATH}
|
||||
# Qt 5.9
|
||||
PATH=/opt/qt59/bin:${PATH}
|
||||
qmake_conf="$qmake_conf PKG_CONFIG_PATH=/opt/qt59/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
cmake_conf="$cmake_conf PKG_CONFIG_PATH=/opt/qt59/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
fi
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
CXXFLAGS="$CXXFLAGS -Wno-unused-local-typedefs"
|
||||
|
||||
if [ "$build_system" = "cmake" ]; then
|
||||
COMPILER_VERSION=6
|
||||
export CXX="${CXX}-${COMPILER_VERSION}" CC="${CC}-${COMPILER_VERSION}"
|
||||
fi
|
||||
openssl_root_path="/usr/local/opt/openssl"
|
||||
qmake_conf="$qmake_conf PKG_CONFIG_PATH=$openssl_root_path/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
cmake_conf="$cmake_conf -DOPENSSL_ROOT_DIR=$openssl_root_path"
|
||||
fi
|
||||
- |
|
||||
if [ "$gui" = "false" ]; then
|
||||
qmake_conf="$qmake_conf --disable-gui"
|
||||
cmake_conf="$cmake_conf -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=ON"
|
||||
fi
|
||||
|
||||
# print settings
|
||||
- echo $lt_branch
|
||||
- echo $libt_branch
|
||||
- echo $gui
|
||||
- echo $build_system
|
||||
- echo $ltconf
|
||||
- echo $qbtconf
|
||||
- echo $qmake_conf
|
||||
- echo $cmake_conf
|
||||
|
||||
install:
|
||||
#- |
|
||||
#if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
# build libtorrent from source
|
||||
#if [ "$lt_branch" != "dist" ]; then
|
||||
#cd "$HOME" && pwd && git clone --depth 1 https://github.com/arvidn/libtorrent.git --branch $lt_branch
|
||||
#cd libtorrent && ./autotool.sh && ./configure $ltconf && make install
|
||||
#fi
|
||||
#fi
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
# dependencies
|
||||
brew update > /dev/null
|
||||
brew outdated "pkg-config" || brew upgrade "pkg-config"
|
||||
brew install colormake ccache zlib qt
|
||||
PATH="/usr/local/opt/ccache/libexec:$PATH"
|
||||
brew link --force zlib qt
|
||||
|
||||
wget https://builds.shiki.hu/homebrew/version
|
||||
if ! cmp --quiet "version" "$HOME/hombebrew_cache/version" ; then
|
||||
echo "Cached files are different from server. Downloading new ones."
|
||||
# First delete old files
|
||||
rm -r "$HOME/hombebrew_cache"
|
||||
mkdir "$HOME/hombebrew_cache"
|
||||
cp "version" $HOME/hombebrew_cache
|
||||
cd "$HOME/hombebrew_cache"
|
||||
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar.rb
|
||||
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz
|
||||
fi
|
||||
|
||||
# Copy custom libtorrent bottle to homebrew's cache so it can find and install it
|
||||
# Also install our custom libtorrent formula by passing the local path to it
|
||||
# These 2 files are restored from Travis' cache.
|
||||
cp "$HOME/hombebrew_cache/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz" "$(brew --cache)"
|
||||
brew install "$HOME/hombebrew_cache/libtorrent-rasterbar.rb"
|
||||
brew update > /dev/null
|
||||
brew install ccache colormake boost openssl qt zlib
|
||||
brew link --force qt zlib
|
||||
|
||||
if [ "$build_system" = "cmake" ]; then
|
||||
brew outdated cmake || brew upgrade cmake
|
||||
brew install ninja
|
||||
|
||||
ln -s /usr/local/opt/qt/mkspecs /usr/local/mkspecs
|
||||
ln -s /usr/local/opt/qt/plugins /usr/local/plugins
|
||||
sudo ln -s /usr/local/opt/qt/mkspecs /usr/local/mkspecs
|
||||
sudo ln -s /usr/local/opt/qt/plugins /usr/local/plugins
|
||||
fi
|
||||
|
||||
MY_CMAKE_OPENSSL_HINT="-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/"
|
||||
fi
|
||||
- |
|
||||
if [ "$TRAVIS_BRANCH" != "$coverity_branch" ]; then
|
||||
export use_ccache=true
|
||||
ccache -M 512M
|
||||
ccache -V && ccache --show-stats && ccache --zero-stats
|
||||
fi
|
||||
- |
|
||||
if [ "$libt_branch" = "RC_1_1" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
wget https://builds.shiki.hu/travis/deb/version
|
||||
if ! cmp --quiet "version" "$HOME/travis/deb/version" ; then
|
||||
echo "Cached files are different from server. Downloading new ones."
|
||||
# First delete old files
|
||||
rm -r "$HOME/travis/deb"
|
||||
mkdir "$HOME/travis/deb"
|
||||
cp "version" $HOME/travis/deb
|
||||
cd "$HOME/travis/deb"
|
||||
wget https://builds.shiki.hu/travis/deb/libtorrent-rasterbar-dev_1.1.x_amd64.deb
|
||||
wget https://builds.shiki.hu/travis/deb/libtorrent-rasterbar9_1.1.x_amd64.deb
|
||||
fi
|
||||
|
||||
sudo dpkg -i "$HOME/travis/deb/libtorrent-rasterbar-dev_1.1.x_amd64.deb" "$HOME/travis/deb/libtorrent-rasterbar9_1.1.x_amd64.deb"
|
||||
fi
|
||||
- |
|
||||
if [ "$libt_branch" = "RC_1_2" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
# Will install latest 1.2.x daily build from the PPA
|
||||
sudo apt-get -y install libtorrent-rasterbar-dev
|
||||
fi
|
||||
- |
|
||||
if [ "$libt_branch" = "RC_1_1" ] && [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
wget https://builds.shiki.hu/travis/brew/1_1/version
|
||||
if ! cmp --quiet "version" "$HOME/travis/brew/1_1/version" ; then
|
||||
echo "Cached files are different from server. Downloading new ones."
|
||||
# First delete old files
|
||||
rm -r "$HOME/travis/brew/1_1"
|
||||
mkdir "$HOME/travis/brew/1_1"
|
||||
cp "version" $HOME/travis/brew/1_1
|
||||
cd "$HOME/travis/brew/1_1"
|
||||
wget https://builds.shiki.hu/travis/brew/1_1/libtorrent-rasterbar.rb
|
||||
wget https://builds.shiki.hu/travis/brew/1_1/bd36a4b440aa138a88e375c1a3b672f1a1bc6606e7866fc3415b6b98fa49e771--libtorrent-rasterbar-1.1.13.high_sierra.bottle.tar.gz
|
||||
fi
|
||||
# Copy custom libtorrent bottle to homebrew's download cache so it can find and install it
|
||||
# Also install our custom libtorrent formula by passing the local path to it
|
||||
# These 2 files are restored from Travis' cache.
|
||||
cp "$HOME/travis/brew/1_1/bd36a4b440aa138a88e375c1a3b672f1a1bc6606e7866fc3415b6b98fa49e771--libtorrent-rasterbar-1.1.13.high_sierra.bottle.tar.gz" "$(brew --cache)/downloads"
|
||||
brew uninstall libtorrent-rasterbar
|
||||
brew install "$HOME/travis/brew/1_1/libtorrent-rasterbar.rb"
|
||||
|
||||
# NOTE about the bottle name
|
||||
# The part before the "--" characters is a sha256 hash of the string
|
||||
# of the URL homebrew itself would use to download the bottle.
|
||||
# In this case the URL is the following:
|
||||
# http://127.0.0.1/libtorrent-rasterbar-1.1.13.high_sierra.bottle.tar.gz
|
||||
fi
|
||||
- |
|
||||
if [ "$libt_branch" = "RC_1_2" ] && [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
wget https://builds.shiki.hu/travis/brew/version
|
||||
if ! cmp --quiet "version" "$HOME/travis/brew/version" ; then
|
||||
echo "Cached files are different from server. Downloading new ones."
|
||||
# First delete old files
|
||||
rm -r "$HOME/travis/brew"
|
||||
mkdir "$HOME/travis/brew"
|
||||
cp "version" $HOME/travis/brew
|
||||
cd "$HOME/travis/brew"
|
||||
wget https://builds.shiki.hu/travis/brew/libtorrent-rasterbar.rb
|
||||
wget https://builds.shiki.hu/travis/brew/6e4eb13f70df35e8fc7ff41883fef3e5c7b535dd55c78cd2ce1eae3fb4288e21--libtorrent-rasterbar-1.2.0.high_sierra.bottle.tar.gz
|
||||
fi
|
||||
# Copy custom libtorrent bottle to homebrew's download cache so it can find and install it
|
||||
# Also install our custom libtorrent formula by passing the local path to it
|
||||
# These 2 files are restored from Travis' cache.
|
||||
cp "$HOME/travis/brew/6e4eb13f70df35e8fc7ff41883fef3e5c7b535dd55c78cd2ce1eae3fb4288e21--libtorrent-rasterbar-1.2.0.high_sierra.bottle.tar.gz" "$(brew --cache)/downloads"
|
||||
brew uninstall libtorrent-rasterbar
|
||||
brew install "$HOME/travis/brew/libtorrent-rasterbar.rb"
|
||||
|
||||
# NOTE about the bottle name
|
||||
# The part before the "--" characters is a sha256 hash of the string
|
||||
# of the URL homebrew itself would use to download the bottle.
|
||||
# In this case the URL is the following:
|
||||
# http://127.0.0.1/libtorrent-rasterbar-1.2.0.high_sierra.bottle.tar.gz
|
||||
fi
|
||||
|
||||
script:
|
||||
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ]; then exit ; fi # skip usual build when running coverity scan
|
||||
- |
|
||||
cd "$TRAVIS_BUILD_DIR"
|
||||
if [ "$build_system" = "cmake" ]; then
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DGUI=${gui} -DCMAKE_INSTALL_PREFIX="$qbt_path" "$MY_CMAKE_OPENSSL_HINT" \
|
||||
-G "Ninja" -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE ..
|
||||
BUILD_TOOL="ninja"
|
||||
fi
|
||||
if [ "$build_system" = "qmake" ]; then
|
||||
./bootstrap.sh && ./configure $qbtconf
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
sed -i "" -e "s/^\(CC.*&&\).*$/\1 $CC/" src/Makefile # workaround for Qt & ccache: https://bugreports.qt.io/browse/QTBUG-31034
|
||||
sed -i "" -e "s/^\(CXX.*&&\).*$/\1 $CXX/" src/Makefile
|
||||
sed -i "" -e 's/^\(CXXFLAGS.*\)$/\1 -Wno-unused-local-typedefs -Wno-inconsistent-missing-override/' src/Makefile
|
||||
fi
|
||||
BUILD_TOOL="make"
|
||||
# scan only as lupdate is prone to hang
|
||||
lupdate -extensions c,cpp,h,hpp,ui ./
|
||||
./bootstrap.sh
|
||||
./configure $qmake_conf CXXFLAGS="$CXXFLAGS"
|
||||
else
|
||||
mkdir build && cd build
|
||||
cmake $cmake_conf ../
|
||||
fi
|
||||
- $BUILD_TOOL && $BUILD_TOOL install
|
||||
- make && make install
|
||||
|
||||
after_success:
|
||||
- if [ "$gui" = true ]; then qbt_exe="qbittorrent" ; else qbt_exe="qbittorrent-nox" ; fi
|
||||
- if [ "$gui" = "true" ]; then qbt_exe="qbittorrent" ; else qbt_exe="qbittorrent-nox" ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cd "$qbt_path/bin" ; fi
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
|
||||
12
.tx/config
@@ -10,10 +10,18 @@ type = QT
|
||||
minimum_perc = 23
|
||||
mode = developer
|
||||
|
||||
|
||||
[qbittorrent.qbittorrentdesktop_master]
|
||||
source_file = src/icons/qBittorrent.desktop
|
||||
source_file = dist/unix/org.qbittorrent.qBittorrent.desktop
|
||||
source_lang = en
|
||||
type = DESKTOP
|
||||
minimum_perc = 23
|
||||
mode = developer
|
||||
|
||||
[qbittorrent.qbittorrent_webui]
|
||||
file_filter = src/webui/www/translations/webui_<lang>.ts
|
||||
lang_map = pt: pt_PT
|
||||
source_file = src/webui/www/translations/webui_en.ts
|
||||
source_lang = en
|
||||
type = QT
|
||||
minimum_perc = 23
|
||||
mode = developer
|
||||
|
||||
16
AUTHORS
@@ -34,6 +34,14 @@ Code from other projects:
|
||||
license: GPLv2/3
|
||||
|
||||
Images Authors:
|
||||
* files: src/icons/skin/qbittorrent-tray.svg (and related pngs)
|
||||
copyright: Provided by HVS <hvs linuxmail org> (raster first proposal) and Atif Afzal(@atfzl github) <atif5801@gmail.com> (vectorized and modified)
|
||||
license: GPLv2+
|
||||
|
||||
* files: src/qbittorrent_file.ico src/icons/fileicon.svg
|
||||
copyright: 'uknown.svg' (LGPLv3+) from Oxygen Icon Theme was used as base which was slightly modified and 'qbittorrent-tray.svg' (GPLv2+) was overlayed above it.
|
||||
license: GPLv3+
|
||||
|
||||
* files: src/icons/*.png
|
||||
copyright: Gnome Icon Theme
|
||||
license: GPLv2
|
||||
@@ -44,10 +52,10 @@ Images Authors:
|
||||
license: LGPL
|
||||
url: http://www.oxygen-icons.org
|
||||
|
||||
* files: src/icons/flags/*.png
|
||||
copyright: Mark James <mjames@gmail.com>
|
||||
license: Public Domain
|
||||
url: http://www.famfamfam.com
|
||||
* files: src/icons/flags/*.svg
|
||||
copyright: lipis/flag-icon-css
|
||||
license: MIT
|
||||
url: https://github.com/lipis/flag-icon-css/
|
||||
|
||||
* files: src/icons/skin/*.png
|
||||
files: src/menuicons/YYxYY/*.png
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_policy(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
|
||||
|
||||
message(AUTHOR_WARNING "If the build fails, please try the autotools/qmake method.")
|
||||
|
||||
if(POLICY CMP0074)
|
||||
cmake_policy(SET CMP0074 NEW)
|
||||
endif()
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
|
||||
include(FunctionReadVersion)
|
||||
@@ -22,40 +27,34 @@ add_definitions(-DQBT_VERSION_MINOR=${VER_MINOR})
|
||||
add_definitions(-DQBT_VERSION_BUGFIX=${VER_BUGFIX})
|
||||
add_definitions(-DQBT_VERSION_BUILD=${VER_BUILD})
|
||||
|
||||
# os2 {
|
||||
# DEFINES += DQBT_VERSION=\'\"v$${PROJECT_VERSION}\"\'
|
||||
# DEFINES += DQBT_VERSION_2=\'\"$${PROJECT_VERSION}\"\'
|
||||
# } else {
|
||||
add_definitions(-DQBT_VERSION="v${PROJECT_VERSION}")
|
||||
add_definitions(-DQBT_VERSION_2="${PROJECT_VERSION}")
|
||||
# }
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
include(GNUInstallDirs)
|
||||
endif (UNIX AND NOT APPLE)
|
||||
include(GNUInstallDirs)
|
||||
include(FeatureSummary)
|
||||
|
||||
# version requirements
|
||||
set(requiredBoostVersion 1.40)
|
||||
set(requiredQtVersion 5.9.0)
|
||||
set(requiredOpensslVersion 1.0)
|
||||
set(requiredLibtorrentVersion 1.1.10)
|
||||
|
||||
if(WIN32)
|
||||
include(winconf)
|
||||
endif(WIN32)
|
||||
|
||||
# we need options here, because they are used not only in "src" subdir, but in the "dist" dir too
|
||||
include(CMakeDependentOption)
|
||||
|
||||
option(SYSTEM_QTSINGLEAPPLICATION
|
||||
"Use the system qtsingleapplication library or shipped one otherwise")
|
||||
|
||||
option(GUI "Allows to disable GUI for headless running. Disables QtDBus and the GeoIP Database" ON)
|
||||
|
||||
option(WEBUI "Allows to disable the WebUI." ON)
|
||||
|
||||
if (WIN32)
|
||||
option(STACKTRACE_WIN "")
|
||||
else (WIN32)
|
||||
cmake_dependent_option(SYSTEMD "Install the systemd service file (headless only)" OFF
|
||||
"NOT GUI" OFF)
|
||||
cmake_dependent_option(DBUS "Enable use of QtDBus (GUI only)" ON "GUI" OFF)
|
||||
endif(WIN32)
|
||||
# we need options here, at the top level, because they are used not only in "src" subdir, but in the "dist" dir too
|
||||
include(CompileFeature)
|
||||
|
||||
optional_compile_definitions(COUNTRIES_RESOLUTION FEATURE DESCRIPTION "Enable resolving peers IP addresses to countries"
|
||||
DEFAULT ON DISABLED DISABLE_COUNTRIES_RESOLUTION)
|
||||
optional_compile_definitions(STACKTRACE FEATURE DESCRIPTION "Enable stacktraces"
|
||||
DEFAULT ON ENABLED STACKTRACE)
|
||||
optional_compile_definitions(WEBUI FEATURE DESCRIPTION "Enables built-in HTTP server for headless use"
|
||||
DEFAULT ON DISABLED DISABLE_WEBUI)
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(dist)
|
||||
|
||||
feature_summary(DESCRIPTION "\nConfiguration results:" WHAT ALL)
|
||||
|
||||
@@ -1,15 +1,43 @@
|
||||
All new code must follow the following coding guidelines.
|
||||
If you make changes in a file that still uses another coding style, make sure that you follow these guidelines for your changes instead.
|
||||
All new code **must** follow the following coding guidelines.
|
||||
If you make changes in a file that still uses another coding style, make sure that you follow these guidelines for your changes.
|
||||
For programming languages other than C++ (e.g. JavaScript) used in this repository and submodules, unless otherwise specified, coding guidelines listed here applies as much as possible.
|
||||
|
||||
**Note 1:** I will not take your head if you forget and use another style. However, most probably the request will be delayed until you fix your coding style.
|
||||
**Note 2:** You can use the `uncrustify` program/tool to clean up any source file. Use it with the `uncrustify.cfg` configuration file found in the root folder.
|
||||
**Note 3:** There is also a style for QtCreator but it doesn't cover all cases. In QtCreator `Tools->Options...->C++->Code Style->Import...` and choose the `codingStyleQtCreator.xml` file found in the root folder.
|
||||
|
||||
### 1. Curly braces ###
|
||||
### Table Of Contents
|
||||
|
||||
* [1. New lines & curly braces](#1-new-lines--curly-braces)
|
||||
* [a. Function blocks, class/struct definitions, namespaces](#a-function-blocks-classstruct-definitions-namespaces)
|
||||
* [b. Other code blocks](#b-other-code-blocks)
|
||||
* [c. Blocks in switch's case labels](#c-blocks-in-switchs-case-labels)
|
||||
* [d. If-else statements](#d-if-else-statements)
|
||||
* [e. Single statement if blocks](#e-single-statement-if-blocks)
|
||||
* [f. Acceptable conditions to omit braces](#f-acceptable-conditions-to-omit-braces)
|
||||
* [g. Brace enclosed initializers](#g-brace-enclosed-initializers)
|
||||
* [2. Indentation](#2-indentation)
|
||||
* [3. File encoding and line endings](#3-file-encoding-and-line-endings)
|
||||
* [4. Initialization lists](#4-initialization-lists)
|
||||
* [5. Enums](#5-enums)
|
||||
* [6. Names](#6-names)
|
||||
* [a. Type names and namespaces](#a-type-names-and-namespaces)
|
||||
* [b. Variable names](#b-variable-names)
|
||||
* [c. Private member variable names](#c-private-member-variable-names)
|
||||
* [7. Header inclusion order](#7-header-inclusion-order)
|
||||
* [8. Include guard](#8-include-guard)
|
||||
* [9. Misc](#9-misc)
|
||||
* [10. Git commit message](#10-git-commit-message)
|
||||
* [11. Not covered above](#11-not-covered-above)
|
||||
---
|
||||
|
||||
### 1. New lines & curly braces ###
|
||||
|
||||
#### a. Function blocks, class/struct definitions, namespaces ####
|
||||
```c++
|
||||
int myFunction(int a)
|
||||
{
|
||||
//code
|
||||
// code
|
||||
}
|
||||
|
||||
void myFunction() {} // empty body
|
||||
@@ -17,29 +45,29 @@ void myFunction() {} // empty body
|
||||
MyClass::MyClass(int *parent)
|
||||
: m_parent(parent)
|
||||
{
|
||||
//initialize
|
||||
// initialize
|
||||
}
|
||||
|
||||
int MyClass::myMethod(int a)
|
||||
{
|
||||
//code
|
||||
// code
|
||||
}
|
||||
|
||||
class MyOtherClass
|
||||
{
|
||||
public:
|
||||
//code
|
||||
|
||||
// code
|
||||
|
||||
protected:
|
||||
//code
|
||||
|
||||
// code
|
||||
|
||||
private:
|
||||
//code
|
||||
// code
|
||||
};
|
||||
|
||||
namespace Name
|
||||
{
|
||||
//code
|
||||
// code
|
||||
}
|
||||
|
||||
// Lambdas
|
||||
@@ -54,20 +82,20 @@ namespace Name
|
||||
#### b. Other code blocks ####
|
||||
```c++
|
||||
if (condition) {
|
||||
//code
|
||||
// code
|
||||
}
|
||||
|
||||
for (int a = 0; a < b; ++b) {
|
||||
//code
|
||||
// code
|
||||
}
|
||||
|
||||
switch (a) {
|
||||
case 1:
|
||||
//blah
|
||||
// blah
|
||||
case 2:
|
||||
//blah
|
||||
// blah
|
||||
default:
|
||||
//blah
|
||||
// blah
|
||||
}
|
||||
```
|
||||
|
||||
@@ -75,21 +103,81 @@ default:
|
||||
```c++
|
||||
switch (var) {
|
||||
case 1: {
|
||||
//declare local variables
|
||||
//code
|
||||
// declare local variables
|
||||
// code
|
||||
}
|
||||
break;
|
||||
case 2: {
|
||||
//declare local variables
|
||||
//code
|
||||
// declare local variables
|
||||
// code
|
||||
}
|
||||
break;
|
||||
default:
|
||||
//code
|
||||
// code
|
||||
}
|
||||
```
|
||||
|
||||
#### d. Brace enclosed initializers ####
|
||||
#### d. If-else statements ####
|
||||
The `else if`/`else` must be on their own lines:
|
||||
```c++
|
||||
if (condition) {
|
||||
// code
|
||||
}
|
||||
else if (condition) {
|
||||
// code
|
||||
}
|
||||
else {
|
||||
// code
|
||||
}
|
||||
```
|
||||
|
||||
#### e. Single statement if blocks ####
|
||||
Most single statement if blocks should look like this:
|
||||
```c++
|
||||
if (condition)
|
||||
a = a + b;
|
||||
```
|
||||
|
||||
One acceptable exception to this can be `return`, `break` or `continue` statements,
|
||||
provided that the test condition isn't very long and its body statement occupies only one line.
|
||||
However you can still choose to use the first rule.
|
||||
```c++
|
||||
if (a > 0) return;
|
||||
|
||||
while (p) {
|
||||
// ...
|
||||
if (!b) continue;
|
||||
}
|
||||
```
|
||||
|
||||
#### f. Acceptable conditions to omit braces ####
|
||||
When the conditional statement in `if`/`else` has only one line and its body occupy only one line,
|
||||
this also applies to loops statements.
|
||||
Notice that for a series of `if - else` branches, if one branch needs braces then all branches must add braces.
|
||||
```c++
|
||||
if (a < b) // conditional statement
|
||||
do(a); // body
|
||||
|
||||
if (a < b)
|
||||
do(a);
|
||||
else if (a > b)
|
||||
do(b);
|
||||
else
|
||||
do(c);
|
||||
|
||||
if (a < b) {
|
||||
do(a);
|
||||
}
|
||||
else if (a > b) { // curly braces required here, then all branches should also add them
|
||||
do(b);
|
||||
do(d);
|
||||
}
|
||||
else {
|
||||
do(c);
|
||||
}
|
||||
```
|
||||
|
||||
#### g. Brace enclosed initializers ####
|
||||
Unlike single-line functions, you must not insert spaces between the brackets and concluded expressions.<br/>
|
||||
But you must insert a space between the variable name and initializer.
|
||||
```c++
|
||||
@@ -99,53 +187,14 @@ Class obj {expr1, /*...,*/ exprN};
|
||||
QVariantMap map {{"key1", 5}, {"key2", 10}};
|
||||
```
|
||||
|
||||
### 2. If blocks ###
|
||||
#### a. Multiple tests ####
|
||||
```c++
|
||||
if (condition) {
|
||||
//code
|
||||
}
|
||||
else if (condition) {
|
||||
//code
|
||||
}
|
||||
else {
|
||||
//code
|
||||
}
|
||||
```
|
||||
The `else if`/`else` must be on their own lines.
|
||||
|
||||
#### b. Single statement if blocks ####
|
||||
**Most** single statement if blocks should look like this:
|
||||
```c++
|
||||
if (condition)
|
||||
a = a + b;
|
||||
```
|
||||
|
||||
One acceptable exception to this **can be** `return`, `break` or `continue` statements, provided that the test condition isn't very long. However you can choose to use the first rule instead.
|
||||
```c++
|
||||
a = myFunction();
|
||||
b = a * 1500;
|
||||
|
||||
if (b > 0) return;
|
||||
c = 100 / b;
|
||||
```
|
||||
|
||||
#### c. Using curly braces for single statement if blocks ####
|
||||
|
||||
However, there are cases where curly braces for single statement if blocks **should** be used.
|
||||
* If some branch needs braces then all others should use them. Unless you have multiple `else if` in a row and the one needing the braces is only for a very small sub-block of code.
|
||||
* Another exception would be when we have nested if blocks or generally multiple levels of code that affect code readability.
|
||||
|
||||
Generally it will depend on the particular piece of code and would be determined on how readable that piece of code is. **If in doubt** always use braces if one of the above exceptions applies.
|
||||
|
||||
### 3. Indentation ###
|
||||
### 2. Indentation ###
|
||||
4 spaces.
|
||||
|
||||
### 4. File encoding and line endings. ###
|
||||
### 3. File encoding and line endings ###
|
||||
|
||||
UTF-8 and Unix-like line ending (LF). Unless some platform specific files need other encodings/line endings.
|
||||
|
||||
### 5. Initialization lists. ###
|
||||
### 4. Initialization lists ###
|
||||
Initialization lists should be vertical. This will allow for more easily readable diffs. The initialization colon should be indented and in its own line along with first argument. The rest of the arguments should be indented too and have the comma prepended.
|
||||
```c++
|
||||
myClass::myClass(int a, int b, int c, int d)
|
||||
@@ -154,11 +203,11 @@ myClass::myClass(int a, int b, int c, int d)
|
||||
, m_c(c)
|
||||
, m_d(d)
|
||||
{
|
||||
//code
|
||||
// code
|
||||
}
|
||||
```
|
||||
|
||||
### 6. Enums. ###
|
||||
### 5. Enums ###
|
||||
Enums should be vertical. This will allow for more easily readable diffs. The members should be indented.
|
||||
```c++
|
||||
enum Days
|
||||
@@ -173,7 +222,7 @@ enum Days
|
||||
};
|
||||
```
|
||||
|
||||
### 7. Names. ###
|
||||
### 6. Names ###
|
||||
All names should be camelCased.
|
||||
|
||||
#### a. Type names and namespaces ####
|
||||
@@ -207,40 +256,89 @@ class MyClass
|
||||
}
|
||||
```
|
||||
|
||||
### 8. Header inclusion order. ###
|
||||
The headers should be placed in the following order:
|
||||
1. Module header (in .cpp)
|
||||
2. System/Qt/Boost etc. headers (splitted in subcategories if you have many).
|
||||
3. Application headers, starting from *Base* headers.
|
||||
### 7. Header inclusion order ###
|
||||
The headers should be placed in the following group order:
|
||||
1. Module header (in .cpp)
|
||||
2. C++ Standard Library headers
|
||||
3. System headers
|
||||
4. Boost library headers
|
||||
5. Libtorrent headers
|
||||
6. Qt headers
|
||||
7. qBittorrent's own headers, starting from the *base* headers.
|
||||
|
||||
The headers should be ordered alphabetically within each group.
|
||||
If there are conditionals for the same header group, then put them at the bottom of the respective group.
|
||||
If there are conditionals that contain headers from several different header groups, then put them above the "qBittorrent's own headers" group.
|
||||
|
||||
One exception is the header containing the library version (for example, QtGlobal), this particular header isn't constrained by the aforementioned order.
|
||||
|
||||
The headers should be ordered alphabetically within each group (subgroup).<br/>
|
||||
<br/>
|
||||
Example:
|
||||
```c++
|
||||
// examplewidget.cpp
|
||||
// file: examplewidget.cpp
|
||||
|
||||
// Module header
|
||||
#include "examplewidget.h"
|
||||
|
||||
#include <cmath>
|
||||
// exceptions, headers containing version number
|
||||
#include <boost/version.hpp>
|
||||
#include <libtorrent/version.hpp>
|
||||
#include <QtGlobal>
|
||||
|
||||
// C++ Standard Library headers
|
||||
#include <cstdio>
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QList>
|
||||
#ifdef Q_OS_WIN // conditional
|
||||
#include <cmath>
|
||||
#endif
|
||||
|
||||
// System headers
|
||||
#ifdef Q_OS_WIN
|
||||
#include <Windows.h>
|
||||
#endif
|
||||
|
||||
// Boost library headers
|
||||
#include <boost/circular_buffer.hpp>
|
||||
|
||||
// Libtorrent headers
|
||||
#include <libtorrent/session.hpp>
|
||||
|
||||
// Qt headers
|
||||
#include <QString>
|
||||
#include <QUrl>
|
||||
|
||||
#include <libtorrent/version.hpp>
|
||||
#ifdef Q_OS_MACOS // conditional
|
||||
#include <QFont>
|
||||
#endif
|
||||
|
||||
#include "base/bittorrent/session.h"
|
||||
// conditional that contains headers from several different header groups
|
||||
#if LIBTORRENT_VERSION_NUM >= 10100
|
||||
#include <memory>
|
||||
#include <QElapsedTimer>
|
||||
#endif
|
||||
|
||||
// qBittorrent's own headers
|
||||
#include "base/bittorrent/infohash.h"
|
||||
#include "base/utils/fs.h"
|
||||
#include "base/utils/misc.h"
|
||||
#include "base/utils/string.h"
|
||||
#include "anothermodule.h"
|
||||
#include "ui_examplewidget.h"
|
||||
```
|
||||
|
||||
### 8. Include guard ###
|
||||
`#pragma once` should be used instead of "include guard" in new code:
|
||||
```c++
|
||||
// examplewidget.h
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class ExampleWidget : public QWidget
|
||||
{
|
||||
// (some code omitted)
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
### 9. Misc. ###
|
||||
### 9. Misc ###
|
||||
|
||||
* Line breaks for long lines with operation:
|
||||
|
||||
@@ -282,20 +380,32 @@ auto spinBox = static_cast<QSpinBox*>(sender());
|
||||
// we know the variable type based on the right-hand expression
|
||||
```
|
||||
|
||||
* Space around operations eg `a = b + c` or `a=b+c`:
|
||||
|
||||
Before and after the assignment and other binary (and ternary) operators there should be a space.<br/>
|
||||
There should not be a space between increment/decrement and its operand.<br/>
|
||||
Some valid use cases:
|
||||
* Notice the spaces in the following specific situations:
|
||||
```c++
|
||||
// Before and after the assignment and other binary (and ternary) operators there should be a space
|
||||
// There should not be a space between increment/decrement and its operand
|
||||
a += 20;
|
||||
a = (b <= MAX_B ? b : MAX_B);
|
||||
++a;
|
||||
b--;
|
||||
--b;
|
||||
|
||||
for (int a = 0; a < b; ++b) {
|
||||
// code
|
||||
}
|
||||
|
||||
// Range-based for loop, spaces before and after the colon
|
||||
for (auto i : container) {
|
||||
}
|
||||
|
||||
// Derived class, spaces before and after the colon
|
||||
class Derived : public Base
|
||||
{
|
||||
};
|
||||
```
|
||||
|
||||
* Prefer pre-increment, pre-decrement operators
|
||||
```c++
|
||||
++i, --j; // Yes
|
||||
i++, j--; // No
|
||||
```
|
||||
|
||||
* private/public/protected must not be indented
|
||||
@@ -304,5 +414,16 @@ for (int a = 0; a < b; ++b) {
|
||||
|
||||
* Method definitions aren't allowed in header files
|
||||
|
||||
### 10. Not covered above ###
|
||||
If something isn't covered above, just follow the same style the file you are editing has. If that particular detail isn't present in the file you are editing, then use whatever the rest of the project uses.
|
||||
### 10. Git commit message ###
|
||||
1. Limit the subject line to 50 characters. Subject should contain only the very essence of the changes (you should avoid extra details and internals)
|
||||
2. Separate subject from body with a blank line
|
||||
3. Capitalize the subject line
|
||||
4. Do not end the subject line with a period
|
||||
5. Use the imperative mood in the subject line (it's like you're ordering the program to do something (e.g. "Don't create temporary substrings")
|
||||
6. Wrap the body at 72 characters
|
||||
7. Use the body to explain what and why vs. how
|
||||
8. If commit fixes a reported issue, mention it in the message body (e.g. `Closes #4134.`)
|
||||
|
||||
### 11. Not covered above ###
|
||||
If something isn't covered above, just follow the same style the file you are editing has.
|
||||
*This guide is not exhaustive and the style for a particular piece of code not specified here will be determined by project members on code review.*
|
||||
|
||||
238
CONTRIBUTING.md
@@ -1,35 +1,221 @@
|
||||
# Filing an issue
|
||||
# How to contribute to qBittorrent
|
||||
|
||||
### Must read
|
||||
* If you aren't sure, you can ask on the [**forum**](http://forum.qbittorrent.org) or read our [**wiki**](http://wiki.qbittorrent.org) first.
|
||||
* Do a quick **search**. Others might already reported the issue.
|
||||
* Write in **English**!
|
||||
* Provide **version** information: (You can find version numbers at menu `Help -> About -> Libraries`)
|
||||
```
|
||||
qBittorrent:
|
||||
Qt:
|
||||
libtorrent:
|
||||
boost:
|
||||
OS version:
|
||||
```
|
||||
* Provide **steps** to reproduce the problem, it will be easier to pinpoint the fault.
|
||||
* **Screenshots**! A screenshot is worth a thousand words. just upload it. [(How?)](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests)
|
||||
There are three main ways to contribute to the project.
|
||||
Read the respective section to find out more.
|
||||
|
||||
### Good to know
|
||||
* **Be patient**. The dev team is small and resource limited. Devs finding their free time, analyzing the problem and fixing the issue, it all takes time. :clock3:
|
||||
* If you can code, why not become a **contributor** by fixing the issue and open a pull request? :wink:
|
||||
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) to be **ignored**. :fearful:
|
||||
### Table Of Contents
|
||||
|
||||
* **[Bug reporting etiquette](#bug-reporting-etiquette)**
|
||||
|
||||
|
||||
* **[Submitting an issue/bug report](#submitting-an-issuebug-report)**
|
||||
* [What is an actual bug report?](#what-is-an-actual-bug-report)
|
||||
* [Before submitting a bug report](#before-submitting-a-bug-report)
|
||||
* [Steps to ensure a good bug report](#steps-to-ensure-a-good-bug-report)
|
||||
|
||||
|
||||
* **[Suggesting enhancements/feature requests](#suggesting-enhancementsfeature-requests)**
|
||||
* [Before submitting an enhancement/feature request](#before-submitting-an-enhancementfeature-request)
|
||||
* [Steps to ensure a good enhancement/feature suggestion](#steps-to-ensure-a-good-enhancementfeature-suggestion)
|
||||
|
||||
|
||||
* **[Opening a pull request](#opening-a-pull-request)**
|
||||
* [Must read](#must-read)
|
||||
* [Good to know](#good-to-know)
|
||||
|
||||
# Bug reporting etiquette
|
||||
|
||||
* Issues, pull requests, and comments must always be in **English.**
|
||||
|
||||
* This project is supported by volunteers, do not expect "customer support"-style interaction.
|
||||
|
||||
* **Be patient.** The development team is small and resource limited. Developers and contributors take from their free time to analyze the problem and fix the issue. :clock3:
|
||||
|
||||
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) be **ignored.** :fearful:
|
||||
|
||||
# Submitting an issue/bug report
|
||||
|
||||
This section guides you through submitting an issue/bug report for qBittorrent.
|
||||
|
||||
Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
|
||||
|
||||
Make sure to follow these rules carefully when submitting a bug report. Failure to do so will result in the issue being closed.
|
||||
|
||||
## What is an actual bug report?
|
||||
|
||||
Developers and contributors are not supposed to deal with issues for which little to no investigation to find the actual cause of a purported issue was made by the reporter.
|
||||
|
||||
Positive contributions are those which are reported with efforts to find the actual cause of an issue, or at the very least efforts were made to narrow it as much as possible.
|
||||
|
||||
Requiring people to investigate as much as possible before opening an issue will more than likely avoid burdening the project with invalid issues or issues unrelated to qBittorrent.
|
||||
|
||||
The following are _not_ bug reports. **Check the [wiki][wiki-url], [forum][forum-url] or other places for help and support for issues like these**:
|
||||
|
||||
- Explanation of qBittorrent options (see [wiki][wiki-url]).
|
||||
- Help with WebUI setup.
|
||||
- Help with embedded tracker setup.
|
||||
- Help about BitTorrent in general.
|
||||
- Issues with specific search plugins.
|
||||
- Asking for specific builds of qBittorrent other than the current one. You can install older releases at your own risk or for regression testing purposes. Previous Windows and macOS builds are available [here][builds-url].
|
||||
- If you want older Linux builds, you will have to compile them yourself from the corresponding commits, or ask someone on the [forum][forum-url] to do it for you.
|
||||
- Possibly others. Read on and use common sense.
|
||||
|
||||
The issue tracker is for provable issues only: You will have to make the case that the issue is really with qBittorrent and not something else on your side.
|
||||
|
||||
To make a case means to provide detailed steps so that anybody can reproduce the issue.
|
||||
Be sure to rule out that the issue is not caused by something specific on your side.
|
||||
|
||||
Issue reports for bugs that apparently aren't easily reproducible or that you can't figure out what triggers it even though you tried are OK.
|
||||
|
||||
Any issue opened without effort to provide the required details for developers, contributors or anybody else to reproduce the problem will be closed as invalid.
|
||||
For example:
|
||||
- Crash reports with just a stack trace.
|
||||
- Speculated performance issues that do not come with actual profiling data + analysis supporting the claim.
|
||||
|
||||
## Before submitting a bug report
|
||||
|
||||
- **Do some basic troubleshooting (examples)**:
|
||||
- Restart qBittorrent.
|
||||
- Restart your PC.
|
||||
- Update your OS (e.g. Windows updates).
|
||||
- Update your network card drivers.
|
||||
- Fully reinstall qBittorrent.
|
||||
- etc...
|
||||
- Make sure the problem is not caused by anti-virus or other program messing with your files.
|
||||
- Check if you can reproduce the problem in the latest version of qBittorrent.
|
||||
- **Check [forum][forum-url] and [wiki][wiki-url].** You might be able to find the cause of the problem and fix things yourself.
|
||||
- **Check if the issue exists already in the issue tracker.**
|
||||
- If it does and the issue is still open, add a comment to the existing issue instead of opening a new one.
|
||||
- If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
|
||||
- If the issue is with the search functionality:
|
||||
- **Make sure you have [`python`][python-url] installed correctly (remember the search functionality requires a working python installation).**
|
||||
- Make sure it is in fact a problem with the search functionality itself, and not a problem with the plugins. If something does not work properly with the search functionality, the first step is to rule out search plugin-related issues.
|
||||
- For search plugin issues, report on the respective search plugin support page, or at [qbittorrent/search-plugins][search-plugins-url].
|
||||
|
||||
## Steps to ensure a good bug report
|
||||
|
||||
**Follow these guidelines** in order to provide as much useful information as possible right away. Not all of them are applicable to all issues, but you are expected to follow most of these steps (use common sense).
|
||||
Otherwise, we've noticed that a lot of your time (and the developers') gets thrown away on exchanging back and forth to get this information.
|
||||
|
||||
* Use a **clear and descriptive title** for the issue to identify the problem.
|
||||
|
||||
* Post only **one specific issue per submission.**
|
||||
|
||||
* **Fill out the issue template properly.**
|
||||
|
||||
- **Make sure you are using qBittorrent on a supported platform.** Do not submit issues which can only be reproduced on beta/unsupported releases of supported operating systems (e.g. Windows 10 Insider, Ubuntu 12.04 LTS, etc).
|
||||
These are unstable/unsupported platforms, and in all likelihood, whatever the issue is, it is not related to qBittorrent.
|
||||
|
||||
* **Specify the OS you're using, its version and architecture.**
|
||||
* Examples: Windows 8.1 32-bit, Linux Mint 17.1 64-bit, Windows 10 Fall creators Update 64-bit, etc.
|
||||
|
||||
|
||||
* **Report only if you run into the issue with an official stable release, a beta release, or with the most recent upstream changes (in this last case specify the specific commit you are on).** (beta testing is encouraged :smile:). We do not provide support for bugs on unofficial Windows builds.
|
||||
|
||||
* **Specify the version of qBittorrent** you are using, as well as its **architecture** (x86 or x64) and its **libraries' versions** (Help -> About -> Libraries).
|
||||
|
||||
* Specify **how you installed**:
|
||||
- Linux: either from the PPA, your distribution's repositories, or compiled from source, or even possibly third-party repositories.
|
||||
- Windows: either from the installer, or compiled from source, or even possibly third-party repositories.
|
||||
- macOS: either from the installer, or compiled from source, or even possibly third-party repositories.
|
||||
|
||||
|
||||
* **Describe the exact steps which reproduce the problem in as many details as possible.**
|
||||
- For example, start by explaining how you started qBittorrent, e.g. was it via the terminal? Desktop icon? Did you start it as root or normal user?
|
||||
- **When listing steps, don't just say what you did, but explain how you did it.**
|
||||
- For example, if you added a torrent for download, did you do so via a `.torrent` file or via a magnet link? If it was with a torrent file did you do so by dragging the torrent file from the file manager to the transfer list, or did you use the "Add Torrent File" in the Top Bar?
|
||||
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior; this is what we'll be looking for after executing the steps.
|
||||
|
||||
|
||||
* **Explain which behavior you expected to see instead** and why.
|
||||
|
||||
* Use **screenshots/animated GIFs to help describe the issue** whenever appropriate [(How?)][attachments-howto-url].
|
||||
|
||||
* If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened.
|
||||
|
||||
* **If you are reporting that qBittorrent crashes**, include the stack trace in the report; include it in a code block, a file attachment, or put it in a gist and provide link to that gist.
|
||||
|
||||
* **For performance-related issues**, include as much profiling data as you can (resource usage graphs, etc).
|
||||
|
||||
* Paste the **qBittorrent log** (or put the contents of the log in a gist and provide a link to the gist). The log can be viewed in the GUI (View -> Log -> tick all boxes). If you can't do that, the file is at:
|
||||
- Linux: `~/.local/share/data/qBittorrent/logs/qBittorrent.log`
|
||||
- Windows: `%LocalAppData%\qBittorrent\logs`
|
||||
- macOS: `~/Library/Application Support/qBittorrent/qBittorrent.log`
|
||||
|
||||
|
||||
* **Do NOT post comments like "+1" or "me too!"** without providing new relevant info on the issue. Using the built-in reactions is OK though. Remember that you can use the "subscribe" button to receive notifications of that report without having to comment first.
|
||||
|
||||
* If there seems to be an **issue with specific torrent files/magnet links**:
|
||||
- Don't post private `.torrent` files/magnet links, or ones that point to copyrighted content. If you are willing, offer to email a link or the `.torrent` file itself to whoever developer is debugging it and requests it.
|
||||
- Make sure you can't reproduce the problem with another client, to rule out the possibility that the issue is with the `.torrent` file/magnet link itself.
|
||||
|
||||
|
||||
* A screenshot, transcription or file upload of any of **qBittorrent's preferences that differ from the defaults.** Please include everything different from the defaults whether or not it seems relevant to your issue.
|
||||
|
||||
* **Attachment rules**:
|
||||
- Short logs and error messages can be pasted as quotes/code whenever small enough; otherwise make a gist with the contents and post the link to the gist.
|
||||
- Avoid linking/attaching impractical file formats such as PDFs/Word documents with images. If you want to post an image, just post the image.
|
||||
|
||||
### Provide more context by answering these questions (if applicable):
|
||||
|
||||
- Can you **reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens (e.g. only happens with extremely large torrents/only happens after qBittorrent is open for more than 2 days/etc...)
|
||||
|
||||
- Did the problem start happening recently (e.g. after updating to a new version of qBittorrent) or was this always a problem?
|
||||
|
||||
- If the problem started happening recently, can you reproduce the problem in an older version of qBittorrent?
|
||||
|
||||
- Are you saving files locally (in a disk in your machine), or are you saving them remotely (e.g. network drives)?
|
||||
|
||||
- Are you using qBittorrent with multiple monitors? If so, can you reproduce the problem when you use a single monitor?
|
||||
|
||||
Good read: [How to Report Bugs Effectively][howto-report-bugs-url]
|
||||
|
||||
# Suggesting enhancements/feature requests
|
||||
|
||||
This section guides you through submitting an enhancement suggestion for qBittorrent, including completely new features and minor improvements to existing functionality.
|
||||
|
||||
Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.
|
||||
|
||||
## Before submitting an enhancement/feature request
|
||||
|
||||
* Check the [wiki][wiki-url] and [forum][forum-url] for tips — you might discover that the enhancement is already available.
|
||||
* Most importantly, check if you're using the latest version of qBittorrent and if you can get the desired behavior by changing qBittorrent's settings.
|
||||
* Check in the [releases][releases-url] page or on the [forum][forum-url], see if there's already a alpha/beta version with that enhancement.
|
||||
* Perform a cursory search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
|
||||
|
||||
## Steps to ensure a good enhancement/feature suggestion
|
||||
|
||||
- Specify which version of qBittorrent you're using.
|
||||
- Specify the name and version of the OS you're using.
|
||||
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
|
||||
- Describe the current behavior and explain which behavior you expected to see instead and why.
|
||||
- Include screenshots and animated GIFs which help you demonstrate the steps or point out the part of qBittorrent which the suggestion is related to.
|
||||
- If this enhancement exists in other BitTorrent clients, list those clients.
|
||||
|
||||
# Opening a pull request
|
||||
|
||||
### Must read
|
||||
* Read our [**coding guidelines**](https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md). There are some scripts to help you: [uncrustify script](https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg), [astyle script](https://gist.github.com/Chocobo1/539cee860d1eef0acfa6), [(related thread)](https://github.com/qbittorrent/qBittorrent/issues/2192).
|
||||
* Keep the title **short** and provide a **clear** description about what your pull request does.
|
||||
* Provide **screenshots** for UI related changes.
|
||||
* Keep your git commit history **clean** and **precise**. Commits like `xxx fixup` should not appear.
|
||||
* If your commit fix a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here](https://github.com/qbittorrent/qBittorrent/commit/a74bac20c4e8de9776bf9bb77fdc7526135d1988).
|
||||
* Read our [**coding guidelines**][coding-guidelines-url]. There are some scripts to help you: [uncrustify script][uncrustify-script-url], [astyle script][astyle-script-url], [(related thread)][coding-guidelines-thread-url].
|
||||
* Keep the title **short** and provide a **clear** description about what your pull request does.
|
||||
* Provide **screenshots** for UI related changes.
|
||||
* Keep your git commit history **clean** and **precise.** Refer to the section about "Git commit messages" in the [**coding guidelines**][coding-guidelines-url].
|
||||
* If your commit fixes a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here][commit-message-fix-issue-example-url].
|
||||
|
||||
### Good to know
|
||||
* **Search** pull request history! Others might already implemented your idea and is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
|
||||
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).
|
||||
* **Search** pull request history! Others might have already implemented your idea and it is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
|
||||
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link][merging-vs-rebasing-url].
|
||||
|
||||
[astyle-script-url]: https://gist.github.com/Chocobo1/539cee860d1eef0acfa6
|
||||
[attachments-howto-url]: https://help.github.com/articles/file-attachments-on-issues-and-pull-requests
|
||||
[coding-guidelines-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md
|
||||
[coding-guidelines-thread-url]: https://github.com/qbittorrent/qBittorrent/issues/2192
|
||||
[commit-message-fix-issue-example-url]: https://github.com/qbittorrent/qBittorrent/commit/c07cd440cd46345297debb47cb260f8688975f50
|
||||
[forum-url]: http://forum.qbittorrent.org/
|
||||
[howto-report-bugs-url]: https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
||||
[merging-vs-rebasing-url]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
|
||||
[python-url]: https://www.python.org/
|
||||
[releases-url]: https://github.com/qbittorrent/qBittorrent/releases
|
||||
[search-plugins-url]: https://github.com/qbittorrent/search-plugins
|
||||
[uncrustify-script-url]: https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg
|
||||
[wiki-url]: https://github.com/qbittorrent/qBittorrent/wiki
|
||||
[builds-url]: https://sourceforge.net/projects/qbittorrent/files/
|
||||
|
||||
764
Changelog
@@ -1,4 +1,661 @@
|
||||
Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
Sat Apr 25 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.5
|
||||
- BUGFIX: Fix crash when torrent is deleted on limit reached (glassez)
|
||||
- BUGFIX: Register datatype properly (Chocobo1)
|
||||
- WEBUI: Add ability to send custom HTTP headers (Chocobo1)
|
||||
- WEBUI: Expand RSS related API (Sepro)
|
||||
- WINDOWS: Installer: Update german translation (schnurlos)
|
||||
|
||||
Wed Apr 22 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.4
|
||||
- BUGFIX: Fix sub-sorting of Transfer list (glassez)
|
||||
- BUGFIX: Fix wrong logic that disables "prevent sleeping" timer (Chocobo1)
|
||||
- BUGFIX: Set disk cache size for older libtorrent versions (NotTsunami)
|
||||
- BUGFIX: Sort locale language list (Chocobo1)
|
||||
- BUGFIX: Remove white outline around mascot.png (adem)
|
||||
- BUGFIX: Various fixes in configuring the chosen network interface and not leaking the IP (Raif Atef, an0n666)
|
||||
- BUGFIX: Save "resume data" when torrent storage is moved (glassez)
|
||||
- BUGFIX: Avoid holding encoded resume data in memory (Chocobo1)
|
||||
- BUGFIX: Fix date format for "Last seen complete" (Chocobo1)
|
||||
- BUGFIX: Remove deprecated strict super seeding mode from advanced settings (an0n666)
|
||||
- BUGFIX: Change default stop_tracker_timeout settings (an0n666)
|
||||
- BUGFIX: Convert the Log widget to use custom View/Model (jagannatharjun)
|
||||
- BUGFIX: Change default upload slot choking limits (an0n666)
|
||||
- BUGFIX: Don't uncheck Authentication checkbox when changing proxy type (thalieht)
|
||||
- BUGFIX: Reduce ambiguity for selecting tray icons (Chocobo1)
|
||||
- WEBUI: Fix unable to add multiple peers in WebUI (Sepro)
|
||||
- WEBUI: Fix UPnP lease duration get/set (NotTsunami)
|
||||
- SEARCH: Detect python3 executable on Windows (József Sallai)
|
||||
|
||||
Wed Apr 01 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.3
|
||||
- FEATURE: Add logging for SOCKS5 proxy errors (Chocobo1)
|
||||
- FEATURE: Add UPnP lease duration advanced option (NotTsunami)
|
||||
- BUGFIX: Allow to translate error messages (Chocobo1)
|
||||
- BUGFIX: Don't round scaling factor (Nick Korotysh)
|
||||
- BUGFIX: Save log file in UTF-8 encoding (Chocobo1)
|
||||
- BUGFIX: Avoid log file excessive flushing (Chocobo1)
|
||||
- BUGFIX: Fix regression when fastresume contains network path (Tester798)
|
||||
- BUGFIX: Fix broken UNC paths in fastresumes on Windows (sledgehammer999)
|
||||
- BUGFIX: Prevent multiple instances for the same app config (glassez)
|
||||
- BUGFIX: Fix unexpected torrent resume after app restart with libtorrent 1.1.x (glassez)
|
||||
- WEBUI: Add alt and title tags for WebUI footer (LameLemon)
|
||||
- WINDOWS: Installer: Update Finnish translation (Roope Jukkara)
|
||||
- WINDOWS: Installer: Update Japanese translation (maboroshin)
|
||||
- WINDOWS: Installer: Update Turkish translation (Burak Yavuz)
|
||||
- WINDOWS: Installer: Update Russian translation (Andrei Stepanov)
|
||||
|
||||
Tue Mar 24 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.2
|
||||
- FEATURE: Allow transfer list text color changes through QSS (Prince Gupta)
|
||||
- FEATURE: Option to show console when external program is run (sledgehammer999)
|
||||
- FEATURE: Rename Country column to "Country / Region" (Thomas Piccirello)
|
||||
- FEATURE: Change the defaults of some settings (FranciscoPombal)
|
||||
- FEATURE: Refactored Transfer List code to allow theming. As a sideffect the row height has more padding. (glassez)
|
||||
- FEATURE: Allow double-click in preview dialog (thalieht)
|
||||
- FEATURE: Expose stop_tracker_timeout in advanced settings (an0n666)
|
||||
- FEATURE: Add piece_extent_affinity to AdvancedSettings (FranciscoPombal)
|
||||
- FEATURE: Reorganize UI theme selection (Prince Gupta)
|
||||
- FEATURE: Show any multiple connections from the same IP in peer list (thalieht)
|
||||
- FEATURE: Add stalled filters to GUI and Web API/UI (FranciscoPombal)
|
||||
- FEATURE: Use IP geolocation database by DB-IP instead of MaxMind (sledgehammer999)
|
||||
- FEATURE: Allow to save downloaded metadata as torrent file (glassez)
|
||||
- FEATURE: Allow single app instance per configuration (glassez)
|
||||
- PERFORMANCE: Move multiple torrents one by one (glassez)
|
||||
- BUGFIX: Disable Torrent Queue by default for new users (an0n666)
|
||||
- BUGFIX: Update free disk space label on Category change in Auto Mode (Medvedishce)
|
||||
- BUGFIX: Save resume data after recheck (glassez)
|
||||
- BUGFIX: Tracker is errored only if all local endpoints fail (sledgehammer999)
|
||||
- BUGFIX: Change placement of stop tracker timeout setting (An0n)
|
||||
- BUGFIX: Redesign torrent startup handling (glassez)
|
||||
- BUGFIX: Show "∞" instead of " -1" in Preferences (Sakib-Abrar)
|
||||
- BUGFIX: Improve code efficiency for reverse resolution of peers (Chocobo1)
|
||||
- BUGFIX: Handle HTTP redirection to magnet URI (glassez)
|
||||
- BUGFIX: Various fixes for portable mode (Tester798)
|
||||
- BUGFIX: Include resume folder path in exception message (Chocobo1)
|
||||
- BUGFIX: Change placeholder text in torrent list's filter (djt3)
|
||||
- BUGFIX: Improvements in the embedded tracker to be more spec compliant (FranciscoPombal)
|
||||
- BUGFIX: Improve the options tooltips (NotTsunami)
|
||||
- BUGFIX: Check if file exists in seed mode (an0n666)
|
||||
- BUGFIX: Delegate GUI scaling work to Qt (Nick Korotysh)
|
||||
- BUGFIX: Fix crash when renaming torrent contents (Chocobo1)
|
||||
- BUGFIX: Fix total connected peers count calculation (FranciscoPombal)
|
||||
- BUGFIX: Allow other keypresses in LogListWidget (NotTsunami)
|
||||
- BUGFIX: Disable Auto TMM when not using default savepath from monitored folder (thalieht)
|
||||
- WEBUI: Fix first row renaming in files tab (Denis)
|
||||
- WEBUI: Use SVG image for WebUI favicon (Nick Korotysh)
|
||||
- WEBUI: Inherit text color for filter list elements (Nick Korotysh)
|
||||
- WEBUI: Expose WebUI ban counter to users (Chocobo1)
|
||||
- WEBUI: Expose WebUI ban duration to users (Chocobo1)
|
||||
- WEBUI: Implement "Secure" flag for session cookie (FranciscoPombal)
|
||||
- WEBUI: Remove unused/deprecated option (FranciscoPombal)
|
||||
- WEBUI: Prevent excessive sync requests (FranciscoPombal)
|
||||
- WEBUI: Fix populating statistics window (FranciscoPombal)
|
||||
- WEBUI: Fix matching uncategorized torrents (FranciscoPombal)
|
||||
- WEBUI: Always allow whitespace in category names (FranciscoPombal)
|
||||
- SEARCH: Bump python version for new installation (Chocobo1)
|
||||
- SEARCH: Fix missing string (Chocobo1)
|
||||
- SEARCH: Drop python2 support (Chocobo1)
|
||||
- WINDOWS: Installer: Option to start qBittorrent on Windows start up (An0n)
|
||||
- WINDOWS: Installer: Improve Czech translation (slrslr)
|
||||
- WINDOWS: Installer: Update French translation (zywo)
|
||||
- WINDOWS: Installer: Update German translation (schnurlos)
|
||||
- WINDOWS: Installer: Update Japanese translation (maboroshin)
|
||||
- WINDOWS: Path length limitation is removed on Windows 10 1607 onwards (an0n666)
|
||||
|
||||
Wed Dec 18 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.1
|
||||
- FEATURE: Enable portable mode if "profile" directory exists (Tester798)
|
||||
- FEATURE: Enable "Apply rate limit to peers on LAN" option by default (Chocobo1)
|
||||
- BUGFIX: Sync translations from Transifex and run lupdate (sledgehammer999)
|
||||
- BUGFIX: Don't unnecessarily delete OS files in folders (sledgehammer999)
|
||||
- BUGFIX: Use the incomplete folder where appropriate (sledgehammer999)
|
||||
- BUGFIX: Align Properties tab bar correctly on window resize (Prince Gupta)
|
||||
- BUGFIX: Rework the listening IP/interface selection code (sledgehammer999)
|
||||
- BUGFIX: Fix inconsistent icon for deleting torrent (Chocobo1)
|
||||
- BUGFIX: Show torrent error message in transfer list (Chocobo1)
|
||||
- BUGFIX: Fix stuck in wrong torrent state (Chocobo1)
|
||||
- BUGFIX: Expand single-item folders in torrent content (warren)
|
||||
- WEBUI: Bump Web API version (sledgehammer999)
|
||||
- WEBUI: Add ability to rename torrent files from the WebUI (Thomas Piccirello)
|
||||
- WEBUI: Mention lack of HTTPS in WebUI magnet link warning (nl6720)
|
||||
- WEBUI: Fix HTML elements size in search tab (Chocobo1)
|
||||
- SEARCH: Fix incorrect translation displayed after language change (Chocobo1)
|
||||
- SEARCH: Fix missing translations in search plugins dialog (Chocobo1)
|
||||
- WINDOWS: Update russian translation of the installer (Andrei Stepanov)
|
||||
|
||||
Tue Dec 03 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.0
|
||||
- FEATURE: Libtorrent 1.2.x series are supported now (glassez)
|
||||
- FEATURE: Add OpenSSL version to GUI and stackdump (Chocobo1)
|
||||
- FEATURE: Add zlib version to GUI & stackdump (silverqx)
|
||||
- FEATURE: Use PBKDF2 for the GUI lock. You will need to set your password again. (Chocobo1)
|
||||
- FEATURE: Rename "#" column to "Tier" in the tracker list (thalieht)
|
||||
- FEATURE: Allow setting larger checking memory usage in GUI (airium)
|
||||
- FEATURE: Converted remaining icons to svg (Bert Verhelst)
|
||||
- FEATURE: Replace CheckBox with Arrow in the side panel (Prince Gupta)
|
||||
- FEATURE: Log performance alerts from libtorrent (Chocobo1)
|
||||
- FEATURE: Use native folder icon in content tree (Chocobo1)
|
||||
- FEATURE: Move copy actions under a submenu (Chocobo1)
|
||||
- FEATURE: Add "Socket backlog size" option (Chocobo1)
|
||||
- FEATURE: Add "File pool size" option (Chocobo1)
|
||||
- FEATURE: Allow styling with QSS stylesheets (Prince Gupta)
|
||||
- FEATURE: Add "Tracker entries" dialog (Chocobo1)
|
||||
- FEATURE: Add availability column (Chocobo1)
|
||||
- FEATURE: Use a randomized port number for the first run (Chocobo1)
|
||||
- FEATURE: Enable Super Seeding mode once ratio/time limit is reached (thalieht)
|
||||
- FEATURE: Improve embedded tracker. Now it conforms to BEPs more closely. (Chocobo1)
|
||||
- FEATURE: Add option to align file to piece boundary when creating new torrent (Chocobo1)
|
||||
- FEATURE: Ability to open file or trigger torrect action via keypad Enter (Chocobo1)
|
||||
- FEATURE: Add "Remove torrent and its files" option to share ratio limiting (thalieht)
|
||||
- FEATURE: Allow to select multiple entries in "banned IP" dialog (Chocobo1)
|
||||
- FEATURE: Reallow to pause checking torrents (thalieht)
|
||||
- FEATURE: Reallow to force recheck torrents that aren't fully started (thalieht)
|
||||
- FEATURE: Add "Preview file" double-click action (warren)
|
||||
- BUGFIX: Avoid performance penalty when logger is full (Chocobo1)
|
||||
- BUGFIX: Remove the max half-open connections option (thalieht)
|
||||
- BUGFIX: Center align the section labels in advanced settings (thalieht)
|
||||
- BUGFIX: Add documentation links to some advanced settings (thalieht)
|
||||
- BUGFIX: Impove DownloadManager code (glassez)
|
||||
- BUGFIX: Limit DownloadHandler max redirection to 20 (Chocobo1)
|
||||
- BUGFIX: Log DownloadManager SSL errors (Chocobo1)
|
||||
- BUGFIX: Force recheck multiple torrents one by one (glassez)
|
||||
- BUGFIX: Close context menu when content model is reset (glassez)
|
||||
- BUGFIX: Improve Properties widget (glassez)
|
||||
- BUGFIX: Prevent flickering preview dialog (silver)
|
||||
- BUGFIX: Rename "Prefer encryption" to "Allow encryption" (thalieht)
|
||||
- BUGFIX: Fix search icon placement when using RTL languages (Chocobo1)
|
||||
- BUGFIX: Avoid combo boxes extending to the right in Options dialog (Chocobo1)
|
||||
- BUGFIX: Fix speed limit not applying to IPv6 peers (Chocobo1)
|
||||
- BUGFIX: Log failed file rename errors (Chocobo1)
|
||||
- BUGFIX: Fix wrong "Time Active" value displayed (Chocobo1)
|
||||
- BUGFIX: Rename priority to queue in the context of torrents (thalieht)
|
||||
- BUGFIX: Update remaining size of ignored files to 0 (Thomas Piccirello)
|
||||
- BUGFIX: Move "Check for program updates" checkbox to the Behavior settings (Chocobo1)
|
||||
- BUGFIX: Improve error messages for URL seed (Chocobo1)
|
||||
- BUGFIX: Rename share ratio limiting options (thalieht)
|
||||
- BUGFIX: Fix country name misspelling (horgan)
|
||||
- PERFORMANCE: Faster/efficient way of handling updates in the Transfer list (Chocobo1)
|
||||
- WEBUI: Bump Web API version
|
||||
- WEBUI: Use PBKDF2 for the WebUI password. You will need to set your password again. (Chocobo1)
|
||||
- WEBUI: Use Javascript strict mode (Chocobo1)
|
||||
- WEBUI: Remove autocorrect/autocapitalise from filepaths on WebUI (AceLewis)
|
||||
- WEBUI: Display warning when Javascript is disabled (Chocobo1)
|
||||
- WEBUI: Remove mootools lib from login page (Chocobo1)
|
||||
- WEBUI: Prevent login credential appearing in URL (Chocobo1)
|
||||
- WEBUI: Load WebUI certificate & key from file path (Chocobo1)
|
||||
- WEBUI: Add migration code for WebUI https related change (Chocobo1)
|
||||
- WEBUI: Fix wrong element id being used (Thomas Piccirello)
|
||||
- WEBUI: Fix direction of Web UI sorted column icon (Thomas Piccirello)
|
||||
- WEBUI: Match WebUI About page to GUI (Thomas Piccirello)
|
||||
- WEBUI: Simplify tab logic (Thomas Piccirello)
|
||||
- WEBUI: Separate URL components before percent-decoding (glassez)
|
||||
- WEBUI: Capitalize event name (Thomas Piccirello)
|
||||
- WEBUI: Fix bug where input wouldn't always be focused (Thomas Piccirello)
|
||||
- WEBUI: Add Web UI support for escape key (Thomas Piccirello)
|
||||
- WEBUI: Fix broken image link (Tom Piccirello)
|
||||
- WEBUI: Include application version in css/js url for cache busting (Thomas Piccirello)
|
||||
- WEBUI: Update WebUI img to use svg images (Chocobo1)
|
||||
- WEBUI: Fix speed limit icon too large on WebUI (Chocobo1)
|
||||
- WEBUI: Fix misaligned icons in STATUS list in GUI (Chocobo1)
|
||||
- WEBUI: Drop legacy WebAPI support (glassez)
|
||||
- WEBUI: Allow WebUI Content tab to be sorted (Thomas Piccirello)
|
||||
- WEBUI: Encode torrent name before passing in URL (Thomas Piccirello)
|
||||
- WEBUI: Move WebUI Peers code to separate file (Thomas Piccirello)
|
||||
- WEBUI: Prevent WebUI tables from being highlighted (Thomas Piccirello)
|
||||
- WEBUI: Allow WebUI Trackers table to be manipulated (Thomas Piccirello)
|
||||
- WEBUI: Fix only the first newline char is replaced (Chocobo1)
|
||||
- WEBUI: Fix missing semicolon in WebUI (Chocobo1)
|
||||
- WEBUI: Add autocomplete attribute to WebUI (Chocobo1)
|
||||
- WEBUI: Always use index.html as default page (CzBiX)
|
||||
- WEBUI: Set title attribute for all WebUI table cells (Thomas Piccirello)
|
||||
- WEBUI: Align WebUI login button to the right (Chocobo1)
|
||||
- WEBUI: Use force refresh on WebUI logout (Chocobo1)
|
||||
- WEBUI: Use a random number for WebUI cache busting (Chocobo1)
|
||||
- WEBUI: Register protocol handler in WebUI for magnet links (Cory)
|
||||
- WEBUI: Add WebAPI session timeout settings (Chocobo1)
|
||||
- WEBUI: Fix encoding of special characters (Tom Piccirello)
|
||||
- WEBUI: Avoid word wrap in webui footer (airium)
|
||||
- WEBUI: Add advanced options in WebUI (Zhaoyu Gan)
|
||||
- WEBUI: Move WebUI copy actions under a submenu (Thomas Piccirello)
|
||||
- WEBUI: Add WebUI support for triggering context menus on mobile (Thomas Piccirello)
|
||||
- WEBUI: Implement tag management for WebUI (Vasiliy Halimonchuk)
|
||||
- WEBUI: Fix WebUI removing parameters from magnet links (Thomas Piccirello)
|
||||
- WEBUI: Enable by default the search tab (Thomas Piccirello)
|
||||
- WEBUI: Add context menu to Web UI search table (Thomas Piccirello)
|
||||
- WEBUI: Display files hierarchically in Web UI content tab (Thomas Piccirello)
|
||||
- WEBUI: Add ability to add and ban a peer from the Web UI (Thomas Piccirello)
|
||||
- WEBUI: Increase WebUI window heights (Thomas Piccirello)
|
||||
- WEBUI: Sort torrent names case-insensitively in webui (airium)
|
||||
- WEBUI: Support exclusions in WebUI table filters (Thomas Piccirello)
|
||||
- WEBUI: Don't save preferences until all options are processed (Tom Piccirello)
|
||||
- WEBUI: Disable port selection when "Use different port on each startup" is selected (Chocobo1)
|
||||
- WEBUI: Remove max character limit of location path (Clément Pera)
|
||||
- RSS: Better widget for choosing file path in automated downloader (thalieht)
|
||||
- RSS: Allow to cancel/retry the fetching of feeds (glassez)
|
||||
- RSS: Add create subfolder option to RSS auto-download rules (Xegor)
|
||||
- RSS: Log "RSS Feed successfully downloaded" event (glassez)
|
||||
- SEARCH: Add default tooltip "Searching..." on tab creation. (paolo-sz)
|
||||
- SEARCH: Avoid crashes on torrent search (paolo-sz)
|
||||
- SEARCH: Add right click menu to SearchJobWidget (Chocobo1)
|
||||
- SEARCH: Rename label in search widget (Chocobo1)
|
||||
- SEARCH: Add more copy field actions to search widget (Chocobo1)
|
||||
- SEARCH: Remove buttons from search widget (Chocobo1)
|
||||
- SEARCH: Update python installer URL (Chocobo1)
|
||||
- WINDOWS: Drop support for < Windows 7
|
||||
- WINDOWS: Allow headless builds on Windows (knackebrot)
|
||||
- WINDOWS: Add option to control qBittorrent process memory priority (Chocobo1)
|
||||
- LINUX: Add content_rating, release tags to appdata (Peter Eszlari)
|
||||
- LINUX: Update .appdata descriptions (Chocobo1)
|
||||
- LINUX: Use reverse DNS convention for metadata files naming (Chocobo1)
|
||||
- LINUX: Adjust open file descriptor limit on startup to max (Chocobo1)
|
||||
- MACOS: Drop support for < macOS 10.10 (Yosemite)
|
||||
- MACOS: Replace deprecated `qt_mac_set_dock_menu()` (Chocobo1)
|
||||
- MACOS: Add some padding to macOS app icon (Nick Korotysh)
|
||||
- OTHER: Raise minimum C++ version to C++14 (Chocobo1)
|
||||
- OTHER: Raise minimum Qt version to 5.9.0 (sledgehammer999)
|
||||
- OTHER: Drop support of libtorrent < 1.1.10 (glassez)
|
||||
- OTHER: Drop upgrade code from older saving systems (sledgehammer999)
|
||||
- OTHER: Update INSTALL dependencies (Chocobo1)
|
||||
- OTHER: Optimize PNG images losslessly with zopflipng (Peter Dave Hello)
|
||||
- OTHER: Optimize svg files using SVGO (sledgehammer999)
|
||||
- OTHER: QMake: Compile translations at build time (glassez)
|
||||
- OTHER: Drop support for "BC Link" format (Chocobo1)
|
||||
- OTHER: Lots of code refactorings, cleanups, improvements and optimizations (Chocobo1, glassez, thalieht)
|
||||
|
||||
* Sun Aug 04 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.7
|
||||
- FEATURE: Add 12 hour and 24 hour speed graphs (dzmat)
|
||||
- FEATURE: Change "Add new torrent" dialog to horizontal layout (Evgeny Lensky)
|
||||
- BUGFIX: Fix messed up symbols in log (Chocobo1)
|
||||
- BUGFIX: Fix incomplete file extension not applied for new torrents (Chocobo1)
|
||||
- BUGFIX: Save updated resume data for completed torrents (Vladimir Golovnev (Glassez))
|
||||
- BUGFIX: Fix requested torrent resume data handling (Vladimir Golovnev (Glassez))
|
||||
- BUGFIX: Prevent command injection via "Run external program" function (Chocobo1)
|
||||
- BUGFIX: Avoid race conditions when adding torrent (Vladimir Golovnev (Glassez))
|
||||
- BUGFIX: Fix torrent checking issues (Vladimir Golovnev (Glassez))
|
||||
- BUGFIX: Use proper log message when there are no error (Chocobo1)
|
||||
- BUGFIX: Fix torrent properties not saved for paused torrents (Chocobo1)
|
||||
- BUGFIX: Some improvements on qtsingleapplication code (Chocobo1)
|
||||
- BUGFIX: Remove limits of "Disk cache expiry interval" setting (Chocobo1)
|
||||
- BUGFIX: Remove upper limit of "Disk cache" setting (Chocobo1)
|
||||
- BUGFIX: Fix crash when removing phantom tags (Chocobo1)
|
||||
- BUGFIX: Improve handleFileErrorAlert error message (Chocobo1)
|
||||
- BUGFIX: Fix updated save path not saved for paused torrents (Chocobo1)
|
||||
- BUGFIX: Log save_resume_data_failed_alert (Chocobo1)
|
||||
- BUGFIX: Don't remove parent directories (Chocobo1)
|
||||
- BUGFIX: Properly remove empty leftover folders after rename (Chocobo1)
|
||||
- BUGFIX: Focus behavior row in Options dialog (silverqx)
|
||||
- BUGFIX: Fix unable to rename folder on Windows when same is used in different case(Chocobo1)
|
||||
- BUGFIX: Fix unable to control add torrent dialogs when opened simultaneously (Chocobo1)
|
||||
- BUGFIX: Disable "Upload mode" when start preloaded torrent (Vladimir Golovnev (Glassez))
|
||||
- BUGFIX: Fix wrong comparison result when sorting items(Chocobo1)
|
||||
- BUGFIX: Fix sequential downloading when redirected (Vladimir Golovnev (Glassez))
|
||||
- BUGFIX: Fix typos (Chocobo1)
|
||||
- BUGFIX: Fix assertion fail (Chocobo1)
|
||||
- BUGFIX: Change number of time axis divisions from 5 to 6 for convenience (dzmat)
|
||||
- BUGFIX: Don't turn window blank when closed to system tray (Ekin Dursun)
|
||||
- WEBUI: Fix WebUI encoding of special characters (Thomas Piccirello)
|
||||
- WEBUI: Change the speed unit from Bytes/s to KiB/s for the rate limiter(jerrymakesjelly)
|
||||
- WEBUI: Fix '+' char not decoded to space correctly (Chocobo1)
|
||||
- RSS: Ignore RSS articles with non-unique identifiers (Vladimir Golovnev (Glassez))
|
||||
- RSS: Perform more RSS parsing in working thread (Vladimir Golovnev (Glassez))
|
||||
- RSS: Download RSS enclosure element if no proper MIME type is found (Matan Bareket)
|
||||
|
||||
* Sun May 05 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.6
|
||||
- BUGFIX: Force recheck multiple torrents one by one in all possible cases. Closes #9120 (glassez)
|
||||
- BUGFIX: Don't query Google for tracker favicons, for privacy reasons (sledgehammer999)
|
||||
- BUGFIX: Work around the crash occurred in QTimer. Closes #9985 (Chocobo1)
|
||||
- BUGFIX: Increase the .torrent file download size limit to 100 MiB (thalieht)
|
||||
- BUGFIX: Disable downloading tracker favicons by default. Works around reported crashes in Linux. Closes #9667 (Chocobo1)
|
||||
- WEBUI: Separate URL components before percent-decoding. Allow special characters in query string parameters. Closes #9116 (glassez)
|
||||
- WEBUI: Prevent login credential appearing in URL. Closes #10221 (Chocobo1)
|
||||
- WEBUI: Display warning when Javascript is disabled (Chocobo1)
|
||||
- WEBUI: Fix translatable strings (Chocobo1)
|
||||
- WEBUI: Correctly handle '+' sign in x-www-form-urlencoded data. Closes #10451 (Chocobo1)
|
||||
- WEBUI: Remove closed connections immediately. Closes #10487 (Chocobo1)
|
||||
- WEBUI: Fix "Create subfolder" option is not working. Closes ##10392 (Chocobo1)
|
||||
- SEARCH: Make num enter key work the same as return in searchjobwidget (thalieht)
|
||||
- LINUX: Make window title bar icon work in Wayland (Peter Eszlari)
|
||||
- LINUX: Update appdata.xml file (Chocobo1)
|
||||
- MACOS: Fix progress bar drawing by using different style than native (Nick Korotysh)
|
||||
- MACOS: Updated and cleaned up fields in Info.plist (Nick Korotysh)
|
||||
- OTHER: Mention more translators in the about tab. Closes #10043 (sledgehammer999)
|
||||
|
||||
* Mon Dec 24 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.5
|
||||
- FEATURE: Add checking_mem_usage option to AdvancedSettings (FranciscoPombal)
|
||||
- FEATURE: Save torrents queue in separate file. Now a new file named 'queue' is created, saving on each line the infohash of each queued torrent in sorted order. (glassez)
|
||||
- BUGFIX: Fix regression on resuming torrents without metadata (thalieht)
|
||||
- BUGFIX: Reorder and rename Tracker list context menu option (Thomas Piccirello)
|
||||
- BUGFIX: Rename Tracker List columns (Thomas Piccirello)
|
||||
- BUGFIX: Show error message when Session failed to start (glassez)
|
||||
- BUGFIX: Embedded tracker: Use ip parameter from tracker request if provided (Chocobo1)
|
||||
- BUGFIX: Fix weekday names translations (Chocobo1)
|
||||
- BUGFIX: Fix strings not translated (Chocobo1)
|
||||
- WEBUI: Change qBittorrent exit message to HTML5 (Chocobo1)
|
||||
- WEBUI: Revise CSP header (Chocobo1)
|
||||
- WEBUI: Enforce referrer-policy in WebUI (Chocobo1)
|
||||
- WEBUI: Add torrent name filtering to WebUI (Thomas Piccirello)
|
||||
- WEBUI: Send numeric status without translation (Thomas Piccirello)
|
||||
- WEBUI: Add WebUI Trackers context menu (Thomas Piccirello)
|
||||
- WEBUI: Add DHT, PeX, and LSD to WebUI Tracker list (Thomas Piccirello)
|
||||
- WEBUI: Add additional Tracker columns to WebUI (Thomas Piccirello)
|
||||
- WEBUI: Bump Web API version
|
||||
- WEBUI: Fix display bugs in WebUI Files tab. Remove <IE9 support (Thomas Piccirello)
|
||||
- WEBUI: Fix incorrect priority value sent from WebUI (Thomas Piccirello)
|
||||
- WEBUI: Set priority for multiple files in one WebAPI request (Thomas Piccirello)
|
||||
- WEBUI: Match WebUI Peers table column order to GUI (Thomas Piccirello)
|
||||
- WEBUI: Fetch data less frequently when torrents tab isn't visible (Thomas Piccirello)
|
||||
- WEBUI: Add Search tab to WebUI (Thomas Piccirello)
|
||||
- WEBUI: Add ability to pass urls to the webui download page (Thomas Piccirello)
|
||||
- WEBUI: Fix JavaScript error (Tom Piccirello)
|
||||
- WEBUI: Disallow setting a blank alternative WebUI location (Thomas Piccirello)
|
||||
- WEBUI: Add slow torrent options (Thomas Piccirello)
|
||||
- WEBUI: Add "Use alternative Web UI" option (Thomas Piccirello)
|
||||
- WEBUI: Add "Apply rate limit to peers on LAN" option (Thomas Piccirello)
|
||||
- WEBUI: Add email "From" option (Thomas Piccirello)
|
||||
- WEBUI: Set WebUI download options using set preferences (Thomas Piccirello)
|
||||
- WEBUI: Show list of categories on WebUI download page (Thomas Piccirello)
|
||||
- WEBUI: Hide WebUI text input for custom monitor save locations (Thomas Piccirello)
|
||||
- WEBUI: Add "When adding a torrent" options (Thomas Piccirello)
|
||||
- WEBUI: Add WebUI Auto TMM options (Thomas Piccirello)
|
||||
- WEBUI: Add speed limit icons to WebUI Speed options (Thomas Piccirello)
|
||||
- WEBUI: Add WebUI Random port button and proxy unencrypted password notice (Thomas Piccirello)
|
||||
- WEBUI: Replace WebUI Options fixed-width labels (Thomas Piccirello)
|
||||
- WEBUI: Reorder WebUI options to match GUI (Thomas Piccirello)
|
||||
- WEBUI: Allow WebUI sidebar to be collapsed (Thomas Piccirello)
|
||||
- WEBUI: Show ellipsis when WebUI sidebar is too narrow (Thomas Piccirello)
|
||||
- WEBUI: Fix WebUI bug on override of Start Download option.Closes #9855. (Tom Piccirello)
|
||||
- WEBUI: Fix missing words in WebUI (Chocobo1)
|
||||
- WEBUI: Add SameSite attribute to WebUI session cookie (Thomas Piccirello)
|
||||
- WEBUI: Put WebUI security related options into a groupbox (Chocobo1)
|
||||
- WEBUI: Add option for WebUI Host header validation (Chocobo1)
|
||||
- WEBUI: Show icon in WebUI sorted column (Thomas Piccirello)
|
||||
- RSS: Keep track of REPACK/PROPER downloads. Closes #9898. (Stephen Dawkins)
|
||||
- SEARCH: Only instantiate SearchPluginManager as needed (Thomas Piccirello)
|
||||
- MACOS: Make file icon look like other macOS icons (Nick Korotysh)
|
||||
- MACOS: Save option to start minimized in Mac (thalieht)
|
||||
|
||||
* Mon Nov 19 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.4
|
||||
- FEATURE: Recognize *.ts files as previewable (silver)
|
||||
- FEATURE: Allow to disable speed graphs (dzmat)
|
||||
- FEATURE: Clear LineEdit on ESC (silverqx)
|
||||
- BUGFIX: Fix divide-by-zero crash (Chocobo1)
|
||||
- BUGFIX: Remove speed limit checkbox in Options dialog (Chocobo1)
|
||||
- BUGFIX: Fix speed graph "high speeds" bug (dzmat)
|
||||
- BUGFIX: Don't update torrent status unnecessarily (glassez)
|
||||
- BUGFIX: Improve force recheck of paused torrent (glassez)
|
||||
- BUGFIX: Restore torrent in two steps (glassez)
|
||||
- BUGFIX: Improve scaling of speed graphs (dzmat)
|
||||
- BUGFIX: Add isNetworkFileSystem() detection on Windows. This allows network mounts to be monitored correctly by polling timer. (Chocobo1)
|
||||
- BUGFIX: Reduce horizontal graphs resolution. Improves perfomance. (dzmat)
|
||||
- BUGFIX: Don't recheck just checked torrent (mj-p, glassez)
|
||||
- BUGFIX: Add SMB2 magic number (Chocobo1)
|
||||
- BUGFIX: Restore startup perfomance to v4.1.2 times. Needs at least libtorrent 1.1.10 (sledgehammer999)
|
||||
- BUGFIX: Make strings actually translatable (sledgehammer999)
|
||||
- WEBUI: Handle downloading .torrent file as success (Tom Piccirello)
|
||||
- WEBUI: Fix Alternative Web UI to be available (glassez)
|
||||
- WEBUI: Consider empty locale setting as not set (glassez)
|
||||
- WEBUI: Add free disk space to WebUI status bar (Thomas Piccirello)
|
||||
- WEBUI: Add WebUI search API controller (Thomas Piccirello)
|
||||
- WEBUI: Fix WebUI Auto TMM context menu bug (Thomas Piccirello)
|
||||
- WEBUI: Use independent translation for WebUI (glassez)
|
||||
- WEBUI: Add categories WebAPI (Thomas Piccirello)
|
||||
- WEBUI: Fix minor JavaScript defects (Thomas Piccirello)
|
||||
- WEBUI: Add locale to js file path (Thomas Piccirello)
|
||||
- WEBUI: Translate WebUI torrents Status column (Thomas Piccirello)
|
||||
- WEBUI: Bump Web API version
|
||||
- RSS: Allow to disable downloading REPACK/PROPER matches (Stephen Dawkins)
|
||||
- RSS: Improve RSS Feed updating (glassez)
|
||||
- SEARCH: Allow resizing search filter in search job (thalieht)
|
||||
- SEARCH: Improve parser for search engine versions.txt (Chocobo1)
|
||||
- SEARCH: Update Python URLs (Chocobo1)
|
||||
- SEARCH: Fix asking to install Python (Chocobo1)
|
||||
- SEARCH: Reformat python code to be compliant with PEP8 (Chocobo1)
|
||||
- OTHER: cmake: restore out-of-source build (Eugene Shalygin)
|
||||
- OTHER: cmake: cmake: use C++14 when available (Eugene Shalygin)
|
||||
|
||||
* Tue Sep 18 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.3
|
||||
- FEATURE: Preselect name without extension when renaming files (thalieht)
|
||||
- FEATURE: Allow setting seq & first/last from context menu without metadata (thalieht)
|
||||
- BUGFIX: Show "N/A" if there is no scrape (thalieht)
|
||||
- BUGFIX: Save option about tracker favicons under correct key (sledgehammer999)
|
||||
- BUGFIX: When file data are unreachable pause torrent and show "Missing Files" status (temporary fix) (sledgehammer999)
|
||||
- BUGFIX: Don't disable DHT when using force proxy (Thomas Piccirello)
|
||||
- BUGFIX: Correctly save torrent queue position/state/priority changes in fastresume (glassez, thalieht, sledgehammer999)
|
||||
- BUGFIX: Fix icon height/width ratio (Chocobo1)
|
||||
- BUGFIX: Fix values sorted wrong in "Last Activity" column (Chocobo1)
|
||||
- BUGFIX: Replace png icons with svg (Chocobo1)
|
||||
- WEBUI: Allow WebUI sidebar filters to be hidden (Thomas Piccirello)
|
||||
- WEBUI: Increase WebUI Options initial height (Thomas Piccirello)
|
||||
- WEBUI: Adjust WebUI Options form alignment (Thomas Piccirello)
|
||||
- WEBUI: Fix WebUI unreachable issue (Chocobo1)
|
||||
- WEBUI: Require torrent category creation to be explicit (Thomas Piccirello)
|
||||
- WEBUI: Include category save path in web api sync data (Thomas Piccirello)
|
||||
- WEBUI: Add save path and editing to WebUI new category dialog (Thomas Piccirello)
|
||||
- WEBUI: Bump Web API version
|
||||
- SEARCH: Refactor in searchjob to always color visited entries (thalieht)
|
||||
- SEARCH: Set "enter" as shortcut to download the selected torrents in search job (thalieht)
|
||||
- SEARCH: Add regex option in the search filter's context menu (thalieht)
|
||||
- LINUX: Fix GUI scaling issue on Linux (Chocobo1)
|
||||
- LINUX: Fix regression that broke installing desktop file (Eli Schwartz)
|
||||
- OPENBSD: Better filesystem support for filewatcher (Elias M. Mariani)
|
||||
|
||||
* Sun Aug 12 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.2
|
||||
- FEATURE: New options for "inhibit sleep" (Lukas Greib)
|
||||
- FEATURE: Add option for regexps in the transferlist search filter's context menu (thalieht)
|
||||
- FEATURE: Add async io threads option to AdvancedSettings (tjjh89017)
|
||||
- FEATURE: Allow save resume interval to be disabled (Chocobo1)
|
||||
- FEATURE: Add checkbox for recursive download dialog (Chocobo1)
|
||||
- FEATURE: Add changelog link in program updater (Chocobo1)
|
||||
- BUGFIX: Avoid allocating large memory when loading a .torrent file (Couchy)
|
||||
- BUGFIX: Notify users on 1st time close/minimize to tray (sledgehammer999)
|
||||
- BUGFIX: Fix I/O error after fetching magnet metadata (Chocobo1)
|
||||
- BUGFIX: Never save resume data for already paused torrents (glassez)
|
||||
- BUGFIX: Make ProgramUpdater upgrade to 64-bit qbt when running on 64-bit Windows (Chocobo1)
|
||||
- BUGFIX: Put temporary files in qbt own temp folder (Chocobo1)
|
||||
- BUGFIX: Avoid potentially setting the wrong piece priorities (Chocobo1)
|
||||
- BUGFIX: Various code refactorings/improvements (Chocobo1, thalieht, glassez)
|
||||
- BUGFIX: Add options "Download in sequential order" and "Download first and last pieces first" in AddNewTorrentDialog (Chocobo1)
|
||||
- BUGFIX: Download favicon using appropriate protocol (glassez)
|
||||
- BUGFIX: Apply proxy settings on DownloadManager creation (glassez)
|
||||
- BUGFIX: Improve torrent initialization (glassez)
|
||||
- BUGFIX: Save resume data on torrent change events (glassez)
|
||||
- BUGFIX: Increase default resume data save interval (Chocobo1)
|
||||
- BUGFIX: Work around crash when procesing recursive download. Closes #9086 (Chocobo1)
|
||||
- BUGFIX: Reduce queries to python version (Chocobo1)
|
||||
- BUGFIX: Disable certain mouse wheel events in Options dialog (Chocobo1)
|
||||
- WEBUI: Send all rechecks in one request (Thomas Piccirello)
|
||||
- WEBUI: Add WebUI Force Reannounce option (Thomas Piccirello)
|
||||
- WEBUI: Create non-existing path in setLocationAction() (Goshik)
|
||||
- WEBUI: Add WebUI support for Mac ⌘ (Command) key (Thomas Piccirello)
|
||||
- WEBUI: Show current save path in 'Set location' window (Goshik)
|
||||
- WEBUI: Fix WebUI cache behavior for css files (Chocobo1)
|
||||
- WEBUI: Send Cache-Control header in WebUI responses (Chocobo1)
|
||||
- WEBUI: Add form-action to CSP (Thomas Piccirello)
|
||||
- WEBUI: Add upgrade-insecure-requests to CSP when HTTPS is enabled (Thomas Piccirello)
|
||||
- WEBUI: Reset WebUI ban counter on login success (Chocobo1)
|
||||
- WEBUI: Add logging messages in WebUI login action (Chocobo1)
|
||||
- WEBUI: Add option to control CSRF protection (Chocobo1)
|
||||
- WEBUI: Add option to control WebUI clickjacking protection (Chocobo1)
|
||||
- RSS: Implement "Sequential downloading" feature. Closes #6835 (glassez)
|
||||
- RSS: Don't use RSS feed URLs as base for file names. Closes #8399 (glassez)
|
||||
- SEARCH: Add a name filter for search results (thalieht)
|
||||
- SEARCH: Fix python version detection (Chocobo1)
|
||||
- SEARCH: Clear python cache conditionally (Chocobo1)
|
||||
- SEARCH: Properly normalize version string before parsing it (hannsen)
|
||||
- WINDOWS: Turn on Control Flow Guard for MSVC builds (Chocobo1)
|
||||
- MACOS: Replace deprecated function IOPMAssertionCreate() on macOS (Chocobo1)
|
||||
- OTHER: Fix CMake build with QtSingleApplication. Fixes #9196 (Eugene Shalygin)
|
||||
|
||||
* Sun May 27 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.1
|
||||
- FEATURE: Add 'Moving' state for torrents being relocated/moved (sledgehammer999)
|
||||
- FEATURE: Show rechecking progress (sledgehammer999)
|
||||
- FEATURE: Add option to remember last used save path (glassez)
|
||||
- FEATURE: Torrent name is also renamed if the content was renamed in the "Add New Torrent" dialog (glassez)
|
||||
- FEATURE: Relax behavior of "Download first and last piece first". It applies to all files and not only to the previewable. (Chocobo1)
|
||||
- BUGFIX: Fix issues with translatable strings (Chocobo1)
|
||||
- BUGFIX: Fix displayed tracker messages (Chocobo1)
|
||||
- BUGFIX: Make settings file recovery more robust (Chocobo1)
|
||||
- BUGFIX: Retry saving settings when operation failed (Chocobo1)
|
||||
- BUGFIX: Log successful torrent move (sledgehammer999)
|
||||
- BUGFIX: Fix deletion of old logs (sledgehammer999)
|
||||
- BUGFIX: Delete non-commited fastresume files (sledgehammer999)
|
||||
- BUGFIX: Don't migrate torrents that have newer fastresumes (sledgehammer999)
|
||||
- BUGFIX: Fix adding multiple torrents at once from WebUI (glassez)
|
||||
- BUGFIX: Improve "Run External Program" behavior. On Windows, a backslash isn't appended to paths from path variables (Chocobo1)
|
||||
- BUGFIX: Suppress multiple I/O errors for the same torrent (sledgehammer999)
|
||||
- BUGFIX: Replace raster qbt logo with vector version (Chocobo1)
|
||||
- WEBUI: Fix wrong API method names (glassez)
|
||||
- WEBUI: Filter torrent info endpoint by hashes (Marcel Petersen)
|
||||
- WEBUI: Fix invalid API calls in WebUI (glassez)
|
||||
- WEBUI: Improve legacy API params handling (glassez)
|
||||
- WEBUI: Fix params handling for some legacy API methods (glassez)
|
||||
- WEBUI: Apply locale changes immediately in WebUI (Chocobo1)
|
||||
- WEBUI: Use 32px icons for favicon (Chocobo1)
|
||||
- WEBUI/RSS: Properly set RSS settings via API (glassez)
|
||||
- RSS: Fix auto-downloading rule when Smart filter with regular Episode filter are used (glassez)
|
||||
- RSS: Make "Ignoring days" to behave like other filters (glassez)
|
||||
- RSS: Place "Use Smart Episode Filter" more correctly (glassez)
|
||||
- RSS: Use RSS feed update time as a fallback (glassez)
|
||||
- COSMETIC: Fix Stats dialog size (sledgehammer999)
|
||||
- MACOS: Fix GUI scaling factor on macOS (Chocobo1)
|
||||
- WINDOWS: Update icons (adem4ik)
|
||||
- LINUX: Fix open destination folder with Nautilus > 3.28 (Evgeny Lensky)
|
||||
- OTHER: Code improvements and refactoring (thalieht, Nick Korotysh, Chocobo1)
|
||||
|
||||
* Sat May 05 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.0
|
||||
- FEATURE: Add "Coalesce reads & writes" checkbox in advanced options (Chocobo1)
|
||||
- FEATURE: Smart Filter for RSS (Stephen Dawkins)
|
||||
- FEATURE: Possibility to configure at which speed a torrent is considered slow (thalieht)
|
||||
- FEATURE: When creating a torrent you can choose to preserve the file order (toster, Chocobo1)
|
||||
- FEATURE: A new, redesigned and refactored WebAPI (glassez)
|
||||
- BUGFIX: Redefine CacheStatus.readRatio field. (Chocobo1)
|
||||
- BUGFIX: Clarify some terms in stats dialog (Chocobo1)
|
||||
- BUGFIX: Fix possible crash when using both share limits (thalieht)
|
||||
- BUGFIX: Disable options when `Disable connections not supported by proxies` is enabled (Thomas Piccirello)
|
||||
- BUGFIX: Add link to an explanation of `Disable connections not supported by proxies` (Thomas Piccirello)
|
||||
- BUGFIX: Fix typo in a log message (Andrei Stepanov)
|
||||
- BUGFIX: Fix loading very large torrents. Closes #8449. (Chocobo1)
|
||||
- BUGFIX: Fix reverting backslashes to slashes in run external program. Closes #7800 (Chocobo1)
|
||||
- BUGFIX: Use https for documentation links (Chocobo1)
|
||||
- BUGFIX: Use original scheme when downloading favicons (Chocobo1)
|
||||
- BUGFIX: Parse URL query string at application level (glassez)
|
||||
- BUGFIX: Properly reply to announce request (embedded tracker) (glassez)
|
||||
- BUGFIX: Add `Tags` parameter to "Run External Program" (Chocobo1)
|
||||
- BUGFIX: Fix various typos (Chocobo1)
|
||||
- BUGFIX: Refactor filesystem watcher. Delay before processing new files. (Chocobo1)
|
||||
- BUGFIX: Don't strip empty arguments passed to external program. Closes #8454. (Chocobo1)
|
||||
- BUGFIX: Stop creating Download folder on start (Chocobo1)
|
||||
- BUGFIX: Avoid data corruption when rechecking paused torrents (sledgehammer999)
|
||||
- BUGFIX: Fix crashes due to invalid iterator use (Luís Pereira)
|
||||
- BUGFIX: Fix renaming completed files (Chocobo1)
|
||||
- BUGFIX: Fix path separator in log messages (Chocobo1)
|
||||
- WEBUI: Switch built-in Web UI html to HTML5 (glassez)
|
||||
- WEBUI: WebUI Save user's resized window sizes (Thomas Piccirello)
|
||||
- WEBUI: Make download + upload windows resizable (Thomas Piccirello)
|
||||
- WEBUI: Add option to show/hide webui status bar (Thomas Piccirello)
|
||||
- WEBUI: Add "Use proxy only for torrents" option to webui (Thomas Piccirello)
|
||||
- WEBUI: Various fixes in the html code (Thomas Piccirello)
|
||||
- WEBUI: Don't unselect selected torrents after a few seconds (Thomas Piccirello)
|
||||
- WEBUI: Enable Http/1.1 persistence connection (Chocobo1)
|
||||
- WEBUI: Format Read cache hits as percentage (Thomas Piccirello)
|
||||
- WEBUI: Re-order and rename stats (Thomas Piccirello)
|
||||
- WEBUI: Right align stat values (Thomas Piccirello)
|
||||
- WEBUI: Enable Statistics window to be scrolled and resized (Tom Piccirello)
|
||||
- WEBUI: Save WebUI Statistics window size (Thomas Piccirello)
|
||||
- WEBUI: Make WebUI iframe windows scrollable on iOS (Thomas Piccirello)
|
||||
- WEBUI: Remove unused CSS from WebUI login page (Thomas Piccirello)
|
||||
- WEBUI: Consolidate CSS into style.css (Thomas Piccirello)
|
||||
- WEBUI: Resolve JavaScript errors (Thomas Piccirello)
|
||||
- WEBUI: Fix spacing in login form(Thomas Piccirello)
|
||||
- WEBUI: Update WebUI to be more compliant with HTML5 standard (Chocobo1)
|
||||
- WEBUI: Update clipboard.js to v2.0.0 (Chocobo1)
|
||||
- WEBUI: Remove unused JavaScript library (Chocobo1)
|
||||
- WEBUI: Fix setting preferences via WebAPI (glassez)
|
||||
- WEBUI: Rename property to match its definition (Thomas Piccirello)
|
||||
- WEBUI: Add Limit Share Ratio context menu option (Thomas Piccirello)
|
||||
- RSS: Disable Auto TMM when RSS rule has save path (glassez)
|
||||
- RSS: Process loaded RSS articles in case of error (glassez)
|
||||
- RSS: Resolve (X)HTML entities in RSS content (glassez)
|
||||
- SEARCH: Improve Search handling (glassez)
|
||||
- SEARCH: Calculate supported categories based on selected plugin (Thomas Piccirello)
|
||||
- SEARCH: Fix memory leak (Chocobo1)
|
||||
- COSMETIC: Use spinbox suffix to display rate/time units (thalieht)
|
||||
- COSMETIC: Avoid showing an empty row in AdvancedSettings (Chocobo1)
|
||||
- OTHER: Various code optimizations and fixes (Luís Pereira, Chocobo1)
|
||||
- OTHER: Fix build when using Clang under CMake (Luís Pereira)
|
||||
- OTHER: Allow to disable Stacktrace support (Nick Korotysh)
|
||||
- OTHER: Use RNG provided by OS (Chocobo1)
|
||||
|
||||
* Fri Feb 16 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.4
|
||||
- FEATURE: Add source field in Torrent creator. Closes #7965. (Chocobo1)
|
||||
- FEATURE: Torrent creator: raise maximum piece size to 32 MiB (Chocobo1)
|
||||
- FEATURE: Add a force reannounce option in the transfer list context menu. Closes #6448. (Jesse Bryan)
|
||||
- BUGFIX: Fix sorting of country flags column in Peers tab. (sledgehammer999)
|
||||
- BUGFIX: Fix natural sorting when the common part of 2 strings ends partially in a number which continues in the uncommon part. Closes #8080 #6732. (sledgehammer999)
|
||||
- BUGFIX: Fix application of speed limits on LAN and μTP connections. Closes #7745. (sledgehammer999)
|
||||
- BUGFIX: Make peer information flags in peerlist more readable. (thalieht)
|
||||
- BUGFIX: Fix gui issues on high DPI monitor. (Chocobo1)
|
||||
- BUGFIX: Fix dialog and column size on high DPI monitors. (Chocobo1)
|
||||
- BUGFIX: Fix constant status of '[F] Downloading'. Closes #7628. (sledgehammer999)
|
||||
- BUGFIX: Fix translation context. Closes #8211. (sledgehammer999)
|
||||
- BUGFIX: Separate subnet whitelist options into two lines. (Thomas Piccirello)
|
||||
- BUGFIX: Don't set application name twice. (Luís Pereira)
|
||||
- BUGFIX: Set default file log size to 65 KiB and delete backup logs older than 1 month. (sledgehammer999)
|
||||
- WEBUI: Only prepend scheme when it is not present. Closes #8057. (Chocobo1)
|
||||
- WEBUI: Add "Remaining" and "Availability" columns to webui Content tab. (Thomas Piccirello)
|
||||
- WEBUI: Make value formatting consistent with GUI (Thomas Piccirello)
|
||||
- WEBUI: Reposition Total Size column to match gui (Thomas Piccirello)
|
||||
- WEBUI: Add Tags and Time Active columns (Thomas Piccirello)
|
||||
- WEBUI: Use https for www.qbittorrent.org (Thomas Piccirello)
|
||||
- WEBUI: Match webui statuses to gui, closes #7516 (Thomas Piccirello)
|
||||
- WEBUI: Right-align stat values (Thomas Piccirello)
|
||||
- WEBUI: Add missing units. (Thomas Piccirello)
|
||||
- RSS: Fix crash when deleting rule because it tries to update. Closes #8094 (glassez)
|
||||
- RSS: Don't process new/updated RSS rules when disabled (glassez)
|
||||
- RSS: Remove legacy and corrupted RSS settings (glassez)
|
||||
- SEARCH: Search only when category is supported by plugin. Closes #8053. (jan.karberg)
|
||||
- SEARCH: Only add search separators as needed. (Thomas Piccirello)
|
||||
- COSMETIC: Tweak spacing in torrent properties widget and speed widget. (Chocobo1)
|
||||
- WINDOWS: Use standard folder icon for open file behavior on Windows. Closes #7880. (Chocobo1)
|
||||
- WINDOWS: Revert "Run external program" function. Now you will not be able to directly run batch scripts. (Chocobo1)
|
||||
- MACOS: Fix torrent file selection in Finder on mac (vit9696)
|
||||
- MACOS: Fix Finder reveal in preview and torrent contents (vit9696)
|
||||
- MACOS: Fix cmd+w not closing the main window on macOS (vit9696)
|
||||
- OTHER: Fix splitting of compiler flags in configure. Autoconf removes a set of [] during script translation, resulting in a wrong sed command. (sledgehammer999)
|
||||
- OTHER: configure: Parse all compiler related flags together. (sledgehammer999)
|
||||
- OTHER: Update copyright year. (sledgehammer999)
|
||||
|
||||
* Sun Dec 17 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.3
|
||||
- BUGFIX: Add height padding to the transfer list icons. Closes #7951. (sledgehammer999)
|
||||
- BUGFIX: Allow to drag-n-drop URLs into mainwindow to initiate download. (Chocobo1)
|
||||
- BUGFIX: Fix crash when fitlering search results. Stable sorting is removed. Closes #7952.(Chocobo1)
|
||||
- WEBUI: Fix missing qbt logo on login page in webUI. Closes #7953. (Chocobo1)
|
||||
- WEBUI: Add check to avoid type error after logout. (Chocobo1)
|
||||
- WEBUI: Use POST for logout command. This is to avoid browser being smart to prefetch the link then logging out the user. (Chocobo1)
|
||||
- WEBUI: Fix WebUI is not reachable via IPv6. (glassez)
|
||||
- WINDOWS: Disable the "?" help button in all dialogs on Windows. Closes #7365. Requires Qt 5.10. (Chocobo1)
|
||||
|
||||
* Fri Dec 01 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.2
|
||||
- BUGFIX: Fix crash on some systems when creating address object for 255.255.255.255. Closes #7735. (sledgehammer999)
|
||||
- PERFORMANCE: Change MixedModeAlgorithm default to TCP. This was the v3_3_x default and should sustain higher speeds. Closes #7779. (Chocobo1)
|
||||
- PERFORMANCE: Stop logging IP filter parsing errors after a while, otherwise the GUI freezes or qBittorrent doesn't start. (sledgehammer999)
|
||||
- GUI: Implement stable sort. Rows in transfer list shouldn't flicker anymore. (Chocobo1)
|
||||
- WEBUI: Fix build when webui is disabled. (Heiko Becker)
|
||||
- RSS: Fix build because of missing header. Closes #7805. (thoradia)
|
||||
- RSS: Fix RSS parser. (glassez)
|
||||
- RSS: Implement Import/Export RSS rules in legacy(aka v3_3_x) format. (glassez)
|
||||
- RSS: Implement Import/Export RSS rules in JSON format. (glassez)
|
||||
- WINDOWS: Fixed blurry text under Windows by setting DPI awareness to default. (TheNicker)
|
||||
- LINUX: Fix i386 build. (Evgeny Lensky)
|
||||
|
||||
* Wed Nov 22 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.1
|
||||
- BUGFIX: Fix crash on opening torrent/magnet (uninitialized pointer). Closes #7739 #7723. (sledgehammer999)
|
||||
- BUGFIX: Enable preferences Apply button when ip banlist is modified (Thomas Piccirello)
|
||||
- BUGFIX: Allow drag-n-drop magnet links to mainwindow. Closes #7742. (Chocobo1)
|
||||
- BUGFIX: Fix crash when aborting a torrent creation process. Closes #7783. (Chocobo1)
|
||||
- BUGFIX: Correctly check if torrent passed during application start already exists. (sledgehammer999)
|
||||
- WEBUI: Add ip subnet whitelist for bypassing webui auth (Thomas Piccirello)
|
||||
- WEBUI: Fix logo missing in login page (Chocobo1)
|
||||
- COSMETIC: Fix english typo. (sledgehammer999)
|
||||
- OTHER: cmake: qtsingleapplication should always be built statically (luigino)
|
||||
|
||||
* Mon Nov 20 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.0
|
||||
- FEATURE: Change qbittorrent logo. Issue #6467. (HVS, Atif Afzal, sledgehammer999)
|
||||
- FEATURE: New icon theme with SVG source, so we can scale it appropriately in the future. (Bert Verhelst)
|
||||
- FEATURE: Drop Qt 4 support. Raise minimum Qt version to 5.5.1 (evsh)
|
||||
- FEATURE: UI for managing locally banned IP list (dzmat)
|
||||
@@ -18,20 +675,85 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- FEATURE: Fetch Favicons via google as a final fallback (KingLucius)
|
||||
- FEATURE: Add a Tags (multi-label) feature to the GUI. Closes #13. (tgregerson)
|
||||
- FEATURE: Use the system icons for each file type in the Content tab (evsh)
|
||||
- FEATURE: Use SVG files for monochrome tray icons. Closes #6085. (evsh)
|
||||
- FEATURE: Prefill torrent name when creating a new torrent. Closes #7229. (Chocobo1)
|
||||
- FEATURE: Expose more libtorrent options in advanced settings (Chocobo1)
|
||||
- FEATURE: Add comboBox for selecting BitTorrent protocol. Closes #6316. (Chocobo1)
|
||||
- FEATURE: Allow SMTP sender to be set. Closes #7575. (Chocobo1)
|
||||
- FEATURE: Allow to specify if announcing to all tiers is desired. (sledgehammer999)
|
||||
- FEATURE: Configurable number of history of paths in Add New Torrent dialog. (evsh)
|
||||
- BUGFIX: Adjust icons names to better fit FDO scheme (evsh)
|
||||
- BUGFIX: Optimized IP filter parsing, making blazingly fast (sledgehammer999, evsh)
|
||||
- BUGFIX: Fix dialogs didn't position on the correct screen which qBittorrent window is on. Closes #1690, #2474, #3538. (Chocobo1)
|
||||
- BUGFIX: Refactor and improve StatusBar (glassez)
|
||||
- BUGFIX: Set expiration date for newly added cookie to +2 years from now, instead of +99 years. (Chocobo1)
|
||||
- BUGFIX: Don't create subfolder inside temp folder (glassez)
|
||||
- BUGFIX: Don't replace existing files when relocating torrent (glassez)
|
||||
- BUGFIX: Fix explicit Torrent Management Mode in Add New Torrent dialog. Closes #5602. (sledgehammer999)
|
||||
- BUGFIX: Fix calculation of 'Average time in queue' stat under libtorrent 1.1.x (sledgehammer999)
|
||||
- BUGFIX: Don't disable bandwidth scheduler when manually switching speed limits. Closes #7306. (glassez)
|
||||
- BUGFIX: Fix dereferencing freed pointer. Closes #7420. (Chocobo1)
|
||||
- BUGFIX: Change the default cache size to 64MiB. (Chocobo1)
|
||||
- BUGFIX: The previous "Disk write cache size" is not accurate since it is also being used for read cache, so rename it to "Disk cache". (Chocobo1)
|
||||
- BUGFIX: Replace dialog ok-cancel buttons with QDialogButtonBox, which follows the platform specific button order. (Chocobo1)
|
||||
- BUGFIX: Better reporting of success/failure of torrent and file deletion. (sledgehammer999)
|
||||
- BUGFIX: Fix last activity calculation. Closes #7461. (Chocobo1)
|
||||
- BUGFIX: Save state of options windows on cancel too. (silverqx)
|
||||
- BUGFIX: Persist size and treeview header state in preview dialog. (silverqx)
|
||||
- BUGFIX: Show torrent name in "add new torrent" dialog on merging trackers (Chocobo1)
|
||||
- BUGFIX: Properly pre-select the selected torrent's current ratio limiting options in UpDownRatioDlg dialogs. Fixes #7352 (thalieht)
|
||||
- BUGFIX: Optimize code for SpeedWidget. (dzmat)
|
||||
- BUGFIX: Disable processing events when adding torrents(prevents crashes). Closes #7436. (Chocobo1)
|
||||
- BUGFIX: Open links in browser. Closes #7651. (Chocobo1)
|
||||
- BUGFIX: Change default settings for tracker/tier announces to mimic μTorrent behavior. (sledgehammer999)
|
||||
- BUGFIX: Explicitly set UPnP state on start-up. Closes #7338. (Chocobo1)
|
||||
- BUGFIX: Include/print caught signal in stackdump (Chocobo1)
|
||||
- COSMETIC: Trackerlist: Set text alignment of columns with numbers to the right (thalieht)
|
||||
- COSMETIC: Enable alternatingRowColors for "Manage Cookie" dialog (Chocobo1)
|
||||
- COSMETIC: Remove indentation for category/tag filter widgets in all platforms (thalieht)
|
||||
- COSMETIC: Add space between widgets in left side panel. Closes #7224. (Chocobo1, glassez)
|
||||
- COSMETIC: Unify preference window borders across the tabs (vit9696)
|
||||
- COSMETIC: Center Options dialog when showed. (silverqx)
|
||||
- COSMETIC: Show delete accelerator key in menu. closes #7508 (Nick Korotysh)
|
||||
- COSMETIC: Set QTextOption::NoWrap property in "Download from URLs" dialog (Chocobo1)
|
||||
- COSMETIC: Use SVG icons for the country flags. Closes #6223. (sledgehammer999)
|
||||
- WEBUI: Allow to load/use ECDSA certificate in webUI. (Chocobo1)
|
||||
- WEBUI: Add copy options to webui context menu (addresses #6815) (#7036) (Tom Piccirello)
|
||||
- WEBUI: Set torrent location from webui context menu (addresses #6815) (#7062) (Tom Piccirello)
|
||||
- WEBUI: Add option to rename torrent from WebUI (Thomas Piccirello)
|
||||
- WEBUI: Add auto torrent management to webui context menu (addresses #6815) (Thomas Piccirello)
|
||||
- WEBUI: Option for "Create subfolder" when adding new torrent. (thalieht)
|
||||
- WEBUI: Fix addPaused wrong default behavior. (Chocobo1)
|
||||
- WEBUI: Reposition "Priority" menu option in WebUI to match gui. Closes #7072. (Thomas Piccirello)
|
||||
- WEBUI: Report TCPServer errorString() if webui fails to listen to port. (Matthew Fioravante)
|
||||
- WEBUI: Exit gracefully when failed to initialize web server with qbt-nox (Chocobo1)
|
||||
- WEBUI: Add file-to-piece-index mappings in /query/propertiesFiles command (Chocobo1)
|
||||
- WEBUI: Add optional parameters for /command/download & /command/upload (Chocobo1)
|
||||
- WEBUI: Print error messages upon receiving invalid header fields. (Chocobo1)
|
||||
- WEBUI: Add WebUi\Address config option. (Matthew Fioravante)
|
||||
- WEBUI: Reinitialize webUI server when "IP address" setting changed. An app restart won't be necessary from now on. (Chocobo1)
|
||||
- WEBUI: Improve log and error messages (Chocobo1)
|
||||
- SEARCH: Use explicit class for search plugin versions (evsh)
|
||||
- SEARCH: Remove all search plugins from repo. There is another repo named 'search-plugins'. (sledgehammer999)
|
||||
- SEARCH: Update the backend when a new plugin favicon is downloaded. (sledgehammer999)
|
||||
- SEARCH: Allow search plugins sorting. Closes #7526. (Nick Korotysh)
|
||||
- RSS: Redesigned RSS subsystem (glassez)
|
||||
- RSS: Do not use hardcoded colors in RSS feed view (evsh)
|
||||
- RSS: Improve RSS events logging (glassez)
|
||||
- WINDOWS: Use dpiawareness=1 on Windows. Closes #5393. (sledgehammer999)
|
||||
- WINDOWS: Reformat Windows build configuration files. (glassez)
|
||||
- LINUX: Allow custom tray icons when system icon theme is used. Closes #7403. (evsh)
|
||||
- MACOS: Various macOS UI improvements (vit9696)
|
||||
- MACOS: Fix main menu item location on macOS (vit9696)
|
||||
- MACOS: Fix macOS window restoration after using hide icon (vit9696)
|
||||
- MACOS: Fix notification display on macOS (vit9696)
|
||||
- OTHER: Use new classes/methods from libtorrent and stop using deprecate ones. (glassez)
|
||||
- OTHER: Various string fixes (Allan Nordhøy, sledgehammer999)
|
||||
- OTHER: cmake: do not use Qt5Widgets when locating QtSingleApplication. Closes #7551. (evsh)
|
||||
- OTHER: Update BOOST m4 macros and simplify AX_BOOST_BASE usage (Chocobo1)
|
||||
- OTHER: Drop OS/2 support. (sledgehammer999)
|
||||
- OTHER: Optimize file size of PNG and SVG files. (sledgehammer999)
|
||||
- OTHER: Add new translators in the About page.
|
||||
|
||||
* Thu Jun 01 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.13
|
||||
- BUGFIX: Fixed UI glitch about torrent numbers in the sidepanel. Fixes #6454. (evsh)
|
||||
@@ -114,7 +836,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- FEATURE: Use Ctrl+F to search torrents. Closes #5797. (Tim Delaney)
|
||||
- FEATURE: Transferlist: add hotkeys for double click and recheck selected torrents (thalieht)
|
||||
- FEATURE: Add hotkey for execution log tab, Trackerlist, Peerlist etc (thalieht)
|
||||
- FEATURE: Seperate seeds from peers for DHT, PeX and LSD (thalieht)
|
||||
- FEATURE: Separate seeds from peers for DHT, PeX and LSD (thalieht)
|
||||
- BUGFIX: Do not remove added files unconditionally. Closes #6248 (Eugene Shalygin)
|
||||
- BUGFIX: Ignore mouse wheel events in Advanced Settings. Closes #866. (Chocobo1)
|
||||
- BUGFIX: Add queue repair code. It should fix missing torrents after restarting. (Eugene Shalygin, nxd4)
|
||||
@@ -126,7 +848,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- BUGFIX: TransferListWidget: keep columns width even if they are hidden on qBittorrent startup (unless something goes wrong) (thalieht)
|
||||
- BUGFIX: fix index overflow for torrents with invalid meta data or empty progress (Falco)
|
||||
- BUGFIX: Immediately update torrent_status after manipulating super seeding mode. Partially fixes #6072. (sledgehammer999)
|
||||
- BUGFIX: Use case-insensitive comparsion for torrent content window. Closes #6327. (Chocobo1)
|
||||
- BUGFIX: Use case-insensitive comparison for torrent content window. Closes #6327. (Chocobo1)
|
||||
- BUGFIX: Fixed sort order for datetime columns with empty values (closes #2988) (Vladimir Sinenko)
|
||||
- BUGFIX: Disable proxy in WebUI HTTP server. Closes #6349. (Eugene Shalygin)
|
||||
- COSMETIC: Use a disabled progressbar's palette for unselected files. (sledgehammer999)
|
||||
@@ -254,12 +976,12 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- FEATURE: Add option to automatically remove .torrent files upon adding (Eugene Shalygin)
|
||||
- FEATURE: Add option to bind directly to an IP instead of using a network Interface (Sjoerd van der Berg, sledgehammer999)
|
||||
- FEATURE: Detailed tooltips on the progress and availability bars in the General button of each torrent. (Eugene Shalygin)
|
||||
- FEATURE: Let user able to specifiy a filter when choosing an IP filter file (Chocobo1)
|
||||
- FEATURE: Let user able to specify a filter when choosing an IP filter file (Chocobo1)
|
||||
- FEATURE: Improve usability of "Run External Program". Users can write (platform dependent) shell scripts now. (Chocobo1)
|
||||
- PERFORMANCE: Optimize drawing in speed graph (Anton Lashkov, Chocobo1)
|
||||
- BUGFIX: Fix memory leak. (sledgehammer999)
|
||||
- BUGFIX: Fix resizing bug in "add torrent dialog". Closes #5036. (Chocobo1)
|
||||
- BUGFIX: Fix qBittorrent doesn't exit immediately when "all donwloads are done -> exit" option enabled. (glassez, Chocobo1)
|
||||
- BUGFIX: Fix qBittorrent doesn't exit immediately when "all downloads are done -> exit" option enabled. (glassez, Chocobo1)
|
||||
- BUGFIX: Display the filepath when a torrent fails to load. Closes #100 and #805. (sledgehammer999)
|
||||
- BUGFIX: Fix Add tracker dialog empty trackers (ngosang)
|
||||
- BUGFIX: Fix Add tracker dialog URL download (ngosang)
|
||||
@@ -312,7 +1034,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- OTHER: Enable access to shutdown functions when configured with `--disable-gui` option (Chocobo1)
|
||||
- OTHER: Delete Import Torrent Dialog. Just use the "add new torrent" dialog. (glassez)
|
||||
- OTHER: Optimize code for natural sorting (Chocobo1)
|
||||
- OTHER: Use new alert dispathing API for libtorrent 1.1.x (glassez)
|
||||
- OTHER: Use new alert dispatching API for libtorrent 1.1.x (glassez)
|
||||
- OTHER: Fix gcc 6 compilation with qmake. See #5237. (sledgehammer999)
|
||||
|
||||
* Tue Mar 29 2016 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.4
|
||||
@@ -636,7 +1358,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- SEARCH: Fix thepiratebay. Closes #3012 (ngosang)
|
||||
- SEARCH: Improve torrentz engine to return more results (ngosang)
|
||||
- SEARCH: Change width of columns in search tab. Closes #764 (ngosang)
|
||||
- SEARCH: Make strings translatable in seach engine (ngosang)
|
||||
- SEARCH: Make strings translatable in search engine (ngosang)
|
||||
- SEARCH: Aborting search engine process during closure. Close #2671 (DoumanAsh)
|
||||
- SEARCH: Perform searches in parallel (DoumanAsh)
|
||||
- SEARCH: Add Demonoid search engine (ngosang)
|
||||
@@ -803,7 +1525,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- WEBUI: Removed broken 'Documentation'. Improves fix for #1343 (Benjamin Hutchins)
|
||||
- WEBUI: Removed essentially useless 'Visit website' iframe and changed it to a regular link. Improves fix for #1343 (Benjamin Hutchins)
|
||||
- BUGFIX: Fix RSS feed icon. The tmp file gets deleted in the feed destructor. Closes #1639 (sledgehammer999)
|
||||
- BUGFIX: fix issue #1674: AddNewTorrentDialog is shown again and again even if checkbox "dont ask me again" is set (Ivan Sorokin)
|
||||
- BUGFIX: fix issue #1674: AddNewTorrentDialog is shown again and again even if checkbox "don't ask me again" is set (Ivan Sorokin)
|
||||
- BUGFIX: Don't show availability bar for magnet links (Ivan Sorokin)
|
||||
- BUGFIX: Fix crash when the selected torrent disappears from the transfer list. Closes #1661 (sledgehammer999)
|
||||
- BUGFIX: Fix tracker announcing problem(hit-and-run) when many torrents are being active. Closes #1571 (sledgehammer999)
|
||||
@@ -937,7 +1659,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- FEATURE: Show external IP in the log. Closes #968. (sledgehammer999)
|
||||
- FEATURE: Enable gzip compression in the webui. It should be faster now. (sledgehammer999)
|
||||
- FEATURE: Torrents show more states(queued for checking, downloading metadata, allocating, checking resume). (sledgehammer999)
|
||||
- FEATURE: Reenable "force reannounce" to all trackers. (sledgehammer999)
|
||||
- FEATURE: Re-enable "force reannounce" to all trackers. (sledgehammer999)
|
||||
- FEATURE: Allow to clear the UI lock password. Closes #973. (sledgehammer999)
|
||||
- FEATURE: New translations: English(Australia) and English(United Kingdom)
|
||||
- BUGFIX: Expose all available translation in the WebUI. Closes #976. (sledgehammer999)
|
||||
@@ -986,8 +1708,8 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- OTHER: Make peer tab sortable by ip too (Gelmir)
|
||||
- OTHER: Translations moved to Transifex(https://www.transifex.com/projects/p/qbittorrent/)
|
||||
- OTHER: New Translation - Vietnamese (Anh Phan)
|
||||
- PERFORMANCE: Impove drawing speed of tranferlist when there are many torrents(>100)
|
||||
- PERFORMANCE: Impove drawing speed of peers list when there are many peers
|
||||
- PERFORMANCE: Improve drawing speed of tranferlist when there are many torrents(>100)
|
||||
- PERFORMANCE: Improve drawing speed of peers list when there are many peers
|
||||
|
||||
* Mon Jul 29 2013 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.0.11
|
||||
- FEATURE: Allow more fine tuning of upload slots. It should improve speed (sledgehammer999)
|
||||
@@ -1027,8 +1749,8 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- LIBTORRENT: SOCKS5 fixes (0.16.10)
|
||||
- LIBTORRENT: Fix hanging issue on Windows when closing files (0.16.10)
|
||||
- LIBTORRENT: Cache can now be returned to the OS (0.16.10)
|
||||
- PERFORMANCE: Impove drawing speed of tranferlist when there are many torrents(>100) (sledgehammer999)
|
||||
- PERFORMANCE: Impove drawing speed of peers list when there are many peers (sledgehammer999)
|
||||
- PERFORMANCE: Improve drawing speed of tranferlist when there are many torrents(>100) (sledgehammer999)
|
||||
- PERFORMANCE: Improve drawing speed of peers list when there are many peers (sledgehammer999)
|
||||
|
||||
* Sat Mar 16 2013 - Christophe Dumez <chris@qbittorrent.org> - v3.0.9
|
||||
- BUGFIX: Raise qBittorrent windows when another instance is launched
|
||||
@@ -1052,7 +1774,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- BUGFIX: Fix "Couldn't set environment variable..." message on start up (closes #245)
|
||||
- BUGFIX: Use right path separator in torrent addition dialog on Windows
|
||||
- BUGFIX: Fix "Set as default save path" setting (closes #254)
|
||||
- BUGFIX: Reenable disk cache on Windows since the memory issue seems to be gone
|
||||
- BUGFIX: Re-enable disk cache on Windows since the memory issue seems to be gone
|
||||
- BUGFIX: Fixed several search engine plugins and removed the dead ones
|
||||
- BUGFIX: Use https links in search plugins when possible
|
||||
- BUGFIX: Bump Mootools to v1.4.5 (Web UI)
|
||||
@@ -1188,7 +1910,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- I18N: Add Georgian translation
|
||||
|
||||
* Sat Oct 29 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.2
|
||||
- BUGFIX: Fix mimimum dimensions for torrent addition dialog
|
||||
- BUGFIX: Fix minimum dimensions for torrent addition dialog
|
||||
- BUGFIX: Remove dependency on boost-datetime
|
||||
- BUGFIX: Remove dependency on boost-filesystem (libtorrent v0.16.x)
|
||||
|
||||
@@ -1399,7 +2121,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- BUGFIX: Update RSS feed as soon as feed downloader is enabled
|
||||
- BUGFIX: RSS Feed downloader ignores articles above maximum number of articles
|
||||
- BUGFIX: Fix possible bug when deleting a RSS folder
|
||||
- BUGFIX: Remove persistant data when a RSS feed is deleted
|
||||
- BUGFIX: Remove persistent data when a RSS feed is deleted
|
||||
- BUGFIX: RSS filters are now alphabetically sorted
|
||||
- BUGFIX: Fix crash when renaming currently displayed RSS filter
|
||||
- BUGFIX: Remove overwriting confirmation when exporting RSS filters since Qt takes care of it
|
||||
@@ -1435,7 +2157,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- BUGFIX: Use the save path set in program preferences as a default in torrent addition dialog
|
||||
|
||||
* Fri Dec 18 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.2
|
||||
- BUGFIX: Fix .qbittorrent folder not being created (critical bug introduced in v2.0.1 that makes qBittorrent unusuable for new users)
|
||||
- BUGFIX: Fix .qbittorrent folder not being created (critical bug introduced in v2.0.1 that makes qBittorrent unusable for new users)
|
||||
- BUGFIX: Fix RSS Feed downloader for some feeds
|
||||
- BUGFIX: Do not use home folder as a fallback when the save path is not accessible
|
||||
- BUGFIX: Fix Mininova, ThePirateBay search engine plugins
|
||||
@@ -1525,7 +2247,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- BUGFIX: Fix trackers addition to torrents (bug introduced in v1.5.4)
|
||||
- BUGFIX: Suppress compilation warning regarding sortNewsList() not being used
|
||||
- BUGFIX: Make sure scan folder is different than qBittorrent backup directory to avoid torrents deletion
|
||||
- BUGFIX: Added safety mecanism which adds the torrents back to the list in case qbittorrent-resume.conf gets deleted or corrupted.
|
||||
- BUGFIX: Added safety mechanism which adds the torrents back to the list in case qbittorrent-resume.conf gets deleted or corrupted.
|
||||
|
||||
* Sun Oct 25 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.4
|
||||
- BUGFIX: Updated man page
|
||||
@@ -1592,7 +2314,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- FEATURE: Added right click menu in search engine to clear completion history
|
||||
- FEATURE: Allow to set a different port for DHT (UDP) than the one used for Bittorrent
|
||||
- FEATURE: Updated spoofing code to avoid trackers ban
|
||||
- BUGFIX: Provide more helpful explanation when an I/O error occured
|
||||
- BUGFIX: Provide more helpful explanation when an I/O error occurred
|
||||
- BUGFIX: Stop enforcing UTF-8 and use system locale instead
|
||||
- COSMETIC: Redesigned program preferences
|
||||
- COSMETIC: Updated icons set
|
||||
@@ -1610,7 +2332,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- BUGFIX: Suppressed QLayout: Attempting to add QLayout "" to properties "properties" warning message when opening a properties dialog
|
||||
- BUGFIX: Fixed a little bug in search engine plugins helper file
|
||||
- BUGFIX: Fixed compilation problems with Qt 4.3
|
||||
- BUGFIX: Percentages no longer disapear with default cleanlooks style
|
||||
- BUGFIX: Percentages no longer disappear with default cleanlooks style
|
||||
- BUGFIX: Cleanly fixed popup menus position in lists (no more workarounds)
|
||||
- BUGFIX: Fixed memory leak in search engine
|
||||
- BUGFIX: Torrents with an infinite ratio are no longer affected by ratio_limit set in program preferences
|
||||
@@ -1855,7 +2577,7 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0
|
||||
- FEATURE: Number of complete/incomplete sources are now displayed in download list for each torrent
|
||||
- FEATURE: Implemented close to systray
|
||||
- FEATURE: Added Autocompletion to search engine
|
||||
- FEATURE: Splitted BT & GUI parts (huge code rewriting & optimization)
|
||||
- FEATURE: Split BT & GUI parts (huge code rewriting & optimization)
|
||||
- FEATURE: New parameters for configure file to point to custom locations for libtorrent/libcurl
|
||||
- FEATURE: Update application style according to the system (WindowsXP, MacOS, X11)
|
||||
- BUGFIX: Two torrents can now have the same name although they are different (use their hash)
|
||||
|
||||
65
INSTALL
@@ -1,54 +1,43 @@
|
||||
qBittorrent - A BitTorrent client in C++ / Qt4
|
||||
qBittorrent - A BitTorrent client in C++ / Qt
|
||||
------------------------------------------
|
||||
|
||||
1) Compile and install qBittorrent with Qt4 Graphical Interface
|
||||
1) Install these dependencies:
|
||||
|
||||
- Boost >= 1.40
|
||||
|
||||
- libtorrent-rasterbar >= 1.1.10 (by Arvid Norberg)
|
||||
* https://www.libtorrent.org/
|
||||
* Be careful: another library (the one used by rTorrent) uses a similar name
|
||||
|
||||
- OpenSSL >= 1.0
|
||||
|
||||
- Qt >= 5.9.0
|
||||
|
||||
- zlib >= 1.2.5.2
|
||||
|
||||
- pkg-config (compile-time only)
|
||||
|
||||
- Python >= 3.3.0 (optional, runtime only)
|
||||
* Required by the internal search engine
|
||||
|
||||
2a) Compile and install qBittorrent with Qt graphical interface
|
||||
|
||||
$ ./configure
|
||||
$ make && make install
|
||||
$ qbittorrent
|
||||
|
||||
will install and execute qBittorrent hopefully without any problems.
|
||||
will install and execute qBittorrent.
|
||||
|
||||
Dependencies:
|
||||
- Qt >= 4.6.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional)
|
||||
|
||||
- pkg-config executable
|
||||
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= 1.0.6)
|
||||
-> http://www.libtorrent.net
|
||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||
|
||||
- libboost >= 1.35.x (libboost-system)
|
||||
|
||||
- python >= 2.3 (needed by search engine)
|
||||
* Run time only dependency
|
||||
|
||||
- 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
|
||||
2b) Compile and install qBittorrent without Qt 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 (>= v1.0.6)
|
||||
-> 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
|
||||
$ qbittorrent-nox
|
||||
|
||||
will install and execute qBittorrent.
|
||||
|
||||
DOCUMENTATION:
|
||||
Please note that there is a documentation with a "compiling howto" at http://wiki.qbittorrent.org.
|
||||
Please note that there is a "Compilation" section at http://wiki.qbittorrent.org.
|
||||
|
||||
------------------------------------------
|
||||
Christophe Dumez <chris@qbittorrent.org>
|
||||
sledgehammer999 <sledgehammer999@qbittorrent.org>
|
||||
|
||||
@@ -13,8 +13,7 @@ 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
|
||||
https://www.maxmind.com/
|
||||
The free [IP to Country Lite database](https://db-ip.com/db/download/ip-to-country-lite) by [DB-IP](https://db-ip.com/) is used for resolving the countries of peers. The database is licensed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
|
||||
|
||||
### Installation:
|
||||
For installation, follow the instructions from INSTALL file, but simple:
|
||||
@@ -35,7 +34,7 @@ You can also download it from [here](https://github.com/qbittorrent/qBittorrent/
|
||||
|
||||
### Misc:
|
||||
For more information please visit:
|
||||
http://www.qbittorrent.org
|
||||
https://www.qbittorrent.org
|
||||
|
||||
or our wiki here:
|
||||
http://wiki.qbittorrent.org
|
||||
|
||||
74
README.os2
@@ -1,74 +0,0 @@
|
||||
qBittorrent - A BitTorrent client in Qt4
|
||||
------------------------------------------
|
||||
|
||||
This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information.
|
||||
|
||||
|
||||
Building qBittorrent
|
||||
********************
|
||||
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
- gcc based build env (recommended gcc v4.4.2 or greater)
|
||||
|
||||
- Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information)
|
||||
|
||||
- libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
|
||||
|
||||
- boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
|
||||
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
First you need to create the conf.pri file in the same dir as this readme.os2 is.
|
||||
the conf.pri file has the following content:
|
||||
|
||||
##### conf.pri content begin #####
|
||||
BINDIR = ./bin
|
||||
INCDIR = ./include
|
||||
LIBDIR = ./lib
|
||||
DATADIR = ./share
|
||||
|
||||
CONFIG += staticlib
|
||||
INCLUDEPATH += x:/trees/libtorrent/trunk/include
|
||||
LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
|
||||
-Lx:/trees/boost/trunk/stage/lib \
|
||||
-Lx:/trees/openssl \
|
||||
-Lx:/extras/lib
|
||||
##### conf.pri content end #####
|
||||
|
||||
Of course all the above path references have to be adjusted to your build env.
|
||||
|
||||
Now you can either do a normal build or a shadow build. A shadow build has the
|
||||
advantage that no created files are in the same dir as the sources are.
|
||||
|
||||
For a normal build do the following:
|
||||
|
||||
Simply type:
|
||||
$ qmake
|
||||
|
||||
Followed by:
|
||||
$ make
|
||||
|
||||
For a shadow build do the following:
|
||||
given your sources are in x:\trees\qbittorrent\trunk create a
|
||||
x:\trees\qbittorrent\build directory
|
||||
|
||||
Now switch to the created directory and type:
|
||||
$ qmake ..\trunk
|
||||
|
||||
Followed by:
|
||||
$ make
|
||||
|
||||
If all works fine you should get a working qbittorrent executable.
|
||||
|
||||
If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
|
||||
#netlabs on irc.freenode.net
|
||||
|
||||
------------------------------------------
|
||||
Silvan Scherrer <silvan.scherrer@aroa.ch>
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
|
||||
# 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, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@@ -255,7 +255,8 @@ EOF
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
||||
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
@@ -339,9 +340,9 @@ exit $ret
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
||||
966
build-aux/config.guess
vendored
2770
build-aux/config.sub
vendored
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2013-12-25.23; # UTC
|
||||
scriptversion=2018-03-11.20; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
@@ -271,15 +271,18 @@ do
|
||||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
# If destination is a directory, append the input filename.
|
||||
if test -d "$dst"; then
|
||||
if test "$is_target_a_directory" = never; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstbase=`basename "$src"`
|
||||
case $dst in
|
||||
*/) dst=$dst$dstbase;;
|
||||
*) dst=$dst/$dstbase;;
|
||||
esac
|
||||
dstdir_status=0
|
||||
else
|
||||
dstdir=`dirname "$dst"`
|
||||
@@ -288,6 +291,11 @@ do
|
||||
fi
|
||||
fi
|
||||
|
||||
case $dstdir in
|
||||
*/) dstdirslash=$dstdir;;
|
||||
*) dstdirslash=$dstdir/;;
|
||||
esac
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
@@ -324,34 +332,43 @@ do
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
# Note that $RANDOM variable is not portable (e.g. dash); Use it
|
||||
# here however when possible just to lower collision chance.
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
# Because "mkdir -p" follows existing symlinks and we likely work
|
||||
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
||||
# directory is successfully created first before we actually test
|
||||
# 'mkdir -p' feature.
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
test_tmpdir="$tmpdir/a"
|
||||
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
@@ -427,8 +444,8 @@ do
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
dsttmp=${dstdirslash}_inst.$$_
|
||||
rmtmp=${dstdirslash}_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
@@ -493,9 +510,9 @@ do
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
# Common wrapper for a few potentially missing GNU programs.
|
||||
|
||||
scriptversion=2013-10-28.13; # UTC
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
|
||||
# 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, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@@ -101,9 +101,9 @@ else
|
||||
exit $st
|
||||
fi
|
||||
|
||||
perl_URL=http://www.perl.org/
|
||||
flex_URL=http://flex.sourceforge.net/
|
||||
gnu_software_URL=http://www.gnu.org/software
|
||||
perl_URL=https://www.perl.org/
|
||||
flex_URL=https://github.com/westes/flex
|
||||
gnu_software_URL=https://www.gnu.org/software
|
||||
|
||||
program_details ()
|
||||
{
|
||||
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||
exit $st
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
||||
22
cmake/Modules/CompileFeature.cmake
Normal file
@@ -0,0 +1,22 @@
|
||||
# Helper function for coupling add_feature_info(), option(), and add_definitions()
|
||||
|
||||
function(optional_compile_definitions _name)
|
||||
set(options FEATURE)
|
||||
set(oneValueArgs DESCRIPTION DEFAULT)
|
||||
set(multiValueArgs ENABLED DISABLED)
|
||||
cmake_parse_arguments(OCD "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
option(${_name} "${OCD_DESCRIPTION}" ${OCD_DEFAULT})
|
||||
if (${${_name}})
|
||||
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY COMPILE_DEFINITIONS ${OCD_ENABLED})
|
||||
else()
|
||||
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY COMPILE_DEFINITIONS ${OCD_DISABLED})
|
||||
endif()
|
||||
if(${OCD_FEATURE})
|
||||
add_feature_info(${_name} ${_name} "${OCD_DESCRIPTION}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
macro(feature_option _name _description _default)
|
||||
option(${_name} "${_description}" ${_default})
|
||||
add_feature_info(${_name} ${_name} "${_description}")
|
||||
endmacro()
|
||||
@@ -38,8 +38,9 @@ else()
|
||||
# libtorrent is very picky about those. Let's take a set of defaults and
|
||||
# hope that they apply. If not, you the user are on your own.
|
||||
set(LibtorrentRasterbar_DEFINITIONS
|
||||
-DTORRENT_USE_LIBCRYPTO
|
||||
# TODO: remove the following define as it is not used since OpenSSL >= 1.1
|
||||
-DTORRENT_USE_OPENSSL
|
||||
-DTORRENT_DISABLE_GEO_IP
|
||||
-DBOOST_ASIO_ENABLE_CANCELIO
|
||||
-DUNICODE -D_UNICODE -D_FILE_OFFSET_BITS=64)
|
||||
endif()
|
||||
@@ -47,7 +48,7 @@ else()
|
||||
if(NOT LibtorrentRasterbar_USE_STATIC_LIBS)
|
||||
list(APPEND LibtorrentRasterbar_DEFINITIONS
|
||||
-DTORRENT_LINKING_SHARED
|
||||
-DBOOST_SYSTEM_DYN_LINK -DBOOST_CHRONO_DYN_LINK)
|
||||
-DBOOST_SYSTEM_DYN_LINK)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -99,6 +100,7 @@ list(FIND LibtorrentRasterbar_DEFINITIONS -DTORRENT_USE_OPENSSL LibtorrentRaster
|
||||
if(LibtorrentRasterbar_ENCRYPTION_INDEX GREATER -1)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
set(LibtorrentRasterbar_LIBRARIES ${LibtorrentRasterbar_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto)
|
||||
list(APPEND LibtorrentRasterbar_INCLUDE_DIRS "${OPENSSL_INCLUDE_DIR}")
|
||||
set(LibtorrentRasterbar_OPENSSL_ENABLED ON)
|
||||
endif()
|
||||
|
||||
@@ -113,10 +115,10 @@ mark_as_advanced(LibtorrentRasterbar_INCLUDE_DIR LibtorrentRasterbar_LIBRARY
|
||||
LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES
|
||||
LibtorrentRasterbar_ENCRYPTION_INDEX)
|
||||
|
||||
if (LibtorrentRasterbar_FOUND AND NOT TARGET LibtorrentRasterbar::LibTorrent)
|
||||
add_library(LibtorrentRasterbar::LibTorrent UNKNOWN IMPORTED)
|
||||
if (LibtorrentRasterbar_FOUND AND NOT TARGET LibtorrentRasterbar::torrent-rasterbar)
|
||||
add_library(LibtorrentRasterbar::torrent-rasterbar UNKNOWN IMPORTED)
|
||||
|
||||
set_target_properties(LibtorrentRasterbar::LibTorrent PROPERTIES
|
||||
set_target_properties(LibtorrentRasterbar::torrent-rasterbar PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${LibtorrentRasterbar_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${LibtorrentRasterbar_INCLUDE_DIRS}"
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
# - Try to find the QtSingleApplication includes and library
|
||||
# which defines
|
||||
#
|
||||
# QTSINGLEAPPLICATION_FOUND - system has QtSingleApplication
|
||||
# QTSINGLEAPPLICATION_INCLUDE_DIR - where to find header QtSingleApplication
|
||||
# QTSINGLEAPPLICATION_LIBRARIES - the libraries to link against to use QtSingleApplication
|
||||
# QTSINGLEAPPLICATION_LIBRARY - where to find the QtSingleApplication library (not for general use)
|
||||
|
||||
# copyright (c) 2013 TI_Eugene ti.eugene@gmail.com
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the FreeBSD license.
|
||||
|
||||
SET(QTSINGLEAPPLICATION_FOUND FALSE)
|
||||
|
||||
IF(QT4_FOUND)
|
||||
message(STATUS "Looking for Qt4 single application library")
|
||||
FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication
|
||||
# standard locations
|
||||
/usr/include
|
||||
/usr/include/QtSolutions
|
||||
# qt4 location except mac's frameworks
|
||||
"${QT_INCLUDE_DIR}/QtSolutions"
|
||||
# mac's frameworks
|
||||
${FRAMEWORK_INCLUDE_DIR}/QtSolutions
|
||||
)
|
||||
|
||||
SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
|
||||
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
|
||||
NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
PATHS ${QT_LIBRARY_DIR}
|
||||
)
|
||||
ELSEIF(Qt5Widgets_FOUND)
|
||||
message(STATUS "Looking for Qt5 single application library")
|
||||
FOREACH(TOP_INCLUDE_PATH in ${Qt5Widgets_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
|
||||
FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions)
|
||||
|
||||
IF(QTSINGLEAPPLICATION_INCLUDE_DIR)
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
|
||||
SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6
|
||||
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
|
||||
GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION)
|
||||
GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH)
|
||||
|
||||
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
|
||||
NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
PATHS ${QT5_WIDGETSLIBRARYPATH}
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
|
||||
|
||||
SET(QTSINGLEAPPLICATION_LIBRARIES ${QTSINGLEAPPLICATION_LIBRARY})
|
||||
SET(QTSINGLEAPPLICATION_FOUND TRUE)
|
||||
|
||||
IF (CYGWIN)
|
||||
IF(BUILD_SHARED_LIBS)
|
||||
# No need to define QTSINGLEAPPLICATION_USE_DLL here, because it's default for Cygwin.
|
||||
ELSE(BUILD_SHARED_LIBS)
|
||||
SET (QTSINGLEAPPLICATION_DEFINITIONS -DQTSINGLEAPPLICATION_STATIC)
|
||||
ENDIF(BUILD_SHARED_LIBS)
|
||||
ENDIF (CYGWIN)
|
||||
|
||||
ENDIF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
|
||||
|
||||
IF (QTSINGLEAPPLICATION_FOUND)
|
||||
IF (NOT QtSingleApplication_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found QtSingleApplication: ${QTSINGLEAPPLICATION_LIBRARY}")
|
||||
MESSAGE(STATUS " includes: ${QTSINGLEAPPLICATION_INCLUDE_DIR}")
|
||||
ENDIF (NOT QtSingleApplication_FIND_QUIETLY)
|
||||
ELSE (QTSINGLEAPPLICATION_FOUND)
|
||||
IF (QtSingleApplication_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find QtSingleApplication library")
|
||||
ENDIF (QtSingleApplication_FIND_REQUIRED)
|
||||
ENDIF (QTSINGLEAPPLICATION_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(QTSINGLEAPPLICATION_INCLUDE_DIR QTSINGLEAPPLICATION_LIBRARY)
|
||||
|
||||
if(NOT TARGET QtSingleApplication::QtSingleApplication)
|
||||
add_library(QtSingleApplication::QtSingleApplication UNKNOWN IMPORTED)
|
||||
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
|
||||
)
|
||||
if(EXISTS "${QTSINGLEAPPLICATION_LIBRARY}")
|
||||
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${QTSINGLEAPPLICATION_LIBRARY}")
|
||||
endif()
|
||||
endif(NOT TARGET QtSingleApplication::QtSingleApplication)
|
||||
@@ -1,38 +1,36 @@
|
||||
macro(configure_msvc_runtime)
|
||||
if(MSVC)
|
||||
# Default to statically-linked runtime.
|
||||
if("${MSVC_RUNTIME}" STREQUAL "")
|
||||
set(MSVC_RUNTIME "static")
|
||||
endif()
|
||||
# Set compiler options.
|
||||
set(variables
|
||||
CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
# Default to statically-linked runtime.
|
||||
if("${MSVC_RUNTIME}" STREQUAL "")
|
||||
set(MSVC_RUNTIME "static")
|
||||
endif()
|
||||
# Set compiler options.
|
||||
set(variables
|
||||
CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
)
|
||||
if(${MSVC_RUNTIME} STREQUAL "static")
|
||||
message(STATUS
|
||||
"MSVC -> forcing use of statically-linked runtime."
|
||||
)
|
||||
if(${MSVC_RUNTIME} STREQUAL "static")
|
||||
message(STATUS
|
||||
"MSVC -> forcing use of statically-linked runtime."
|
||||
)
|
||||
foreach(variable ${variables})
|
||||
if(${variable} MATCHES "/MD")
|
||||
string(REGEX REPLACE "/MD" "/MT" ${variable} "${${variable}}")
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
message(STATUS
|
||||
"MSVC -> forcing use of dynamically-linked runtime."
|
||||
)
|
||||
foreach(variable ${variables})
|
||||
if(${variable} MATCHES "/MT")
|
||||
string(REGEX REPLACE "/MT" "/MD" ${variable} "${${variable}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
foreach(variable ${variables})
|
||||
if(${variable} MATCHES "/MD")
|
||||
string(REGEX REPLACE "/MD" "/MT" ${variable} "${${variable}}")
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
message(STATUS
|
||||
"MSVC -> forcing use of dynamically-linked runtime."
|
||||
)
|
||||
foreach(variable ${variables})
|
||||
if(${variable} MATCHES "/MT")
|
||||
string(REGEX REPLACE "/MT" "/MD" ${variable} "${${variable}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
###############################################################
|
||||
#
|
||||
# Copyright 2011 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
||||
# may not use this file except in compliance with the License. You may
|
||||
# obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
###############################################################
|
||||
|
||||
MACRO (GLIBC_DETECT _VERSION)
|
||||
|
||||
# there are multiple ways to detect glibc, but given nmi's
|
||||
# cons'd up paths I will trust only gcc. I guess I could also use
|
||||
# ldd --version to detect.
|
||||
|
||||
set(_GLIB_SOURCE_DETECT "
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
int main()
|
||||
{
|
||||
printf(\"%d%d\",__GLIBC__, __GLIBC_MINOR__);
|
||||
return 0;
|
||||
}
|
||||
")
|
||||
|
||||
file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/build/cmake/glibc.cpp "${_GLIB_SOURCE_DETECT}\n")
|
||||
|
||||
try_run(POST26_GLIBC_DETECTED
|
||||
POST26_GLIBC_COMPILE
|
||||
${CMAKE_CURRENT_BINARY_DIR}/build/cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/build/cmake/glibc.cpp
|
||||
RUN_OUTPUT_VARIABLE GLIBC_VERSION )
|
||||
|
||||
if (GLIBC_VERSION AND POST26_GLIBC_COMPILE )
|
||||
set(${_VERSION} ${GLIBC_VERSION})
|
||||
else()
|
||||
message(STATUS "NOTE: Could not detect GLIBC_VERSION from compiler")
|
||||
endif()
|
||||
|
||||
ENDMACRO (GLIBC_DETECT)
|
||||
@@ -1,5 +1,5 @@
|
||||
# - macro similar to target_link_libraries, which links Qt components
|
||||
# names of the components are pased in Qt4/Qt5 agnostic way (Core, DBus, Xml...)
|
||||
# names of the components are passed in Qt4/Qt5 agnostic way (Core, DBus, Xml...)
|
||||
# and the macro links Qt4 ones if QT4_FOUND is set or Qt5 ones if not
|
||||
|
||||
macro (target_link_qt_components target)
|
||||
|
||||
@@ -10,23 +10,22 @@ macro(qbt_set_compiler_options)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
#-Wshadow -Wconversion ?
|
||||
set(_GCC_COMMON_C_AND_CXX_FLAGS "-Wall -Wextra"
|
||||
"-Wfloat-equal -Wcast-qual -Wcast-align"
|
||||
"-Wsign-conversion -Winvalid-pch -Werror=return-type -Wno-long-long"
|
||||
# -fstack-protector-all
|
||||
"-Werror -Wno-error=deprecated-declarations"
|
||||
"-Wcast-qual -Wcast-align"
|
||||
"-Winvalid-pch -Wno-long-long"
|
||||
#"-fstack-protector-all"
|
||||
#"-Werror -Wno-error=deprecated-declarations"
|
||||
)
|
||||
set (_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
|
||||
"-Woverloaded-virtual -Wold-style-cast -Wstrict-null-sentinel"
|
||||
"-Wnon-virtual-dtor -Wfloat-equal -Wcast-qual -Wcast-align"
|
||||
"-Werror=overloaded-virtual"
|
||||
# "-Weffc++"
|
||||
"-Werror -Wno-error=cpp"
|
||||
set(_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
|
||||
"-Woverloaded-virtual -Wold-style-cast"
|
||||
"-Wnon-virtual-dtor"
|
||||
#"-Weffc++"
|
||||
#"-Werror -Wno-error=cpp"
|
||||
# we should modify code to make these ones obsolete
|
||||
"-Wno-error=sign-conversion -Wno-error=float-equal"
|
||||
#"-Wno-error=sign-conversion -Wno-error=float-equal"
|
||||
)
|
||||
|
||||
# GCC 4.8 has problems with std::array and its initialization
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
# GCC 4.8 has problems with std::array and its initialization
|
||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=missing-field-initializers")
|
||||
endif()
|
||||
|
||||
@@ -40,50 +39,36 @@ macro(qbt_set_compiler_options)
|
||||
endif (_PEDANTIC_IS_SUPPORTED)
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
# if Glibc version is 2.20 or higher, set -D_DEFAULT_SOURCE
|
||||
include(MacroGlibcDetect)
|
||||
message(STATUS "Detecting Glibc version...")
|
||||
glibc_detect(GLIBC_VERSION)
|
||||
if(${GLIBC_VERSION})
|
||||
if(GLIBC_VERSION LESS "220")
|
||||
message(STATUS "Glibc version is ${GLIBC_VERSION}")
|
||||
else(GLIBC_VERSION LESS "220")
|
||||
message(STATUS "Glibc version is ${GLIBC_VERSION}, adding -D_DEFAULT_SOURCE")
|
||||
add_definitions(-D_DEFAULT_SOURCE)
|
||||
endif(GLIBC_VERSION LESS "220")
|
||||
endif(${GLIBC_VERSION})
|
||||
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
add_definitions(-D_DEFAULT_SOURCE)
|
||||
endif()
|
||||
|
||||
# Clang 5.0 still doesn't support -Wstrict-null-sentinel
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
check_cxx_compiler_flag(-Wstrict-null-sentinel _STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
||||
if (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
|
||||
endif (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
||||
|
||||
# Code should be improved to render this not needed
|
||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=unused-function")
|
||||
else ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
# GCC supports it
|
||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
|
||||
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
|
||||
string(REPLACE ";" " " _GCC_COMMON_C_AND_CXX_FLAGS_STRING "${_GCC_COMMON_C_AND_CXX_FLAGS}")
|
||||
string(REPLACE ";" " " _GCC_COMMON_CXX_FLAGS_STRING "${_GCC_COMMON_CXX_FLAGS}")
|
||||
|
||||
string(APPEND CMAKE_C_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING}")
|
||||
string(APPEND CMAKE_CXX_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING} ${_GCC_COMMON_CXX_FLAGS_STRING}")
|
||||
|
||||
set(QBT_ADDITONAL_FLAGS "${_GCC_COMMON_C_AND_CXX_FLAGS_STRING}" CACHE STRING
|
||||
"Additional qBittorent compile flags" FORCE)
|
||||
set(QBT_ADDITONAL_CXX_FLAGS "${_GCC_COMMON_CXX_FLAGS_STRING}" CACHE STRING
|
||||
"Additional qBittorent C++ compile flags" FORCE)
|
||||
|
||||
# check whether we can enable -Og optimization for debug build
|
||||
# also let's enable -march=native for debug builds
|
||||
check_cxx_compiler_flag(-Og _DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||
|
||||
if (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||
string(APPEND CMAKE_C_FLAGS_DEBUG " -Og -g3 -march=native -pipe" )
|
||||
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -Og -g3 -march=native -pipe" )
|
||||
else(_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||
string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" )
|
||||
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" )
|
||||
endif (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||
set(QBT_ADDITONAL_FLAGS "-wd4290 -wd4275 -wd4251 /W4" CACHE STRING "Additional qBittorent compile flags")
|
||||
string(APPEND CMAKE_C_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
||||
string(APPEND CMAKE_CXX_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
||||
set(QBT_ADDITONAL_FLAGS "/wd4251 /wd4275 /wd4290 /W4" CACHE STRING "Additional qBittorent compile flags")
|
||||
endif ()
|
||||
|
||||
string(APPEND CMAKE_C_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
||||
string(APPEND CMAKE_CXX_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
||||
|
||||
# endif (NOT QBT_ADDITONAL_FLAGS)
|
||||
endmacro(qbt_set_compiler_options)
|
||||
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
# a helper function which appends source to the main qBt target
|
||||
# sources file names are relative to the the ${qBittorrent_SOURCE_DIR}
|
||||
# a helper function which appends source to the target
|
||||
# sources file names are relative to the the target source dir
|
||||
|
||||
function (qbt_target_sources)
|
||||
set (_sources_rel "")
|
||||
foreach (_source IN ITEMS ${ARGN})
|
||||
if (IS_ABSOLUTE "${_source}")
|
||||
set(source_abs "${_source}")
|
||||
function (qbt_target_sources _target _scope)
|
||||
get_target_property(targetSourceDir ${_target} SOURCE_DIR)
|
||||
set(sourcesRelative "")
|
||||
foreach(source IN ITEMS ${ARGN})
|
||||
if(IS_ABSOLUTE "${source}")
|
||||
set(sourceAbsolutePath "${source}")
|
||||
else()
|
||||
get_filename_component(_source_abs "${_source}" ABSOLUTE)
|
||||
get_filename_component(sourceAbsolutePath "${source}" ABSOLUTE)
|
||||
endif()
|
||||
file (RELATIVE_PATH _source_rel "${qbt_executable_SOURCE_DIR}" "${_source_abs}")
|
||||
list (APPEND _sources_rel "${_source_rel}")
|
||||
file(RELATIVE_PATH sourceRelativePath "${targetSourceDir}" "${sourceAbsolutePath}")
|
||||
list(APPEND sourcesRelative "${sourceRelativePath}")
|
||||
endforeach()
|
||||
target_sources (qBittorrent PRIVATE "${_sources_rel}")
|
||||
endfunction (qbt_target_sources)
|
||||
target_sources(${_target} ${_scope} "${sourcesRelative}")
|
||||
endfunction(qbt_target_sources)
|
||||
|
||||
48
cmake/Modules/QbtTranslations.cmake
Normal file
@@ -0,0 +1,48 @@
|
||||
# macros to handle translation files
|
||||
|
||||
# qbt_add_translations(<target> QRC_FILE <filename> TS_FILES <filenames>)
|
||||
# handles out of source builds for Qt resource files that include translations
|
||||
# The function generates translations out of the supplied list of .ts files in the build directory,
|
||||
# copies the .qrc file there, calls qt5_add_resources() adds its output to the target sources list.
|
||||
function(qbt_add_translations _target)
|
||||
set(oneValueArgs QRC_FILE)
|
||||
set(multiValueArgs TS_FILES)
|
||||
cmake_parse_arguments(QBT_TR "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
get_target_property(_binaryDir ${_target} BINARY_DIR)
|
||||
|
||||
if (NOT QBT_TR_QRC_FILE)
|
||||
message(FATAL_ERROR "QRC file is empty")
|
||||
endif()
|
||||
if (NOT QBT_TR_TS_FILES)
|
||||
message(FATAL_ERROR "TS_FILES files are empty")
|
||||
endif()
|
||||
|
||||
if(IS_ABSOLUTE "${QBT_TR_QRC_FILE}")
|
||||
file(RELATIVE_PATH _qrcToTs "${CMAKE_CURRENT_SOURCE_DIR}" "${QBT_TR_QRC_FILE}")
|
||||
else()
|
||||
set(_qrcToTs "${QBT_TR_QRC_FILE}")
|
||||
endif()
|
||||
|
||||
get_filename_component(_qrcToTsDir "${_qrcToTs}" DIRECTORY)
|
||||
|
||||
get_filename_component(_qmFilesBinaryDir "${CMAKE_CURRENT_BINARY_DIR}/${_qrcToTsDir}" ABSOLUTE)
|
||||
# to make qt5_add_translation() work as we need
|
||||
set_source_files_properties(${QBT_TR_TS_FILES} PROPERTIES OUTPUT_LOCATION "${_qmFilesBinaryDir}")
|
||||
qt5_add_translation(_qmFiles ${QBT_TR_TS_FILES})
|
||||
|
||||
set(_qrc_dest_dir "${_binaryDir}/${_qrcToTsDir}")
|
||||
set(_qrc_dest_file "${_binaryDir}/${QBT_TR_QRC_FILE}")
|
||||
|
||||
message(STATUS "copying ${QBT_TR_QRC_FILE} to ${_qrc_dest_dir}")
|
||||
file(COPY ${QBT_TR_QRC_FILE} DESTINATION ${_qrc_dest_dir})
|
||||
|
||||
set_source_files_properties("${_qrc_dest_file}" PROPERTIES
|
||||
GENERATED True
|
||||
OBJECT_DEPENDS "${_qmFiles}")
|
||||
|
||||
# With AUTORCC enabled rcc is ran by cmake before language files are generated,
|
||||
# and thus we call rcc explicitly
|
||||
qt5_add_resources(_resources "${_qrc_dest_file}")
|
||||
target_sources(${_target} PRIVATE "${_resources}")
|
||||
endfunction()
|
||||
@@ -1,14 +1,11 @@
|
||||
if (STACKTRACE_WIN)
|
||||
if ("${WINXXBITS}" NOT STREQUAL "Win64")
|
||||
add_compile_options(-fno-omit-frame-pointer)
|
||||
endif ("${WINXXBITS}" NOT STREQUAL "Win64")
|
||||
link_libraries(libdbghelp -Wl,--export-all-symbols)
|
||||
endif (STACKTRACE_WIN)
|
||||
|
||||
if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo"))
|
||||
link_libraries(-Wl,--dynamicbase)
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
||||
-D_FILE_OFFSET_BITS=64
|
||||
-D__USE_W32_SOCKETS)
|
||||
|
||||
# libraries from winconf.pri
|
||||
link_libraries(advapi32 iphlpapi ole32 shell32 user32 wsock32 ws2_32)
|
||||
|
||||
# LIBS += libadvapi32 libshell32 libuser32
|
||||
# LIBS += libcrypto.dll libssl.dll libwsock32 libws2_32 libz libiconv.dll
|
||||
# LIBS += libpowrprof
|
||||
|
||||
@@ -1,21 +1,7 @@
|
||||
if (STACKTRACE_WIN)
|
||||
if ("${WINXXBITS}" STREQUAL "Win64")
|
||||
add_compile_options(-Zi)
|
||||
else ("${WINXXBITS}" STREQUAL "Win64")
|
||||
# i686 arch requires frame pointer preservation
|
||||
add_compile_options(-Oy-)
|
||||
endif ("${WINXXBITS}" STREQUAL "Win64")
|
||||
link_libraries(dbghelp.lib)
|
||||
endif (STACKTRACE_WIN)
|
||||
|
||||
# Enable Wide characters
|
||||
add_definitions(-DTORRENT_USE_WPATH)
|
||||
|
||||
if (NOT QT5)
|
||||
# Qt4 does not detect it itself
|
||||
add_definitions(-DQ_COMPILER_INITIALIZER_LISTS)
|
||||
endif (NOT QT5)
|
||||
|
||||
include(MacroConfigureMSVCRuntime)
|
||||
set(MSVC_RUNTIME "dynamic")
|
||||
configure_msvc_runtime()
|
||||
|
||||
# libraries from winconf.pri
|
||||
link_libraries(advapi32 crypt32 Iphlpapi ole32 shell32 User32)
|
||||
|
||||
|
||||
@@ -2,32 +2,51 @@
|
||||
|
||||
list(APPEND CMAKE_LIBRARY_PATH "$ENV{LIB}")
|
||||
|
||||
# We want to link with static version of
|
||||
# libtorrent
|
||||
set(LibtorrentRasterbar_USE_STATIC_LIBS True)
|
||||
set(LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
||||
-DBOOST_ALL_NO_LIB -DBOOST_ASIO_HASH_MAP_BUCKETS=1021
|
||||
-DBOOST_ASIO_SEPARATE_COMPILATION
|
||||
-DBOOST_ASIO_DISABLE_CONNECTEX
|
||||
-DBOOST_EXCEPTION_DISABLE
|
||||
-DBOOST_SYSTEM_STATIC_LINK=1
|
||||
-DTORRENT_USE_LIBCRYPTO
|
||||
# TODO: remove the following define as it is not used since OpenSSL >= 1.1
|
||||
-DTORRENT_USE_OPENSSL
|
||||
-D__USE_W32_SOCKETS
|
||||
-D_FILE_OFFSET_BITS=64)
|
||||
# TODO: remove the following define as it is not used since libtorrent >= 1.2
|
||||
-DTORRENT_DISABLE_RESOLVE_COUNTRIES
|
||||
)
|
||||
|
||||
add_definitions(-DUNICODE
|
||||
set(LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES system)
|
||||
|
||||
# If you want to link with static version of libtorrent
|
||||
#set(LibtorrentRasterbar_USE_STATIC_LIBS True)
|
||||
#list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
||||
# -DBOOST_SYSTEM_STATIC_LINK=1)
|
||||
|
||||
# and boost
|
||||
#set(Boost_USE_STATIC_LIBS True)
|
||||
#set(Boost_USE_STATIC_RUNTIME True)
|
||||
|
||||
add_definitions(
|
||||
-DNTDDI_VERSION=0x06010000
|
||||
-D_WIN32_WINNT=0x0601
|
||||
-D_WIN32_IE=0x0601
|
||||
-DUNICODE
|
||||
-D_UNICODE
|
||||
-DWIN32
|
||||
-D_WIN32
|
||||
-DWIN32_LEAN_AND_MEAN
|
||||
-DNTDDI_VERSION=0x05010000
|
||||
-D_WIN32_WINNT=0x0501
|
||||
-D_WIN32_IE=0x0501
|
||||
-D_CRT_SECURE_NO_DEPRECATE
|
||||
-D_SCL_SECURE_NO_DEPRECATE
|
||||
-DNOMINMAX
|
||||
-DBOOST_ALL_NO_LIB
|
||||
)
|
||||
# and boost
|
||||
set(Boost_USE_STATIC_LIBS True)
|
||||
# set(Boost_USE_STATIC_RUNTIME True)
|
||||
|
||||
# Enable if libtorrent was built with this flag defined
|
||||
#list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS -DTORRENT_NO_DEPRECATE)
|
||||
|
||||
if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo"))
|
||||
list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
||||
-DTORRENT_DEBUG)
|
||||
else ()
|
||||
add_definitions(-DNDEBUG)
|
||||
endif ()
|
||||
|
||||
# Here we assume that all required libraries are installed into the same prefix
|
||||
# with usual unix subdirectories (bin, lib, include)
|
||||
@@ -37,17 +56,9 @@ set(COMMON_INSTALL_PREFIX "c:/usr" CACHE PATH "Prefix used to install all the re
|
||||
list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${COMMON_INSTALL_PREFIX}")
|
||||
|
||||
# If two version of Qt are installed, separate prefixes are needed most likely
|
||||
set(QT4_INSTALL_PREFIX "${COMMON_INSTALL_PREFIX}/lib/qt4" CACHE PATH "Prefix where Qt4 is installed")
|
||||
set(QT5_INSTALL_PREFIX "${COMMON_INSTALL_PREFIX}/lib/qt5" CACHE PATH "Prefix where Qt5 is installed")
|
||||
|
||||
# it is safe to set Qt dirs even if their files are directly in the prefix
|
||||
# Qt4
|
||||
if(NOT QT5)
|
||||
# for qt 4 we need qmake, Qt5 provides cmake config files
|
||||
LIST(APPEND CMAKE_PROGRAM_PATH "${QT4_INSTALL_PREFIX}/bin/")
|
||||
endif(NOT QT5)
|
||||
|
||||
# Qt5
|
||||
set(Qt5_DIR "${QT5_INSTALL_PREFIX}/lib/cmake/Qt5")
|
||||
|
||||
# And now we can set specific values for the Boost and libtorrent libraries.
|
||||
|
||||
@@ -5,6 +5,8 @@ BINDIR = @EXPAND_BINDIR@
|
||||
DATADIR = @EXPAND_DATADIR@
|
||||
MANPREFIX = @EXPAND_MANDIR@
|
||||
|
||||
QMAKE_CC = @QBT_CC@
|
||||
QMAKE_CXX = @QBT_CXX@
|
||||
QMAKE_CXXFLAGS += @QBT_CONF_EXTRA_CFLAGS@
|
||||
|
||||
EXTERNAL_INCLUDES = @QBT_CONF_INCLUDES@
|
||||
|
||||
58
conf.pri.windows
Normal file
@@ -0,0 +1,58 @@
|
||||
# Adapt these paths
|
||||
# Point these to the include folders
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/boost)
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/libtorrent/include)
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/zlib/include)
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/openssl/include)
|
||||
# Point these to the lib folders
|
||||
LIBS += $$quote(-LC:/qBittorrent/boost/stage/lib)
|
||||
LIBS += $$quote(-LC:/qBittorrent/libtorrent/lib)
|
||||
LIBS += $$quote(-LC:/qBittorrent/zlib/lib)
|
||||
LIBS += $$quote(-LC:/qBittorrent/openssl/lib)
|
||||
|
||||
# Adapt the lib names/versions accordingly
|
||||
# If you want to use Boost auto-linking then disable
|
||||
# BOOST_ALL_NO_LIB below and omit Boost libraries here
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += libtorrentd.lib \
|
||||
libboost_system-vc140-mt-sgd-1_64.lib
|
||||
}
|
||||
else {
|
||||
LIBS += libtorrent.lib \
|
||||
libboost_system-vc140-mt-s-1_64.lib
|
||||
}
|
||||
LIBS += libeay32.lib ssleay32.lib
|
||||
LIBS += zlib.lib
|
||||
# ...or if you use MinGW
|
||||
#CONFIG(debug, debug|release) {
|
||||
# LIBS += libtorrent-rasterbar \
|
||||
# libboost_system-mt
|
||||
#}
|
||||
#else {
|
||||
# LIBS += libtorrent-rasterbar \
|
||||
# libboost_system-mt
|
||||
#}
|
||||
#LIBS += libcrypto libssl
|
||||
#LIBS += libz
|
||||
|
||||
# Disable to use Boost auto-linking
|
||||
DEFINES += BOOST_ALL_NO_LIB
|
||||
# Use one of the following options
|
||||
DEFINES += BOOST_SYSTEM_STATIC_LINK
|
||||
#DEFINES += BOOST_SYSTEM_DYN_LINK
|
||||
# Enable if encountered build error with boost version <= 1.59
|
||||
#DEFINES += BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
|
||||
# Enable if libtorrent was built with this flag defined
|
||||
#DEFINES += TORRENT_NO_DEPRECATE
|
||||
# Enable if linking dynamically against libtorrent
|
||||
#DEFINES += TORRENT_LINKING_SHARED
|
||||
|
||||
# Enable stack trace support
|
||||
CONFIG += stacktrace
|
||||
|
||||
win32-msvc* {
|
||||
QMAKE_CXXFLAGS += "/guard:cf"
|
||||
QMAKE_LFLAGS += "/guard:cf"
|
||||
QMAKE_LFLAGS_RELEASE += "/OPT:REF /OPT:ICF"
|
||||
}
|
||||
156
configure.ac
@@ -1,4 +1,4 @@
|
||||
AC_INIT([qbittorrent], [v3.2.0alpha], [bugs.qbittorrent.org], [], [http://www.qbittorrent.org/])
|
||||
AC_INIT([qbittorrent], [v4.2.5], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_PROG_CC
|
||||
@@ -8,22 +8,24 @@ AC_LANG(C++)
|
||||
AC_CANONICAL_HOST
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
|
||||
# use compiler from env variables if available
|
||||
QBT_CC="$CC"
|
||||
QBT_CXX="$CXX"
|
||||
|
||||
# Define --wth-* and --enable-* arguments
|
||||
|
||||
AC_ARG_WITH(qtsingleapplication,
|
||||
[AS_HELP_STRING([--with-qtsingleapplication=@<:@system|shipped@:>@],
|
||||
[Use the shipped qtsingleapplication library or the system one (default=shipped)])],
|
||||
[],
|
||||
[with_qtsingleapplication=shipped])
|
||||
|
||||
AC_ARG_ENABLE(debug,
|
||||
[AS_HELP_STRING([--enable-debug],
|
||||
[Enable debug build])],
|
||||
[],
|
||||
[enable_debug=no])
|
||||
|
||||
AC_ARG_ENABLE(stacktrace,
|
||||
[AS_HELP_STRING([--enable-stacktrace],
|
||||
[Enable stacktrace feature (default=auto)])],
|
||||
[],
|
||||
[enable_stacktrace=auto])
|
||||
|
||||
AC_ARG_ENABLE(gui,
|
||||
[AS_HELP_STRING([--disable-gui],
|
||||
[Disable the GUI for headless running. Disables QtDBus and the GeoIP Database.])],
|
||||
@@ -80,6 +82,23 @@ AS_CASE(["x$enable_debug"],
|
||||
[AC_MSG_RESULT([$enable_debug])
|
||||
AC_MSG_ERROR([Unknown option "$enable_debug". Use either "yes" or "no".])])
|
||||
|
||||
AC_MSG_CHECKING([whether to enable the stacktrace feature])
|
||||
AS_CASE(["x$enable_stacktrace"],
|
||||
["xno"],
|
||||
[AC_MSG_RESULT([no])
|
||||
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG stacktrace"],
|
||||
["xyes"],
|
||||
[AC_MSG_RESULT([yes])
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG stacktrace"],
|
||||
["xauto"],
|
||||
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <execinfo.h>]])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG stacktrace"],
|
||||
[AC_MSG_RESULT([no])
|
||||
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG stacktrace"])],
|
||||
[AC_MSG_RESULT([$enable_stacktrace])
|
||||
AC_MSG_ERROR([Unknown option "$enable_stacktrace". Use either "yes" or "no".])])
|
||||
|
||||
AC_MSG_CHECKING([whether to enable the GUI])
|
||||
AS_CASE(["x$enable_gui"],
|
||||
["xyes"],
|
||||
@@ -116,6 +135,12 @@ AS_CASE(["x$enable_webui"],
|
||||
AC_MSG_ERROR([Unknown option "$enable_webui". Use either "yes" or "no".])])
|
||||
|
||||
FIND_QT5()
|
||||
AS_IF([test "x$QT_QMAKE" = "x"],
|
||||
[AC_MSG_ERROR([Could not find qmake])
|
||||
])
|
||||
AS_IF([test "x$enable_gui" = "xyes"],
|
||||
[PKG_CHECK_MODULES(Qt5Svg, [Qt5Svg >= 5.5.1])
|
||||
])
|
||||
AC_MSG_CHECKING([whether QtDBus should be enabled])
|
||||
AS_CASE(["x$enable_qt_dbus"],
|
||||
["xyes"],
|
||||
@@ -132,44 +157,72 @@ AS_CASE(["x$enable_qt_dbus"],
|
||||
AC_MSG_ERROR([Unknown option "$enable_qt_dbus". Use either "yes" or "no".])])
|
||||
|
||||
|
||||
AX_BOOST_BASE([1.35])
|
||||
# HAVE_BOOST is set to an empty value when Boost is found. I don't know
|
||||
# how to test for a set vs unset variable.
|
||||
AS_IF([test "x$BOOST_CPPFLAGS" = "x"],
|
||||
[AC_MSG_ERROR([Could not find Boost])],
|
||||
[AC_MSG_NOTICE([Boost CPPFLAGS: $BOOST_CPPFLAGS])
|
||||
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
|
||||
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"])
|
||||
AX_BOOST_BASE([1.40],
|
||||
[AC_MSG_NOTICE([Boost CXXFLAGS: "$BOOST_CPPFLAGS"])
|
||||
AC_MSG_NOTICE([Boost LDFLAGS: "$BOOST_LDFLAGS"])],
|
||||
[AC_MSG_ERROR([Could not find Boost])])
|
||||
CXXFLAGS="$BOOST_CPPFLAGS $CXXFLAGS"
|
||||
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"
|
||||
|
||||
# add workaround for problematic boost version
|
||||
# taken from ax_boost_base.m4
|
||||
m4_define([DETECT_BOOST_VERSION_PROGRAM],
|
||||
[AC_LANG_PROGRAM([[#include <boost/version.hpp>]],
|
||||
[[(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))]));]])])
|
||||
|
||||
AC_COMPILE_IFELSE([DETECT_BOOST_VERSION_PROGRAM(106000)], [],
|
||||
[QBT_ADD_DEFINES="$QBT_ADD_DEFINES BOOST_NO_CXX11_RVALUE_REFERENCES"])
|
||||
|
||||
AX_BOOST_SYSTEM()
|
||||
# HAVE_BOOST_SYSTEM is set to an empty value when Boost.System is found.
|
||||
# I don't know how to test for a set vs unset variable.
|
||||
AS_IF([test "x$BOOST_SYSTEM_LIB" = "x"],
|
||||
[AC_MSG_ERROR([Could not find Boost.System])],
|
||||
[AC_MSG_NOTICE([Boost.System LIB: $BOOST_SYSTEM_LIB])
|
||||
LIBS="$BOOST_SYSTEM_LIB $LIBS"])
|
||||
|
||||
AC_MSG_CHECKING([which qtsingleapplication to use])
|
||||
AS_CASE(["x$with_qtsingleapplication"],
|
||||
["xshipped"],
|
||||
[AC_MSG_RESULT([shipped])
|
||||
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG usesystemqtsingleapplication"],
|
||||
["xsystem"],
|
||||
[AC_MSG_RESULT([system])
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG usesystemqtsingleapplication"],
|
||||
[AC_MSG_RESULT([$with_qtsingleapplication])
|
||||
AC_MSG_ERROR([Unknown option "$with_qtsingleapplication". Use either "system" or "shipped".])])
|
||||
AC_MSG_NOTICE([Boost.System LIB: "$BOOST_SYSTEM_LIB"])
|
||||
LIBS="$BOOST_SYSTEM_LIB $LIBS"
|
||||
|
||||
PKG_CHECK_MODULES(libtorrent,
|
||||
[libtorrent-rasterbar >= 1.0.6],
|
||||
[CPPFLAGS="$libtorrent_CFLAGS $CPPFLAGS"
|
||||
[libtorrent-rasterbar >= 1.1.10],
|
||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS"
|
||||
LIBS="$libtorrent_LIBS $LIBS"])
|
||||
|
||||
PKG_CHECK_MODULES(openssl,
|
||||
[openssl >= 1.0],
|
||||
[CXXFLAGS="$openssl_CFLAGS $CXXFLAGS"
|
||||
LIBS="$openssl_LIBS $LIBS"])
|
||||
|
||||
PKG_CHECK_MODULES(zlib,
|
||||
[zlib >= 1.2.5.2],
|
||||
[CPPFLAGS="$zlib_CFLAGS $CPPFLAGS"
|
||||
[CXXFLAGS="$zlib_CFLAGS $CXXFLAGS"
|
||||
LIBS="$zlib_LIBS $LIBS"])
|
||||
|
||||
# Check if already in >= C++14 mode because of the flags returned by one of the above packages
|
||||
TMP_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS=""
|
||||
AC_MSG_CHECKING([if compiler defaults to C++14 or later mode])
|
||||
AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()],
|
||||
[AC_MSG_RESULT([yes])
|
||||
QBT_CXX14_FOUND="yes"],
|
||||
[AC_MSG_RESULT([no])
|
||||
QBT_CXX14_FOUND="no"])
|
||||
|
||||
# In case of no, check if the compiler can support at least C++14
|
||||
# and if yes, enable it leaving a warning to the user
|
||||
AS_IF([test "x$QBT_CXX14_FOUND" = "xno"],
|
||||
[AC_MSG_CHECKING([if compiler supports C++14])
|
||||
CXXFLAGS="-std=c++14"
|
||||
AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()],
|
||||
[AC_MSG_RESULT([yes])
|
||||
AC_MSG_CHECKING([if C++14 is disabled by the set compiler flags])
|
||||
# prepend the flag so it won't override conflicting user defined flags
|
||||
CXXFLAGS="-std=c++14 $TMP_CXXFLAGS"
|
||||
AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()],
|
||||
[AC_MSG_RESULT([no])
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG c++14"
|
||||
AC_MSG_WARN([C++14 mode is now force enabled. The C++ mode should match the mode that other libraries were built with, otherwise you'll likely get linking errors.])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
AC_MSG_ERROR([The compiler supports C++14 but the user or a dependency has explicitly enabled a lower mode.])])],
|
||||
[AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([A compiler supporting C++14 is required.])])
|
||||
])
|
||||
CXXFLAGS="$TMP_CXXFLAGS"
|
||||
|
||||
# These are required because autoconf doesn't expand these **particular**
|
||||
# vars automatically. And qmake cannot autoexpand them.
|
||||
AX_DEFINE_DIR([EXPAND_PREFIX], [prefix])
|
||||
@@ -190,25 +243,26 @@ extract() {
|
||||
new_line='
|
||||
'
|
||||
# Convert " -" to "\n" if not between quotes and remove possible leading white spaces
|
||||
string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[:space:]]*//')
|
||||
string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[[:space:]]]*//')
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(printf "\n\b")
|
||||
for i in $string; do
|
||||
case "$(echo "$i" | cut -c1)" in
|
||||
'') ;;
|
||||
D) QBT_CONF_DEFINES="$(echo $i | cut -c2-) $QBT_CONF_DEFINES";;
|
||||
I) QBT_CONF_INCLUDES="$(echo $i | cut -c2-) $QBT_CONF_INCLUDES";;
|
||||
*) QBT_CONF_EXTRA_CFLAGS="-$i $QBT_CONF_EXTRA_CFLAGS";;
|
||||
D) QBT_CONF_DEFINES="$QBT_CONF_DEFINES $(echo $i | cut -c2-)";;
|
||||
I) QBT_CONF_INCLUDES="$QBT_CONF_INCLUDES $(echo $i | cut -c2-)";;
|
||||
*) QBT_CONF_EXTRA_CFLAGS="$QBT_CONF_EXTRA_CFLAGS -$i";;
|
||||
esac
|
||||
done
|
||||
IFS=$SAVEIFS
|
||||
}
|
||||
|
||||
extract $CPPFLAGS
|
||||
extract "$CFLAGS $CXXFLAGS"
|
||||
QBT_ADD_DEFINES="$QBT_ADD_DEFINES $QBT_CONF_DEFINES"
|
||||
QBT_CONF_EXTRA_CFLAGS="$QBT_CONF_EXTRA_CFLAGS $CXXFLAGS"
|
||||
|
||||
# Substitute the values of these vars in conf.pri.in
|
||||
AC_SUBST(QBT_CC)
|
||||
AC_SUBST(QBT_CXX)
|
||||
AC_SUBST(QBT_CONF_INCLUDES)
|
||||
AC_SUBST(QBT_CONF_EXTRA_CFLAGS)
|
||||
AC_SUBST(QBT_ADD_CONFIG)
|
||||
@@ -220,18 +274,14 @@ AC_OUTPUT(conf.pri)
|
||||
AS_IF([test "x$enable_systemd" = "xyes"],
|
||||
[AC_OUTPUT(dist/unix/systemd/qbittorrent-nox@.service)])
|
||||
|
||||
|
||||
|
||||
AC_MSG_NOTICE([Running qmake to generate the makefile...])
|
||||
CONFDIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
|
||||
$QT_QMAKE -r [$CONFDIR]/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE"
|
||||
|
||||
ret="$?"
|
||||
TOPDIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
$QT_QMAKE -r "$TOPDIR/qbittorrent.pro" "QMAKE_LRELEASE=$QMAKE_LRELEASE"
|
||||
qmake_ret="$?"
|
||||
|
||||
AS_ECHO()
|
||||
AS_IF([test "x$ret" = "x0"],
|
||||
[AC_MSG_NOTICE([Good, your configure finished.])],
|
||||
[AC_MSG_ERROR([Failed running $QT_QMAKE to generate the makefile])])
|
||||
AS_ECHO()
|
||||
AS_IF([test "x$qmake_ret" != "x0"],
|
||||
[AC_MSG_ERROR([$QT_QMAKE failed to generate the makefile])])
|
||||
|
||||
AC_MSG_NOTICE([Good, the configure finished.])
|
||||
AS_ECHO()
|
||||
|
||||
2
dist/CMakeLists.txt
vendored
@@ -1,3 +1,5 @@
|
||||
find_package(Qt5Widgets ${requiredQtVersion}) # to conditionally install desktop-related files
|
||||
|
||||
if (APPLE)
|
||||
add_subdirectory(mac)
|
||||
else (APPLE)
|
||||
|
||||
32
dist/mac/Info.plist
vendored
@@ -2,6 +2,10 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>qBittorrent</string>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
@@ -21,6 +25,10 @@
|
||||
<array>
|
||||
<string>org.bittorrent.torrent</string>
|
||||
</array>
|
||||
<key>NSExportableTypes</key>
|
||||
<array>
|
||||
<string>org.bittorrent.torrent</string>
|
||||
</array>
|
||||
<key>LSIsAppleDefaultForType</key>
|
||||
<true/>
|
||||
</dict>
|
||||
@@ -28,6 +36,8 @@
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>magnet</string>
|
||||
@@ -45,21 +55,19 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.4.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>qBit</string>
|
||||
<string>4.2.5</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>@EXECUTABLE@</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.qbittorrent</string>
|
||||
<string>org.qbittorrent.qBittorrent</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}.0</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<string>True</string>
|
||||
<key>NSAppleScriptEnabled</key>
|
||||
<string>YES</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2006-2017 The qBittorrent project</string>
|
||||
<string>Copyright © 2006-2020 The qBittorrent project</string>
|
||||
<key>UTExportedTypeDeclarations</key>
|
||||
<array>
|
||||
<dict>
|
||||
@@ -76,17 +84,21 @@
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>org.bittorrent.torrent</string>
|
||||
<key>UTTypeReferenceURL</key>
|
||||
<string>http://www.bittorrent.org/beps/bep_0000.html</string>
|
||||
<string>https://www.bittorrent.org/beps/bep_0000.html</string>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>com.apple.ostype</key>
|
||||
<string>TORR</string>
|
||||
<array>
|
||||
<string>TORR</string>
|
||||
</array>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>torrent</string>
|
||||
</array>
|
||||
<key>public.mime-type</key>
|
||||
<string>application/x-bittorrent</string>
|
||||
<array>
|
||||
<string>application/x-bittorrent</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
|
||||
BIN
dist/mac/qBitTorrentDocument.icns
vendored
BIN
dist/mac/qbittorrent_mac.icns
vendored
BIN
dist/qt-translations/qt_ar.qm
vendored
BIN
dist/qt-translations/qt_bg.qm
vendored
BIN
dist/qt-translations/qt_ca.qm
vendored
BIN
dist/qt-translations/qt_cs.qm
vendored
BIN
dist/qt-translations/qt_da.qm
vendored
BIN
dist/qt-translations/qt_de.qm
vendored
BIN
dist/qt-translations/qt_es.qm
vendored
BIN
dist/qt-translations/qt_eu.qm
vendored
BIN
dist/qt-translations/qt_fi.qm
vendored
BIN
dist/qt-translations/qt_fr.qm
vendored
BIN
dist/qt-translations/qt_he.qm
vendored
BIN
dist/qt-translations/qt_hu.qm
vendored
BIN
dist/qt-translations/qt_it.qm
vendored
BIN
dist/qt-translations/qt_ja.qm
vendored
BIN
dist/qt-translations/qt_ko.qm
vendored
BIN
dist/qt-translations/qt_nl.qm
vendored
BIN
dist/qt-translations/qt_pl.qm
vendored
BIN
dist/qt-translations/qt_pt_BR.qm
vendored
BIN
dist/qt-translations/qt_ru.qm
vendored
BIN
dist/qt-translations/qt_sk.qm
vendored
BIN
dist/qt-translations/qt_tr.qm
vendored
BIN
dist/qt-translations/qt_uk.qm
vendored
BIN
dist/qt-translations/qt_zh_CN.qm
vendored
BIN
dist/qt-translations/qt_zh_TW.qm
vendored
BIN
dist/qt-translations/qtbase_ar.qm
vendored
Normal file
BIN
dist/qt-translations/qtbase_bg.qm
vendored
Normal file
BIN
dist/qt-translations/qtbase_ca.qm
vendored
BIN
dist/qt-translations/qtbase_cs.qm
vendored
BIN
dist/qt-translations/qtbase_da.qm
vendored
Normal file
BIN
dist/qt-translations/qtbase_de.qm
vendored
BIN
dist/qt-translations/qtbase_es.qm
vendored
Normal file
BIN
dist/qt-translations/qtbase_fi.qm
vendored
BIN
dist/qt-translations/qtbase_gd.qm
vendored
Normal file
BIN
dist/qt-translations/qtbase_he.qm
vendored
BIN
dist/qt-translations/qtbase_hu.qm
vendored
BIN
dist/qt-translations/qtbase_it.qm
vendored
BIN
dist/qt-translations/qtbase_ko.qm
vendored
BIN
dist/qt-translations/qtbase_pl.qm
vendored
BIN
dist/qt-translations/qtbase_ru.qm
vendored
BIN
dist/qt-translations/qtbase_zh_TW.qm
vendored
Normal file
39
dist/unix/CMakeLists.txt
vendored
@@ -1,43 +1,46 @@
|
||||
if (SYSTEMD)
|
||||
find_package(Systemd)
|
||||
if (SYSTEMD_FOUND)
|
||||
if (NOT Qt5Widgets_FOUND)
|
||||
feature_option(SYSTEMD "Install systemd service file (headless only)" OFF)
|
||||
if (SYSTEMD)
|
||||
if (NOT Systemd_SERVICES_INSTALL_DIR)
|
||||
find_package(Systemd)
|
||||
if (NOT Systemd_FOUND)
|
||||
message(FATAL_ERROR "Could not locate systemd services install dir."
|
||||
" Either pass -DSystemd_SERVICES_INSTALL_DIR=/path/to/systemd/services option or install systemd pkg-config")
|
||||
endif(NOT Systemd_FOUND)
|
||||
endif(NOT Systemd_SERVICES_INSTALL_DIR)
|
||||
set(EXPAND_BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
configure_file(systemd/qbittorrent-nox@.service.in ${CMAKE_CURRENT_BINARY_DIR}/qbittorrent-nox@.service @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qbittorrent-nox@.service
|
||||
DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR}
|
||||
DESTINATION ${Systemd_SERVICES_INSTALL_DIR}
|
||||
COMPONENT data)
|
||||
endif(SYSTEMD_FOUND)
|
||||
endif(SYSTEMD)
|
||||
endif(SYSTEMD)
|
||||
endif()
|
||||
|
||||
|
||||
if (GUI)
|
||||
if (Qt5Widgets_FOUND)
|
||||
list(APPEND MAN_FILES ${qBittorrent_SOURCE_DIR}/doc/qbittorrent.1)
|
||||
else (GUI)
|
||||
else (Qt5Widgets_FOUND)
|
||||
list(APPEND MAN_FILES ${qBittorrent_SOURCE_DIR}/doc/qbittorrent-nox.1)
|
||||
endif (GUI)
|
||||
endif (Qt5Widgets_FOUND)
|
||||
|
||||
install(FILES ${MAN_FILES}
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
|
||||
COMPONENT doc)
|
||||
|
||||
if (GUI)
|
||||
if (Qt5Widgets_FOUND)
|
||||
install(DIRECTORY menuicons/
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor
|
||||
FILES_MATCHING PATTERN "*.png")
|
||||
|
||||
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.png
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps/
|
||||
COMPONENT data)
|
||||
|
||||
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.desktop
|
||||
install(FILES org.qbittorrent.qBittorrent.desktop
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/
|
||||
COMPONENT data)
|
||||
|
||||
install(FILES qbittorrent.appdata.xml
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/appdata/
|
||||
install(FILES org.qbittorrent.qBittorrent.appdata.xml
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo/
|
||||
COMPONENT data)
|
||||
|
||||
install(FILES
|
||||
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray.svg
|
||||
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-dark.svg
|
||||
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-light.svg
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status
|
||||
|
||||
BIN
dist/unix/menuicons/128x128/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 7.5 KiB |
BIN
dist/unix/menuicons/16x16/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 775 B |
|
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 775 B |
BIN
dist/unix/menuicons/192x192/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 11 KiB |
BIN
dist/unix/menuicons/22x22/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
dist/unix/menuicons/24x24/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
dist/unix/menuicons/32x32/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
dist/unix/menuicons/36x36/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.0 KiB |
BIN
dist/unix/menuicons/48x48/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 2.9 KiB |
BIN
dist/unix/menuicons/64x64/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 3.8 KiB |
BIN
dist/unix/menuicons/72x72/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
dist/unix/menuicons/96x96/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 5.5 KiB |