mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-24 01:08:06 -06:00
Compare commits
369 Commits
release-4.
...
release-4.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2bbfd317ce | ||
|
|
f6b58f36e2 | ||
|
|
79ca2e145f | ||
|
|
81bc910d68 | ||
|
|
ff5d02bcf2 | ||
|
|
2e87e6e0df | ||
|
|
a5e8af5070 | ||
|
|
cf415dd7fe | ||
|
|
83e6afcb71 | ||
|
|
62d96c068a | ||
|
|
040c3c7ef8 | ||
|
|
3ef8726083 | ||
|
|
dad9157d84 | ||
|
|
5cea69472f | ||
|
|
b1492bcd7d | ||
|
|
d571ab2be1 | ||
|
|
4550469bb9 | ||
|
|
160af4feef | ||
|
|
b27e839405 | ||
|
|
ecc08dee09 | ||
|
|
11ac4e7620 | ||
|
|
fbe93f0c47 | ||
|
|
11945eef3f | ||
|
|
a35dbc6df7 | ||
|
|
3fb4e4d293 | ||
|
|
f5a4065101 | ||
|
|
ba93d55a6d | ||
|
|
a59301712e | ||
|
|
b406d669b3 | ||
|
|
4ef8f39f23 | ||
|
|
34802362ad | ||
|
|
c10f1f0ad2 | ||
|
|
58ae98026b | ||
|
|
32a55551fe | ||
|
|
7880fe8440 | ||
|
|
bb959bda8c | ||
|
|
d629c77184 | ||
|
|
b953d223e4 | ||
|
|
6fa53b5ed8 | ||
|
|
c777ed3299 | ||
|
|
341b2f345a | ||
|
|
905f141657 | ||
|
|
0a87bb368f | ||
|
|
93a1e58554 | ||
|
|
0cc29f1851 | ||
|
|
81daad92ec | ||
|
|
41be7e9bbe | ||
|
|
179a61d75e | ||
|
|
73134d5f4d | ||
|
|
29c05ed3e8 | ||
|
|
e375f3ee0b | ||
|
|
b185153254 | ||
|
|
e7e5c38384 | ||
|
|
9a00839a75 | ||
|
|
79e85d01fa | ||
|
|
e408973ee6 | ||
|
|
8c9b6e2f2d | ||
|
|
5b43782f58 | ||
|
|
2059825597 | ||
|
|
e1be46820b | ||
|
|
8219b1f695 | ||
|
|
3fbe380582 | ||
|
|
5f00d42a49 | ||
|
|
15de7aed9a | ||
|
|
5c38cc00d9 | ||
|
|
5a1dcbae9c | ||
|
|
7c6a852f85 | ||
|
|
147b22ddd3 | ||
|
|
d83b2a6131 | ||
|
|
821e946bbe | ||
|
|
634eb4a183 | ||
|
|
758ea7edca | ||
|
|
1bd499565e | ||
|
|
be9ec5a329 | ||
|
|
df895cb2a7 | ||
|
|
3b72859980 | ||
|
|
69df85f564 | ||
|
|
1f1da32371 | ||
|
|
cddf8c199c | ||
|
|
bbd5ed1142 | ||
|
|
0f033ec9c8 | ||
|
|
7397c80837 | ||
|
|
51132c817b | ||
|
|
1fe006d16f | ||
|
|
bd31eddb94 | ||
|
|
0defb7d79d | ||
|
|
1e400df324 | ||
|
|
9ea48539b4 | ||
|
|
d63e0ad78f | ||
|
|
eaee38a19e | ||
|
|
b3e9c46eff | ||
|
|
5dcc14153f | ||
|
|
4a66d705b8 | ||
|
|
9d7fcea5d6 | ||
|
|
b8cd614775 | ||
|
|
a9ab2d9b9e | ||
|
|
cecf2d28e6 | ||
|
|
a01f1014b9 | ||
|
|
77411760a0 | ||
|
|
0dcb65bb7c | ||
|
|
d40be79c69 | ||
|
|
b55d4b1733 | ||
|
|
40e28930a4 | ||
|
|
5a3579a3f9 | ||
|
|
9de8abadb6 | ||
|
|
05c5cdab96 | ||
|
|
1e1c1725ab | ||
|
|
b5c57af869 | ||
|
|
eb875ac8c1 | ||
|
|
a36358d7d0 | ||
|
|
679e592a5c | ||
|
|
b922441a7c | ||
|
|
941c587c68 | ||
|
|
77bd09bb8b | ||
|
|
8bcac1bed2 | ||
|
|
cdded6cef7 | ||
|
|
8cbe4a571c | ||
|
|
ee9d2173e0 | ||
|
|
a450a7c6e1 | ||
|
|
d41a77841d | ||
|
|
ae06daba6a | ||
|
|
77aa85fbd3 | ||
|
|
989b1e6c2c | ||
|
|
9ef23d524d | ||
|
|
f16e903623 | ||
|
|
0bb0829a9a | ||
|
|
fa30b70453 | ||
|
|
e4f90730b2 | ||
|
|
6fd522472c | ||
|
|
0f32de9d8c | ||
|
|
f630d84858 | ||
|
|
ee6f699b48 | ||
|
|
ce9bdaef5c | ||
|
|
37c04fdeed | ||
|
|
c51aa2d573 | ||
|
|
b922e1ae73 | ||
|
|
dd48f62d66 | ||
|
|
f5b5312cf0 | ||
|
|
58a654a70f | ||
|
|
ff0f3b4975 | ||
|
|
8df68ac878 | ||
|
|
2f9b313287 | ||
|
|
cbf591a8b5 | ||
|
|
96da685e5d | ||
|
|
6ac14d0c57 | ||
|
|
4745a40f0b | ||
|
|
8993d87b32 | ||
|
|
8df80b67f9 | ||
|
|
466314675c | ||
|
|
d75fd3fcde | ||
|
|
7ae83df5a5 | ||
|
|
19f55512c1 | ||
|
|
6e25db444e | ||
|
|
d2c4b69f47 | ||
|
|
4170b4e21b | ||
|
|
9fb9ca47f6 | ||
|
|
917190d936 | ||
|
|
1e913f46f0 | ||
|
|
4c0ebc0e0f | ||
|
|
1b0f5b8567 | ||
|
|
6a4bb5c1b7 | ||
|
|
3fea9f5a33 | ||
|
|
7600f59f3a | ||
|
|
915121a0dd | ||
|
|
1be5b3abd8 | ||
|
|
e37661d53a | ||
|
|
d06f78dbbd | ||
|
|
5d4766edbe | ||
|
|
72ac92ec68 | ||
|
|
22ea508ff6 | ||
|
|
b2213ded6d | ||
|
|
1ea2fe5b8d | ||
|
|
7227d2b2b2 | ||
|
|
0dcbf9f698 | ||
|
|
09e58df03f | ||
|
|
d256db5072 | ||
|
|
10153f0063 | ||
|
|
c6a1b977b3 | ||
|
|
870bb42e4f | ||
|
|
b61c7b7220 | ||
|
|
c58fb92365 | ||
|
|
5e952a561b | ||
|
|
ca72360b6f | ||
|
|
630b4ed3b9 | ||
|
|
cba9680ef9 | ||
|
|
2310dcd136 | ||
|
|
ee00a80796 | ||
|
|
051bac5e59 | ||
|
|
771c58d000 | ||
|
|
53cec6db09 | ||
|
|
43e059801e | ||
|
|
ce35a06ec3 | ||
|
|
32e4371208 | ||
|
|
0d376e7fd6 | ||
|
|
2b20d5b260 | ||
|
|
719e4afd8c | ||
|
|
9cdf660ddb | ||
|
|
5dbccf3473 | ||
|
|
8db2d04dbb | ||
|
|
209850064a | ||
|
|
e628b7d527 | ||
|
|
61dbb211c0 | ||
|
|
71f4a5667c | ||
|
|
b33dc7d831 | ||
|
|
c5a4a0db2c | ||
|
|
b9e045e80b | ||
|
|
cfd0c5433e | ||
|
|
ebad387c1a | ||
|
|
3f39bd9f35 | ||
|
|
f8236eb397 | ||
|
|
23a56c95e3 | ||
|
|
6f8aa07a10 | ||
|
|
594f9e8632 | ||
|
|
aeae065007 | ||
|
|
b12fdcf018 | ||
|
|
84fabf14c8 | ||
|
|
0ec47db9cd | ||
|
|
3cf0004665 | ||
|
|
40258f6a2f | ||
|
|
b335114219 | ||
|
|
998b08f5d8 | ||
|
|
991c30943a | ||
|
|
ad2be39c33 | ||
|
|
c3936cd4b6 | ||
|
|
d2e595aac3 | ||
|
|
b8aa9e5609 | ||
|
|
2109c4e1ae | ||
|
|
ac3ad17a9e | ||
|
|
31c7306bd2 | ||
|
|
4741aab7a3 | ||
|
|
679e3b8bea | ||
|
|
25ea0d274b | ||
|
|
12b58be8c2 | ||
|
|
e4f1485c82 | ||
|
|
1b2ff0f6f8 | ||
|
|
a31755bbc8 | ||
|
|
311e0f21eb | ||
|
|
b86366f243 | ||
|
|
58d1c80b12 | ||
|
|
182915f801 | ||
|
|
50c08e55cd | ||
|
|
4307a09621 | ||
|
|
d531d6d221 | ||
|
|
4cf94a6fa0 | ||
|
|
4cb60f4870 | ||
|
|
d82edb2838 | ||
|
|
c91eefe469 | ||
|
|
327affa340 | ||
|
|
4e7c2589e4 | ||
|
|
17ce07230d | ||
|
|
fda6c9a3d9 | ||
|
|
92af2922c7 | ||
|
|
1cee69da6c | ||
|
|
f54b66eb75 | ||
|
|
3563bad5fc | ||
|
|
1f3f96f7aa | ||
|
|
7022adb89b | ||
|
|
bac57de5f5 | ||
|
|
bdd56a52d3 | ||
|
|
dcdbd02102 | ||
|
|
b68c4e2106 | ||
|
|
67cb75e9d3 | ||
|
|
f9eefe866c | ||
|
|
c636618cf3 | ||
|
|
0f82c16936 | ||
|
|
d328eeb5be | ||
|
|
d90ea0d3be | ||
|
|
e7ece66717 | ||
|
|
6c9c40fd7c | ||
|
|
529c1ec9f4 | ||
|
|
93429840c8 | ||
|
|
6aee7f95b7 | ||
|
|
0b70ccf9e9 | ||
|
|
da586828be | ||
|
|
2e4431f0b8 | ||
|
|
162273da47 | ||
|
|
22fb9797c4 | ||
|
|
f6735401f4 | ||
|
|
06c4c58613 | ||
|
|
c80238d66f | ||
|
|
6a560016dd | ||
|
|
99b7663fa9 | ||
|
|
be0f34a69e | ||
|
|
3a2e73cc94 | ||
|
|
3ee0457cfa | ||
|
|
e19173c1f3 | ||
|
|
4a5d2e2558 | ||
|
|
027d6be48f | ||
|
|
0f2cc92ba2 | ||
|
|
07bb1df74f | ||
|
|
c29a6079bf | ||
|
|
dfb56ce31c | ||
|
|
5a8027ae1f | ||
|
|
bb2caabd61 | ||
|
|
14e4bc7eea | ||
|
|
9fb8f765e8 | ||
|
|
fe0be98fde | ||
|
|
fdba525e62 | ||
|
|
dfdaa706bd | ||
|
|
1a782a9362 | ||
|
|
5f2d807861 | ||
|
|
f2dd1e6456 | ||
|
|
155e73df16 | ||
|
|
05b7194bf7 | ||
|
|
597444c527 | ||
|
|
1c2dc79f51 | ||
|
|
106adf135c | ||
|
|
dcfd367ff8 | ||
|
|
67ee43fac1 | ||
|
|
a325ab8d6e | ||
|
|
c94152c47c | ||
|
|
a44bca3f07 | ||
|
|
698284f00e | ||
|
|
3b9d68f344 | ||
|
|
e028d8085b | ||
|
|
af1c97e2ea | ||
|
|
b95d97d07b | ||
|
|
17a5bd03c5 | ||
|
|
ada594faf3 | ||
|
|
4f0990dc29 | ||
|
|
f66ec4430d | ||
|
|
67357e9964 | ||
|
|
7eb97348de | ||
|
|
0279b80b46 | ||
|
|
d3936c07c7 | ||
|
|
aa022400f7 | ||
|
|
66795d533a | ||
|
|
ce7d8dee28 | ||
|
|
1f799689ed | ||
|
|
3463442631 | ||
|
|
c35ca52b00 | ||
|
|
6d501c2e6e | ||
|
|
a71d7e6557 | ||
|
|
30c2f9d9f3 | ||
|
|
544f9675c6 | ||
|
|
0c76321a6a | ||
|
|
10349b84d6 | ||
|
|
6fa4305aba | ||
|
|
d9af207a11 | ||
|
|
ad59eb4dfc | ||
|
|
874b015b20 | ||
|
|
21aabfdcb5 | ||
|
|
e7370d1a0f | ||
|
|
855f727451 | ||
|
|
3b0ac0962e | ||
|
|
617dedc464 | ||
|
|
8b4a0da235 | ||
|
|
dcc5206e3d | ||
|
|
9a81cbf4c0 | ||
|
|
d96ed5f4a4 | ||
|
|
102b6c32eb | ||
|
|
2af1e1874e | ||
|
|
680455a21b | ||
|
|
b568cdb1aa | ||
|
|
bc0d906adc | ||
|
|
2b385e5f92 | ||
|
|
616057a433 | ||
|
|
9a20aa51de | ||
|
|
6c8b31420c | ||
|
|
0514cb304d | ||
|
|
0a4ee60ea0 | ||
|
|
caa30e41d8 | ||
|
|
dc76a175ad | ||
|
|
92768c36aa | ||
|
|
2a3a4bff70 | ||
|
|
cacfe4f3ca | ||
|
|
37150520e1 | ||
|
|
3aadb63d80 | ||
|
|
0e0b8d1027 |
@@ -37,8 +37,6 @@ install:
|
||||
RMDIR /S /Q "%CACHE_DIR%" & MKDIR "%CACHE_DIR%" &&
|
||||
appveyor DownloadFile "%QBT_LIB_URL%" -FileName "c:\qbt_lib.7z" && 7z x "c:\qbt_lib.7z" -o"%CACHE_DIR%" > nul &&
|
||||
COPY "c:\version_new" "%CACHE_DIR%\version")
|
||||
# Qt stay compressed in cache
|
||||
- 7z x "%CACHE_DIR%\qt5_64.7z" -o"c:\qbt" > nul
|
||||
|
||||
before_build:
|
||||
# setup env
|
||||
@@ -47,6 +45,7 @@ before_build:
|
||||
# setup project
|
||||
- COPY /Y "%CACHE_DIR%\conf.pri" "%REPO_DIR%"
|
||||
# workarounds
|
||||
- MKDIR "c:\qbt"
|
||||
- MKLINK /J "c:\qbt\base" "%CACHE_DIR%\base"
|
||||
|
||||
build_script:
|
||||
@@ -69,8 +68,11 @@ after_build:
|
||||
- COPY src\release\qbittorrent.exe upload
|
||||
- COPY src\release\qbittorrent.pdb upload
|
||||
- COPY "%CACHE_DIR%\base\bin\libcrypto-1_1-x64.dll" upload
|
||||
- COPY "%CACHE_DIR%\base\bin\libcrypto-1_1-x64.pdb" upload
|
||||
- COPY "%CACHE_DIR%\base\bin\libssl-1_1-x64.dll" upload
|
||||
- COPY "%CACHE_DIR%\base\lib\torrent-rasterbar.dll" upload
|
||||
- COPY "%CACHE_DIR%\base\bin\libssl-1_1-x64.pdb" upload
|
||||
- COPY "%CACHE_DIR%\base\bin\torrent-rasterbar.dll" upload
|
||||
- COPY "%CACHE_DIR%\base\bin\torrent-rasterbar.pdb" upload
|
||||
- COPY "%CACHE_DIR%\base\lib\zlib1.dll" upload
|
||||
- COPY C:\Qt\5.15.2\msvc2019_64\bin\Qt5Core.dll upload
|
||||
- COPY C:\Qt\5.15.2\msvc2019_64\bin\Qt5Gui.dll upload
|
||||
|
||||
82
.clang-tidy
Normal file
82
.clang-tidy
Normal file
@@ -0,0 +1,82 @@
|
||||
Checks: >
|
||||
bugprone-*,
|
||||
cert-*,
|
||||
concurrency-*,
|
||||
cppcoreguidelines-*,
|
||||
misc-*,
|
||||
modernize-*,
|
||||
performance-*,
|
||||
portability-*,
|
||||
readability-*,
|
||||
-# not applicable at all,
|
||||
-bugprone-easily-swappable-parameters,
|
||||
-bugprone-implicit-widening-of-multiplication-result,
|
||||
-bugprone-macro-parentheses,
|
||||
-cppcoreguidelines-avoid-c-arrays,
|
||||
-cppcoreguidelines-avoid-magic-numbers,
|
||||
-cppcoreguidelines-avoid-non-const-global-variables,
|
||||
-cppcoreguidelines-macro-usage,
|
||||
-cppcoreguidelines-non-private-member-variables-in-classes,
|
||||
-cppcoreguidelines-owning-memory,
|
||||
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
|
||||
-cppcoreguidelines-pro-bounds-constant-array-index,
|
||||
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
|
||||
-cppcoreguidelines-pro-type-const-cast,
|
||||
-cppcoreguidelines-pro-type-reinterpret-cast,
|
||||
-cppcoreguidelines-pro-type-union-access,
|
||||
-cppcoreguidelines-pro-type-vararg,
|
||||
-cppcoreguidelines-special-member-functions,
|
||||
-cppcoreguidelines-virtual-class-destructor,
|
||||
-misc-no-recursion,
|
||||
-misc-non-private-member-variables-in-classes,
|
||||
-misc-unused-parameters,
|
||||
-modernize-avoid-c-arrays,
|
||||
-modernize-pass-by-value,
|
||||
-modernize-use-auto,
|
||||
-modernize-use-nodiscard,
|
||||
-modernize-use-trailing-return-type,
|
||||
-modernize-use-using,
|
||||
-readability-function-cognitive-complexity,
|
||||
-readability-function-size,
|
||||
-readability-identifier-length,
|
||||
-readability-implicit-bool-conversion,
|
||||
-readability-isolate-declaration,
|
||||
-readability-magic-numbers,
|
||||
-readability-named-parameter,
|
||||
-readability-redundant-access-specifiers,
|
||||
-readability-simplify-boolean-expr,
|
||||
-readability-uppercase-literal-suffix,
|
||||
-# only sometimes useful,
|
||||
-bugprone-narrowing-conversions,
|
||||
-cert-dcl58-cpp,
|
||||
-cert-err33-c,
|
||||
-cert-err58-cpp,
|
||||
-clang-analyzer-core.CallAndMessage,
|
||||
-clang-analyzer-cplusplus.NewDelete,
|
||||
-clang-analyzer-cplusplus.NewDeleteLeaks,
|
||||
-concurrency-mt-unsafe,
|
||||
-cppcoreguidelines-init-variables,
|
||||
-cppcoreguidelines-narrowing-conversions,
|
||||
-cppcoreguidelines-prefer-member-initializer,
|
||||
-cppcoreguidelines-pro-type-static-cast-downcast,
|
||||
-misc-definitions-in-headers,
|
||||
-modernize-concat-nested-namespaces,
|
||||
-modernize-loop-convert,
|
||||
-modernize-raw-string-literal,
|
||||
-modernize-unary-static-assert,
|
||||
-performance-no-automatic-move,
|
||||
-readability-convert-member-functions-to-static,
|
||||
-readability-else-after-return,
|
||||
-readability-redundant-declaration,
|
||||
-# obsoleted,
|
||||
-cert-dcl21-cpp
|
||||
|
||||
CheckOptions:
|
||||
- { key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors, value: true }
|
||||
- { key: modernize-use-override.IgnoreDestructors, value: true }
|
||||
- { key: performance-for-range-copy.AllowedTypes, value: "QJsonValue" }
|
||||
- { key: performance-for-range-copy.WarnOnAllAutoCopies, value: true }
|
||||
- { key: readability-braces-around-statements.ShortStatementLines, value: 3 }
|
||||
|
||||
HeaderFilterRegex: ".+/src/.*\\.h"
|
||||
WarningsAsErrors: "*"
|
||||
2
.github/workflows/ci_file_health.yaml
vendored
2
.github/workflows/ci_file_health.yaml
vendored
@@ -2,6 +2,8 @@ name: CI - File health
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
permissions: {}
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: ${{ github.head_ref != '' }}
|
||||
|
||||
41
.github/workflows/ci_macos.yaml
vendored
41
.github/workflows/ci_macos.yaml
vendored
@@ -2,6 +2,9 @@ name: CI - macOS
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
permissions:
|
||||
actions: write
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: ${{ github.head_ref != '' }}
|
||||
@@ -14,12 +17,12 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
libt_version: ["2.0.7", "1.2.17"]
|
||||
libt_version: ["2.0.9", "1.2.19"]
|
||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||
qt_version: ["5.15.2", "6.2.0"]
|
||||
qt_version: ["5.15.2", "6.5.0"]
|
||||
exclude:
|
||||
- libt_version: "1.2.17"
|
||||
qt_version: "6.2.0"
|
||||
- libt_version: "1.2.19"
|
||||
qt_version: "6.5.0"
|
||||
|
||||
env:
|
||||
boost_path: "${{ github.workspace }}/../boost"
|
||||
@@ -31,6 +34,9 @@ jobs:
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
export \
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 \
|
||||
HOMEBREW_NO_INSTALL_CLEANUP=1
|
||||
brew update > /dev/null
|
||||
brew install \
|
||||
cmake ninja \
|
||||
@@ -46,7 +52,7 @@ jobs:
|
||||
curl \
|
||||
-L \
|
||||
-o "${{ runner.temp }}/boost.tar.bz2" \
|
||||
"https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.bz2"
|
||||
"https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.bz2"
|
||||
tar -xf "${{ runner.temp }}/boost.tar.bz2" -C "${{ github.workspace }}/.."
|
||||
mv "${{ github.workspace }}/.."/boost_* "${{ env.boost_path }}"
|
||||
|
||||
@@ -54,6 +60,8 @@ jobs:
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: ${{ matrix.qt_version }}
|
||||
archives: qtbase qtdeclarative qtsvg qttools
|
||||
# Not sure why Qt made a hard dependency on qtdeclarative, try removing it when Qt > 6.4.0
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
@@ -66,6 +74,7 @@ jobs:
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_CXX_STANDARD=17 \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
@@ -76,13 +85,14 @@ jobs:
|
||||
sudo cmake --install build
|
||||
|
||||
- name: Build qBittorrent (Qt5)
|
||||
if: ${{ startsWith(matrix.qt_version, 5) }}
|
||||
if: startsWith(matrix.qt_version, 5)
|
||||
run: |
|
||||
CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
|
||||
LDFLAGS="$LDFLAGS -gz" \
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_CXX_FLAGS="-Werror -Wno-error=deprecated-declarations" \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DBOOST_ROOT="${{ env.boost_path }}" \
|
||||
-DOPENSSL_ROOT_DIR="${{ env.openssl_root }}" \
|
||||
@@ -94,13 +104,14 @@ jobs:
|
||||
cmake --build build --target check
|
||||
|
||||
- name: Build qBittorrent (Qt6)
|
||||
if: ${{ startsWith(matrix.qt_version, 6) }}
|
||||
if: startsWith(matrix.qt_version, 6)
|
||||
run: |
|
||||
CXXFLAGS="$CXXFLAGS -Wno-gnu-zero-variadic-macro-arguments -Werror -Wno-error=deprecated-declarations" \
|
||||
LDFLAGS="$LDFLAGS -gz" \
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_CXX_FLAGS="-Werror -Wno-error=deprecated-declarations" \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DBOOST_ROOT="${{ env.boost_path }}" \
|
||||
-DOPENSSL_ROOT_DIR="${{ env.openssl_root }}" \
|
||||
@@ -114,7 +125,17 @@ jobs:
|
||||
|
||||
- name: Prepare build artifacts
|
||||
run: |
|
||||
# create .dmg
|
||||
appName="qbittorrent"
|
||||
if [ "${{ matrix.qbt_gui }}" = "GUI=OFF" ]; then
|
||||
appName="qbittorrent-nox"
|
||||
fi
|
||||
pushd build
|
||||
macdeployqt "$appName.app" -dmg -no-strip
|
||||
popd
|
||||
# prepare upload folder
|
||||
mkdir upload
|
||||
cp "build/$appName.dmg" upload
|
||||
mkdir upload/cmake
|
||||
cp build/compile_commands.json upload/cmake
|
||||
mkdir upload/cmake/libtorrent
|
||||
@@ -123,5 +144,5 @@ jobs:
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-info_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
||||
name: qBittorrent-CI_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
||||
path: upload
|
||||
|
||||
63
.github/workflows/ci_ubuntu.yaml
vendored
63
.github/workflows/ci_ubuntu.yaml
vendored
@@ -2,6 +2,10 @@ name: CI - Ubuntu
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
permissions:
|
||||
actions: write
|
||||
security-events: write
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: ${{ github.head_ref != '' }}
|
||||
@@ -14,11 +18,11 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
libt_version: ["2.0.7", "1.2.17"]
|
||||
libt_version: ["2.0.9", "1.2.19"]
|
||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||
qt_version: ["5.15.2", "6.2.0"]
|
||||
exclude:
|
||||
- libt_version: "1.2.17"
|
||||
- libt_version: "1.2.19"
|
||||
qt_version: "6.2.0"
|
||||
|
||||
steps:
|
||||
@@ -30,7 +34,7 @@ jobs:
|
||||
sudo apt update
|
||||
sudo apt install \
|
||||
build-essential cmake ninja-build pkg-config \
|
||||
libboost-dev libssl-dev zlib1g-dev
|
||||
libboost-dev libssl-dev libxkbcommon-x11-dev zlib1g-dev
|
||||
|
||||
- name: Setup ccache
|
||||
uses: Chocobo1/setup-ccache-action@v1
|
||||
@@ -43,6 +47,7 @@ jobs:
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: ${{ matrix.qt_version }}
|
||||
archives: icu qtbase qtsvg qttools
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
@@ -55,20 +60,30 @@ jobs:
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-Ddeprecated-functions=OFF
|
||||
cmake --build build
|
||||
sudo cmake --install build
|
||||
|
||||
# to avoid scanning 3rdparty codebases, initialize it just before building qbt
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
if: startsWith(matrix.libt_version, 2) && (matrix.qbt_gui == 'GUI=ON') && startsWith(matrix.qt_version, 6)
|
||||
with:
|
||||
config-file: ./.github/workflows/helper/codeql/cpp.yaml
|
||||
languages: cpp
|
||||
|
||||
- name: Build qBittorrent (Qt5)
|
||||
if: ${{ startsWith(matrix.qt_version, 5) }}
|
||||
if: startsWith(matrix.qt_version, 5)
|
||||
run: |
|
||||
CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
|
||||
LDFLAGS="$LDFLAGS -gz" \
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_CXX_FLAGS="-Werror -Wno-error=deprecated-declarations" \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DTESTING=ON \
|
||||
@@ -80,13 +95,14 @@ jobs:
|
||||
DESTDIR="qbittorrent" cmake --install build
|
||||
|
||||
- name: Build qBittorrent (Qt6)
|
||||
if: ${{ startsWith(matrix.qt_version, 6) }}
|
||||
if: startsWith(matrix.qt_version, 6)
|
||||
run: |
|
||||
CXXFLAGS="$CXXFLAGS -Werror" \
|
||||
LDFLAGS="$LDFLAGS -gz" \
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_CXX_FLAGS="-Werror" \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DQT6=ON \
|
||||
@@ -98,6 +114,10 @@ jobs:
|
||||
cmake --build build --target check
|
||||
DESTDIR="qbittorrent" cmake --install build
|
||||
|
||||
- name: Run CodeQL analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
if: startsWith(matrix.libt_version, 2) && (matrix.qbt_gui == 'GUI=ON') && startsWith(matrix.qt_version, 6)
|
||||
|
||||
- name: Prepare build artifacts
|
||||
run: |
|
||||
mkdir upload
|
||||
@@ -106,8 +126,35 @@ jobs:
|
||||
mkdir upload/cmake/libtorrent
|
||||
cp libtorrent/build/compile_commands.json upload/cmake/libtorrent
|
||||
|
||||
- name: 'AppImage: Prepare env'
|
||||
run: |
|
||||
sudo apt install libfuse2
|
||||
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
wget https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage
|
||||
chmod +x linuxdeploy-x86_64.AppImage
|
||||
chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
chmod +x linuxdeploy-plugin-appimage-x86_64.AppImage
|
||||
|
||||
- name: 'AppImage: Prepare nox'
|
||||
if: matrix.qbt_gui == 'GUI=OFF'
|
||||
run: |
|
||||
mkdir -p qbittorrent/usr/share/icons/hicolor/scalable/apps/
|
||||
mkdir -p qbittorrent/usr/share/applications/
|
||||
cp dist/unix/menuicons/scalable/apps/qbittorrent.svg qbittorrent/usr/share/icons/hicolor/scalable/apps/qbittorrent.svg
|
||||
cp .github/workflows/helper/appimage/org.qbittorrent.qBittorrent.desktop qbittorrent/usr/share/applications/org.qbittorrent.qBittorrent.desktop
|
||||
|
||||
- name: 'AppImage: Package'
|
||||
run: |
|
||||
./linuxdeploy-x86_64.AppImage --appdir=qbittorrent --plugin qt
|
||||
rm qbittorrent/apprun-hooks/*
|
||||
cp .github/workflows/helper/appimage/export_vars.sh qbittorrent/apprun-hooks/export_vars.sh
|
||||
NO_APPSTREAM=1 \
|
||||
OUTPUT=upload/qbittorrent-CI_Ubuntu_x86_64.AppImage \
|
||||
./linuxdeploy-x86_64.AppImage --appdir=qbittorrent --output appimage
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-info_ubuntu-x64_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
||||
name: qBittorrent-CI_Ubuntu-x64_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
||||
path: upload
|
||||
|
||||
12
.github/workflows/ci_webui.yaml
vendored
12
.github/workflows/ci_webui.yaml
vendored
@@ -2,6 +2,9 @@ name: CI - WebUI
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
permissions:
|
||||
security-events: write
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: ${{ github.head_ref != '' }}
|
||||
@@ -34,3 +37,12 @@ jobs:
|
||||
run: |
|
||||
npm run format
|
||||
git diff --exit-code
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
config-file: ./.github/workflows/helper/codeql/js.yaml
|
||||
languages: javascript
|
||||
|
||||
- name: Run CodeQL analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
||||
12
.github/workflows/ci_windows.yaml
vendored
12
.github/workflows/ci_windows.yaml
vendored
@@ -2,6 +2,9 @@ name: CI - Windows
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
permissions:
|
||||
actions: write
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: ${{ github.head_ref != '' }}
|
||||
@@ -14,7 +17,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
libt_version: ["2.0.7", "1.2.17"]
|
||||
libt_version: ["2.0.9", "1.2.19"]
|
||||
|
||||
env:
|
||||
boost_path: "${{ github.workspace }}/../boost"
|
||||
@@ -67,7 +70,7 @@ jobs:
|
||||
- name: Install boost
|
||||
run: |
|
||||
aria2c `
|
||||
"https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.7z" `
|
||||
"https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.7z" `
|
||||
-d "${{ runner.temp }}" `
|
||||
-o "boost.7z"
|
||||
7z x "${{ runner.temp }}/boost.7z" -o"${{ github.workspace }}/.."
|
||||
@@ -76,7 +79,8 @@ jobs:
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: "6.3.0"
|
||||
version: "6.5.0"
|
||||
archives: qtbase qtsvg qttools
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
@@ -148,6 +152,8 @@ jobs:
|
||||
copy "${{ env.Qt6_DIR }}/plugins/sqldrivers/qsqlite.dll" upload/plugins/sqldrivers
|
||||
mkdir upload/plugins/styles
|
||||
copy "${{ env.Qt6_DIR }}/plugins/styles/qwindowsvistastyle.dll" upload/plugins/styles
|
||||
mkdir upload/plugins/tls
|
||||
copy "${{ env.Qt6_DIR }}/plugins/tls/qschannelbackend.dll" upload/plugins/tls
|
||||
# cmake additionals
|
||||
mkdir upload/cmake
|
||||
copy build/compile_commands.json upload/cmake
|
||||
|
||||
@@ -5,6 +5,8 @@ on:
|
||||
- cron: '0 0 1 * *' # Monthly (1st day of month at midnight)
|
||||
workflow_dispatch: # Mainly for testing. Don't forget the Coverity usage limits.
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
coverity_scan:
|
||||
name: Scan
|
||||
@@ -24,12 +26,13 @@ jobs:
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: "6.3.0"
|
||||
version: "6.5.0"
|
||||
archives: icu qtbase qtsvg qttools
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
git clone \
|
||||
--branch "v2.0.7" \
|
||||
--branch "v2.0.9" \
|
||||
--depth 1 \
|
||||
--recurse-submodules \
|
||||
https://github.com/arvidn/libtorrent.git
|
||||
@@ -59,6 +62,7 @@ jobs:
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DGUI=ON \
|
||||
-DQT6=ON \
|
||||
-DVERBOSE_CONFIGURE=ON
|
||||
export PATH="$(pwd)/coverity_tool/bin:$PATH"
|
||||
cov-build --dir cov-int cmake --build build
|
||||
13
.github/workflows/helper/appimage/export_vars.sh
vendored
Executable file
13
.github/workflows/helper/appimage/export_vars.sh
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
# this file is called from AppRun so 'root_dir' will point to where AppRun is
|
||||
root_dir="$(readlink -f "$(dirname "$0")")"
|
||||
|
||||
# Insert the default values because after the test we prepend our path
|
||||
# and it will create problems with DEs (eg KDE) that don't set the variable
|
||||
# and rely on the default paths
|
||||
if [ -z "${XDG_DATA_DIRS}" ]; then
|
||||
XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
|
||||
fi
|
||||
|
||||
export XDG_DATA_DIRS="${root_dir}/usr/share:${XDG_DATA_DIRS}"
|
||||
6
.github/workflows/helper/appimage/org.qbittorrent.qBittorrent.desktop
vendored
Normal file
6
.github/workflows/helper/appimage/org.qbittorrent.qBittorrent.desktop
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=qBittorrent
|
||||
Exec=qbittorrent-nox %U
|
||||
Icon=qbittorrent
|
||||
Type=Application
|
||||
Categories=Network
|
||||
14
.github/workflows/helper/codeql/cpp.yaml
vendored
Normal file
14
.github/workflows/helper/codeql/cpp.yaml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
name: "CodeQL config for C++"
|
||||
|
||||
queries:
|
||||
- uses: security-and-quality
|
||||
|
||||
query-filters:
|
||||
- exclude:
|
||||
id: cpp/commented-out-code
|
||||
- exclude:
|
||||
id: cpp/include-non-header
|
||||
- exclude:
|
||||
id: cpp/loop-variable-changed
|
||||
- exclude:
|
||||
id: cpp/useless-expression
|
||||
11
.github/workflows/helper/codeql/js.yaml
vendored
Normal file
11
.github/workflows/helper/codeql/js.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
name: "CodeQL config for Javascript"
|
||||
|
||||
paths-ignore:
|
||||
- "**/lib/*"
|
||||
|
||||
queries:
|
||||
- uses: security-and-quality
|
||||
|
||||
query-filters:
|
||||
- exclude:
|
||||
id: js/superfluous-trailing-arguments
|
||||
5
.github/workflows/stale_bot.yaml
vendored
5
.github/workflows/stale_bot.yaml
vendored
@@ -4,12 +4,15 @@ on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Mark and close stale PRs
|
||||
uses: actions/stale@v5
|
||||
uses: actions/stale@v8
|
||||
with:
|
||||
stale-pr-message: "This PR is stale because it has been 60 days with no activity. This PR will be automatically closed within 7 days if there is no further activity."
|
||||
close-pr-message: "This PR was closed because it has been stalled for some time with no activity."
|
||||
|
||||
@@ -3,7 +3,7 @@ repos:
|
||||
hooks:
|
||||
- id: check-translation-tag
|
||||
name: Check newline characters in <translation> tag
|
||||
entry: .github/workflows/check_translation_tag.py
|
||||
entry: .github/workflows/helper/pre-commit/check_translation_tag.py
|
||||
language: script
|
||||
exclude: |
|
||||
(?x)^(
|
||||
@@ -13,7 +13,7 @@ repos:
|
||||
- ts
|
||||
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks.git
|
||||
rev: v4.3.0
|
||||
rev: v4.4.0
|
||||
hooks:
|
||||
- id: check-json
|
||||
name: Check JSON files
|
||||
@@ -34,6 +34,7 @@ repos:
|
||||
exclude: |
|
||||
(?x)^(
|
||||
compile_commands.json |
|
||||
src/webui/www/private/css/lib/.* |
|
||||
src/webui/www/private/scripts/lib/.*
|
||||
)$
|
||||
|
||||
@@ -43,6 +44,7 @@ repos:
|
||||
(?x)^(
|
||||
compile_commands.json |
|
||||
configure |
|
||||
src/webui/www/private/css/lib/.* |
|
||||
src/webui/www/private/scripts/lib/.*
|
||||
)$
|
||||
exclude_types:
|
||||
@@ -53,6 +55,7 @@ repos:
|
||||
name: Check trailing whitespaces
|
||||
exclude: |
|
||||
(?x)^(
|
||||
src/webui/www/private/css/lib/.* |
|
||||
src/webui/www/private/scripts/lib/.*
|
||||
)$
|
||||
exclude_types:
|
||||
|
||||
35
.tx/config
35
.tx/config
@@ -1,27 +1,24 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[qbittorrent.qbittorrent_master]
|
||||
file_filter = src/lang/qbittorrent_<lang>.ts
|
||||
lang_map = pt: pt_PT
|
||||
source_file = src/lang/qbittorrent_en.ts
|
||||
source_lang = en
|
||||
type = QT
|
||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_master]
|
||||
file_filter = src/lang/qbittorrent_<lang>.ts
|
||||
source_file = src/lang/qbittorrent_en.ts
|
||||
source_lang = en
|
||||
type = QT
|
||||
minimum_perc = 23
|
||||
mode = developer
|
||||
lang_map = pt: pt_PT, zh: zh_CN
|
||||
|
||||
[qbittorrent.qbittorrentdesktop_master]
|
||||
source_file = dist/unix/org.qbittorrent.qBittorrent.desktop
|
||||
source_lang = en
|
||||
type = DESKTOP
|
||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_webui]
|
||||
file_filter = src/webui/www/translations/webui_<lang>.ts
|
||||
source_file = src/webui/www/translations/webui_en.ts
|
||||
source_lang = en
|
||||
type = QT
|
||||
minimum_perc = 23
|
||||
mode = developer
|
||||
lang_map = pt: pt_PT, zh: zh_CN
|
||||
|
||||
[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
|
||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrentdesktop_master]
|
||||
source_file = dist/unix/org.qbittorrent.qBittorrent.desktop
|
||||
source_lang = en
|
||||
type = DESKTOP
|
||||
minimum_perc = 23
|
||||
mode = developer
|
||||
|
||||
4
AUTHORS
4
AUTHORS
@@ -29,6 +29,10 @@ Code from other projects:
|
||||
copyright: Dan Haim <negativeiq@users.sourceforge.net>
|
||||
license: BSD
|
||||
|
||||
* files src/webui/www/private/css/lib/vanillaSelectBox.css src/webui/www/private/scripts/lib/vanillaSelectBox.js
|
||||
copyright: Philippe Meyer <pmg.meyer@gmail.com>
|
||||
license: MIT
|
||||
|
||||
Images Authors:
|
||||
* files: src/icons/qbittorrent-tray.svg
|
||||
copyright: Provided by HVS <hvs linuxmail org> (raster first proposal) and Atif Afzal(@atfzl github) <atif5801@gmail.com> (vectorized and modified)
|
||||
|
||||
@@ -11,8 +11,8 @@ set(minBoostVersion 1.71)
|
||||
set(minQt5Version 5.15.2)
|
||||
set(minQt6Version 6.2)
|
||||
set(minOpenSSLVersion 1.1.1)
|
||||
set(minLibtorrent1Version 1.2.14)
|
||||
set(minLibtorrentVersion 2.0.7)
|
||||
set(minLibtorrent1Version 1.2.19)
|
||||
set(minLibtorrentVersion 2.0.9)
|
||||
set(minZlibVersion 1.2.11)
|
||||
|
||||
include(CheckCXXSourceCompiles) # TODO: migrate to CheckSourceCompiles in CMake >= 3.19
|
||||
|
||||
@@ -200,7 +200,7 @@ Following these guidelines helps maintainers and the community understand your s
|
||||
[coding-guidelines-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md
|
||||
[coding-guidelines-git-commit-message-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md#10-git-commit-message
|
||||
[commit-message-fix-issue-example-url]: https://github.com/qbittorrent/qBittorrent/commit/c07cd440cd46345297debb47cb260f8688975f50
|
||||
[forum-url]: http://forum.qbittorrent.org/
|
||||
[forum-url]: https://forum.qbittorrent.org/
|
||||
[howto-report-bugs-url]: https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
||||
[how-to-translate-url]: https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent
|
||||
[merging-vs-rebasing-url]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
|
||||
|
||||
80
Changelog
80
Changelog
@@ -1,4 +1,84 @@
|
||||
Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.0
|
||||
- FEATURE: Add `Auto resize columns` functionality (Chocobo1)
|
||||
- FEATURE: Allow to use Category paths in `Manual` mode (glassez)
|
||||
- FEATURE: Allow to disable Automatic mode when default "temp" path changed (glassez)
|
||||
- FEATURE: Add tuning options related to performance warnings (Chocobo1)
|
||||
- FEATURE: Add right click menu for status filters (An0n)
|
||||
- FEATURE: Allow setting the number of maximum active checking torrents (An0n)
|
||||
- FEATURE: Add option to toggle filters sidebar (AbeniMatteo)
|
||||
- FEATURE: Allow to set `working set limit` on non-Windows OS (Chocobo1)
|
||||
- FEATURE: Add `Export .torrent` action (Chocobo1)
|
||||
- FEATURE: Add keyboard navigation keys (itlezy)
|
||||
- FEATURE: Allow to use POSIX-compliant disk IO type (Coda)
|
||||
- FEATURE: Add `Filter files` field in new torrent dialog (thalieht)
|
||||
- FEATURE: Implement new icon/color theme (now-im, xavier2k6)
|
||||
- FEATURE: Add file name filter/blacklist (mxtsdev, thalieht)
|
||||
- FEATURE: Add support for custom SMTP ports (Emil M George)
|
||||
- FEATURE: Split the OS cache settings into Disk IO read/write modes (summer)
|
||||
- FEATURE: When duplicate torrent is added set metadata to existing one (glassez)
|
||||
- FEATURE: Greatly improve startup time with many torrents (glassez, jagannatharjun)
|
||||
- FEATURE: Add keyboard shortcut to Download URL dialog (Chocobo1)
|
||||
- FEATURE: Add ability to run external program on torrent added (glassez)
|
||||
- FEATURE: Add infohash and download path columns (tristanleboss)
|
||||
- FEATURE: Allow to set torrent stop condition (glassez, thalieht)
|
||||
- FEATURE: Add a `Moving` status filter (tristanleboss)
|
||||
- FEATURE: Change color palettes for both dark, light themes (Chocobo1)
|
||||
- FEATURE: Add a `Use proxy for hostname lookup` option (Nathan Lewis)
|
||||
- FEATURE: Introduce a `change listen port` cmd option (BallsOfSpaghetti)
|
||||
- FEATURE: Implement `Peer ID Client` column for `Peers` tab (Hanabishi)
|
||||
- FEATURE: Add port forwarding option for embedded tracker (Chocobo1)
|
||||
- BUGFIX: Store hybrid torrents using `torrent ID` as basename (glassez)
|
||||
- BUGFIX: Enable Combobox editor for the `Mixed` file download priority (Aleksandr Cupacenko)
|
||||
- BUGFIX: Allow shortcut folders for the Open and Save directory dialogs (Aleksandr Cupacenko)
|
||||
- BUGFIX: Rename content tab `Size` column to `Total Size` (Aleksandr Cupacenko)
|
||||
- BUGFIX: Fix scrolling to the lowermost visible torrent (Aleksandr Cupacenko)
|
||||
- BUGFIX: Allow changing file priorities for finished torrents (An0n)
|
||||
- BUGFIX: Focus save path when Manual mode is selected initially (Aleksandr Cupacenko)
|
||||
- BUGFIX: Disable force reannounce when it is not possible (An0n)
|
||||
- BUGFIX: Add horizontal scrolling for tracker list and torrent content (NotTsunami)
|
||||
- BUGFIX: Enlarge "speed limits" icons (Chocobo1)
|
||||
- BUGFIX: Change Downloaded to Times Downloaded in trackers tab (An0n)
|
||||
- BUGFIX: Remove artificial max limits from `Torrent Queueing` related options (Chocobo1)
|
||||
- BUGFIX: Preserve `skip hash check` when there is no metadata (glassez)
|
||||
- BUGFIX: Fix DHT/PeX/LSD status when it is globally disabled (Kacper Michajłow)
|
||||
- BUGFIX: Fix rate calculation when interval is too low (glassez)
|
||||
- BUGFIX: Add tooltip message when system tray icon isn't available (Chocobo1)
|
||||
- BUGFIX: Improve sender field in mail notifications (Dmitry Vodopyanov)
|
||||
- BUGFIX: Fix "Add torrent dialog" spill-over on smaller screens (Chocobo1)
|
||||
- BUGFIX: Fix peer count issue when tracker responds with zero figure (summer)
|
||||
- BUGFIX: Don't merge trackers by default (glassez)
|
||||
- BUGFIX: Don't inhibit system sleep/auto shutdown for torrents stuck at downloading metadata (summer)
|
||||
- BUGFIX: Allow to pause a checking torrent from context menu (summer)
|
||||
- BUGFIX: Allow to use subnet notation in reverse proxy list (Chocobo1)
|
||||
- BUGFIX: Fine tune translations loading for Chinese locales (sledgehammer999)
|
||||
- BUGFIX: Fix torrent content checkboxes not updated properly (Chocobo1)
|
||||
- BUGFIX: Correctly load state of `Use another path for incomplete torrents` in Watched folders (glassez)
|
||||
- BUGFIX: Add confirmation to resume/pause all (BallsOfSpaghetti)
|
||||
- BUGFIX: Fix wrong count of errored trackers (Chocobo1)
|
||||
- WEBUI: Allow blank lines in multipart form-data input (Aleksandr Cupacenko)
|
||||
- WEBUI: Make various dialogs resizable (Chocobo1)
|
||||
- WEBUI: Fix wrong v2 hash string displayed (Chocobo1)
|
||||
- WEBUI: WebAPI: return correct status (Requi)
|
||||
- WEBUI: Fix empty selection in language combobox (Chocobo1)
|
||||
- WEBUI: Store WebUI port setting in human readable number (Chocobo1)
|
||||
- WEBUI: Add support for exporting .torrent (Tom Piccirello)
|
||||
- WEBUI: WebAPI: Add endpoint to set speed limit mode (glassez)
|
||||
- WEBUI: Improve progress bar rendering (Mike Lei)
|
||||
- WEBUI: Add transfer list refresh interval settings (summer)
|
||||
- WEBUI: Use natural sort (Chocobo1)
|
||||
- WEBUI: Apply i18n translation only to built-in WebUI (Chocobo1)
|
||||
- WEBUI: Alert when HTTPS settings are incomplete (Chocobo1)
|
||||
- WEBUI: Handle drag and drop events (Chocobo1)
|
||||
- WEBUI: Fix wrong behavior for shutdown action (Chocobo1)
|
||||
- WEBUI: Don't disable combobox for file priority (Chocobo1)
|
||||
- RSS: Increase limit of maximum number of articles per feed (summer)
|
||||
- WINDOWS: Fix `Open destination folder` delay on Windows (Andrew)
|
||||
- WINDOWS: NSIS: Update Russian, Estonian, Japanese, Dutch, Portuguese BR, German and Indonesian translations (Andrei Stepanov, Priit Uring, maboroshin, Thomas De Rocker, Ícaro, schnurlos, Faisal A. F. Rahman)
|
||||
- LINUX: Mark as single window app in .desktop file (Nicolas Fella)
|
||||
- LINUX: Add Dockerfile (Amanuense-del-diavolo, Tom Piccirello, Chocobo1)
|
||||
- LINUX: Remove option of using icons from system theme (now-im)
|
||||
- MACOS: Fix wrong background color in properties widget (NotTsunami)
|
||||
- OTHER: Binary distributions of qbittorrent are GPLv3+ licensed (sledgehammer999)
|
||||
|
||||
Thu Jan 06 2022 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.4.0
|
||||
- FEATURE: Support for v2 torrents along with libtorrent 2.0.x support (glassez, Chocobo1)
|
||||
|
||||
6
INSTALL
6
INSTALL
@@ -5,7 +5,7 @@ qBittorrent - A BitTorrent client in C++ / Qt
|
||||
|
||||
- Boost >= 1.71
|
||||
|
||||
- libtorrent-rasterbar 1.2.14 - 1.2.x || 2.0.7 - 2.0.x
|
||||
- libtorrent-rasterbar 1.2.19 - 1.2.x || 2.0.9 - 2.0.x
|
||||
* By Arvid Norberg, https://www.libtorrent.org/
|
||||
* Be careful: another library (the one used by rTorrent) uses a similar name
|
||||
|
||||
@@ -18,7 +18,7 @@ qBittorrent - A BitTorrent client in C++ / Qt
|
||||
- pkg-config *
|
||||
* Compile-time only on *nix systems
|
||||
|
||||
- Python >= 3.5.0
|
||||
- Python >= 3.7.0
|
||||
* Optional, run-time only
|
||||
* Used by the bundled search engine
|
||||
|
||||
@@ -43,7 +43,7 @@ Please ensure you are building with an officially supported configuration when r
|
||||
will install and execute qBittorrent.
|
||||
|
||||
DOCUMENTATION:
|
||||
Please note that there is a "Compilation" section at http://wiki.qbittorrent.org.
|
||||
Please note that there is a "Compilation" section at https://wiki.qbittorrent.org.
|
||||
|
||||
------------------------------------------
|
||||
sledgehammer999 <sledgehammer999@qbittorrent.org>
|
||||
|
||||
@@ -37,13 +37,13 @@ For more information please visit:
|
||||
https://www.qbittorrent.org
|
||||
|
||||
or our wiki here:
|
||||
http://wiki.qbittorrent.org
|
||||
https://wiki.qbittorrent.org
|
||||
|
||||
Use the forum for troubleshooting before reporting bugs:
|
||||
http://forum.qbittorrent.org
|
||||
https://forum.qbittorrent.org
|
||||
|
||||
Please report any bug (or feature request) to:
|
||||
http://bugs.qbittorrent.org
|
||||
https://bugs.qbittorrent.org
|
||||
|
||||
Official IRC channel:
|
||||
[#qbittorrent on irc.libera.chat](ircs://irc.libera.chat:6697/qbittorrent)
|
||||
|
||||
@@ -101,6 +101,10 @@ if (MSVC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (DBUS)
|
||||
target_compile_definitions(qbt_common_cfg INTERFACE QBT_USES_DBUS)
|
||||
endif()
|
||||
|
||||
if (LibtorrentRasterbar_VERSION VERSION_GREATER_EQUAL ${minLibtorrentVersion})
|
||||
target_compile_definitions(qbt_common_cfg INTERFACE QBT_USES_LIBTORRENT2)
|
||||
endif()
|
||||
|
||||
86
configure
vendored
86
configure
vendored
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.71 for qbittorrent v4.5.0beta1.
|
||||
# Generated by GNU Autoconf 2.71 for qbittorrent v4.6.0beta1.
|
||||
#
|
||||
# Report bugs to <bugs.qbittorrent.org>.
|
||||
#
|
||||
@@ -611,8 +611,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='qbittorrent'
|
||||
PACKAGE_TARNAME='qbittorrent'
|
||||
PACKAGE_VERSION='v4.5.0beta1'
|
||||
PACKAGE_STRING='qbittorrent v4.5.0beta1'
|
||||
PACKAGE_VERSION='v4.6.0beta1'
|
||||
PACKAGE_STRING='qbittorrent v4.6.0beta1'
|
||||
PACKAGE_BUGREPORT='bugs.qbittorrent.org'
|
||||
PACKAGE_URL='https://www.qbittorrent.org/'
|
||||
|
||||
@@ -1329,7 +1329,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures qbittorrent v4.5.0beta1 to adapt to many kinds of systems.
|
||||
\`configure' configures qbittorrent v4.6.0beta1 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1400,7 +1400,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of qbittorrent v4.5.0beta1:";;
|
||||
short | recursive ) echo "Configuration of qbittorrent v4.6.0beta1:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1533,7 +1533,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
qbittorrent configure v4.5.0beta1
|
||||
qbittorrent configure v4.6.0beta1
|
||||
generated by GNU Autoconf 2.71
|
||||
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
@@ -1648,7 +1648,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by qbittorrent $as_me v4.5.0beta1, which was
|
||||
It was created by qbittorrent $as_me v4.6.0beta1, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
$ $0$ac_configure_args_raw
|
||||
@@ -4779,7 +4779,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='qbittorrent'
|
||||
VERSION='v4.5.0beta1'
|
||||
VERSION='v4.6.0beta1'
|
||||
|
||||
|
||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
||||
@@ -5649,7 +5649,7 @@ fi
|
||||
then :
|
||||
as_fn_error $? "Could not find QtDBus" "$LINENO" 5
|
||||
else $as_nop
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus"
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_DBUS"
|
||||
|
||||
fi ;; #(
|
||||
"xno") :
|
||||
@@ -6024,19 +6024,19 @@ LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"
|
||||
|
||||
|
||||
pkg_failed=no
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 2.0.7" >&5
|
||||
printf %s "checking for libtorrent-rasterbar >= 2.0.7... " >&6; }
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 2.0.9" >&5
|
||||
printf %s "checking for libtorrent-rasterbar >= 2.0.9... " >&6; }
|
||||
|
||||
if test -n "$libtorrent_CFLAGS"; then
|
||||
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.7\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.7") 2>&5
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.9\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.9") 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 2.0.7" 2>/dev/null`
|
||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 2.0.9" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -6048,12 +6048,12 @@ if test -n "$libtorrent_LIBS"; then
|
||||
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.7\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.7") 2>&5
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.9\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.9") 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 2.0.7" 2>/dev/null`
|
||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 2.0.9" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -6074,28 +6074,28 @@ else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.7" 2>&1`
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.9" 2>&1`
|
||||
else
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.7" 2>&1`
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.9" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$libtorrent_PKG_ERRORS" >&5
|
||||
|
||||
|
||||
pkg_failed=no
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" >&5
|
||||
printf %s "checking for libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2... " >&6; }
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" >&5
|
||||
printf %s "checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2... " >&6; }
|
||||
|
||||
if test -n "$libtorrent_CFLAGS"; then
|
||||
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2") 2>&5
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -6107,12 +6107,12 @@ if test -n "$libtorrent_LIBS"; then
|
||||
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2") 2>&5
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -6133,14 +6133,14 @@ else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>&1`
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
||||
else
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>&1`
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$libtorrent_PKG_ERRORS" >&5
|
||||
|
||||
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2) were not met:
|
||||
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2) were not met:
|
||||
|
||||
$libtorrent_PKG_ERRORS
|
||||
|
||||
@@ -6177,19 +6177,19 @@ elif test $pkg_failed = untried; then
|
||||
printf "%s\n" "no" >&6; }
|
||||
|
||||
pkg_failed=no
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" >&5
|
||||
printf %s "checking for libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2... " >&6; }
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" >&5
|
||||
printf %s "checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2... " >&6; }
|
||||
|
||||
if test -n "$libtorrent_CFLAGS"; then
|
||||
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2") 2>&5
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -6201,12 +6201,12 @@ if test -n "$libtorrent_LIBS"; then
|
||||
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2") 2>&5
|
||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -6227,14 +6227,14 @@ else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>&1`
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
||||
else
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2" 2>&1`
|
||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$libtorrent_PKG_ERRORS" >&5
|
||||
|
||||
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2) were not met:
|
||||
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2) were not met:
|
||||
|
||||
$libtorrent_PKG_ERRORS
|
||||
|
||||
@@ -7237,7 +7237,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by qbittorrent $as_me v4.5.0beta1, which was
|
||||
This file was extended by qbittorrent $as_me v4.6.0beta1, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -7297,7 +7297,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config='$ac_cs_config_escaped'
|
||||
ac_cs_version="\\
|
||||
qbittorrent config.status v4.5.0beta1
|
||||
qbittorrent config.status v4.6.0beta1
|
||||
configured by $0, generated by GNU Autoconf 2.71,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
AC_INIT([qbittorrent], [v4.5.0beta1], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
AC_INIT([qbittorrent], [v4.6.0beta1], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
: ${CFLAGS=""}
|
||||
@@ -165,7 +165,7 @@ AS_CASE(["x$enable_qt_dbus"],
|
||||
FIND_QTDBUS()
|
||||
AS_IF([test "x$HAVE_QTDBUS" = "xfalse"],
|
||||
[AC_MSG_ERROR([Could not find QtDBus])],
|
||||
[QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus"]
|
||||
[QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_DBUS"]
|
||||
)],
|
||||
["xno"],
|
||||
[AC_MSG_RESULT([no])
|
||||
@@ -188,10 +188,10 @@ m4_define([DETECT_BOOST_VERSION_PROGRAM],
|
||||
[[(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))]));]])])
|
||||
|
||||
PKG_CHECK_MODULES(libtorrent,
|
||||
[libtorrent-rasterbar >= 2.0.7],
|
||||
[libtorrent-rasterbar >= 2.0.9],
|
||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_LIBTORRENT2"],
|
||||
[PKG_CHECK_MODULES(libtorrent,
|
||||
[libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2],
|
||||
[libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2],
|
||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS"])])
|
||||
|
||||
PKG_CHECK_MODULES(openssl,
|
||||
|
||||
8
dist/docker/.env
vendored
8
dist/docker/.env
vendored
@@ -1,8 +0,0 @@
|
||||
# refer to Readme.md for an explanation of the variables
|
||||
|
||||
QBT_EULA=
|
||||
QBT_VERSION=devel
|
||||
QBT_WEBUI_PORT=8080
|
||||
|
||||
QBT_CONFIG_PATH=<your_path>/config
|
||||
QBT_DOWNLOADS_PATH=<your_path>/downloads
|
||||
62
dist/docker/Dockerfile
vendored
62
dist/docker/Dockerfile
vendored
@@ -1,62 +0,0 @@
|
||||
# image for building
|
||||
FROM alpine:latest AS builder
|
||||
|
||||
ARG QBT_VERSION
|
||||
|
||||
# alpine linux qbittorrent package: https://git.alpinelinux.org/aports/tree/community/qbittorrent/APKBUILD
|
||||
|
||||
RUN \
|
||||
apk --update-cache add \
|
||||
boost-dev \
|
||||
cmake \
|
||||
g++ \
|
||||
libtorrent-rasterbar-dev \
|
||||
ninja \
|
||||
qt6-qtbase-dev \
|
||||
qt6-qttools-dev
|
||||
|
||||
RUN \
|
||||
if [ "$QBT_VERSION" = "devel" ]; then \
|
||||
wget https://github.com/qbittorrent/qBittorrent/archive/refs/heads/master.zip && \
|
||||
unzip master.zip && \
|
||||
cd qBittorrent-master ; \
|
||||
else \
|
||||
wget "https://github.com/qbittorrent/qBittorrent/archive/refs/tags/release-${QBT_VERSION}.tar.gz" && \
|
||||
tar -xf "release-${QBT_VERSION}.tar.gz" && \
|
||||
cd "qBittorrent-release-${QBT_VERSION}" ; \
|
||||
fi && \
|
||||
cmake \
|
||||
-B build \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DGUI=OFF \
|
||||
-DQT6=ON \
|
||||
-DSTACKTRACE=OFF && \
|
||||
cmake --build build && \
|
||||
cmake --install build
|
||||
|
||||
# image for running
|
||||
FROM alpine:latest
|
||||
|
||||
RUN \
|
||||
apk --no-cache add \
|
||||
doas \
|
||||
libtorrent-rasterbar \
|
||||
python3 \
|
||||
qt6-qtbase \
|
||||
tini
|
||||
|
||||
RUN \
|
||||
adduser \
|
||||
-D \
|
||||
-H \
|
||||
-s /sbin/nologin \
|
||||
-u 1000 \
|
||||
qbtUser && \
|
||||
echo "permit nopass :root" >> "/etc/doas.d/doas.conf"
|
||||
|
||||
COPY --from=builder /usr/local/bin/qbittorrent-nox /usr/bin/qbittorrent-nox
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/sbin/tini", "-g", "--", "/entrypoint.sh"]
|
||||
101
dist/docker/Readme.md
vendored
101
dist/docker/Readme.md
vendored
@@ -1,101 +0,0 @@
|
||||
# qBittorrent-nox Docker Image
|
||||
|
||||
This Dockerfile allows you to build a Docker Image containing qBittorrent-nox
|
||||
|
||||
## Prerequisites
|
||||
|
||||
In order to build/run this image you'll need Docker installed: https://docs.docker.com/get-docker/
|
||||
|
||||
If you don't need the GUI, you can just install Docker Engine: https://docs.docker.com/engine/install/
|
||||
|
||||
It is also recommended to install Docker Compose as it can significantly ease the process: https://docs.docker.com/compose/install/
|
||||
|
||||
## Building Docker Image
|
||||
|
||||
* If you are using Docker (not Docker Compose) then run the following commands in this folder:
|
||||
```shell
|
||||
export \
|
||||
QBT_VERSION=devel
|
||||
docker build \
|
||||
--build-arg QBT_VERSION \
|
||||
-t qbittorrent-nox:"$QBT_VERSION" \
|
||||
.
|
||||
```
|
||||
|
||||
* If you are using Docker Compose then you should edit `.env` file first.
|
||||
You can find an explanation of the variables in the following [Parameters](#parameters) section. \
|
||||
Then run the following commands in this folder:
|
||||
```shell
|
||||
docker compose build \
|
||||
--build-arg QBT_VERSION
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
#### Environment variables
|
||||
|
||||
* `QBT_EULA` \
|
||||
This environment variable defines whether you accept the end-user license agreement (EULA) of qBittorrent. \
|
||||
**Put `accept` only if you understand and accepted the EULA.** You can find
|
||||
the EULA [here](https://github.com/qbittorrent/qBittorrent/blob/56667e717b82c79433ecb8a5ff6cc2d7b315d773/src/app/main.cpp#L320-L323).
|
||||
* `QBT_VERSION` \
|
||||
This environment variable specifies the version of qBittorrent-nox to be built. \
|
||||
For example, `4.4.0` is a valid entry. You can find all tagged versions [here](https://github.com/qbittorrent/qBittorrent/tags). \
|
||||
Or you can put `devel` to build the latest development version.
|
||||
* `QBT_WEBUI_PORT` \
|
||||
This environment variable sets the port number which qBittorrent WebUI will be binded to.
|
||||
|
||||
#### Volumes
|
||||
|
||||
There are some paths involved:
|
||||
* `<your_path>/config` \
|
||||
Full path to a folder on your host machine which will store qBittorrent configurations.
|
||||
Using relative path won't work.
|
||||
* `<your_path>/downloads` \
|
||||
Full path to a folder on your host machine which will store the files downloaded by qBittorrent.
|
||||
Using relative path won't work.
|
||||
|
||||
## Running container
|
||||
|
||||
* Using Docker (not Docker Compose), simply run:
|
||||
```shell
|
||||
export \
|
||||
QBT_EULA=accept \
|
||||
QBT_VERSION=devel \
|
||||
QBT_WEBUI_PORT=8080 \
|
||||
QBT_CONFIG_PATH="/tmp/bbb/config"
|
||||
QBT_DOWNLOADS_PATH="/tmp/bbb/downloads"
|
||||
docker run \
|
||||
-t \
|
||||
--read-only \
|
||||
--rm \
|
||||
--tmpfs /tmp \
|
||||
--name qbittorrent-nox \
|
||||
-e QBT_EULA \
|
||||
-e QBT_WEBUI_PORT \
|
||||
-p "$QBT_WEBUI_PORT":"$QBT_WEBUI_PORT"/tcp \
|
||||
-p 6881:6881/tcp \
|
||||
-p 6881:6881/udp \
|
||||
-v "$QBT_CONFIG_PATH":/config \
|
||||
-v "$QBT_DOWNLOADS_PATH":/downloads \
|
||||
qbittorrent-nox:"$QBT_VERSION"
|
||||
```
|
||||
|
||||
* Using Docker Compose:
|
||||
```shell
|
||||
docker compose up
|
||||
```
|
||||
|
||||
Then you can login at: `http://127.0.0.1:8080`
|
||||
|
||||
## Stopping container
|
||||
|
||||
* Using Docker (not Docker Compose):
|
||||
```shell
|
||||
docker stop -t 1800 qbittorrent-nox
|
||||
```
|
||||
|
||||
* Using Docker Compose:
|
||||
```shell
|
||||
docker compose down
|
||||
```
|
||||
25
dist/docker/docker-compose.yml
vendored
25
dist/docker/docker-compose.yml
vendored
@@ -1,25 +0,0 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
qbittorrent-nox:
|
||||
build: .
|
||||
container_name: qbittorrent-nox
|
||||
environment:
|
||||
- QBT_EULA=${QBT_EULA}
|
||||
- QBT_VERSION=${QBT_VERSION}
|
||||
- QBT_WEBUI_PORT=${QBT_WEBUI_PORT}
|
||||
image: qbittorrent-nox:${QBT_VERSION}
|
||||
ports:
|
||||
# for bittorrent traffic
|
||||
- 6881:6881/tcp
|
||||
- 6881:6881/udp
|
||||
# for WebUI
|
||||
- ${QBT_WEBUI_PORT}:${QBT_WEBUI_PORT}/tcp
|
||||
read_only: true
|
||||
stop_grace_period: 30m
|
||||
tmpfs:
|
||||
- /tmp
|
||||
tty: true
|
||||
volumes:
|
||||
- ${QBT_CONFIG_PATH}:/config
|
||||
- ${QBT_DOWNLOADS_PATH}:/downloads
|
||||
35
dist/docker/entrypoint.sh
vendored
35
dist/docker/entrypoint.sh
vendored
@@ -1,35 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
downloadsPath="/downloads"
|
||||
profilePath="/config"
|
||||
qbtConfigFile="$profilePath/qBittorrent/config/qBittorrent.conf"
|
||||
|
||||
if [ ! -f "$qbtConfigFile" ]; then
|
||||
mkdir -p "$(dirname $qbtConfigFile)"
|
||||
cat << EOF > "$qbtConfigFile"
|
||||
[BitTorrent]
|
||||
Session\DefaultSavePath=/downloads
|
||||
Session\Port=6881
|
||||
Session\TempPath=/downloads/temp
|
||||
|
||||
[LegalNotice]
|
||||
Accepted=false
|
||||
EOF
|
||||
|
||||
if [ "$QBT_EULA" = "accept" ]; then
|
||||
sed -i '/^\[LegalNotice\]$/{$!{N;s|\(\[LegalNotice\]\nAccepted=\).*|\1true|}}' "$qbtConfigFile"
|
||||
else
|
||||
sed -i '/^\[LegalNotice\]$/{$!{N;s|\(\[LegalNotice\]\nAccepted=\).*|\1false|}}' "$qbtConfigFile"
|
||||
fi
|
||||
fi
|
||||
|
||||
# those are owned by root by default
|
||||
# don't change existing files owner in `$downloadsPath`
|
||||
chown qbtUser:qbtUser "$downloadsPath"
|
||||
chown qbtUser:qbtUser -R "$profilePath"
|
||||
|
||||
doas -u qbtUser \
|
||||
qbittorrent-nox \
|
||||
--profile="$profilePath" \
|
||||
--webui-port="$QBT_WEBUI_PORT" \
|
||||
"$@"
|
||||
@@ -68,9 +68,9 @@
|
||||
<update_contact>sledgehammer999@qbittorrent.org</update_contact>
|
||||
<developer_name>The qBittorrent Project</developer_name>
|
||||
<url type="homepage">https://www.qbittorrent.org/</url>
|
||||
<url type="bugtracker">http://bugs.qbittorrent.org/</url>
|
||||
<url type="bugtracker">https://bugs.qbittorrent.org/</url>
|
||||
<url type="donation">https://www.qbittorrent.org/donate</url>
|
||||
<url type="help">http://forum.qbittorrent.org/</url>
|
||||
<url type="help">https://forum.qbittorrent.org/</url>
|
||||
<url type="translate">https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent</url>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<releases>
|
||||
|
||||
10
dist/unix/org.qbittorrent.qBittorrent.desktop
vendored
10
dist/unix/org.qbittorrent.qBittorrent.desktop
vendored
@@ -98,8 +98,8 @@ Name[is]=qBittorrent
|
||||
Comment[it]=Scarica e condividi file tramite BitTorrent
|
||||
GenericName[it]=Client BitTorrent
|
||||
Name[it]=qBittorrent
|
||||
Comment[ja]=BitTorrent でファイルをダウンロードおよび共有します
|
||||
GenericName[ja]=BitTorrent クライアント
|
||||
Comment[ja]=BitTorrentでファイルのダウンロードと共有
|
||||
GenericName[ja]=BitTorrentクライアント
|
||||
Name[ja]=qBittorrent
|
||||
Comment[ka]=გადმოტვირთეთ და გააზიარეთ ფაილები BitTorrent-ის საშუალებით
|
||||
GenericName[ka]=BitTorrent კლიენტი
|
||||
@@ -160,7 +160,7 @@ Comment[te]=క్యు బిట్ టొరెంట్ తో ఫైల్
|
||||
GenericName[te]=క్యు బిట్ టొరెంట్ క్లయింట్
|
||||
Name[te]=qBittorrent
|
||||
Comment[th]=ดาวน์โหลดและแชร์ไฟล์ผ่าน BitTorrent
|
||||
GenericName[th]=ไคลเอนต์ BitTorrent
|
||||
GenericName[th]=โปรแกรมบิททอเร้นท์
|
||||
Name[th]=qBittorrent
|
||||
Comment[tr]=Dosyaları BitTorrent üzerinden indirin ve paylaşın
|
||||
GenericName[tr]=BitTorrent istemcisi
|
||||
@@ -178,7 +178,7 @@ Comment[zh_HK]=經由BitTorrent下載並分享檔案
|
||||
GenericName[zh_HK]=BitTorrent用戶端
|
||||
Name[zh_HK]=qBittorrent
|
||||
Comment[zh_TW]=經由 BitTorrent 下載並分享檔案
|
||||
GenericName[zh_TW]=BitTorrent 客戶端
|
||||
GenericName[zh_TW]=BitTorrent 用戶端
|
||||
Name[zh_TW]=qBittorrent
|
||||
Comment[eo]=Elŝutu kaj kunhavigu dosierojn per BitTorrent
|
||||
GenericName[eo]=BitTorrent-kliento
|
||||
@@ -208,7 +208,7 @@ Name[ltg]=qBittorrent
|
||||
Comment[hi_IN]=BitTorrent द्वारा फाइल डाउनलोड व सहभाजन
|
||||
GenericName[hi_IN]=Bittorrent साधन
|
||||
Name[hi_IN]=qBittorrent
|
||||
Comment[az@latin]=Faylları BitTorrent vasitəsilə göndərin və paylaşın
|
||||
Comment[az@latin]=Faylları BitTorrent vasitəsilə endirin və paylaşın
|
||||
GenericName[az@latin]=BitTorrent client
|
||||
Name[az@latin]=qBittorrent
|
||||
Comment[lv_LV]=Lejupielādēt un koplietot failus ar BitTorrent
|
||||
|
||||
61
dist/windows/3rdparty/VersionCompleteXXXX.nsi
vendored
Normal file
61
dist/windows/3rdparty/VersionCompleteXXXX.nsi
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
; Code taken from https://nsis.sourceforge.io/VersionCompleteXXXX
|
||||
; See http://nsis.sourceforge.net/VersionCompleteXXXX for documentation
|
||||
!macro VersionCompleteXXXRevision _INPUT_VALUE _OUTPUT_SYMBOL _REVISION
|
||||
!searchparse /noerrors ${_INPUT_VALUE} "" _VERSION_1 "." _VERSION_2 "." _VERSION_3 "." _VERSION_4
|
||||
!ifndef _VERSION_1
|
||||
!define _VERSION_1 0
|
||||
!else if `${_VERSION_1}` == ``
|
||||
!define /redef _VERSION_1 0
|
||||
!endif
|
||||
!ifndef _VERSION_2
|
||||
!define _VERSION_2 0
|
||||
!else if `${_VERSION_2}` == ``
|
||||
!define /redef _VERSION_2 0
|
||||
!endif
|
||||
!ifndef _VERSION_3
|
||||
!define _VERSION_3 0
|
||||
!else if `${_VERSION_3}` == ``
|
||||
!define /redef _VERSION_3 0
|
||||
!endif
|
||||
!ifndef _VERSION_4
|
||||
!define _VERSION_4 0
|
||||
!else if `${_VERSION_4}` == ``
|
||||
!define /redef _VERSION_4 0
|
||||
!endif
|
||||
!define ${_OUTPUT_SYMBOL} ${_VERSION_1}.${_VERSION_2}.${_VERSION_3}.${_REVISION}
|
||||
!undef _VERSION_1
|
||||
!undef _VERSION_2
|
||||
!undef _VERSION_3
|
||||
!undef _VERSION_4
|
||||
!undef _REVISION
|
||||
!macroend
|
||||
!define VersionCompleteXXXRevision `!insertmacro VersionCompleteXXXRevision`
|
||||
!macro VersionCompleteXXXX _INPUT_VALUE _OUTPUT_SYMBOL
|
||||
!searchparse /noerrors ${_INPUT_VALUE} "" _VERSION_1 "." _VERSION_2 "." _VERSION_3 "." _VERSION_4
|
||||
!ifndef _VERSION_1
|
||||
!define _VERSION_1 0
|
||||
!else if `${_VERSION_1}` == ``
|
||||
!define /redef _VERSION_1 0
|
||||
!endif
|
||||
!ifndef _VERSION_2
|
||||
!define _VERSION_2 0
|
||||
!else if `${_VERSION_2}` == ``
|
||||
!define /redef _VERSION_2 0
|
||||
!endif
|
||||
!ifndef _VERSION_3
|
||||
!define _VERSION_3 0
|
||||
!else if `${_VERSION_3}` == ``
|
||||
!define /redef _VERSION_3 0
|
||||
!endif
|
||||
!ifndef _VERSION_4
|
||||
!define _VERSION_4 0
|
||||
!else if `${_VERSION_4}` == ``
|
||||
!define /redef _VERSION_4 0
|
||||
!endif
|
||||
!define ${_OUTPUT_SYMBOL} ${_VERSION_1}.${_VERSION_2}.${_VERSION_3}.${_VERSION_4}
|
||||
!undef _VERSION_1
|
||||
!undef _VERSION_2
|
||||
!undef _VERSION_3
|
||||
!undef _VERSION_4
|
||||
!macroend
|
||||
!define VersionCompleteXXXX `!insertmacro VersionCompleteXXXX`
|
||||
26
dist/windows/README.txt
vendored
26
dist/windows/README.txt
vendored
@@ -16,16 +16,16 @@ TRANSLATORS:
|
||||
|
||||
PACKAGERS:
|
||||
|
||||
You will need NSIS and upx to make the installer. You need a unicode version of NSIS.
|
||||
I tested with NSIS 3.0 (final).
|
||||
You will need NSIS 3 to make the installer. UPX is an optional requirement.
|
||||
|
||||
1. Open the options.nsi file in an editor and change line that contains
|
||||
"!define PROG_VERSION "3.0.3"" to the version of qbittorrent you just built.
|
||||
2. Extract the plugins found in the folder "nsis plugins" into your
|
||||
1. Open the config.nsi file in an editor and change line that contains
|
||||
"!define QBT_VERSION "3.0.3"" to the version of qbittorrent you just built.
|
||||
2. config.nsi contains some other defines that control the installer output. Read the comments in that file.
|
||||
3. Extract the plugins found in the folder "nsis plugins" into your
|
||||
NSIS's unicode Plugin directory(usually C:\Program Files\NSIS\Plugins\x86-unicode).
|
||||
Only the *.dll files are needed. Use the unicode version of the dlls.
|
||||
3. The script you need to compile is "qbittorrent.nsi". It includes all other necessary scripts.
|
||||
4. The script expects the following file tree:
|
||||
4. The script you need to compile is "qbittorrent.nsi". It includes all other necessary scripts.
|
||||
5. The script expects the following file tree:
|
||||
|
||||
The installer script expects the following file tree:
|
||||
|
||||
@@ -42,13 +42,14 @@ translations
|
||||
You will need the files that conform to this globbing expression 'qt_??.qm qt_??_??.qm qtbase_??.qm qtbase_??_??.qm'.
|
||||
Some of those files will be stubs. Filter any file that is smaller than 10KB in size.
|
||||
Alternatively you can use the 'gather_qt_translations.py' script found in the same folder as this file.
|
||||
Run it with '--help' to see its usage.
|
||||
**YOU MUST** edit the list of .qm files in the 'installer.nsi' to match whatever files are in the 'translations' subfolder.)
|
||||
Run it with '--help' to see its usage.)
|
||||
qt_zh_TW.qm
|
||||
installer.nsi
|
||||
license.txt
|
||||
options.nsi
|
||||
config.nsi
|
||||
helper.nsi
|
||||
qbittorrent.exe
|
||||
qbittorrent.pdb
|
||||
qbittorrent.nsi
|
||||
qt.conf
|
||||
translations.nsi
|
||||
@@ -56,9 +57,10 @@ UAC.nsh
|
||||
uninstaller.nsi
|
||||
|
||||
|
||||
5. "license.txt" is a text file that contains the text rendered
|
||||
6. "license.txt" is a text file that contains the text rendered
|
||||
from src\gui\gpl.html
|
||||
6. "qbittorrent.exe" is the compiled binary file.
|
||||
7. "qbittorrent.exe" is the compiled binary file.
|
||||
8. "qbittorrent.pdb" is the compiled binary's PDB file.
|
||||
|
||||
SCRIPT HACKERS:
|
||||
|
||||
|
||||
112
dist/windows/options.nsi → dist/windows/config.nsi
vendored
112
dist/windows/options.nsi → dist/windows/config.nsi
vendored
@@ -1,23 +1,95 @@
|
||||
;Start of user configurable options
|
||||
;==============================================================================
|
||||
|
||||
; Uncomment if you want to use UPX to pack the installer header
|
||||
; Doing so may make antivirus software flag the installer as virus/malware
|
||||
;!define USE_UPX
|
||||
|
||||
; Uncomment when packaging 64bit qbittorrent
|
||||
;!define QBT_IS_X64
|
||||
|
||||
; Uncomment when packaging qt6 qbittorrent
|
||||
; It will also define QBT_IS_X64
|
||||
;!define QBT_USES_QT6
|
||||
|
||||
!ifdef QBT_USES_QT6
|
||||
!define /redef QBT_IS_X64
|
||||
!endif
|
||||
|
||||
; qBittorrent version
|
||||
; The string MUST contain ONLY numbers delimited by dots.
|
||||
; It MUST contain a maximum of 4 delimited numbers
|
||||
; Other values will result in undefined behavior
|
||||
; examples:
|
||||
; 4.5.0 -> good
|
||||
; 4.5.1.3 -> good
|
||||
; 4.5.1.3.2 -> bad
|
||||
; 4.5.0beta -> bad
|
||||
!define /ifndef QBT_VERSION "4.5.0"
|
||||
|
||||
; Option that controls the installer's window name
|
||||
; If set, its value will be used like this:
|
||||
; "qBittorrent ${QBT_INSTALLER_FILENAME}"
|
||||
; If not set, the window name will be auto composed from QBT_VERSION, QBT_USES_QT6, QBT_IS_X64
|
||||
; If you set this define then you MUST set QBT_INSTALLER_FILENAME too. Otherwise it will be ignored.
|
||||
; This define is meant to ease automation from scripts/commandline
|
||||
;!define QBT_INSTALLER_WINDOWNAME
|
||||
|
||||
; Option that controls the installer's window name
|
||||
; If set, its value will be used like this:
|
||||
; "qbittorrent_${QBT_INSTALLER_FILENAME}_setup.exe"
|
||||
; If not set, the window name will be auto composed from QBT_VERSION, QBT_USES_QT6, QBT_IS_X64
|
||||
; If you set this define then you MUST set QBT_INSTALLER_WINDOWNAME too. Otherwise it will be ignored.
|
||||
; This define is meant to ease automation from scripts/commandline
|
||||
;!define QBT_INSTALLER_FILENAME
|
||||
|
||||
;End of user configurable options
|
||||
;==============================================================================
|
||||
|
||||
!ifndef QBT_INSTALLER_WINDOWNAME | QBT_INSTALLER_FILENAME
|
||||
!ifndef QBT_IS_X64
|
||||
; The name of the installer
|
||||
!define QBT_INSTALLER_WINDOWNAME "${QBT_VERSION}"
|
||||
|
||||
; The file to write
|
||||
!define QBT_INSTALLER_FILENAME "${QBT_VERSION}"
|
||||
!else ; QBT_IS_X64
|
||||
!ifndef QBT_USES_QT6
|
||||
; The name of the installer
|
||||
!define QBT_INSTALLER_WINDOWNAME "${QBT_VERSION} x64"
|
||||
|
||||
; The file to write
|
||||
!define QBT_INSTALLER_FILENAME "${QBT_VERSION}_x64"
|
||||
!else ; QBT_USES_QT6
|
||||
; The name of the installer
|
||||
!define QBT_INSTALLER_WINDOWNAME "${QBT_VERSION} (qt6) x64"
|
||||
|
||||
; The file to write
|
||||
!define QBT_INSTALLER_FILENAME "${QBT_VERSION}_qt6_x64"
|
||||
!endif ; QBT_USES_QT6
|
||||
!endif ; QBT_IS_X64
|
||||
!endif
|
||||
|
||||
Unicode true
|
||||
ManifestDPIAware true
|
||||
;Compress the header too
|
||||
|
||||
!ifdef USE_UPX
|
||||
!packhdr "$%TEMP%\exehead.tmp" 'upx.exe -9 --best --ultra-brute "$%TEMP%\exehead.tmp"'
|
||||
!endif
|
||||
|
||||
;Setting the compression
|
||||
SetCompressor /SOLID LZMA
|
||||
SetCompressorDictSize 64
|
||||
XPStyle on
|
||||
|
||||
;Uncomment when packaging 64bit qbittorrent
|
||||
;!define APP64BIT
|
||||
|
||||
!include "MUI.nsh"
|
||||
!include "MUI2.nsh"
|
||||
!include "UAC.nsh"
|
||||
!include "FileFunc.nsh"
|
||||
!include "WinVer.nsh"
|
||||
!ifdef APP64BIT
|
||||
!ifdef QBT_IS_X64
|
||||
!include "x64.nsh"
|
||||
!endif
|
||||
!include "3rdparty\VersionCompleteXXXX.nsi"
|
||||
|
||||
;For the file association
|
||||
!define SHCNE_ASSOCCHANGED 0x8000000
|
||||
@@ -27,41 +99,33 @@ XPStyle on
|
||||
!define CSIDL_APPDATA '0x1A' ;Application Data path
|
||||
!define CSIDL_LOCALAPPDATA '0x1C' ;Local Application Data path
|
||||
|
||||
; Program specific
|
||||
!define PROG_VERSION "4.5.0"
|
||||
|
||||
!define MUI_FINISHPAGE_RUN
|
||||
!define MUI_FINISHPAGE_RUN_FUNCTION PageFinishRun
|
||||
!define MUI_FINISHPAGE_RUN_TEXT $(launch_qbt)
|
||||
|
||||
!ifndef APP64BIT
|
||||
; The name of the installer
|
||||
Name "qBittorrent ${PROG_VERSION}"
|
||||
; The name of the installer
|
||||
Name "qBittorrent ${QBT_INSTALLER_WINDOWNAME}"
|
||||
|
||||
; The file to write
|
||||
OutFile "qbittorrent_${PROG_VERSION}_setup.exe"
|
||||
!else
|
||||
; The name of the installer
|
||||
Name "qBittorrent ${PROG_VERSION} x64"
|
||||
|
||||
; The file to write
|
||||
OutFile "qbittorrent_${PROG_VERSION}_x64_setup.exe"
|
||||
!endif
|
||||
; The file to write
|
||||
OutFile "qbittorrent_${QBT_INSTALLER_FILENAME}_setup.exe"
|
||||
|
||||
;Installer Version Information
|
||||
VIAddVersionKey "ProductName" "qBittorrent"
|
||||
VIAddVersionKey "CompanyName" "The qBittorrent project"
|
||||
VIAddVersionKey "LegalCopyright" "Copyright ©2006-2022 The qBittorrent project"
|
||||
VIAddVersionKey "FileDescription" "qBittorrent - A Bittorrent Client"
|
||||
VIAddVersionKey "FileVersion" "${PROG_VERSION}"
|
||||
VIAddVersionKey "FileVersion" "${QBT_VERSION}"
|
||||
|
||||
VIProductVersion "${PROG_VERSION}.0"
|
||||
; VIProductVersion needs a 4 part version.
|
||||
; If QBT_VERSION contains less than 4 parts then VersionCompleteXXXX, will extend it with zeroes.
|
||||
${VersionCompleteXXXX} ${QBT_VERSION} VERSION_4_PART
|
||||
VIProductVersion "${VERSION_4_PART}"
|
||||
|
||||
; The default installation directory. It changes depending if we install in the 64bit dir or not.
|
||||
; A caveat of this is if a user has installed a 32bit version and then runs the 64bit installer
|
||||
; (which in turn launches the 32bit uninstaller first) the value will still point to the 32bit location.
|
||||
; The user has to manually uninstall the old version and THEN run the 64bit installer
|
||||
!ifndef APP64BIT
|
||||
!ifndef QBT_IS_X64
|
||||
InstallDir $PROGRAMFILES32\qBittorrent
|
||||
!else
|
||||
InstallDir $PROGRAMFILES64\qBittorrent
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_AFRIKAANS} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_AFRIKAANS} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_AFRIKAANS} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_AFRIKAANS} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_AFRIKAANS} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ALBANIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_ALBANIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ALBANIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ALBANIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ALBANIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ARABIC} "تشغيل البرنامج"
|
||||
LangString inst_requires_64bit ${LANG_ARABIC} "هذا المثبت يعمل فقط في نسخ ويندوز 64 بت"
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ARABIC} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ARABIC} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ARABIC} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_BASQUE} "Abiarazi qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_BASQUE} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_BASQUE} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_BASQUE} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_BASQUE} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_BELARUSIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_BELARUSIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_BELARUSIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_BELARUSIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_BELARUSIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_BOSNIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_BOSNIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_BOSNIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_BOSNIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_BOSNIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_BRETON} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_BRETON} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_BRETON} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_BRETON} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_BRETON} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_BULGARIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_BULGARIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_BULGARIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_BULGARIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_BULGARIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_CATALAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_CATALAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_CATALAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_CATALAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_CATALAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_CROATIAN} "Pokreni qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_CROATIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_CROATIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_CROATIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_CROATIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_CZECH} "Spustit qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_CZECH} "Tento instalátor funguje pouze v 64-bit Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_CZECH} "Tato verze qBittorrent vyžaduje minimálně Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_CZECH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_CZECH} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_DANISH} "Start qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_DANISH} "Installationsprogrammet virker kun i Windows-versioner som er 64-bit."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_DANISH} "qBittorrent-versionen kræver mindst Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_DANISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_DANISH} "Afinstaller qBittorrent"
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_DUTCH} "qBittorrent (vereist)"
|
||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
|
||||
LangString inst_dekstop ${LANG_DUTCH} "Bureaublad-snelkoppeling aanmaken"
|
||||
LangString inst_dekstop ${LANG_DUTCH} "Snelkoppeling aanmaken op bureaublad"
|
||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_DUTCH} "Startmenu-snelkoppeling aanmaken"
|
||||
LangString inst_startmenu ${LANG_DUTCH} "Snelkoppeling aanmaken in startmenu"
|
||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_DUTCH} "qBittorrent starten bij opstarten van Windows"
|
||||
;LangString inst_torrent ${LANG_ENGLISH} "Open .torrent files with qBittorrent"
|
||||
@@ -30,8 +30,10 @@ LangString launch_qbt ${LANG_DUTCH} "qBittorrent starten."
|
||||
LangString inst_requires_64bit ${LANG_DUTCH} "Dit installatieprogramma werkt alleen in 64-bit Windows-versies."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_DUTCH} "Deze versie van qBittorrent vereist ten minste Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_DUTCH} "Dit installatieprogramma vereist ten minste Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_DUTCH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_DUTCH} "qBittorrent verwijderen"
|
||||
|
||||
;------------------------------------
|
||||
;Uninstaller strings
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ESPERANTO} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_ESPERANTO} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ESPERANTO} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ESPERANTO} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ESPERANTO} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ESTONIAN} "Käivita qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_ESTONIAN} "See installer töötab ainult 64-bit Windowsi versioonides."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ESTONIAN} "Selle qBittorrenti versiooni jaoks on vajalik vähemalt Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ESTONIAN} "Selle installeri jaoks on vajalik vähemalt Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ESTONIAN} "Desinstalli qBittorrent"
|
||||
|
||||
@@ -53,7 +55,7 @@ LangString remove_firewallinfo ${LANG_ESTONIAN} "Eemaldatakse Windowsi Tulemüü
|
||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_ESTONIAN} "Eemalda torrentid ja ajutised andmed"
|
||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_ESTONIAN} "qBittorrent töötab. Palun sulge programm, enne uninstallimist."
|
||||
LangString uninst_warning ${LANG_ESTONIAN} "qBittorrent töötab. Palun sulge programm, enne desinstallimist."
|
||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_ESTONIAN} "Ei eemaldata .torrent seotust. Mis on seotud:"
|
||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_FARSI} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_FARSI} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_FARSI} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_FARSI} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_FARSI} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_FINNISH} "Käynnistä qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_FINNISH} "Tämä asennusohjelma toimii vain 64-bittisellä Windowsin versiolla."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_FINNISH} "Tämä qBittorrent versio tarvitsee vähintään Windows 7:n."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_FINNISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_FINNISH} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_FRENCH} "Lancer qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_FRENCH} "Cet installateur ne fonctionne que dans les versions 64 bits de Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_FRENCH} "Cette version de qBittorrent nécessite au moins Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_FRENCH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_FRENCH} "Désinstaller qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_GALICIAN} "Iniciar qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_GALICIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_GALICIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_GALICIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_GALICIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_GERMAN} "Starte qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_GERMAN} "Diese Installation funktioniert nur mit einer 64-bit Version von Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_GERMAN} "Diese Version von qBittorrent erfordert mindestens Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_GERMAN} "Diese Installation erfordert mindestens Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_GERMAN} "qBittorrent deinstallieren"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_GREEK} "Εκκίνηση του qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_GREEK} "Αυτό το αρχείο εγκατάστασης λειτουργεί μόνο σε 64-bit εκδόσεις των Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_GREEK} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_GREEK} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_GREEK} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_HEBREW} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_HEBREW} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_HEBREW} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_HEBREW} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_HEBREW} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_HUNGARIAN} "qBittorrent indítása."
|
||||
LangString inst_requires_64bit ${LANG_HUNGARIAN} "A telepítő csak 64-bites Windows verziókon működik."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_HUNGARIAN} "A qBittorrent ezen verziójához minimum Windows 7 szükséges."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_HUNGARIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_HUNGARIAN} "qBittorrent eltávolítása"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ICELANDIC} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_ICELANDIC} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ICELANDIC} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ICELANDIC} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ICELANDIC} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;Installer strings
|
||||
|
||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_INDONESIAN} "qBittorrent (diperlukan)"
|
||||
LangString inst_qbt_req ${LANG_INDONESIAN} "qBittorrent (wajib)"
|
||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
|
||||
LangString inst_dekstop ${LANG_INDONESIAN} "Buat Pintasan Desktop"
|
||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
|
||||
@@ -15,23 +15,25 @@ LangString inst_magnet ${LANG_INDONESIAN} "Buka link magnet dengan qBittorrent"
|
||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_INDONESIAN} "Tambahkan aturan Windows Firewall"
|
||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_INDONESIAN} "Matikan batasan panjang path Windows (limitasi MAX_PATH 260 karaker, membutuhkan Windows 10 1607 atau lebih baru)"
|
||||
LangString inst_pathlimit ${LANG_INDONESIAN} "Nonaktifkan batas panjang path Windows (limitasi MAX_PATH 260 karaker, memerlukan Windows 10 1607 atau lebih baru)"
|
||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_INDONESIAN} "Menambahkan aturan Windows Firewall"
|
||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_INDONESIAN} "qBittorrent berjalan. Mohon tutup aplikasi sebelum memasang."
|
||||
LangString inst_warning ${LANG_INDONESIAN} "qBittorrent berjalan. Harap tutup aplikasi sebelum menginstal."
|
||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_INDONESIAN} "Versi saat ini akan dicopot. Pengaturan pengguna dan torrent akan tetap utuh."
|
||||
LangString inst_uninstall_question ${LANG_INDONESIAN} "Versi saat ini akan dihapus. Pengaturan pengguna dan torrent akan tetap utuh."
|
||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_INDONESIAN} "Mencopot versi sebelumnya."
|
||||
LangString inst_unist ${LANG_INDONESIAN} "Menghapus versi sebelumnya."
|
||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_INDONESIAN} "Buka qBittorrent."
|
||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_INDONESIAN} "Aplikasi ini hanya berjalan pada versi Windows 64-bit."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_INDONESIAN} "Versi qBittorrent ini membutuhkan setidaknya Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_INDONESIAN} "Penginstal ini membutuhkan setidaknya Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_INDONESIAN} "Copot qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_INDONESIAN} "Hapus qBittorrent"
|
||||
|
||||
;------------------------------------
|
||||
;Uninstaller strings
|
||||
@@ -43,7 +45,7 @@ LangString remove_shortcuts ${LANG_INDONESIAN} "Hapus pintasan"
|
||||
;LangString remove_associations ${LANG_ENGLISH} "Remove file associations"
|
||||
LangString remove_associations ${LANG_INDONESIAN} "Hapus asosiasi file"
|
||||
;LangString remove_registry ${LANG_ENGLISH} "Remove registry keys"
|
||||
LangString remove_registry ${LANG_INDONESIAN} "Hapus key registri"
|
||||
LangString remove_registry ${LANG_INDONESIAN} "Hapus kunci registri"
|
||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_INDONESIAN} "Hapus file konfigurasi"
|
||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
|
||||
@@ -53,7 +55,7 @@ LangString remove_firewallinfo ${LANG_INDONESIAN} "Menghapus aturan Windows Fire
|
||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_INDONESIAN} "Hapus torrent dan data ter-cache"
|
||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_INDONESIAN} "qBittorrent berjalan. Mohon tutup aplikasi sebelum mencopot."
|
||||
LangString uninst_warning ${LANG_INDONESIAN} "qBittorrent berjalan. Mohon tutup aplikasi sebelum menghapus."
|
||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_INDONESIAN} "Tidak menghapus asosiasi .torrent. Terasosiasi dengan:"
|
||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_IRISH} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_IRISH} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_IRISH} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_IRISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_IRISH} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ITALIAN} "Esegui qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_ITALIAN} "Questo installer funziona solo con versioni di Windows a 64bit."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ITALIAN} "Questa versione di qBittorrent richiede Windows 7 o versioni successive."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ITALIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ITALIAN} "Disinstalla qBittorrent"
|
||||
|
||||
|
||||
@@ -27,9 +27,11 @@ LangString inst_unist ${LANG_JAPANESE} "以前のバージョンをアンイン
|
||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_JAPANESE} "qBittorrent を起動"
|
||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_JAPANESE} "このインストーラーは 64 ビット版の Windows でのみ実行できます。"
|
||||
LangString inst_requires_64bit ${LANG_JAPANESE} "このインストーラは 64 ビット版の Windows でのみ実行できます。"
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_JAPANESE} "このバージョンの qBittorrent には Windows 7 以降が必要です。"
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_JAPANESE} "このインストーラの実行には Windows 10 1809 以降が必要です。"
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_JAPANESE} "qBittorrent をアンインストール"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_KOREAN} "qBittorrent를 실행합니다."
|
||||
LangString inst_requires_64bit ${LANG_KOREAN} "이 설치 프로그램은 64비트 Windows 버전에서만 작동합니다."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_KOREAN} "이 qBittorrent 버전에는 Windows 7 이상이 필요합니다."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_KOREAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_KOREAN} "qBittorrent 제거"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_KURDISH} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_KURDISH} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_KURDISH} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_KURDISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_KURDISH} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_LATVIAN} "Palaist qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_LATVIAN} "Šī instalēšanas programma darbojas tikai 64 bitu Windows versijās."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_LATVIAN} "Šai qBittorrent versijai ir nepieciešama vismaz Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_LATVIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_LATVIAN} "Atinstalēt qBittorrent"
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_LITHUANIAN} "qBittorrent (reikalingas)"
|
||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
|
||||
LangString inst_dekstop ${LANG_LITHUANIAN} "Sukurti darbalaukyje nuorodą"
|
||||
LangString inst_dekstop ${LANG_LITHUANIAN} "Sukurti nuorodą darbalaukyje"
|
||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_LITHUANIAN} "Sukurti Pradėti meniu nuorodą"
|
||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
|
||||
@@ -13,25 +13,27 @@ LangString inst_torrent ${LANG_LITHUANIAN} "Atidaryti .torrent failus su qBittor
|
||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
|
||||
LangString inst_magnet ${LANG_LITHUANIAN} "Atidaryti magneto nuorodas su qBittorrent"
|
||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_LITHUANIAN} "Sukurti Windows užkardos leidimą"
|
||||
LangString inst_firewall ${LANG_LITHUANIAN} "Sukurti Windows interneto užkardos leidimą"
|
||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_LITHUANIAN} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_LITHUANIAN} "Išjungti Windows path ilgio limitaciją (260 ženklų MAX_PATH limitacija, reikalinga versija yra Windows 10 1607 ar naujesnė)"
|
||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_LITHUANIAN} "Pridedu Windows užkardos leidimą"
|
||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašau uždaryti programą prieš įdiegiant."
|
||||
LangString inst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašome uždaryti programą prieš įdiegiant."
|
||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_LITHUANIAN} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_LITHUANIAN} "Dabartinė versija bus pašalinta. Naudotojo nustatymai ir torrentai liks nepakeisti."
|
||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_LITHUANIAN} "Šalinu ankstesnę versiją."
|
||||
LangString inst_unist ${LANG_LITHUANIAN} "Šalinama ankstesnė versija."
|
||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_LITHUANIAN} "Paleisti qBittorrent."
|
||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_LITHUANIAN} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_LITHUANIAN} "Šis įdiegėjas veikia tik su 64 bitų Windows versija."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_LITHUANIAN} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_LITHUANIAN} "Ši qBittorent versija reikalauja bent Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_LITHUANIAN} "Šis įdiegėjas reikalauja bent Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_LITHUANIAN} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_LITHUANIAN} "Pašalinti qBittorrent"
|
||||
|
||||
;------------------------------------
|
||||
;Uninstaller strings
|
||||
@@ -47,14 +49,14 @@ LangString remove_registry ${LANG_LITHUANIAN} "Pašalinti registro raktus"
|
||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_LITHUANIAN} "Pašalinti nustatymų failus"
|
||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
|
||||
LangString remove_firewall ${LANG_LITHUANIAN} "Pašalinti Windows užkardos leidimą"
|
||||
LangString remove_firewall ${LANG_LITHUANIAN} "Pašalinti Windows interneto užkardos leidimą"
|
||||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_LITHUANIAN} "Šalinu Windows užkardos leidimą"
|
||||
LangString remove_firewallinfo ${LANG_LITHUANIAN} "Šalinamas Windows interneto užkardos leidimas"
|
||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_LITHUANIAN} "Pašalinti torentus ir podėlio duomenis"
|
||||
LangString remove_cache ${LANG_LITHUANIAN} "Pašalinti torentus ir talpyklos duomenis"
|
||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašau uždarykite programą prieš išdiegiant."
|
||||
LangString uninst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašome uždaryti programą prieš išdiegiant."
|
||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_LITHUANIAN} "Negaliu pašalinti .torrent asociacijos. Ji yra susieti su:"
|
||||
LangString uninst_tor_warn ${LANG_LITHUANIAN} "Neįmanoma pašalinti .torrent asociacijos. Ji yra susieta su:"
|
||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
|
||||
LangString uninst_mag_warn ${LANG_LITHUANIAN} "Negaliu pašalinti magneto asociacijos. Jis susietas su:"
|
||||
LangString uninst_mag_warn ${LANG_LITHUANIAN} "Neįmanoma pašalinti magneto asociacijos. Ji yra susieta su:"
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_LUXEMBOURGISH} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_LUXEMBOURGISH} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_LUXEMBOURGISH} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_LUXEMBOURGISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_LUXEMBOURGISH} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_MACEDONIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_MACEDONIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_MACEDONIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_MACEDONIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_MACEDONIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_MALAY} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_MALAY} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_MALAY} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_MALAY} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_MALAY} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_MONGOLIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_MONGOLIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_MONGOLIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_MONGOLIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_MONGOLIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_NORWEGIAN} "Sett i gang qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_NORWEGIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_NORWEGIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_NORWEGIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_NORWEGIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_NORWEGIANNYNORSK} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_NORWEGIANNYNORSK} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_NORWEGIANNYNORSK} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_NORWEGIANNYNORSK} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_NORWEGIANNYNORSK} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_POLISH} "Uruchom qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_POLISH} "Ten instalator działa tylko w 64-bitowych wersjach systemu Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_POLISH} "Ta wersja qBittorrent wymaga co najmniej systemu Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_POLISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_POLISH} "Odinstaluj qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_PORTUGUESE} "Iniciar qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_PORTUGUESE} "Este instalador funciona apenas em versões Windows de 64 bits."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_PORTUGUESE} "Esta versão qBittorrent requer pelo menos o Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_PORTUGUESE} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_PORTUGUESE} "Desinstalar qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_PORTUGUESEBR} "Executar o qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_PORTUGUESEBR} "Este instalador só funciona nas versões 64 bits do Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_PORTUGUESEBR} "Esta versão do qBittorrent requer no mínimo o Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_PORTUGUESEBR} "Este instalador requer no mínimo o Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_PORTUGUESEBR} "Desinstalar o qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_ROMANIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_ROMANIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ROMANIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ROMANIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ROMANIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_RUSSIAN} "Запустить qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_RUSSIAN} "Этот установщик работает только на 64-битных версиях Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_RUSSIAN} "Для работы этой версии qBittorrent требуется Windows 7 или выше."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_RUSSIAN} "Для работы этого установщика требуется Windows 10 1809 или выше."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_RUSSIAN} "Удалить qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_SERBIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_SERBIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SERBIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SERBIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SERBIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_SERBIANLATIN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_SERBIANLATIN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SERBIANLATIN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SERBIANLATIN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SERBIANLATIN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_SIMPCHINESE} "启动 qBittorrent。"
|
||||
LangString inst_requires_64bit ${LANG_SIMPCHINESE} "此安装程序仅支持 64 位 Windows 系统。"
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SIMPCHINESE} "这个版本的 qBittorrent 仅支持 Windows 7 及更新的系统。"
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SIMPCHINESE} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SIMPCHINESE} "卸载 qBittorrent"
|
||||
|
||||
|
||||
56
dist/windows/installer-translations/slovak.nsi
vendored
56
dist/windows/installer-translations/slovak.nsi
vendored
@@ -1,60 +1,62 @@
|
||||
;Installer strings
|
||||
|
||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_SLOVAK} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_SLOVAK} "qBittorrent (požadované)"
|
||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
|
||||
LangString inst_dekstop ${LANG_SLOVAK} "Create Desktop Shortcut"
|
||||
LangString inst_dekstop ${LANG_SLOVAK} "Vytvoriť odkaz na pracovnej ploche"
|
||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_SLOVAK} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_SLOVAK} "Vytvoriť odkaz v štart menu"
|
||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_SLOVAK} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_SLOVAK} "Sputiť qBittorrent pri štarte Windowsu"
|
||||
;LangString inst_torrent ${LANG_ENGLISH} "Open .torrent files with qBittorrent"
|
||||
LangString inst_torrent ${LANG_SLOVAK} "Open .torrent files with qBittorrent"
|
||||
LangString inst_torrent ${LANG_SLOVAK} "Otvárať .torrent súbory v qBittorrent"
|
||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
|
||||
LangString inst_magnet ${LANG_SLOVAK} "Open magnet links with qBittorrent"
|
||||
LangString inst_magnet ${LANG_SLOVAK} "Otvárať magnet odkazy v qBittorrent"
|
||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_SLOVAK} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_SLOVAK} "Pridať pravidlo do Windows Firewall"
|
||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_SLOVAK} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_SLOVAK} "Vypnúť limit dĺžky cesty Windowsu (260 znaková MAX_PATH limitácia, vyžaduje Windows 10 1607 alebo novšie)"
|
||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_SLOVAK} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_SLOVAK} "Pridáva sa pravidlo do Windows Firewall"
|
||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_SLOVAK} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_SLOVAK} "qBittorrent je spustený. Zatvorte prosím aplikáciu pred inštaláciou."
|
||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_SLOVAK} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_SLOVAK} "Aktuálna verzia bude odinštalovaná. Užívateľské nastavenia a torrenty sa zachovajú."
|
||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_SLOVAK} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_SLOVAK} "Odinštalácia predchádzajúcej verzie."
|
||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_SLOVAK} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_SLOVAK} "Spustiť qBittorrent."
|
||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_SLOVAK} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_SLOVAK} "Táto inštalácia funguje iba na 64-bitových verziách Windowsu."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SLOVAK} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SLOVAK} "Táto qBittorrent verzia vyžaduje aspoň Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SLOVAK} "Tento inštalátor vyžaduje aspoň Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SLOVAK} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SLOVAK} "Odinštalovať qBittorrent"
|
||||
|
||||
;------------------------------------
|
||||
;Uninstaller strings
|
||||
|
||||
;LangString remove_files ${LANG_ENGLISH} "Remove files"
|
||||
LangString remove_files ${LANG_SLOVAK} "Remove files"
|
||||
LangString remove_files ${LANG_SLOVAK} "Odstrániť súbory"
|
||||
;LangString remove_shortcuts ${LANG_ENGLISH} "Remove shortcuts"
|
||||
LangString remove_shortcuts ${LANG_SLOVAK} "Remove shortcuts"
|
||||
LangString remove_shortcuts ${LANG_SLOVAK} "Odstrániť odkazy"
|
||||
;LangString remove_associations ${LANG_ENGLISH} "Remove file associations"
|
||||
LangString remove_associations ${LANG_SLOVAK} "Remove file associations"
|
||||
LangString remove_associations ${LANG_SLOVAK} "Odstrániť asociácie súborov"
|
||||
;LangString remove_registry ${LANG_ENGLISH} "Remove registry keys"
|
||||
LangString remove_registry ${LANG_SLOVAK} "Remove registry keys"
|
||||
LangString remove_registry ${LANG_SLOVAK} "Odstrániť kľúče registrov"
|
||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_SLOVAK} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_SLOVAK} "Odstrániť konfiguračné súbory"
|
||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
|
||||
LangString remove_firewall ${LANG_SLOVAK} "Remove Windows Firewall rule"
|
||||
LangString remove_firewall ${LANG_SLOVAK} "Odstrániť pravidlo z Windows Firewall"
|
||||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_SLOVAK} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_SLOVAK} "Odstraňuje sa pravidlo z Windows Firewall"
|
||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_SLOVAK} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_SLOVAK} "Odstrániť torrenty a dáta z vyrovnávacej pamäti"
|
||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_SLOVAK} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_SLOVAK} "qBittorrent je spustený. Zatvorte prosím aplikáciu pred odinštaláciou."
|
||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_SLOVAK} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_SLOVAK} "Neodstraňuje sa .torrent asociácia. Asociované s:"
|
||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
|
||||
LangString uninst_mag_warn ${LANG_SLOVAK} "Not removing magnet association. It is associated with:"
|
||||
LangString uninst_mag_warn ${LANG_SLOVAK} "Neodstraňuje sa magnet asociácia. Asociované s:"
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_SLOVENIAN} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_SLOVENIAN} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SLOVENIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SLOVENIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SLOVENIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_SPANISH} "Iniciar qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_SPANISH} "Este instalador solo funciona en versiones de 64-bit de Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SPANISH} "Esta versión de qBittorrent requiere Windows 7 o superior."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SPANISH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SPANISH} "Desinstalar qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_SPANISHINTERNATIONAL} "Iniciar qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_SPANISHINTERNATIONAL} "Este instalador solo funciona en versiones de 64-bit de Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SPANISHINTERNATIONAL} "Esta versión de qBittorrent requiere Windows 7 o superior."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SPANISHINTERNATIONAL} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SPANISHINTERNATIONAL} "Desinstalar qBittorrent"
|
||||
|
||||
|
||||
@@ -27,9 +27,11 @@ LangString inst_unist ${LANG_SWEDISH} "Avinstallerar tidigare version."
|
||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_SWEDISH} "Kör qBittorrent."
|
||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_SWEDISH} "Installationsprogrammet fungerar endast i 64-bitars Windows-versioner."
|
||||
LangString inst_requires_64bit ${LANG_SWEDISH} "Det här installationsprogrammet fungerar endast i 64-bitars Windows-versioner."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_SWEDISH} "Den här qBittorrent-versionen kräver minst Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_SWEDISH} "Det här installationsprogrammet kräver minst Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_SWEDISH} "Avinstallera qBittorrent"
|
||||
|
||||
|
||||
2
dist/windows/installer-translations/thai.nsi
vendored
2
dist/windows/installer-translations/thai.nsi
vendored
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_THAI} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_THAI} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_THAI} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_THAI} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_THAI} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_TRADCHINESE} "啟動 qBittorrent"
|
||||
LangString inst_requires_64bit ${LANG_TRADCHINESE} "此安裝程式僅支援 64 位元版本的 Windows。"
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_TRADCHINESE} "此 qBittorrent 版本僅支援 Windows 7 以上的系統。"
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_TRADCHINESE} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_TRADCHINESE} "移除 qBittorrent"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_TURKISH} "qBittorrent'i başlat"
|
||||
LangString inst_requires_64bit ${LANG_TURKISH} "Bu yükleyici sadece 64-bit Windows sürümlerinde çalışır."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_TURKISH} "Bu qBittorrent sürümü en az Windows 7 gerektirir."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_TURKISH} "Bu yükleyici en az Windows 10 1809 gerektirir."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_TURKISH} "qBittorrent'i kaldır"
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_UKRAINIAN} "Запустити qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_UKRAINIAN} "Ця програма установки працює тільки в 64-розрядних версіях Windows."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_UKRAINIAN} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_UKRAINIAN} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_UKRAINIAN} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
56
dist/windows/installer-translations/uzbek.nsi
vendored
56
dist/windows/installer-translations/uzbek.nsi
vendored
@@ -1,60 +1,62 @@
|
||||
;Installer strings
|
||||
|
||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_UZBEK} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_UZBEK} "qBittorrent (talab qilinadi)"
|
||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
|
||||
LangString inst_dekstop ${LANG_UZBEK} "Create Desktop Shortcut"
|
||||
LangString inst_dekstop ${LANG_UZBEK} "Ish Stolida Yorliq Yaratilsin"
|
||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_UZBEK} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_UZBEK} "Boshlash Menyusida Yorliq Yaratilsin"
|
||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_UZBEK} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_UZBEK} "qBittorrent Windows bilan birga ishga tushirilsin"
|
||||
;LangString inst_torrent ${LANG_ENGLISH} "Open .torrent files with qBittorrent"
|
||||
LangString inst_torrent ${LANG_UZBEK} "Open .torrent files with qBittorrent"
|
||||
LangString inst_torrent ${LANG_UZBEK} ".torrent fayllar qBittorrent bilan ochilsin"
|
||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
|
||||
LangString inst_magnet ${LANG_UZBEK} "Open magnet links with qBittorrent"
|
||||
LangString inst_magnet ${LANG_UZBEK} "Magnit havolalar qBittorrent bilan ochilsin"
|
||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_UZBEK} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasi qoʻshilsin"
|
||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_UZBEK} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_UZBEK} "Windows yoʻl uzunligi cheklovi olib tashlansin (260 belgi MAX_PATH cheklovi, Windows 10 1607 va yuqorisi talab qilinadi)"
|
||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_UZBEK} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasini qoʻshish"
|
||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_UZBEK} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_UZBEK} "qBittorrent ishga tushgan. Iltimos, oʻrnatishdan oldin dasturni yoping."
|
||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_UZBEK} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_UZBEK} "Hozirgi versiya oʻchiriladi. Foydalanuvchi sozlamalari va torrentlar oʻzgarishsiz qoladi."
|
||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_UZBEK} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_UZBEK} "Oldingi versiyani oʻchirish."
|
||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_UZBEK} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_UZBEK} "qBittorrent ishga tushirilsin."
|
||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_UZBEK} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_UZBEK} "Bu oʻrnatuvchi faqat Windows 64-bit versiyalarda ishlaydi."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_UZBEK} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_UZBEK} "qBittorrent bu versiyasi kamida Windows 7 talab qiladi."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_UZBEK} "Bu oʻrnatuvchi kamida Windows 10 1809 talab qiladi."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_UZBEK} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_UZBEK} "qBittorrent oʻchirilsin"
|
||||
|
||||
;------------------------------------
|
||||
;Uninstaller strings
|
||||
|
||||
;LangString remove_files ${LANG_ENGLISH} "Remove files"
|
||||
LangString remove_files ${LANG_UZBEK} "Remove files"
|
||||
LangString remove_files ${LANG_UZBEK} "Fayllar oʻchirilsin"
|
||||
;LangString remove_shortcuts ${LANG_ENGLISH} "Remove shortcuts"
|
||||
LangString remove_shortcuts ${LANG_UZBEK} "Remove shortcuts"
|
||||
LangString remove_shortcuts ${LANG_UZBEK} "Yorliqlar oʻchirilsin"
|
||||
;LangString remove_associations ${LANG_ENGLISH} "Remove file associations"
|
||||
LangString remove_associations ${LANG_UZBEK} "Remove file associations"
|
||||
LangString remove_associations ${LANG_UZBEK} "Fayl birlashmalari oʻchirilsin"
|
||||
;LangString remove_registry ${LANG_ENGLISH} "Remove registry keys"
|
||||
LangString remove_registry ${LANG_UZBEK} "Remove registry keys"
|
||||
LangString remove_registry ${LANG_UZBEK} "Reyester kalitlari oʻchirilsin"
|
||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_UZBEK} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_UZBEK} "Sozlama fayllari oʻchirilsin"
|
||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
|
||||
LangString remove_firewall ${LANG_UZBEK} "Remove Windows Firewall rule"
|
||||
LangString remove_firewall ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasi oʻchirilsin"
|
||||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_UZBEK} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasini oʻchirish"
|
||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_UZBEK} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_UZBEK} "Torrentlar va keshlangan maʼlumotlar oʻchirilsin"
|
||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_UZBEK} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_UZBEK} "qBittorrent ishga tushgan. Iltimos, oʻchirishdan oldin dasturni yoping."
|
||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_UZBEK} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_UZBEK} ".torrent birlashmasi oʻchirilmadi. U quyidagi bilan birlashgan:"
|
||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
|
||||
LangString uninst_mag_warn ${LANG_UZBEK} "Not removing magnet association. It is associated with:"
|
||||
LangString uninst_mag_warn ${LANG_UZBEK} "Magnit birlashmasi oʻchirilmadi. U quyidagi bilan birlashgan:"
|
||||
|
||||
@@ -30,6 +30,8 @@ LangString launch_qbt ${LANG_WELSH} "Launch qBittorrent."
|
||||
LangString inst_requires_64bit ${LANG_WELSH} "This installer works only in 64-bit Windows versions."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_WELSH} "This qBittorrent version requires at least Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_WELSH} "This installer requires at least Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_WELSH} "Uninstall qBittorrent"
|
||||
|
||||
|
||||
44
dist/windows/installer.nsi
vendored
44
dist/windows/installer.nsi
vendored
@@ -24,33 +24,30 @@ Section $(inst_qbt_req) ;"qBittorrent (required)"
|
||||
|
||||
; Set output path to the installation directory.
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
;Create 'translations' directory
|
||||
CreateDirectory $INSTDIR\translations
|
||||
|
||||
; Put file there
|
||||
; Put files there
|
||||
File "qbittorrent.exe"
|
||||
File "qbittorrent.pdb"
|
||||
File "qt.conf"
|
||||
File /r "qtbase_*.qm" ; omit translations folder path to preserve folder structure
|
||||
File /oname=translations\qt_fa.qm "translations\qt_fa.qm"
|
||||
File /oname=translations\qt_gl.qm "translations\qt_gl.qm"
|
||||
File /oname=translations\qt_lt.qm "translations\qt_lt.qm"
|
||||
File /oname=translations\qt_pt.qm "translations\qt_pt.qm"
|
||||
File /oname=translations\qt_sl.qm "translations\qt_sl.qm"
|
||||
File /oname=translations\qt_sv.qm "translations\qt_sv.qm"
|
||||
File /oname=translations\qt_zh_CN.qm "translations\qt_zh_CN.qm"
|
||||
|
||||
;Create 'translations' directory
|
||||
CreateDirectory $INSTDIR\translations
|
||||
; Set output path to the installation\translations directory.
|
||||
SetOutPath "$INSTDIR\translations"
|
||||
; Put files there
|
||||
File /r "translations\qt*.qm"
|
||||
; Restore output path because it affects `CreateShortCut`. It affects the "Start in" field.
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
; Write the installation path into the registry
|
||||
WriteRegStr HKLM "Software\qBittorrent" "InstallLocation" "$INSTDIR"
|
||||
|
||||
; Write the uninstall keys for Windows
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "DisplayName" "qBittorrent ${PROG_VERSION}"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "DisplayName" "qBittorrent"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "UninstallString" '"$INSTDIR\uninst.exe"'
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "DisplayIcon" '"$INSTDIR\qbittorrent.exe",0'
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "Publisher" "The qBittorrent project"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "URLInfoAbout" "https://www.qbittorrent.org"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "DisplayVersion" "${PROG_VERSION}"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "DisplayVersion" "${QBT_VERSION}"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "NoModify" 1
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent" "NoRepair" 1
|
||||
WriteUninstaller "uninst.exe"
|
||||
@@ -180,12 +177,19 @@ Function .onInit
|
||||
!insertmacro Init "installer"
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
|
||||
${IfNot} ${AtLeastWin7}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION $(inst_requires_win7)
|
||||
Abort
|
||||
${EndIf}
|
||||
!ifndef QBT_USES_QT6
|
||||
${IfNot} ${AtLeastWin7}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION $(inst_requires_win7)
|
||||
Abort
|
||||
${EndIf}
|
||||
!else
|
||||
${IfNot} ${AtLeastWaaS} 1809 ; Windows 10 1809. Min supported version by Qt6
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION $(inst_requires_win10)
|
||||
Abort
|
||||
${EndIf}
|
||||
!endif
|
||||
|
||||
!ifdef APP64BIT
|
||||
!ifdef QBT_IS_X64
|
||||
${IfNot} ${RunningX64}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION $(inst_requires_64bit)
|
||||
Abort
|
||||
|
||||
2
dist/windows/qbittorrent.nsi
vendored
2
dist/windows/qbittorrent.nsi
vendored
@@ -1,4 +1,4 @@
|
||||
!include options.nsi
|
||||
!include config.nsi
|
||||
!include translations.nsi
|
||||
!include installer.nsi
|
||||
!include uninstaller.nsi
|
||||
|
||||
@@ -42,6 +42,6 @@ number.
|
||||
8080).
|
||||
.SH BUGS
|
||||
.PP
|
||||
If you find a bug, please report it at http://bugs.qbittorrent.org
|
||||
If you find a bug, please report it at https://bugs.qbittorrent.org
|
||||
.SH AUTHORS
|
||||
Christophe Dumez <chris@qbittorrent.org>.
|
||||
|
||||
@@ -38,4 +38,4 @@ the default account user name is "admin" with "adminadmin" as a password.
|
||||
|
||||
|
||||
# BUGS
|
||||
If you find a bug, please report it at http://bugs.qbittorrent.org
|
||||
If you find a bug, please report it at https://bugs.qbittorrent.org
|
||||
|
||||
@@ -36,6 +36,6 @@ number.
|
||||
8080).
|
||||
.SH BUGS
|
||||
.PP
|
||||
If you find a bug, please report it at http://bugs.qbittorrent.org
|
||||
If you find a bug, please report it at https://bugs.qbittorrent.org
|
||||
.SH AUTHORS
|
||||
Christophe Dumez <chris@qbittorrent.org>.
|
||||
|
||||
@@ -33,4 +33,4 @@ FAST extension (mainline) and PeX support (utorrent compatible).
|
||||
|
||||
|
||||
# BUGS
|
||||
If you find a bug, please report it at http://bugs.qbittorrent.org
|
||||
If you find a bug, please report it at https://bugs.qbittorrent.org
|
||||
|
||||
@@ -88,6 +88,7 @@
|
||||
#include "base/version.h"
|
||||
#include "applicationinstancemanager.h"
|
||||
#include "filelogger.h"
|
||||
#include "upgrade.h"
|
||||
|
||||
#ifndef DISABLE_GUI
|
||||
#include "gui/addnewtorrentdialog.h"
|
||||
@@ -96,6 +97,7 @@
|
||||
#include "gui/shutdownconfirmdialog.h"
|
||||
#include "gui/uithememanager.h"
|
||||
#include "gui/utils.h"
|
||||
#include "gui/windowstate.h"
|
||||
#endif // DISABLE_GUI
|
||||
|
||||
#ifndef DISABLE_WEBUI
|
||||
@@ -120,12 +122,109 @@ namespace
|
||||
#ifndef DISABLE_GUI
|
||||
const int PIXMAP_CACHE_SIZE = 64 * 1024 * 1024; // 64MiB
|
||||
#endif
|
||||
|
||||
QString serializeParams(const QBtCommandLineParameters ¶ms)
|
||||
{
|
||||
QStringList result;
|
||||
// Because we're passing a string list to the currently running
|
||||
// qBittorrent process, we need some way of passing along the options
|
||||
// the user has specified. Here we place special strings that are
|
||||
// almost certainly not going to collide with a file path or URL
|
||||
// specified by the user, and placing them at the beginning of the
|
||||
// string list so that they will be processed before the list of
|
||||
// torrent paths or URLs.
|
||||
|
||||
const BitTorrent::AddTorrentParams &addTorrentParams = params.addTorrentParams;
|
||||
|
||||
if (!addTorrentParams.savePath.isEmpty())
|
||||
result.append(u"@savePath=" + addTorrentParams.savePath.data());
|
||||
|
||||
if (addTorrentParams.addPaused.has_value())
|
||||
result.append(*addTorrentParams.addPaused ? u"@addPaused=1"_qs : u"@addPaused=0"_qs);
|
||||
|
||||
if (addTorrentParams.skipChecking)
|
||||
result.append(u"@skipChecking"_qs);
|
||||
|
||||
if (!addTorrentParams.category.isEmpty())
|
||||
result.append(u"@category=" + addTorrentParams.category);
|
||||
|
||||
if (addTorrentParams.sequential)
|
||||
result.append(u"@sequential"_qs);
|
||||
|
||||
if (addTorrentParams.firstLastPiecePriority)
|
||||
result.append(u"@firstLastPiecePriority"_qs);
|
||||
|
||||
if (params.skipDialog.has_value())
|
||||
result.append(*params.skipDialog ? u"@skipDialog=1"_qs : u"@skipDialog=0"_qs);
|
||||
|
||||
result += params.torrentSources;
|
||||
|
||||
return result.join(PARAMS_SEPARATOR);
|
||||
}
|
||||
|
||||
QBtCommandLineParameters parseParams(const QString &str)
|
||||
{
|
||||
QBtCommandLineParameters parsedParams;
|
||||
BitTorrent::AddTorrentParams &addTorrentParams = parsedParams.addTorrentParams;
|
||||
|
||||
for (QString param : asConst(str.split(PARAMS_SEPARATOR, Qt::SkipEmptyParts)))
|
||||
{
|
||||
param = param.trimmed();
|
||||
|
||||
// Process strings indicating options specified by the user.
|
||||
|
||||
if (param.startsWith(u"@savePath="))
|
||||
{
|
||||
addTorrentParams.savePath = Path(param.mid(10));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param.startsWith(u"@addPaused="))
|
||||
{
|
||||
addTorrentParams.addPaused = (QStringView(param).mid(11).toInt() != 0);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param == u"@skipChecking")
|
||||
{
|
||||
addTorrentParams.skipChecking = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param.startsWith(u"@category="))
|
||||
{
|
||||
addTorrentParams.category = param.mid(10);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param == u"@sequential")
|
||||
{
|
||||
addTorrentParams.sequential = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param == u"@firstLastPiecePriority")
|
||||
{
|
||||
addTorrentParams.firstLastPiecePriority = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param.startsWith(u"@skipDialog="))
|
||||
{
|
||||
parsedParams.skipDialog = (QStringView(param).mid(12).toInt() != 0);
|
||||
continue;
|
||||
}
|
||||
|
||||
parsedParams.torrentSources.append(param);
|
||||
}
|
||||
|
||||
return parsedParams;
|
||||
}
|
||||
}
|
||||
|
||||
Application::Application(int &argc, char **argv)
|
||||
: BaseApplication(argc, argv)
|
||||
, m_shutdownAct(ShutdownDialogAction::Exit)
|
||||
, m_commandLineArgs(parseCommandLine(this->arguments()))
|
||||
, m_commandLineArgs(parseCommandLine(Application::arguments()))
|
||||
, m_storeFileLoggerEnabled(FILELOGGER_SETTINGS_KEY(u"Enabled"_qs))
|
||||
, m_storeFileLoggerBackup(FILELOGGER_SETTINGS_KEY(u"Backup"_qs))
|
||||
, m_storeFileLoggerDeleteOld(FILELOGGER_SETTINGS_KEY(u"DeleteOld"_qs))
|
||||
@@ -138,6 +237,7 @@ Application::Application(int &argc, char **argv)
|
||||
, m_processMemoryPriority(SETTINGS_KEY(u"ProcessMemoryPriority"_qs))
|
||||
#endif
|
||||
#ifndef DISABLE_GUI
|
||||
, m_startUpWindowState(u"GUI/StartUpWindowState"_qs)
|
||||
, m_storeNotificationTorrentAdded(NOTIFICATIONS_SETTINGS_KEY(u"TorrentAdded"_qs))
|
||||
#endif
|
||||
{
|
||||
@@ -171,6 +271,18 @@ Application::Application(int &argc, char **argv)
|
||||
SettingsStorage::initInstance();
|
||||
Preferences::initInstance();
|
||||
|
||||
const bool firstTimeUser = !Preferences::instance()->getAcceptedLegal();
|
||||
if (!firstTimeUser)
|
||||
{
|
||||
if (!upgrade())
|
||||
throw RuntimeError(u"Failed migration of old settings"_qs); // Not translatable. Translation isn't configured yet.
|
||||
handleChangedDefaults(DefaultPreferencesMode::Legacy);
|
||||
}
|
||||
else
|
||||
{
|
||||
handleChangedDefaults(DefaultPreferencesMode::Current);
|
||||
}
|
||||
|
||||
initializeTranslation();
|
||||
|
||||
connect(this, &QCoreApplication::aboutToQuit, this, &Application::cleanup);
|
||||
@@ -196,6 +308,12 @@ Application::Application(int &argc, char **argv)
|
||||
|
||||
if (m_commandLineArgs.webUiPort > 0) // it will be -1 when user did not set any value
|
||||
Preferences::instance()->setWebUiPort(m_commandLineArgs.webUiPort);
|
||||
|
||||
if (m_commandLineArgs.torrentingPort > 0) // it will be -1 when user did not set any value
|
||||
{
|
||||
SettingValue<int> port {u"BitTorrent/Session/Port"_qs};
|
||||
port = m_commandLineArgs.torrentingPort;
|
||||
}
|
||||
}
|
||||
|
||||
Application::~Application()
|
||||
@@ -216,6 +334,16 @@ MainWindow *Application::mainWindow()
|
||||
return m_window;
|
||||
}
|
||||
|
||||
WindowState Application::startUpWindowState() const
|
||||
{
|
||||
return m_startUpWindowState;
|
||||
}
|
||||
|
||||
void Application::setStartUpWindowState(const WindowState windowState)
|
||||
{
|
||||
m_startUpWindowState = windowState;
|
||||
}
|
||||
|
||||
bool Application::isTorrentAddedNotificationsEnabled() const
|
||||
{
|
||||
return m_storeNotificationTorrentAdded;
|
||||
@@ -359,7 +487,7 @@ void Application::processMessage(const QString &message)
|
||||
}
|
||||
#endif
|
||||
|
||||
const AddTorrentParams params = parseParams(message.split(PARAMS_SEPARATOR, Qt::SkipEmptyParts));
|
||||
const QBtCommandLineParameters params = parseParams(message);
|
||||
// If Application is not allowed to process params immediately
|
||||
// (i.e., other components are not ready) store params
|
||||
if (m_isProcessingParamsAllowed)
|
||||
@@ -434,6 +562,7 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
|
||||
};
|
||||
|
||||
const QString logMsg = tr("Running external program. Torrent: \"%1\". Command: `%2`");
|
||||
const QString logMsgError = tr("Failed to run external program. Torrent: \"%1\". Command: `%2`");
|
||||
|
||||
// The processing sequenece is different for Windows and other OS, this is intentional
|
||||
#if defined(Q_OS_WIN)
|
||||
@@ -453,8 +582,6 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
|
||||
for (int i = 1; i < argCount; ++i)
|
||||
argList += QString::fromWCharArray(args[i]);
|
||||
|
||||
LogMsg(logMsg.arg(torrent->name(), program));
|
||||
|
||||
QProcess proc;
|
||||
proc.setProgram(QString::fromWCharArray(args[0]));
|
||||
proc.setArguments(argList);
|
||||
@@ -479,7 +606,11 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
|
||||
args->startupInfo->hStdOutput = nullptr;
|
||||
args->startupInfo->hStdError = nullptr;
|
||||
});
|
||||
proc.startDetached();
|
||||
|
||||
if (proc.startDetached())
|
||||
LogMsg(logMsg.arg(torrent->name(), program));
|
||||
else
|
||||
LogMsg(logMsgError.arg(torrent->name(), program));
|
||||
#else // Q_OS_WIN
|
||||
QStringList args = Utils::String::splitCommand(programTemplate);
|
||||
|
||||
@@ -495,11 +626,21 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
|
||||
arg = replaceVariables(arg);
|
||||
}
|
||||
|
||||
// show intended command in log
|
||||
LogMsg(logMsg.arg(torrent->name(), replaceVariables(programTemplate)));
|
||||
|
||||
const QString command = args.takeFirst();
|
||||
QProcess::startDetached(command, args);
|
||||
QProcess proc;
|
||||
proc.setProgram(command);
|
||||
proc.setArguments(args);
|
||||
|
||||
if (proc.startDetached())
|
||||
{
|
||||
// show intended command in log
|
||||
LogMsg(logMsg.arg(torrent->name(), replaceVariables(programTemplate)));
|
||||
}
|
||||
else
|
||||
{
|
||||
// show intended command in log
|
||||
LogMsg(logMsgError.arg(torrent->name(), replaceVariables(programTemplate)));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -594,72 +735,12 @@ void Application::allTorrentsFinished()
|
||||
exit();
|
||||
}
|
||||
|
||||
bool Application::sendParams(const QStringList ¶ms)
|
||||
bool Application::callMainInstance()
|
||||
{
|
||||
return m_instanceManager->sendMessage(params.join(PARAMS_SEPARATOR));
|
||||
return m_instanceManager->sendMessage(serializeParams(commandLineArgs()));
|
||||
}
|
||||
|
||||
Application::AddTorrentParams Application::parseParams(const QStringList ¶ms) const
|
||||
{
|
||||
AddTorrentParams parsedParams;
|
||||
BitTorrent::AddTorrentParams &torrentParams = parsedParams.torrentParams;
|
||||
|
||||
for (QString param : params)
|
||||
{
|
||||
param = param.trimmed();
|
||||
|
||||
// Process strings indicating options specified by the user.
|
||||
|
||||
if (param.startsWith(u"@savePath="))
|
||||
{
|
||||
torrentParams.savePath = Path(param.mid(10));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param.startsWith(u"@addPaused="))
|
||||
{
|
||||
torrentParams.addPaused = (QStringView(param).mid(11).toInt() != 0);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param == u"@skipChecking")
|
||||
{
|
||||
torrentParams.skipChecking = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param.startsWith(u"@category="))
|
||||
{
|
||||
torrentParams.category = param.mid(10);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param == u"@sequential")
|
||||
{
|
||||
torrentParams.sequential = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param == u"@firstLastPiecePriority")
|
||||
{
|
||||
torrentParams.firstLastPiecePriority = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param.startsWith(u"@skipDialog="))
|
||||
{
|
||||
parsedParams.skipTorrentDialog = (QStringView(param).mid(12).toInt() != 0);
|
||||
continue;
|
||||
}
|
||||
|
||||
parsedParams.torrentSource = param;
|
||||
break;
|
||||
}
|
||||
|
||||
return parsedParams;
|
||||
}
|
||||
|
||||
void Application::processParams(const AddTorrentParams ¶ms)
|
||||
void Application::processParams(const QBtCommandLineParameters ¶ms)
|
||||
{
|
||||
#ifndef DISABLE_GUI
|
||||
// There are two circumstances in which we want to show the torrent
|
||||
@@ -667,15 +748,21 @@ void Application::processParams(const AddTorrentParams ¶ms)
|
||||
// be shown and skipTorrentDialog is undefined. The other is when
|
||||
// skipTorrentDialog is false, meaning that the application setting
|
||||
// should be overridden.
|
||||
const bool showDialogForThisTorrent = !params.skipTorrentDialog.value_or(!AddNewTorrentDialog::isEnabled());
|
||||
if (showDialogForThisTorrent)
|
||||
AddNewTorrentDialog::show(params.torrentSource, params.torrentParams, m_window);
|
||||
const bool showDialog = !params.skipDialog.value_or(!AddNewTorrentDialog::isEnabled());
|
||||
if (showDialog)
|
||||
{
|
||||
for (const QString &torrentSource : params.torrentSources)
|
||||
AddNewTorrentDialog::show(torrentSource, params.addTorrentParams, m_window);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
BitTorrent::Session::instance()->addTorrent(params.torrentSource, params.torrentParams);
|
||||
{
|
||||
for (const QString &torrentSource : params.torrentSources)
|
||||
BitTorrent::Session::instance()->addTorrent(torrentSource, params.addTorrentParams);
|
||||
}
|
||||
}
|
||||
|
||||
int Application::exec(const QStringList ¶ms)
|
||||
int Application::exec()
|
||||
try
|
||||
{
|
||||
#if !defined(DISABLE_WEBUI) && defined(DISABLE_GUI)
|
||||
@@ -700,7 +787,7 @@ try
|
||||
#ifndef DISABLE_GUI
|
||||
UIThemeManager::initInstance();
|
||||
|
||||
m_desktopIntegration = new DesktopIntegration(this);
|
||||
m_desktopIntegration = new DesktopIntegration;
|
||||
m_desktopIntegration->setToolTip(tr("Loading torrents..."));
|
||||
#ifndef Q_OS_MACOS
|
||||
auto *desktopIntegrationMenu = new QMenu;
|
||||
@@ -708,18 +795,15 @@ try
|
||||
actionExit->setIcon(UIThemeManager::instance()->getIcon(u"application-exit"_qs));
|
||||
actionExit->setMenuRole(QAction::QuitRole);
|
||||
actionExit->setShortcut(Qt::CTRL | Qt::Key_Q);
|
||||
connect(actionExit, &QAction::triggered, this, [this]()
|
||||
connect(actionExit, &QAction::triggered, this, []
|
||||
{
|
||||
QApplication::exit();
|
||||
});
|
||||
desktopIntegrationMenu->addAction(actionExit);
|
||||
|
||||
m_desktopIntegration->setMenu(desktopIntegrationMenu);
|
||||
#endif
|
||||
|
||||
const auto *pref = Preferences::instance();
|
||||
#ifndef Q_OS_MACOS
|
||||
const bool isHidden = m_desktopIntegration->isActive() && pref->startMinimized() && pref->minimizeToTray();
|
||||
const bool isHidden = m_desktopIntegration->isActive() && (startUpWindowState() == WindowState::Hidden);
|
||||
#else
|
||||
const bool isHidden = false;
|
||||
#endif
|
||||
@@ -729,7 +813,7 @@ try
|
||||
createStartupProgressDialog();
|
||||
// Add a small delay to avoid "flashing" the progress dialog in case there are not many torrents to restore.
|
||||
m_startupProgressDialog->setMinimumDuration(1000);
|
||||
if (pref->startMinimized())
|
||||
if (startUpWindowState() != WindowState::Normal)
|
||||
m_startupProgressDialog->setWindowState(Qt::WindowMinimized);
|
||||
}
|
||||
else
|
||||
@@ -782,12 +866,15 @@ try
|
||||
});
|
||||
|
||||
disconnect(m_desktopIntegration, &DesktopIntegration::activationRequested, this, &Application::createStartupProgressDialog);
|
||||
// we must not delete menu while it is used by DesktopIntegration
|
||||
auto *oldMenu = m_desktopIntegration->menu();
|
||||
const MainWindow::State windowState = (!m_startupProgressDialog || (m_startupProgressDialog->windowState() & Qt::WindowMinimized))
|
||||
? MainWindow::Minimized : MainWindow::Normal;
|
||||
#ifndef Q_OS_MACOS
|
||||
const WindowState windowState = !m_startupProgressDialog ? WindowState::Hidden
|
||||
: (m_startupProgressDialog->windowState() & Qt::WindowMinimized) ? WindowState::Minimized
|
||||
: WindowState::Normal;
|
||||
#else
|
||||
const WindowState windowState = (m_startupProgressDialog->windowState() & Qt::WindowMinimized)
|
||||
? WindowState::Minimized : WindowState::Normal;
|
||||
#endif
|
||||
m_window = new MainWindow(this, windowState);
|
||||
delete oldMenu;
|
||||
delete m_startupProgressDialog;
|
||||
#ifdef Q_OS_WIN
|
||||
auto *pref = Preferences::instance();
|
||||
@@ -834,13 +921,14 @@ try
|
||||
#endif // DISABLE_WEBUI
|
||||
|
||||
m_isProcessingParamsAllowed = true;
|
||||
for (const AddTorrentParams ¶ms : m_paramsQueue)
|
||||
for (const QBtCommandLineParameters ¶ms : m_paramsQueue)
|
||||
processParams(params);
|
||||
m_paramsQueue.clear();
|
||||
});
|
||||
|
||||
if (!params.isEmpty())
|
||||
m_paramsQueue.append(parseParams(params));
|
||||
const QBtCommandLineParameters params = commandLineArgs();
|
||||
if (!params.torrentSources.isEmpty())
|
||||
m_paramsQueue.append(params);
|
||||
|
||||
return BaseApplication::exec();
|
||||
}
|
||||
@@ -876,7 +964,7 @@ void Application::createStartupProgressDialog()
|
||||
m_startupProgressDialog = new QProgressDialog(tr("Loading torrents..."), tr("Exit"), 0, 100);
|
||||
m_startupProgressDialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
m_startupProgressDialog->setWindowFlag(Qt::WindowMinimizeButtonHint);
|
||||
m_startupProgressDialog->setMinimumDuration(0); // Show dialog immediatelly by default
|
||||
m_startupProgressDialog->setMinimumDuration(0); // Show dialog immediately by default
|
||||
m_startupProgressDialog->setAutoReset(false);
|
||||
m_startupProgressDialog->setAutoClose(false);
|
||||
|
||||
@@ -926,7 +1014,8 @@ bool Application::event(QEvent *ev)
|
||||
path = static_cast<QFileOpenEvent *>(ev)->url().toString();
|
||||
qDebug("Received a mac file open event: %s", qUtf8Printable(path));
|
||||
|
||||
const AddTorrentParams params = parseParams({path});
|
||||
QBtCommandLineParameters params;
|
||||
params.torrentSources.append(path);
|
||||
// If Application is not allowed to process params immediately
|
||||
// (i.e., other components are not ready) store params
|
||||
if (m_isProcessingParamsAllowed)
|
||||
@@ -1033,7 +1122,22 @@ void Application::applyMemoryWorkingSetLimit() const
|
||||
if (::getrlimit(RLIMIT_RSS, &limit) != 0)
|
||||
return;
|
||||
|
||||
limit.rlim_cur = memoryWorkingSetLimit() * MiB;
|
||||
const size_t newSize = memoryWorkingSetLimit() * MiB;
|
||||
if (newSize > limit.rlim_max)
|
||||
{
|
||||
// try to raise the hard limit
|
||||
rlimit newLimit = limit;
|
||||
newLimit.rlim_max = newSize;
|
||||
if (::setrlimit(RLIMIT_RSS, &newLimit) != 0)
|
||||
{
|
||||
const auto message = QString::fromLocal8Bit(strerror(errno));
|
||||
LogMsg(tr("Failed to set physical memory (RAM) usage hard limit. Requested size: %1. System hard limit: %2. Error code: %3. Error message: \"%4\"")
|
||||
.arg(QString::number(newSize), QString::number(limit.rlim_max), QString::number(errno), message), Log::WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
limit.rlim_cur = newSize;
|
||||
if (::setrlimit(RLIMIT_RSS, &limit) != 0)
|
||||
{
|
||||
const auto message = QString::fromLocal8Bit(strerror(errno));
|
||||
@@ -1195,6 +1299,7 @@ void Application::cleanup()
|
||||
::ShutdownBlockReasonDestroy(reinterpret_cast<HWND>(m_window->effectiveWinId()));
|
||||
#endif // Q_OS_WIN
|
||||
delete m_window;
|
||||
delete m_desktopIntegration;
|
||||
UIThemeManager::freeInstance();
|
||||
}
|
||||
#endif // DISABLE_GUI
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user