You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-10-21 13:52:16 +02:00
Compare commits
131 Commits
release-4.
...
release-4.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
04bd33e5b3 | ||
![]() |
6a4c423b88 | ||
![]() |
112ab86a6b | ||
![]() |
fcd38a497e | ||
![]() |
6e75866ed7 | ||
![]() |
1f9dde0c37 | ||
![]() |
8b13d8f222 | ||
![]() |
8d654f9802 | ||
![]() |
cfc73da312 | ||
![]() |
9801cd0323 | ||
![]() |
c01d7a34c1 | ||
![]() |
af41a0eece | ||
![]() |
c509f57b66 | ||
![]() |
8de091f4dd | ||
![]() |
e246745776 | ||
![]() |
9d42657468 | ||
![]() |
2b4fcda463 | ||
![]() |
70a2d7bd58 | ||
![]() |
a9c85ab321 | ||
![]() |
e574bc1c57 | ||
![]() |
fc90953f91 | ||
![]() |
7016aa372b | ||
![]() |
cbe9a27a92 | ||
![]() |
97853f31f2 | ||
![]() |
66ffb7328d | ||
![]() |
9d9101186d | ||
![]() |
621ec4e92f | ||
![]() |
4b752cba4f | ||
![]() |
38c0864bf2 | ||
![]() |
c21c3d2300 | ||
![]() |
3be5273246 | ||
![]() |
37e348ed92 | ||
![]() |
36364121ba | ||
![]() |
df08bd331c | ||
![]() |
abd1ab5539 | ||
![]() |
632d33b266 | ||
![]() |
35f7e1c896 | ||
![]() |
792301dfe4 | ||
![]() |
e31cf5ac23 | ||
![]() |
0bfe6ff64b | ||
![]() |
d40c7e8833 | ||
![]() |
8e81d44b3c | ||
![]() |
97a30218bc | ||
![]() |
e9884b9513 | ||
![]() |
a63269e3e1 | ||
![]() |
d03e715708 | ||
![]() |
927732f190 | ||
![]() |
88c991880f | ||
![]() |
29290fa109 | ||
![]() |
0a8d604ef3 | ||
![]() |
532c985b50 | ||
![]() |
a32182f794 | ||
![]() |
1aebcd3258 | ||
![]() |
9f743aab86 | ||
![]() |
ece839739e | ||
![]() |
2204757eca | ||
![]() |
bfda520ef4 | ||
![]() |
af91f4ed51 | ||
![]() |
41c3a8af01 | ||
![]() |
cc7f8372a8 | ||
![]() |
d20633f9cc | ||
![]() |
961e05e9a8 | ||
![]() |
eb98a04245 | ||
![]() |
5dc1c10848 | ||
![]() |
dcbff74dc0 | ||
![]() |
5e29960da2 | ||
![]() |
aa43fc8ff4 | ||
![]() |
2517e688d9 | ||
![]() |
40d94fd8e9 | ||
![]() |
eb97e640cb | ||
![]() |
2123c1c259 | ||
![]() |
6cf1351a77 | ||
![]() |
c924904308 | ||
![]() |
904bcc14d5 | ||
![]() |
c3abe4c2a6 | ||
![]() |
7144454a1f | ||
![]() |
daaa88fa0d | ||
![]() |
0b7c8497f9 | ||
![]() |
e3562be0d6 | ||
![]() |
e0d0efcc20 | ||
![]() |
fb22b58ce6 | ||
![]() |
c78ac614f5 | ||
![]() |
de15907ea7 | ||
![]() |
a4289a517f | ||
![]() |
967c3bb55d | ||
![]() |
c57896df8f | ||
![]() |
911f0d4039 | ||
![]() |
e822d4fca7 | ||
![]() |
0da132b69e | ||
![]() |
691cb4fe2b | ||
![]() |
97a053916b | ||
![]() |
24bf8eef6d | ||
![]() |
4314bbdf9c | ||
![]() |
65611cd3dc | ||
![]() |
6a4bb1356a | ||
![]() |
06593e3678 | ||
![]() |
18577d9cb0 | ||
![]() |
701b84dc48 | ||
![]() |
9a95237b85 | ||
![]() |
a6a99fbd36 | ||
![]() |
86671bee46 | ||
![]() |
f1432a2e3d | ||
![]() |
480e3f02ca | ||
![]() |
6b05c716a8 | ||
![]() |
c697829b1b | ||
![]() |
9a2ec6912b | ||
![]() |
7601163d32 | ||
![]() |
8e2bda2b7a | ||
![]() |
1761f6c58e | ||
![]() |
419cdde4e1 | ||
![]() |
6ec46a90d1 | ||
![]() |
f4051034d7 | ||
![]() |
1a8ba00f2c | ||
![]() |
de4c1c9265 | ||
![]() |
bff9189e52 | ||
![]() |
076b3628b1 | ||
![]() |
75ccce705e | ||
![]() |
964bf31775 | ||
![]() |
507ced2fa2 | ||
![]() |
e62f9ef56a | ||
![]() |
a5a242377b | ||
![]() |
0758109d15 | ||
![]() |
3970d91d19 | ||
![]() |
4e98b7f0cf | ||
![]() |
27a69d9cca | ||
![]() |
d884ec1731 | ||
![]() |
62b2959cb4 | ||
![]() |
2bdc91c53f | ||
![]() |
d829df99aa | ||
![]() |
4f2ac34440 | ||
![]() |
94e9e9fdb2 |
@@ -37,6 +37,8 @@ install:
|
|||||||
RMDIR /S /Q "%CACHE_DIR%" & MKDIR "%CACHE_DIR%" &&
|
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 &&
|
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")
|
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:
|
before_build:
|
||||||
# setup env
|
# setup env
|
||||||
@@ -45,12 +47,11 @@ before_build:
|
|||||||
# setup project
|
# setup project
|
||||||
- COPY /Y "%CACHE_DIR%\conf.pri" "%REPO_DIR%"
|
- COPY /Y "%CACHE_DIR%\conf.pri" "%REPO_DIR%"
|
||||||
# workarounds
|
# workarounds
|
||||||
- MKDIR "c:\qbt"
|
|
||||||
- MKLINK /J "c:\qbt\base" "%CACHE_DIR%\base"
|
- MKLINK /J "c:\qbt\base" "%CACHE_DIR%\base"
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- cd "%REPO_DIR%"
|
- cd "%REPO_DIR%"
|
||||||
# lupdate chokes when it parses headers from system includes, especially Boost
|
# lupdate chokes when it parses headers from system inludes, especially Boost
|
||||||
# it also chokes with the sources from src/app/qtlocalpeer (formerly qtsingleapplication)
|
# it also chokes with the sources from src/app/qtlocalpeer (formerly qtsingleapplication)
|
||||||
# Workaround: temporarily rename them to run lupdate with the .pro file
|
# Workaround: temporarily rename them to run lupdate with the .pro file
|
||||||
- RENAME conf.pri conf.pri.temp
|
- RENAME conf.pri conf.pri.temp
|
||||||
@@ -68,11 +69,8 @@ after_build:
|
|||||||
- COPY src\release\qbittorrent.exe upload
|
- COPY src\release\qbittorrent.exe upload
|
||||||
- COPY src\release\qbittorrent.pdb 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.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\bin\libssl-1_1-x64.dll" upload
|
||||||
- COPY "%CACHE_DIR%\base\bin\libssl-1_1-x64.pdb" upload
|
- COPY "%CACHE_DIR%\base\lib\torrent-rasterbar.dll" 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 "%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\Qt5Core.dll upload
|
||||||
- COPY C:\Qt\5.15.2\msvc2019_64\bin\Qt5Gui.dll upload
|
- COPY C:\Qt\5.15.2\msvc2019_64\bin\Qt5Gui.dll upload
|
||||||
|
82
.clang-tidy
82
.clang-tidy
@@ -1,82 +0,0 @@
|
|||||||
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
.gitattributes
vendored
2
.gitattributes
vendored
@@ -5,5 +5,3 @@ core.eol=lf
|
|||||||
*.png binary
|
*.png binary
|
||||||
*.qm binary
|
*.qm binary
|
||||||
*.zip binary
|
*.zip binary
|
||||||
|
|
||||||
test/testdata/crlf.txt text eol=crlf
|
|
||||||
|
53
.github/workflows/ci_macos.yaml
vendored
53
.github/workflows/ci_macos.yaml
vendored
@@ -17,12 +17,12 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
libt_version: ["2.0.9", "1.2.19"]
|
libt_version: ["2.0.8", "1.2.18"]
|
||||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||||
qt_version: ["5.15.2", "6.5.0"]
|
qt_version: ["5.15.2", "6.4.0"]
|
||||||
exclude:
|
exclude:
|
||||||
- libt_version: "1.2.19"
|
- libt_version: "1.2.18"
|
||||||
qt_version: "6.5.0"
|
qt_version: "6.4.0"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
boost_path: "${{ github.workspace }}/../boost"
|
boost_path: "${{ github.workspace }}/../boost"
|
||||||
@@ -33,14 +33,10 @@ jobs:
|
|||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
uses: Wandalen/wretry.action@v1
|
run: |
|
||||||
env:
|
export \
|
||||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 \
|
||||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
HOMEBREW_NO_INSTALL_CLEANUP=1
|
||||||
with:
|
|
||||||
attempt_delay: 20000
|
|
||||||
attempt_limit: 6
|
|
||||||
command: |
|
|
||||||
brew update > /dev/null
|
brew update > /dev/null
|
||||||
brew install \
|
brew install \
|
||||||
cmake ninja \
|
cmake ninja \
|
||||||
@@ -49,17 +45,14 @@ jobs:
|
|||||||
- name: Setup ccache
|
- name: Setup ccache
|
||||||
uses: Chocobo1/setup-ccache-action@v1
|
uses: Chocobo1/setup-ccache-action@v1
|
||||||
with:
|
with:
|
||||||
store_cache: ${{ github.ref == 'refs/heads/master' }}
|
|
||||||
update_packager_index: false
|
update_packager_index: false
|
||||||
ccache_options: |
|
|
||||||
max_size=2G
|
|
||||||
|
|
||||||
- name: Install boost
|
- name: Install boost
|
||||||
run: |
|
run: |
|
||||||
curl \
|
curl \
|
||||||
-L \
|
-L \
|
||||||
-o "${{ runner.temp }}/boost.tar.bz2" \
|
-o "${{ runner.temp }}/boost.tar.bz2" \
|
||||||
"https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.bz2"
|
"https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2"
|
||||||
tar -xf "${{ runner.temp }}/boost.tar.bz2" -C "${{ github.workspace }}/.."
|
tar -xf "${{ runner.temp }}/boost.tar.bz2" -C "${{ github.workspace }}/.."
|
||||||
mv "${{ github.workspace }}/.."/boost_* "${{ env.boost_path }}"
|
mv "${{ github.workspace }}/.."/boost_* "${{ env.boost_path }}"
|
||||||
|
|
||||||
@@ -69,7 +62,6 @@ jobs:
|
|||||||
version: ${{ matrix.qt_version }}
|
version: ${{ matrix.qt_version }}
|
||||||
archives: qtbase qtdeclarative qtsvg qttools
|
archives: qtbase qtdeclarative qtsvg qttools
|
||||||
# Not sure why Qt made a hard dependency on qtdeclarative, try removing it when Qt > 6.4.0
|
# Not sure why Qt made a hard dependency on qtdeclarative, try removing it when Qt > 6.4.0
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Install libtorrent
|
- name: Install libtorrent
|
||||||
run: |
|
run: |
|
||||||
@@ -82,7 +74,6 @@ jobs:
|
|||||||
cmake \
|
cmake \
|
||||||
-B build \
|
-B build \
|
||||||
-G "Ninja" \
|
-G "Ninja" \
|
||||||
-DBUILD_SHARED_LIBS=OFF \
|
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DCMAKE_CXX_STANDARD=17 \
|
-DCMAKE_CXX_STANDARD=17 \
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||||
@@ -93,7 +84,7 @@ jobs:
|
|||||||
sudo cmake --install build
|
sudo cmake --install build
|
||||||
|
|
||||||
- name: Build qBittorrent (Qt5)
|
- name: Build qBittorrent (Qt5)
|
||||||
if: startsWith(matrix.qt_version, 5)
|
if: ${{ startsWith(matrix.qt_version, 5) }}
|
||||||
run: |
|
run: |
|
||||||
CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
|
CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
|
||||||
LDFLAGS="$LDFLAGS -gz" \
|
LDFLAGS="$LDFLAGS -gz" \
|
||||||
@@ -112,7 +103,7 @@ jobs:
|
|||||||
cmake --build build --target check
|
cmake --build build --target check
|
||||||
|
|
||||||
- name: Build qBittorrent (Qt6)
|
- name: Build qBittorrent (Qt6)
|
||||||
if: startsWith(matrix.qt_version, 6)
|
if: ${{ startsWith(matrix.qt_version, 6) }}
|
||||||
run: |
|
run: |
|
||||||
CXXFLAGS="$CXXFLAGS -Wno-gnu-zero-variadic-macro-arguments -Werror -Wno-error=deprecated-declarations" \
|
CXXFLAGS="$CXXFLAGS -Wno-gnu-zero-variadic-macro-arguments -Werror -Wno-error=deprecated-declarations" \
|
||||||
LDFLAGS="$LDFLAGS -gz" \
|
LDFLAGS="$LDFLAGS -gz" \
|
||||||
@@ -133,27 +124,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Prepare build artifacts
|
- name: Prepare build artifacts
|
||||||
run: |
|
run: |
|
||||||
# create .dmg
|
|
||||||
appName="qbittorrent"
|
|
||||||
if [ "${{ matrix.qbt_gui }}" = "GUI=OFF" ]; then
|
|
||||||
appName="qbittorrent-nox"
|
|
||||||
fi
|
|
||||||
# package
|
|
||||||
pushd build
|
|
||||||
PACKAGE_RETRY=0
|
|
||||||
while [ "$PACKAGE_RETRY" -lt "3" ]; do
|
|
||||||
macdeployqt "$appName.app" -dmg -no-strip
|
|
||||||
if [ -f "$appName.dmg" ]; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
sleep 5
|
|
||||||
PACKAGE_RETRY=$((PACKAGE_RETRY + 1))
|
|
||||||
echo "Retry $PACKAGE_RETRY..."
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
# prepare upload folder
|
|
||||||
mkdir upload
|
mkdir upload
|
||||||
cp "build/$appName.dmg" upload
|
|
||||||
mkdir upload/cmake
|
mkdir upload/cmake
|
||||||
cp build/compile_commands.json upload/cmake
|
cp build/compile_commands.json upload/cmake
|
||||||
mkdir upload/cmake/libtorrent
|
mkdir upload/cmake/libtorrent
|
||||||
@@ -162,5 +133,5 @@ jobs:
|
|||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: qBittorrent-CI_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
name: build-info_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
||||||
path: upload
|
path: upload
|
||||||
|
26
.github/workflows/ci_ubuntu.yaml
vendored
26
.github/workflows/ci_ubuntu.yaml
vendored
@@ -4,7 +4,6 @@ on: [pull_request, push]
|
|||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
actions: write
|
actions: write
|
||||||
security-events: write
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||||
@@ -18,11 +17,11 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
libt_version: ["2.0.9", "1.2.19"]
|
libt_version: ["2.0.8", "1.2.18"]
|
||||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||||
qt_version: ["5.15.2", "6.2.0"]
|
qt_version: ["5.15.2", "6.2.0"]
|
||||||
exclude:
|
exclude:
|
||||||
- libt_version: "1.2.19"
|
- libt_version: "1.2.18"
|
||||||
qt_version: "6.2.0"
|
qt_version: "6.2.0"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -39,7 +38,6 @@ jobs:
|
|||||||
- name: Setup ccache
|
- name: Setup ccache
|
||||||
uses: Chocobo1/setup-ccache-action@v1
|
uses: Chocobo1/setup-ccache-action@v1
|
||||||
with:
|
with:
|
||||||
store_cache: ${{ github.ref == 'refs/heads/master' }}
|
|
||||||
update_packager_index: false
|
update_packager_index: false
|
||||||
ccache_options: |
|
ccache_options: |
|
||||||
max_size=2G
|
max_size=2G
|
||||||
@@ -49,7 +47,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
version: ${{ matrix.qt_version }}
|
version: ${{ matrix.qt_version }}
|
||||||
archives: icu qtbase qtsvg qttools
|
archives: icu qtbase qtsvg qttools
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Install libtorrent
|
- name: Install libtorrent
|
||||||
run: |
|
run: |
|
||||||
@@ -62,23 +59,14 @@ jobs:
|
|||||||
cmake \
|
cmake \
|
||||||
-B build \
|
-B build \
|
||||||
-G "Ninja" \
|
-G "Ninja" \
|
||||||
-DBUILD_SHARED_LIBS=OFF \
|
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||||
-Ddeprecated-functions=OFF
|
-Ddeprecated-functions=OFF
|
||||||
cmake --build build
|
cmake --build build
|
||||||
sudo cmake --install 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)
|
- name: Build qBittorrent (Qt5)
|
||||||
if: startsWith(matrix.qt_version, 5)
|
if: ${{ startsWith(matrix.qt_version, 5) }}
|
||||||
run: |
|
run: |
|
||||||
CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
|
CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
|
||||||
LDFLAGS="$LDFLAGS -gz" \
|
LDFLAGS="$LDFLAGS -gz" \
|
||||||
@@ -97,7 +85,7 @@ jobs:
|
|||||||
DESTDIR="qbittorrent" cmake --install build
|
DESTDIR="qbittorrent" cmake --install build
|
||||||
|
|
||||||
- name: Build qBittorrent (Qt6)
|
- name: Build qBittorrent (Qt6)
|
||||||
if: startsWith(matrix.qt_version, 6)
|
if: ${{ startsWith(matrix.qt_version, 6) }}
|
||||||
run: |
|
run: |
|
||||||
CXXFLAGS="$CXXFLAGS -Werror" \
|
CXXFLAGS="$CXXFLAGS -Werror" \
|
||||||
LDFLAGS="$LDFLAGS -gz" \
|
LDFLAGS="$LDFLAGS -gz" \
|
||||||
@@ -116,12 +104,6 @@ jobs:
|
|||||||
cmake --build build --target check
|
cmake --build build --target check
|
||||||
DESTDIR="qbittorrent" cmake --install build
|
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)
|
|
||||||
with:
|
|
||||||
category: ${{ github.base_ref || github.ref_name }}
|
|
||||||
|
|
||||||
- name: Prepare build artifacts
|
- name: Prepare build artifacts
|
||||||
run: |
|
run: |
|
||||||
mkdir upload
|
mkdir upload
|
||||||
|
12
.github/workflows/ci_webui.yaml
vendored
12
.github/workflows/ci_webui.yaml
vendored
@@ -2,8 +2,7 @@ name: CI - WebUI
|
|||||||
|
|
||||||
on: [pull_request, push]
|
on: [pull_request, push]
|
||||||
|
|
||||||
permissions:
|
permissions: {}
|
||||||
security-events: write
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||||
@@ -37,12 +36,3 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
npm run format
|
npm run format
|
||||||
git diff --exit-code
|
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
|
|
||||||
|
54
.github/workflows/ci_windows.yaml
vendored
54
.github/workflows/ci_windows.yaml
vendored
@@ -17,12 +17,11 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
libt_version: ["2.0.9", "1.2.19"]
|
libt_version: ["2.0.8", "1.2.18"]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
boost_path: "${{ github.workspace }}/../boost"
|
boost_path: "${{ github.workspace }}/../boost"
|
||||||
libtorrent_path: "${{ github.workspace }}/libtorrent"
|
libtorrent_path: "${{ github.workspace }}/libtorrent"
|
||||||
vpkg_triplet_path: "${{ github.workspace }}/../triplets_overlay"
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -43,36 +42,35 @@ jobs:
|
|||||||
vcpkgDirectory: C:/vcpkg
|
vcpkgDirectory: C:/vcpkg
|
||||||
doNotUpdateVcpkg: true # the preinstalled vcpkg is updated regularly
|
doNotUpdateVcpkg: true # the preinstalled vcpkg is updated regularly
|
||||||
|
|
||||||
- name: Install dependencies with vcpkg
|
- name: Install dependencies from vcpkg
|
||||||
run: |
|
run: |
|
||||||
# create our own triplet
|
# tell vcpkg to only build Release variants of the dependencies
|
||||||
New-Item `
|
New-Item `
|
||||||
-Force `
|
-Path "${{ github.workspace }}" `
|
||||||
-ItemType File `
|
-Name "triplets_overlay" `
|
||||||
-Path "${{ env.vpkg_triplet_path }}/x64-windows-static-md-release.cmake"
|
-ItemType Directory
|
||||||
# OpenSSL isn't compatible with `/guard:cf` flag so we omit it for now, see: https://github.com/openssl/openssl/issues/22554
|
Copy-Item `
|
||||||
|
"${{ env.RUNVCPKG_VCPKG_ROOT }}/triplets/x64-windows-static.cmake" `
|
||||||
|
"${{ github.workspace }}/triplets_overlay/x64-windows-static-release.cmake"
|
||||||
Add-Content `
|
Add-Content `
|
||||||
-Path "${{ env.vpkg_triplet_path }}/x64-windows-static-md-release.cmake" `
|
"${{ github.workspace }}/triplets_overlay/x64-windows-static-release.cmake" `
|
||||||
-Value @("set(VCPKG_TARGET_ARCHITECTURE x64)",
|
-Value "set(VCPKG_BUILD_TYPE release)"
|
||||||
"set(VCPKG_LIBRARY_LINKAGE static)",
|
|
||||||
"set(VCPKG_CRT_LINKAGE dynamic)",
|
|
||||||
"set(VCPKG_BUILD_TYPE release)")
|
|
||||||
# clear buildtrees after each package installation to reduce disk space requirements
|
# clear buildtrees after each package installation to reduce disk space requirements
|
||||||
$packages = `
|
$packages = `
|
||||||
"openssl:x64-windows-static-md-release",
|
"openssl:x64-windows-static-release",
|
||||||
"zlib:x64-windows-static-md-release"
|
"zlib:x64-windows-static-release"
|
||||||
${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe upgrade `
|
${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe upgrade `
|
||||||
--no-dry-run `
|
--overlay-triplets="${{ github.workspace }}/triplets_overlay" `
|
||||||
--overlay-triplets="${{ env.vpkg_triplet_path }}"
|
--no-dry-run
|
||||||
${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe install `
|
${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe install `
|
||||||
|
--overlay-triplets="${{ github.workspace }}/triplets_overlay" `
|
||||||
--clean-after-build `
|
--clean-after-build `
|
||||||
--overlay-triplets="${{ env.vpkg_triplet_path }}" `
|
|
||||||
$packages
|
$packages
|
||||||
|
|
||||||
- name: Install boost
|
- name: Install boost
|
||||||
run: |
|
run: |
|
||||||
aria2c `
|
aria2c `
|
||||||
"https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.7z" `
|
"https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.7z" `
|
||||||
-d "${{ runner.temp }}" `
|
-d "${{ runner.temp }}" `
|
||||||
-o "boost.7z"
|
-o "boost.7z"
|
||||||
7z x "${{ runner.temp }}/boost.7z" -o"${{ github.workspace }}/.."
|
7z x "${{ runner.temp }}/boost.7z" -o"${{ github.workspace }}/.."
|
||||||
@@ -81,9 +79,8 @@ jobs:
|
|||||||
- name: Install Qt
|
- name: Install Qt
|
||||||
uses: jurplel/install-qt-action@v3
|
uses: jurplel/install-qt-action@v3
|
||||||
with:
|
with:
|
||||||
version: "6.5.0"
|
version: "6.4.0"
|
||||||
archives: qtbase qtsvg qttools
|
archives: qtbase qtsvg qttools
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Install libtorrent
|
- name: Install libtorrent
|
||||||
run: |
|
run: |
|
||||||
@@ -93,38 +90,37 @@ jobs:
|
|||||||
--recurse-submodules `
|
--recurse-submodules `
|
||||||
https://github.com/arvidn/libtorrent.git
|
https://github.com/arvidn/libtorrent.git
|
||||||
cd libtorrent
|
cd libtorrent
|
||||||
$env:CXXFLAGS+=" /guard:cf"
|
|
||||||
$env:LDFLAGS+=" /guard:cf"
|
|
||||||
cmake `
|
cmake `
|
||||||
-B build `
|
-B build `
|
||||||
-G "Ninja" `
|
-G "Ninja" `
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
||||||
|
-DCMAKE_CXX_FLAGS=/guard:cf `
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON `
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON `
|
||||||
-DCMAKE_INSTALL_PREFIX="${{ env.libtorrent_path }}" `
|
-DCMAKE_INSTALL_PREFIX="${{ env.libtorrent_path }}" `
|
||||||
-DCMAKE_TOOLCHAIN_FILE="${{ env.RUNVCPKG_VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" `
|
-DCMAKE_TOOLCHAIN_FILE="${{ env.RUNVCPKG_VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" `
|
||||||
-DBOOST_ROOT="${{ env.boost_path }}" `
|
-DBOOST_ROOT="${{ env.boost_path }}" `
|
||||||
-DBUILD_SHARED_LIBS=OFF `
|
-DBUILD_SHARED_LIBS=OFF `
|
||||||
-Ddeprecated-functions=OFF `
|
-Ddeprecated-functions=OFF `
|
||||||
-Dstatic_runtime=OFF `
|
-Dstatic_runtime=ON `
|
||||||
-DVCPKG_TARGET_TRIPLET=x64-windows-static-md-release
|
-DVCPKG_TARGET_TRIPLET=x64-windows-static-release
|
||||||
cmake --build build
|
cmake --build build
|
||||||
cmake --install build
|
cmake --install build
|
||||||
|
|
||||||
- name: Build qBittorrent
|
- name: Build qBittorrent
|
||||||
run: |
|
run: |
|
||||||
$env:CXXFLAGS+=" /WX"
|
|
||||||
cmake `
|
cmake `
|
||||||
-B build `
|
-B build `
|
||||||
-G "Ninja" `
|
-G "Ninja" `
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
||||||
|
-DCMAKE_CXX_FLAGS="/WX" `
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON `
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON `
|
||||||
-DCMAKE_TOOLCHAIN_FILE="${{ env.RUNVCPKG_VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" `
|
-DCMAKE_TOOLCHAIN_FILE="${{ env.RUNVCPKG_VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" `
|
||||||
-DBOOST_ROOT="${{ env.boost_path }}" `
|
-DBOOST_ROOT="${{ env.boost_path }}" `
|
||||||
-DLibtorrentRasterbar_DIR="${{ env.libtorrent_path }}/lib/cmake/LibtorrentRasterbar" `
|
-DLibtorrentRasterbar_DIR="${{ env.libtorrent_path }}/lib/cmake/LibtorrentRasterbar" `
|
||||||
-DMSVC_RUNTIME_DYNAMIC=ON `
|
-DMSVC_RUNTIME_DYNAMIC=OFF `
|
||||||
-DQT6=ON `
|
-DQT6=ON `
|
||||||
-DTESTING=ON `
|
-DTESTING=ON `
|
||||||
-DVCPKG_TARGET_TRIPLET=x64-windows-static-md-release `
|
-DVCPKG_TARGET_TRIPLET=x64-windows-static-release `
|
||||||
-DVERBOSE_CONFIGURE=ON `
|
-DVERBOSE_CONFIGURE=ON `
|
||||||
--graphviz=build/target_graph.dot
|
--graphviz=build/target_graph.dot
|
||||||
cmake --build build --target qbt_update_translations
|
cmake --build build --target qbt_update_translations
|
||||||
@@ -156,8 +152,6 @@ jobs:
|
|||||||
copy "${{ env.Qt6_DIR }}/plugins/sqldrivers/qsqlite.dll" upload/plugins/sqldrivers
|
copy "${{ env.Qt6_DIR }}/plugins/sqldrivers/qsqlite.dll" upload/plugins/sqldrivers
|
||||||
mkdir upload/plugins/styles
|
mkdir upload/plugins/styles
|
||||||
copy "${{ env.Qt6_DIR }}/plugins/styles/qwindowsvistastyle.dll" 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
|
# cmake additionals
|
||||||
mkdir upload/cmake
|
mkdir upload/cmake
|
||||||
copy build/compile_commands.json upload/cmake
|
copy build/compile_commands.json upload/cmake
|
||||||
|
@@ -26,13 +26,13 @@ jobs:
|
|||||||
- name: Install Qt
|
- name: Install Qt
|
||||||
uses: jurplel/install-qt-action@v3
|
uses: jurplel/install-qt-action@v3
|
||||||
with:
|
with:
|
||||||
version: "6.5.0"
|
version: "6.4.0"
|
||||||
archives: icu qtbase qtsvg qttools
|
archives: icu qtbase qtsvg qttools
|
||||||
|
|
||||||
- name: Install libtorrent
|
- name: Install libtorrent
|
||||||
run: |
|
run: |
|
||||||
git clone \
|
git clone \
|
||||||
--branch "v2.0.9" \
|
--branch "v2.0.8" \
|
||||||
--depth 1 \
|
--depth 1 \
|
||||||
--recurse-submodules \
|
--recurse-submodules \
|
||||||
https://github.com/arvidn/libtorrent.git
|
https://github.com/arvidn/libtorrent.git
|
||||||
@@ -69,7 +69,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Submit the result to Coverity Scan
|
- name: Submit the result to Coverity Scan
|
||||||
run: |
|
run: |
|
||||||
tar -caf qbittorrent.xz cov-int
|
tar caf qbittorrent.xz cov-int
|
||||||
curl \
|
curl \
|
||||||
--form token="${{ secrets.COVERITY_SCAN_TOKEN }}" \
|
--form token="${{ secrets.COVERITY_SCAN_TOKEN }}" \
|
||||||
--form email=sledgehammer999@qbittorrent.org \
|
--form email=sledgehammer999@qbittorrent.org \
|
4
.github/workflows/helper/appimage/export_vars.sh
vendored
Executable file → Normal file
4
.github/workflows/helper/appimage/export_vars.sh
vendored
Executable file → Normal file
@@ -1,12 +1,10 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# this file is called from AppRun so 'root_dir' will point to where AppRun is
|
# this file is called from AppRun so 'root_dir' will point to where AppRun is
|
||||||
root_dir="$(readlink -f "$(dirname "$0")")"
|
root_dir="$(readlink -f "$(dirname "$0")")"
|
||||||
|
|
||||||
# Insert the default values because after the test we prepend our path
|
# 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 it will create problems with DEs (eg KDE) that don't set the variable
|
||||||
# and rely on the default paths
|
# and rely on the default paths
|
||||||
if [ -z "${XDG_DATA_DIRS}" ]; then
|
if [[ -z ${XDG_DATA_DIRS} ]]; then
|
||||||
XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
|
XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
14
.github/workflows/helper/codeql/cpp.yaml
vendored
14
.github/workflows/helper/codeql/cpp.yaml
vendored
@@ -1,14 +0,0 @@
|
|||||||
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
11
.github/workflows/helper/codeql/js.yaml
vendored
@@ -1,11 +0,0 @@
|
|||||||
name: "CodeQL config for Javascript"
|
|
||||||
|
|
||||||
paths-ignore:
|
|
||||||
- "**/lib/*"
|
|
||||||
|
|
||||||
queries:
|
|
||||||
- uses: security-and-quality
|
|
||||||
|
|
||||||
query-filters:
|
|
||||||
- exclude:
|
|
||||||
id: js/superfluous-trailing-arguments
|
|
18
.github/workflows/helper/pre-commit/.typos.toml
vendored
18
.github/workflows/helper/pre-commit/.typos.toml
vendored
@@ -1,18 +0,0 @@
|
|||||||
# https://github.com/crate-ci/typos/blob/master/docs/reference.md
|
|
||||||
# https://github.com/crate-ci/typos/blob/master/docs/design.md#identifiers-and-words
|
|
||||||
|
|
||||||
# try adding to `identifiers` list first, if doesn't work then `words` list
|
|
||||||
|
|
||||||
[default.extend-identifiers]
|
|
||||||
additionals = "additionals"
|
|
||||||
caf = "caf"
|
|
||||||
curren = "curren"
|
|
||||||
FO = "FO"
|
|
||||||
ket = "ket"
|
|
||||||
Q_INVOKABLE = "Q_INVOKABLE"
|
|
||||||
switchs = "switchs"
|
|
||||||
ths = "ths"
|
|
||||||
|
|
||||||
[default.extend-words]
|
|
||||||
BA = "BA"
|
|
||||||
helo = "helo"
|
|
2
.github/workflows/stale_bot.yaml
vendored
2
.github/workflows/stale_bot.yaml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Mark and close stale PRs
|
- name: Mark and close stale PRs
|
||||||
uses: actions/stale@v8
|
uses: actions/stale@v5
|
||||||
with:
|
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."
|
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."
|
close-pr-message: "This PR was closed because it has been stalled for some time with no activity."
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,3 @@
|
|||||||
.vscode/
|
|
||||||
src/gui/geoip/GeoIP.dat
|
src/gui/geoip/GeoIP.dat
|
||||||
src/gui/geoip/GeoIP.dat.gz
|
src/gui/geoip/GeoIP.dat.gz
|
||||||
src/qbittorrent
|
src/qbittorrent
|
||||||
|
@@ -3,7 +3,7 @@ repos:
|
|||||||
hooks:
|
hooks:
|
||||||
- id: check-translation-tag
|
- id: check-translation-tag
|
||||||
name: Check newline characters in <translation> tag
|
name: Check newline characters in <translation> tag
|
||||||
entry: .github/workflows/helper/pre-commit/check_translation_tag.py
|
entry: .github/workflows/check_translation_tag.py
|
||||||
language: script
|
language: script
|
||||||
exclude: |
|
exclude: |
|
||||||
(?x)^(
|
(?x)^(
|
||||||
@@ -13,7 +13,7 @@ repos:
|
|||||||
- ts
|
- ts
|
||||||
|
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks.git
|
- repo: https://github.com/pre-commit/pre-commit-hooks.git
|
||||||
rev: v4.4.0
|
rev: v4.3.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: check-json
|
- id: check-json
|
||||||
name: Check JSON files
|
name: Check JSON files
|
||||||
@@ -33,19 +33,17 @@ repos:
|
|||||||
args: ["--fix=lf"]
|
args: ["--fix=lf"]
|
||||||
exclude: |
|
exclude: |
|
||||||
(?x)^(
|
(?x)^(
|
||||||
src/webui/www/private/css/lib/.* |
|
compile_commands.json |
|
||||||
src/webui/www/private/scripts/lib/.* |
|
src/webui/www/private/scripts/lib/.*
|
||||||
test/testdata/crlf.txt
|
|
||||||
)$
|
)$
|
||||||
|
|
||||||
- id: end-of-file-fixer
|
- id: end-of-file-fixer
|
||||||
name: Check trailing newlines
|
name: Check trailing newlines
|
||||||
exclude: |
|
exclude: |
|
||||||
(?x)^(
|
(?x)^(
|
||||||
|
compile_commands.json |
|
||||||
configure |
|
configure |
|
||||||
src/webui/www/private/css/lib/.* |
|
src/webui/www/private/scripts/lib/.*
|
||||||
src/webui/www/private/scripts/lib/.* |
|
|
||||||
test/testdata/crlf.txt
|
|
||||||
)$
|
)$
|
||||||
exclude_types:
|
exclude_types:
|
||||||
- svg
|
- svg
|
||||||
@@ -55,54 +53,7 @@ repos:
|
|||||||
name: Check trailing whitespaces
|
name: Check trailing whitespaces
|
||||||
exclude: |
|
exclude: |
|
||||||
(?x)^(
|
(?x)^(
|
||||||
src/webui/www/private/css/lib/.* |
|
|
||||||
src/webui/www/private/scripts/lib/.*
|
src/webui/www/private/scripts/lib/.*
|
||||||
)$
|
)$
|
||||||
exclude_types:
|
exclude_types:
|
||||||
- ts
|
- ts
|
||||||
|
|
||||||
- repo: https://github.com/codespell-project/codespell
|
|
||||||
rev: v2.2.5
|
|
||||||
hooks:
|
|
||||||
- id: codespell
|
|
||||||
name: Check spelling (codespell)
|
|
||||||
args: ["--ignore-words-list", "additionals,curren,fo,ket,superseeding,te,ths"]
|
|
||||||
exclude: |
|
|
||||||
(?x)^(
|
|
||||||
.*\.desktop |
|
|
||||||
.*\.qrc |
|
|
||||||
build-aux/.* |
|
|
||||||
Changelog |
|
|
||||||
dist/windows/installer-translations/.* |
|
|
||||||
m4/.* |
|
|
||||||
src/base/3rdparty/.* |
|
|
||||||
src/searchengine/nova3/socks.py |
|
|
||||||
src/webui/www/private/scripts/lib/.*
|
|
||||||
)$
|
|
||||||
exclude_types:
|
|
||||||
- ts
|
|
||||||
|
|
||||||
- repo: https://github.com/crate-ci/typos
|
|
||||||
rev: v1.15.5
|
|
||||||
hooks:
|
|
||||||
- id: typos
|
|
||||||
name: Check spelling (typos)
|
|
||||||
args: ["--config", ".github/workflows/helper/pre-commit/.typos.toml"]
|
|
||||||
exclude: |
|
|
||||||
(?x)^(
|
|
||||||
.*\.asc |
|
|
||||||
.*\.desktop |
|
|
||||||
.*\.qrc |
|
|
||||||
\.pre-commit-config\.yaml |
|
|
||||||
build-aux/.* |
|
|
||||||
Changelog |
|
|
||||||
configure.* |
|
|
||||||
dist/windows/installer-translations/.* |
|
|
||||||
m4/.* |
|
|
||||||
src/base/3rdparty/.* |
|
|
||||||
src/searchengine/nova3/socks.py |
|
|
||||||
src/webui/www/private/scripts/lib/.*
|
|
||||||
)$
|
|
||||||
exclude_types:
|
|
||||||
- svg
|
|
||||||
- ts
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
[main]
|
[main]
|
||||||
host = https://www.transifex.com
|
host = https://www.transifex.com
|
||||||
|
|
||||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_v46x]
|
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_v45x]
|
||||||
file_filter = src/lang/qbittorrent_<lang>.ts
|
file_filter = src/lang/qbittorrent_<lang>.ts
|
||||||
source_file = src/lang/qbittorrent_en.ts
|
source_file = src/lang/qbittorrent_en.ts
|
||||||
source_lang = en
|
source_lang = en
|
||||||
@@ -9,7 +9,7 @@ type = QT
|
|||||||
minimum_perc = 23
|
minimum_perc = 23
|
||||||
lang_map = pt: pt_PT, zh: zh_CN
|
lang_map = pt: pt_PT, zh: zh_CN
|
||||||
|
|
||||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_webui_v46x]
|
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_webui_v45x]
|
||||||
file_filter = src/webui/www/translations/webui_<lang>.ts
|
file_filter = src/webui/www/translations/webui_<lang>.ts
|
||||||
source_file = src/webui/www/translations/webui_en.ts
|
source_file = src/webui/www/translations/webui_en.ts
|
||||||
source_lang = en
|
source_lang = en
|
||||||
|
6
AUTHORS
6
AUTHORS
@@ -29,17 +29,13 @@ Code from other projects:
|
|||||||
copyright: Dan Haim <negativeiq@users.sourceforge.net>
|
copyright: Dan Haim <negativeiq@users.sourceforge.net>
|
||||||
license: BSD
|
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:
|
Images Authors:
|
||||||
* files: src/icons/qbittorrent-tray.svg
|
* 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)
|
copyright: Provided by HVS <hvs linuxmail org> (raster first proposal) and Atif Afzal(@atfzl github) <atif5801@gmail.com> (vectorized and modified)
|
||||||
license: GPLv2+
|
license: GPLv2+
|
||||||
|
|
||||||
* files: src/qbittorrent_file.ico src/icons/fileicon.svg
|
* files: src/qbittorrent_file.ico src/icons/fileicon.svg
|
||||||
copyright: 'unknown.svg' (LGPLv3+) from Oxygen Icon Theme was used as base which was slightly modified and 'qbittorrent-tray.svg' (GPLv2+) was overlaid above it.
|
copyright: 'uknown.svg' (LGPLv3+) from Oxygen Icon Theme was used as base which was slightly modified and 'qbittorrent-tray.svg' (GPLv2+) was overlayed above it.
|
||||||
license: GPLv3+
|
license: GPLv3+
|
||||||
|
|
||||||
* files: src/icons/flags/*.svg
|
* files: src/icons/flags/*.svg
|
||||||
|
@@ -11,8 +11,8 @@ set(minBoostVersion 1.71)
|
|||||||
set(minQt5Version 5.15.2)
|
set(minQt5Version 5.15.2)
|
||||||
set(minQt6Version 6.2)
|
set(minQt6Version 6.2)
|
||||||
set(minOpenSSLVersion 1.1.1)
|
set(minOpenSSLVersion 1.1.1)
|
||||||
set(minLibtorrent1Version 1.2.19)
|
set(minLibtorrent1Version 1.2.18)
|
||||||
set(minLibtorrentVersion 2.0.9)
|
set(minLibtorrentVersion 2.0.8)
|
||||||
set(minZlibVersion 1.2.11)
|
set(minZlibVersion 1.2.11)
|
||||||
|
|
||||||
include(CheckCXXSourceCompiles) # TODO: migrate to CheckSourceCompiles in CMake >= 3.19
|
include(CheckCXXSourceCompiles) # TODO: migrate to CheckSourceCompiles in CMake >= 3.19
|
||||||
@@ -30,21 +30,16 @@ feature_option(STACKTRACE "Enable stacktrace support" ON)
|
|||||||
feature_option(TESTING "Build internal testing suite" OFF)
|
feature_option(TESTING "Build internal testing suite" OFF)
|
||||||
feature_option(VERBOSE_CONFIGURE "Show information about PACKAGES_FOUND and PACKAGES_NOT_FOUND in the configure output (only useful for debugging the CMake build scripts)" OFF)
|
feature_option(VERBOSE_CONFIGURE "Show information about PACKAGES_FOUND and PACKAGES_NOT_FOUND in the configure output (only useful for debugging the CMake build scripts)" OFF)
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
feature_option_dependent(DBUS
|
feature_option_dependent(DBUS
|
||||||
"Enable support for notifications and power-management features via D-Bus"
|
"Enable support for notifications and power-management features via D-Bus on Linux"
|
||||||
ON "GUI" OFF
|
ON "GUI" OFF
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
feature_option_dependent(SYSTEMD
|
feature_option_dependent(SYSTEMD
|
||||||
"Install systemd service file. Target directory is overridable with `SYSTEMD_SERVICES_INSTALL_DIR` variable"
|
"Install systemd service file. Target directory is overridable with `SYSTEMD_SERVICES_INSTALL_DIR` variable"
|
||||||
OFF "NOT GUI" OFF
|
OFF "NOT GUI" OFF
|
||||||
)
|
)
|
||||||
endif()
|
elseif (MSVC)
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
feature_option(MSVC_RUNTIME_DYNAMIC "Use MSVC dynamic runtime library (-MD) instead of static (-MT)" ON)
|
feature_option(MSVC_RUNTIME_DYNAMIC "Use MSVC dynamic runtime library (-MD) instead of static (-MT)" ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -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-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
|
[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
|
[commit-message-fix-issue-example-url]: https://github.com/qbittorrent/qBittorrent/commit/c07cd440cd46345297debb47cb260f8688975f50
|
||||||
[forum-url]: https://forum.qbittorrent.org/
|
[forum-url]: http://forum.qbittorrent.org/
|
||||||
[howto-report-bugs-url]: https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
[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
|
[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
|
[merging-vs-rebasing-url]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
|
||||||
|
183
Changelog
183
Changelog
@@ -1,135 +1,60 @@
|
|||||||
Sun Aug 18th 2024 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.6
|
Sun May 28 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.3
|
||||||
- BUGFIX: Fix handling of tags containing '&' character (glassez)
|
- BUGFIX: Correctly check if database needs to be updated (glassez)
|
||||||
- BUGFIX: Show scroll bar in Torrent Tags dialog (glassez)
|
- BUGFIX: Prevent incorrect log message about torrent content deletion (glassez)
|
||||||
- BUGFIX: Apply bulk changes to correct content widget items (glassez)
|
- BUGFIX: Improve finished torrent handling (glassez)
|
||||||
- BUGFIX: Hide zero status filters when torrents are removed (glassez)
|
- BUGFIX: Correctly initialize group box children as disabled in Preferences (thalieht)
|
||||||
- BUGFIX: Fix `Incomplete Save Path` cannot be changed for torrents without metadata (glassez)
|
- BUGFIX: Don't miss saving "download path" in SQLite storage (glassez)
|
||||||
- WEBUI: Correctly apply changed "save path" of RSS rules (glassez)
|
- BUGFIX: Improve logging of running external program (glassez)
|
||||||
- WEBUI: Clear tracker list on full update (skomerko)
|
- WEBUI: Disable UPnP for web UI by default (glassez)
|
||||||
- OTHER: Update User-Agent string for internal downloader and search engines (cayenne17)
|
- WEBUI: Use workaround for IOS file picker (DivineHawk)
|
||||||
|
- WEBUI: Work around Chrome download limit (Chocobo1)
|
||||||
|
- WEBUI: Improve 'exporting torrent' behavior (Chocobo1)
|
||||||
|
- WINDOWS: NSIS: Add Slovak translation (Christian Danížek)
|
||||||
|
|
||||||
Sun May 26th 2024 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.5
|
Tue Feb 28 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.2
|
||||||
- BUGFIX: Prevent app from being closed when disabling system tray icon (glassez)
|
- BUGFIX: Don't unexpectedly activate queued torrents when prefetching metadata for added magnets (glassez)
|
||||||
- BUGFIX: Fix <kbd>Enter</kbd> key behavior in Add new torrent dialog (glassez)
|
- BUGFIX: Update the cached torrent state once recheck is started (glassez)
|
||||||
- BUGFIX: Prevent invalid status filter index from being used (glassez)
|
- BUGFIX: Be more likely to allow the system to use power saving modes (glassez)
|
||||||
- BUGFIX: Add extra offset for dialog frame (glassez)
|
- WEBUI: Migrate away from unsafe function (Chocobo1)
|
||||||
- BUGFIX: Don't overwrite stored layout of main window with incorrect one (glassez)
|
- WEBUI: Blacklist bad ciphers for TLS in the server (sledgehammer999)
|
||||||
- BUGFIX: Don't forget to resume "missing files" torrent when rechecking (glassez)
|
- WEBUI: Allow only TLS 1.2+ in the server (sledgehammer999)
|
||||||
- WEBUI: Restore ability to use server-side translation by custom WebUI (glassez)
|
- WEBUI: Allow to set read-only directory as torrent location (glassez)
|
||||||
- WEBUI: Fix wrong peer number (Chocobo1)
|
- WEBUI: Reject requests that contain backslash in path (glassez)
|
||||||
- LINUX: Improve AppStream metadata (Chocobo1)
|
- RSS: Prevent RSS folder from being moved into itself (glassez)
|
||||||
|
- WINDOWS: NSIS: Update Turkish, Uzbek translation (Burak Yavuz, shitcod3r)
|
||||||
|
|
||||||
Sun Mar 24th 2024 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.4
|
Sun Feb 12 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.1
|
||||||
- BUGFIX: Correctly adjust "Add New torrent" dialog position in all the cases (glassez)
|
- FEATURE: Re-allow to use icons from system theme (glassez)
|
||||||
- BUGFIX: Change "metadata received" stop condition behavior (glassez)
|
- BUGFIX: Fix Speed limit icon size (Nowshed H. Imran)
|
||||||
- BUGFIX: Add a small delay before processing the key input of search boxes (Chocobo1)
|
- BUGFIX: Revise and fix some text colors (Chocobo1, Nowshed H. Imran)
|
||||||
- BUGFIX: Ensure the profile path is pointing to a directory (Chocobo1)
|
- BUGFIX: Correctly load folder based UI theme (glassez)
|
||||||
- RSS: Use better icons for RSS articles (glassez)
|
- BUGFIX: Fix crash due to invalid encoding of tracker URLs (glassez)
|
||||||
- WINDOWS: NSIS: Update French, Hungarian translations (MarcDrieu, foxi69)
|
- BUGFIX: Don't drop !qB extension when renaming incomplete file (glassez)
|
||||||
- LINUX: Fix sorting when ICU isn't used (Chocobo1)
|
- BUGFIX: Correctly count the number of torrents in subcategories (glassez)
|
||||||
- LINUX: Fix invisible tray icon on Plasma 6 (tehcneko)
|
- BUGFIX: Use "additional trackers" when metadata retrieving (glassez)
|
||||||
|
- BUGFIX: Apply correct tab order to Category options dialog (glassez)
|
||||||
|
- BUGFIX: Add all torrents passed via the command line (glassez)
|
||||||
|
- BUGFIX: Fix startup performance on Qt5 (glassez)
|
||||||
|
- BUGFIX: Automatic move will now overwrite existing files (aka previous behavior) (glassez)
|
||||||
|
- BUGFIX: Some fixes for loading Chinese locales (sledgehammer999)
|
||||||
|
- BUGFIX: New Pause icon color for toolbar/menu (Nowshed H. Imran, sledgehammer999)
|
||||||
|
- BUGFIX: Adjust env variable for PDB discovery (sledgehammer999)
|
||||||
|
- WEBUI: Fix missing "queued" icon (thalieht)
|
||||||
|
- WEBUI: Return paths using platform-independent separator format (glassez)
|
||||||
|
- WEBUI: Change order of accepted types of file input (Jason Carr)
|
||||||
|
- WEBUI: Add missing icons (brvphoenix)
|
||||||
|
- WEBUI: Add "Resume data storage type" option (thalieht)
|
||||||
|
- WEBUI: Make rename file dialog resizable (Torsten Schwarz)
|
||||||
|
- WEBUI: Prevent incorrect line breaking (David Xuang)
|
||||||
|
- WEBUI: Improve hotkeys (Fidel Selva)
|
||||||
|
- WEBUI: Remove suggestions while searching for torrents (Midhun V Nadh)
|
||||||
|
- WEBUI: Expose "IS PRIVATE" flag (sotiris-bos)
|
||||||
|
- WEBUI: Return name/hash/infohash_v1/infohash_v2 torrent properties (qbittorrentfan)
|
||||||
|
- WINDOWS: Correctly detect drive letter in path (glassez)
|
||||||
|
- WINDOWS: NSIS: Update Swedish, Lithuanian translations (Jonatan, Deividas)
|
||||||
|
- LINUX: Fix tray icon issues (glassez)
|
||||||
|
|
||||||
Mon Jan 15th 2024 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.3
|
Sat Nov 26 2022 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.0
|
||||||
- BUGFIX: Correctly update number of filtered items (glassez)
|
|
||||||
- BUGFIX: Don't forget to store Stop condition value (glassez)
|
|
||||||
- BUGFIX: Show correctly decoded filename in log (glassez)
|
|
||||||
- BUGFIX: Specify a locale if none is set (Chocobo1)
|
|
||||||
- BUGFIX: Apply inactive seeding time limit set on new torrents (glassez)
|
|
||||||
- BUGFIX: Show URL seeds for torrents that have no metadata (glassez)
|
|
||||||
- BUGFIX: Don't get stuck loading on mismatched info-hashes in resume data (glassez)
|
|
||||||
|
|
||||||
Mon Nov 27th 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.2
|
|
||||||
- BUGFIX: Do not apply share limit if the previous one was applied (glassez)
|
|
||||||
- BUGFIX: Show Add new torrent dialog on main window screen (glassez)
|
|
||||||
- WEBUI: Fix JS memory leak (brvphoenix)
|
|
||||||
- WEBUI: Disable stdout buffering for qbt-nox (Chocobo1)
|
|
||||||
- WINDOWS: NSIS: Display correct Minimum Windows OS requirement (xavier2k6)
|
|
||||||
- WINDOWS: NSIS: Add Hebrew translation (avivmu)
|
|
||||||
- LINUX: WAYLAND: Fix parent widget of "Lock qBittorrent" submenu (Vlad Zahorodnii)
|
|
||||||
|
|
||||||
Mon Nov 20th 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.1
|
|
||||||
- FEATURE: Add option to enable previous Add new torrent dialog behavior (glassez)
|
|
||||||
- BUGFIX: Prevent crash due to race condition when adding magnet link (glassez)
|
|
||||||
- BUGFIX: Fix Enter key behavior when add new torrent (glassez)
|
|
||||||
- BUGFIX: Add missing main window icon (iomezk)
|
|
||||||
- BUGFIX: Update size of selected files when selection is changed (glassez)
|
|
||||||
- BUGFIX: Correctly handle changing save path of torrent w/o metadata (glassez)
|
|
||||||
- BUGFIX: Use appropriate icon for "moving" torrents in transfer list (xavier2k6)
|
|
||||||
- WEBUI: Drop WebUI default credentials (glassez)
|
|
||||||
- WEBUI: Add I2P settings to WebUI (thalieht)
|
|
||||||
- WEBUI: Fix duplicate scrollbar on Transfer List (AgentConDier)
|
|
||||||
- WEBUI: Fix .torrent file upload on iPadOS (Vitaly Cheptsov)
|
|
||||||
- WEBUI: Fix incorrect subcategory sorting (Bartu Özen)
|
|
||||||
- WEBUI: Correctly set save path in RSS rules (glassez)
|
|
||||||
- WEBUI: Allow to request torrents count via WebAPI (glassez)
|
|
||||||
- WEBUI: Improve performance of getting torrent numbers via WebAPI (Chocobo1)
|
|
||||||
- WEBUI: Improve free disk space checking for WebAPI (glassez)
|
|
||||||
- WINDOWS: NSIS: Fixed typo in the installer's hungarian translation (MartinKing01)
|
|
||||||
- LINUX: Fix invisible tray icon with Qt5 in Linux (thalieht)
|
|
||||||
- MACOS: Remove "Physical memory (RAM) usage limit" option (Chocobo1)
|
|
||||||
|
|
||||||
Sun Oct 22nd 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.0
|
|
||||||
- FEATURE: Add (experimental) I2P support (glassez)
|
|
||||||
- FEATURE: Provide UI editor for the default theme (glassez)
|
|
||||||
- FEATURE: Various UI theming improvements (glassez)
|
|
||||||
- FEATURE: Implement torrent tags editing dialog (glassez)
|
|
||||||
- FEATURE: Revamp "Watched folder options" and "Automated RSS downloader" dialog (glassez)
|
|
||||||
- FEATURE: Allow to use another icons in dark mode (glassez)
|
|
||||||
- FEATURE: Allow to add new torrents to queue top (glassez)
|
|
||||||
- FEATURE: Allow to filter torrent list by save path (Tom)
|
|
||||||
- FEATURE: Expose 'socket send/receive buffer size' options (Chocobo1)
|
|
||||||
- FEATURE: Expose 'max torrent file size' setting (Chocobo1)
|
|
||||||
- FEATURE: Expose 'bdecode limits' settings (Chocobo1)
|
|
||||||
- FEATURE: Add options to adjust behavior of merging trackers to existing torrent (glassez)
|
|
||||||
- FEATURE: Add option to stop seeding when torrent has been inactive (Christopher)
|
|
||||||
- FEATURE: Allow to use proxy per subsystem (glassez)
|
|
||||||
- FEATURE: Expand the scope of "Proxy hostname lookup" option (glassez)
|
|
||||||
- FEATURE: Add shortcut for "Ban peer permanently" function (Luka Čelebić)
|
|
||||||
- FEATURE: Add option to auto hide zero status filters (glassez)
|
|
||||||
- FEATURE: Allow to disable confirmation of Pause/Resume All (glassez)
|
|
||||||
- FEATURE: Add alternative shortcut CTRL+E for CTRL+F (Luka Čelebić)
|
|
||||||
- FEATURE: Show filtered port numbers in logs (Hanabishi)
|
|
||||||
- FEATURE: Add button to copy library versions to clipboard (Chocobo1)
|
|
||||||
- BUGFIX: Ensure ongoing storage moving job will be completed when shutting down (Chocobo1)
|
|
||||||
- BUGFIX: Refactored many areas to call non UI blocking code (glassez)
|
|
||||||
- BUGFIX: Various improvements to the SQLite backend (glassez)
|
|
||||||
- BUGFIX: Improve startup window state handling (glassez)
|
|
||||||
- BUGFIX: Use tray icon from system theme only if option is set (glassez)
|
|
||||||
- BUGFIX: Inhibit system sleep while torrents are moving (Sentox6)
|
|
||||||
- BUGFIX: Use hostname instead of domain name in tracker filter list (tearfur)
|
|
||||||
- BUGFIX: Visually validate input path in torrent creator dialog (Chocobo1)
|
|
||||||
- BUGFIX: Disable symlink resolving in Torrent creator (Ignat Loskutov)
|
|
||||||
- BUGFIX: Change default value for `file pool size` and `stop tracker timeout` settings (stalkerok)
|
|
||||||
- BUGFIX: Log when duplicate torrents are being added (glassez)
|
|
||||||
- BUGFIX: Inhibit suspend instead of screen idle (axet)
|
|
||||||
- BUGFIX: Ensure file name is valid when exporting torrents (glassez)
|
|
||||||
- BUGFIX: Open "Save path" if torrent has no metadata (Xu Chao)
|
|
||||||
- BUGFIX: Prevent torrent starting unexpectedly edge case with magnet (Xu Chao)
|
|
||||||
- BUGFIX: Better ergonomics of the "Add new torrent" dialog (Xu Chao, glassez)
|
|
||||||
- WEBUI: Add log viewer (brvphoenix)
|
|
||||||
- WEBUI: WebAPI: Allow to specify session cookie name (glassez)
|
|
||||||
- WEBUI: Improve sync API performance (glassez)
|
|
||||||
- WEBUI: Add filelog settings (brvphoenix)
|
|
||||||
- WEBUI: Add multi-file renaming (loligans)
|
|
||||||
- WEBUI: Add "Add to top of queue" option (thalieht)
|
|
||||||
- WEBUI: Implement subcategories (Bartu Özen)
|
|
||||||
- WEBUI: Set "SameSite=None" if CSRF Protection is disabled (七海千秋)
|
|
||||||
- WEBUI: Show only hosts in tracker filter list (ttys3)
|
|
||||||
- WEBUI: Set Connection status and Speed limits tooltips (Raymond Ha)
|
|
||||||
- WEBUI: set Cross Origin Opener Policy to `same-origin` (Chocobo1)
|
|
||||||
- WEBUI: Fix response for HTTP HEAD method (Chocobo1)
|
|
||||||
- WEBUI: Preserve the network interfaces when connection is down (Fabricio Silva)
|
|
||||||
- WEBUI: Add "Add Tags" field for RSS rules (Matic Babnik)
|
|
||||||
- WEBUI: Fix missing error icon (Trim21)
|
|
||||||
- RSS: Add "Rename rule" button to RSS Downloader (BallsOfSpaghetti)
|
|
||||||
- RSS: Allow to edit RSS feed URL (glassez)
|
|
||||||
- RSS: Allow to assign priority to RSS download rule (glassez)
|
|
||||||
- SEARCH: Use python isolate mode (Chocobo1)
|
|
||||||
- SEARCH: Bump python version minimum requirement to 3.7.0 (Chocobo1)
|
|
||||||
- OTHER: Enable DBUS cmake option on FreeBSD (yuri@FreeBSD)
|
|
||||||
- OTHER: Numerous code improvements and refactorings (glassez, Chocobo1)
|
|
||||||
|
|
||||||
Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.0
|
|
||||||
- FEATURE: Add `Auto resize columns` functionality (Chocobo1)
|
- FEATURE: Add `Auto resize columns` functionality (Chocobo1)
|
||||||
- FEATURE: Allow to use Category paths in `Manual` mode (glassez)
|
- FEATURE: Allow to use Category paths in `Manual` mode (glassez)
|
||||||
- FEATURE: Allow to disable Automatic mode when default "temp" path changed (glassez)
|
- FEATURE: Allow to disable Automatic mode when default "temp" path changed (glassez)
|
||||||
|
6
INSTALL
6
INSTALL
@@ -5,7 +5,7 @@ qBittorrent - A BitTorrent client in C++ / Qt
|
|||||||
|
|
||||||
- Boost >= 1.71
|
- Boost >= 1.71
|
||||||
|
|
||||||
- libtorrent-rasterbar 1.2.19 - 1.2.x || 2.0.9 - 2.0.x
|
- libtorrent-rasterbar 1.2.18 - 1.2.x || 2.0.8 - 2.0.x
|
||||||
* By Arvid Norberg, https://www.libtorrent.org/
|
* By Arvid Norberg, https://www.libtorrent.org/
|
||||||
* Be careful: another library (the one used by rTorrent) uses a similar name
|
* Be careful: another library (the one used by rTorrent) uses a similar name
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ qBittorrent - A BitTorrent client in C++ / Qt
|
|||||||
- pkg-config *
|
- pkg-config *
|
||||||
* Compile-time only on *nix systems
|
* Compile-time only on *nix systems
|
||||||
|
|
||||||
- Python >= 3.7.0
|
- Python >= 3.5.0
|
||||||
* Optional, run-time only
|
* Optional, run-time only
|
||||||
* Used by the bundled search engine
|
* 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.
|
will install and execute qBittorrent.
|
||||||
|
|
||||||
DOCUMENTATION:
|
DOCUMENTATION:
|
||||||
Please note that there is a "Compilation" section at https://wiki.qbittorrent.org.
|
Please note that there is a "Compilation" section at http://wiki.qbittorrent.org.
|
||||||
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
sledgehammer999 <sledgehammer999@qbittorrent.org>
|
sledgehammer999 <sledgehammer999@qbittorrent.org>
|
||||||
|
@@ -37,13 +37,13 @@ For more information please visit:
|
|||||||
https://www.qbittorrent.org
|
https://www.qbittorrent.org
|
||||||
|
|
||||||
or our wiki here:
|
or our wiki here:
|
||||||
https://wiki.qbittorrent.org
|
http://wiki.qbittorrent.org
|
||||||
|
|
||||||
Use the forum for troubleshooting before reporting bugs:
|
Use the forum for troubleshooting before reporting bugs:
|
||||||
https://forum.qbittorrent.org
|
http://forum.qbittorrent.org
|
||||||
|
|
||||||
Please report any bug (or feature request) to:
|
Please report any bug (or feature request) to:
|
||||||
https://bugs.qbittorrent.org
|
http://bugs.qbittorrent.org
|
||||||
|
|
||||||
Official IRC channel:
|
Official IRC channel:
|
||||||
[#qbittorrent on irc.libera.chat](ircs://irc.libera.chat:6697/qbittorrent)
|
[#qbittorrent on irc.libera.chat](ircs://irc.libera.chat:6697/qbittorrent)
|
||||||
|
@@ -101,10 +101,6 @@ if (MSVC)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (DBUS)
|
|
||||||
target_compile_definitions(qbt_common_cfg INTERFACE QBT_USES_DBUS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (LibtorrentRasterbar_VERSION VERSION_GREATER_EQUAL ${minLibtorrentVersion})
|
if (LibtorrentRasterbar_VERSION VERSION_GREATER_EQUAL ${minLibtorrentVersion})
|
||||||
target_compile_definitions(qbt_common_cfg INTERFACE QBT_USES_LIBTORRENT2)
|
target_compile_definitions(qbt_common_cfg INTERFACE QBT_USES_LIBTORRENT2)
|
||||||
endif()
|
endif()
|
||||||
|
86
configure
vendored
86
configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.71 for qbittorrent v4.6.6.
|
# Generated by GNU Autoconf 2.71 for qbittorrent v4.5.3.
|
||||||
#
|
#
|
||||||
# Report bugs to <bugs.qbittorrent.org>.
|
# Report bugs to <bugs.qbittorrent.org>.
|
||||||
#
|
#
|
||||||
@@ -611,8 +611,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='qbittorrent'
|
PACKAGE_NAME='qbittorrent'
|
||||||
PACKAGE_TARNAME='qbittorrent'
|
PACKAGE_TARNAME='qbittorrent'
|
||||||
PACKAGE_VERSION='v4.6.6'
|
PACKAGE_VERSION='v4.5.3'
|
||||||
PACKAGE_STRING='qbittorrent v4.6.6'
|
PACKAGE_STRING='qbittorrent v4.5.3'
|
||||||
PACKAGE_BUGREPORT='bugs.qbittorrent.org'
|
PACKAGE_BUGREPORT='bugs.qbittorrent.org'
|
||||||
PACKAGE_URL='https://www.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.
|
# 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.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures qbittorrent v4.6.6 to adapt to many kinds of systems.
|
\`configure' configures qbittorrent v4.5.3 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1400,7 +1400,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of qbittorrent v4.6.6:";;
|
short | recursive ) echo "Configuration of qbittorrent v4.5.3:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1533,7 +1533,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
qbittorrent configure v4.6.6
|
qbittorrent configure v4.5.3
|
||||||
generated by GNU Autoconf 2.71
|
generated by GNU Autoconf 2.71
|
||||||
|
|
||||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||||
@@ -1648,7 +1648,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by qbittorrent $as_me v4.6.6, which was
|
It was created by qbittorrent $as_me v4.5.3, which was
|
||||||
generated by GNU Autoconf 2.71. Invocation command line was
|
generated by GNU Autoconf 2.71. Invocation command line was
|
||||||
|
|
||||||
$ $0$ac_configure_args_raw
|
$ $0$ac_configure_args_raw
|
||||||
@@ -4779,7 +4779,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='qbittorrent'
|
PACKAGE='qbittorrent'
|
||||||
VERSION='v4.6.6'
|
VERSION='v4.5.3'
|
||||||
|
|
||||||
|
|
||||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
||||||
@@ -5649,7 +5649,7 @@ fi
|
|||||||
then :
|
then :
|
||||||
as_fn_error $? "Could not find QtDBus" "$LINENO" 5
|
as_fn_error $? "Could not find QtDBus" "$LINENO" 5
|
||||||
else $as_nop
|
else $as_nop
|
||||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_DBUS"
|
QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus"
|
||||||
|
|
||||||
fi ;; #(
|
fi ;; #(
|
||||||
"xno") :
|
"xno") :
|
||||||
@@ -6024,19 +6024,19 @@ LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"
|
|||||||
|
|
||||||
|
|
||||||
pkg_failed=no
|
pkg_failed=no
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 2.0.9" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 2.0.8" >&5
|
||||||
printf %s "checking for libtorrent-rasterbar >= 2.0.9... " >&6; }
|
printf %s "checking for libtorrent-rasterbar >= 2.0.8... " >&6; }
|
||||||
|
|
||||||
if test -n "$libtorrent_CFLAGS"; then
|
if test -n "$libtorrent_CFLAGS"; then
|
||||||
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
||||||
elif test -n "$PKG_CONFIG"; then
|
elif test -n "$PKG_CONFIG"; then
|
||||||
if test -n "$PKG_CONFIG" && \
|
if test -n "$PKG_CONFIG" && \
|
||||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.9\""; } >&5
|
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.8\""; } >&5
|
||||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.9") 2>&5
|
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.8") 2>&5
|
||||||
ac_status=$?
|
ac_status=$?
|
||||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
test $ac_status = 0; }; then
|
test $ac_status = 0; }; then
|
||||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 2.0.9" 2>/dev/null`
|
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 2.0.8" 2>/dev/null`
|
||||||
test "x$?" != "x0" && pkg_failed=yes
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
else
|
else
|
||||||
pkg_failed=yes
|
pkg_failed=yes
|
||||||
@@ -6048,12 +6048,12 @@ if test -n "$libtorrent_LIBS"; then
|
|||||||
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
||||||
elif test -n "$PKG_CONFIG"; then
|
elif test -n "$PKG_CONFIG"; then
|
||||||
if test -n "$PKG_CONFIG" && \
|
if test -n "$PKG_CONFIG" && \
|
||||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.9\""; } >&5
|
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 2.0.8\""; } >&5
|
||||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.9") 2>&5
|
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 2.0.8") 2>&5
|
||||||
ac_status=$?
|
ac_status=$?
|
||||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
test $ac_status = 0; }; then
|
test $ac_status = 0; }; then
|
||||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 2.0.9" 2>/dev/null`
|
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 2.0.8" 2>/dev/null`
|
||||||
test "x$?" != "x0" && pkg_failed=yes
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
else
|
else
|
||||||
pkg_failed=yes
|
pkg_failed=yes
|
||||||
@@ -6074,28 +6074,28 @@ else
|
|||||||
_pkg_short_errors_supported=no
|
_pkg_short_errors_supported=no
|
||||||
fi
|
fi
|
||||||
if test $_pkg_short_errors_supported = yes; then
|
if test $_pkg_short_errors_supported = yes; then
|
||||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.9" 2>&1`
|
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.8" 2>&1`
|
||||||
else
|
else
|
||||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.9" 2>&1`
|
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 2.0.8" 2>&1`
|
||||||
fi
|
fi
|
||||||
# Put the nasty error message in config.log where it belongs
|
# Put the nasty error message in config.log where it belongs
|
||||||
echo "$libtorrent_PKG_ERRORS" >&5
|
echo "$libtorrent_PKG_ERRORS" >&5
|
||||||
|
|
||||||
|
|
||||||
pkg_failed=no
|
pkg_failed=no
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" >&5
|
||||||
printf %s "checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2... " >&6; }
|
printf %s "checking for libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2... " >&6; }
|
||||||
|
|
||||||
if test -n "$libtorrent_CFLAGS"; then
|
if test -n "$libtorrent_CFLAGS"; then
|
||||||
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
||||||
elif test -n "$PKG_CONFIG"; then
|
elif test -n "$PKG_CONFIG"; then
|
||||||
if test -n "$PKG_CONFIG" && \
|
if test -n "$PKG_CONFIG" && \
|
||||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2\""; } >&5
|
||||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2") 2>&5
|
||||||
ac_status=$?
|
ac_status=$?
|
||||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
test $ac_status = 0; }; then
|
test $ac_status = 0; }; then
|
||||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||||
test "x$?" != "x0" && pkg_failed=yes
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
else
|
else
|
||||||
pkg_failed=yes
|
pkg_failed=yes
|
||||||
@@ -6107,12 +6107,12 @@ if test -n "$libtorrent_LIBS"; then
|
|||||||
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
||||||
elif test -n "$PKG_CONFIG"; then
|
elif test -n "$PKG_CONFIG"; then
|
||||||
if test -n "$PKG_CONFIG" && \
|
if test -n "$PKG_CONFIG" && \
|
||||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2\""; } >&5
|
||||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2") 2>&5
|
||||||
ac_status=$?
|
ac_status=$?
|
||||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
test $ac_status = 0; }; then
|
test $ac_status = 0; }; then
|
||||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||||
test "x$?" != "x0" && pkg_failed=yes
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
else
|
else
|
||||||
pkg_failed=yes
|
pkg_failed=yes
|
||||||
@@ -6133,14 +6133,14 @@ else
|
|||||||
_pkg_short_errors_supported=no
|
_pkg_short_errors_supported=no
|
||||||
fi
|
fi
|
||||||
if test $_pkg_short_errors_supported = yes; then
|
if test $_pkg_short_errors_supported = yes; then
|
||||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>&1`
|
||||||
else
|
else
|
||||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>&1`
|
||||||
fi
|
fi
|
||||||
# Put the nasty error message in config.log where it belongs
|
# Put the nasty error message in config.log where it belongs
|
||||||
echo "$libtorrent_PKG_ERRORS" >&5
|
echo "$libtorrent_PKG_ERRORS" >&5
|
||||||
|
|
||||||
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2) were not met:
|
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2) were not met:
|
||||||
|
|
||||||
$libtorrent_PKG_ERRORS
|
$libtorrent_PKG_ERRORS
|
||||||
|
|
||||||
@@ -6177,19 +6177,19 @@ elif test $pkg_failed = untried; then
|
|||||||
printf "%s\n" "no" >&6; }
|
printf "%s\n" "no" >&6; }
|
||||||
|
|
||||||
pkg_failed=no
|
pkg_failed=no
|
||||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" >&5
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" >&5
|
||||||
printf %s "checking for libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2... " >&6; }
|
printf %s "checking for libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2... " >&6; }
|
||||||
|
|
||||||
if test -n "$libtorrent_CFLAGS"; then
|
if test -n "$libtorrent_CFLAGS"; then
|
||||||
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
pkg_cv_libtorrent_CFLAGS="$libtorrent_CFLAGS"
|
||||||
elif test -n "$PKG_CONFIG"; then
|
elif test -n "$PKG_CONFIG"; then
|
||||||
if test -n "$PKG_CONFIG" && \
|
if test -n "$PKG_CONFIG" && \
|
||||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2\""; } >&5
|
||||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2") 2>&5
|
||||||
ac_status=$?
|
ac_status=$?
|
||||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
test $ac_status = 0; }; then
|
test $ac_status = 0; }; then
|
||||||
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
pkg_cv_libtorrent_CFLAGS=`$PKG_CONFIG --cflags "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||||
test "x$?" != "x0" && pkg_failed=yes
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
else
|
else
|
||||||
pkg_failed=yes
|
pkg_failed=yes
|
||||||
@@ -6201,12 +6201,12 @@ if test -n "$libtorrent_LIBS"; then
|
|||||||
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
pkg_cv_libtorrent_LIBS="$libtorrent_LIBS"
|
||||||
elif test -n "$PKG_CONFIG"; then
|
elif test -n "$PKG_CONFIG"; then
|
||||||
if test -n "$PKG_CONFIG" && \
|
if test -n "$PKG_CONFIG" && \
|
||||||
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2\""; } >&5
|
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2\""; } >&5
|
||||||
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2") 2>&5
|
($PKG_CONFIG --exists --print-errors "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2") 2>&5
|
||||||
ac_status=$?
|
ac_status=$?
|
||||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
test $ac_status = 0; }; then
|
test $ac_status = 0; }; then
|
||||||
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>/dev/null`
|
pkg_cv_libtorrent_LIBS=`$PKG_CONFIG --libs "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>/dev/null`
|
||||||
test "x$?" != "x0" && pkg_failed=yes
|
test "x$?" != "x0" && pkg_failed=yes
|
||||||
else
|
else
|
||||||
pkg_failed=yes
|
pkg_failed=yes
|
||||||
@@ -6227,14 +6227,14 @@ else
|
|||||||
_pkg_short_errors_supported=no
|
_pkg_short_errors_supported=no
|
||||||
fi
|
fi
|
||||||
if test $_pkg_short_errors_supported = yes; then
|
if test $_pkg_short_errors_supported = yes; then
|
||||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
libtorrent_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>&1`
|
||||||
else
|
else
|
||||||
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2" 2>&1`
|
libtorrent_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2" 2>&1`
|
||||||
fi
|
fi
|
||||||
# Put the nasty error message in config.log where it belongs
|
# Put the nasty error message in config.log where it belongs
|
||||||
echo "$libtorrent_PKG_ERRORS" >&5
|
echo "$libtorrent_PKG_ERRORS" >&5
|
||||||
|
|
||||||
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2) were not met:
|
as_fn_error $? "Package requirements (libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2) were not met:
|
||||||
|
|
||||||
$libtorrent_PKG_ERRORS
|
$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
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by qbittorrent $as_me v4.6.6, which was
|
This file was extended by qbittorrent $as_me v4.5.3, which was
|
||||||
generated by GNU Autoconf 2.71. Invocation command line was
|
generated by GNU Autoconf 2.71. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
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
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config='$ac_cs_config_escaped'
|
ac_cs_config='$ac_cs_config_escaped'
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
qbittorrent config.status v4.6.6
|
qbittorrent config.status v4.5.3
|
||||||
configured by $0, generated by GNU Autoconf 2.71,
|
configured by $0, generated by GNU Autoconf 2.71,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT([qbittorrent], [v4.6.6], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
AC_INIT([qbittorrent], [v4.5.3], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||||
AC_CONFIG_AUX_DIR([build-aux])
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
: ${CFLAGS=""}
|
: ${CFLAGS=""}
|
||||||
@@ -165,7 +165,7 @@ AS_CASE(["x$enable_qt_dbus"],
|
|||||||
FIND_QTDBUS()
|
FIND_QTDBUS()
|
||||||
AS_IF([test "x$HAVE_QTDBUS" = "xfalse"],
|
AS_IF([test "x$HAVE_QTDBUS" = "xfalse"],
|
||||||
[AC_MSG_ERROR([Could not find QtDBus])],
|
[AC_MSG_ERROR([Could not find QtDBus])],
|
||||||
[QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_DBUS"]
|
[QBT_ADD_CONFIG="$QBT_ADD_CONFIG dbus"]
|
||||||
)],
|
)],
|
||||||
["xno"],
|
["xno"],
|
||||||
[AC_MSG_RESULT([no])
|
[AC_MSG_RESULT([no])
|
||||||
@@ -188,10 +188,10 @@ m4_define([DETECT_BOOST_VERSION_PROGRAM],
|
|||||||
[[(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))]));]])])
|
[[(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))]));]])])
|
||||||
|
|
||||||
PKG_CHECK_MODULES(libtorrent,
|
PKG_CHECK_MODULES(libtorrent,
|
||||||
[libtorrent-rasterbar >= 2.0.9],
|
[libtorrent-rasterbar >= 2.0.8],
|
||||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_LIBTORRENT2"],
|
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_LIBTORRENT2"],
|
||||||
[PKG_CHECK_MODULES(libtorrent,
|
[PKG_CHECK_MODULES(libtorrent,
|
||||||
[libtorrent-rasterbar >= 1.2.19 libtorrent-rasterbar < 2],
|
[libtorrent-rasterbar >= 1.2.18 libtorrent-rasterbar < 2],
|
||||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS"])])
|
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS"])])
|
||||||
|
|
||||||
PKG_CHECK_MODULES(openssl,
|
PKG_CHECK_MODULES(openssl,
|
||||||
|
4
dist/mac/Info.plist
vendored
4
dist/mac/Info.plist
vendored
@@ -55,7 +55,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>4.6.6</string>
|
<string>4.5.3</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<key>NSAppleScriptEnabled</key>
|
<key>NSAppleScriptEnabled</key>
|
||||||
<string>YES</string>
|
<string>YES</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>Copyright © 2006-2024 The qBittorrent project</string>
|
<string>Copyright © 2006-2022 The qBittorrent project</string>
|
||||||
<key>UTExportedTypeDeclarations</key>
|
<key>UTExportedTypeDeclarations</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
2
dist/unix/CMakeLists.txt
vendored
2
dist/unix/CMakeLists.txt
vendored
@@ -35,7 +35,7 @@ if (GUI)
|
|||||||
COMPONENT data
|
COMPONENT data
|
||||||
)
|
)
|
||||||
|
|
||||||
install(FILES org.qbittorrent.qBittorrent.metainfo.xml
|
install(FILES org.qbittorrent.qBittorrent.appdata.xml
|
||||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo/
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo/
|
||||||
COMPONENT data
|
COMPONENT data
|
||||||
)
|
)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- Copyright 2014 sledgehammer999 <sledgehammer999@qbittorrent.org> -->
|
<!-- Copyright 2014 sledgehammer999 <sledgehammer999@qbittorrent.org> -->
|
||||||
<component type="desktop-application">
|
<component type="desktop">
|
||||||
<id>org.qbittorrent.qBittorrent</id>
|
<id>org.qbittorrent.qBittorrent</id>
|
||||||
<metadata_license>CC0-1.0</metadata_license>
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
<project_license>GPL-3.0-or-later and OpenSSL</project_license>
|
<project_license>GPL-3.0-or-later and OpenSSL</project_license>
|
||||||
@@ -14,12 +14,33 @@
|
|||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Polished µTorrent-like User Interface</li>
|
<li>Polished µTorrent-like User Interface</li>
|
||||||
<li>Well-integrated and extensible Search Engine</li>
|
<li>
|
||||||
|
Well-integrated and extensible Search Engine
|
||||||
|
<ul>
|
||||||
|
<li>Simultaneous search in many Torrent search sites</li>
|
||||||
|
<li>Category-specific search requests (e.g. Books, Music, Software)</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
<li>RSS feed support with advanced download filters (incl. regex)</li>
|
<li>RSS feed support with advanced download filters (incl. regex)</li>
|
||||||
<li>Many Bittorrent extensions supported</li>
|
<li>
|
||||||
|
Many Bittorrent extensions supported:
|
||||||
|
<ul>
|
||||||
|
<li>Magnet links</li>
|
||||||
|
<li>Distributed hash table (DHT), peer exchange protocol (PEX), local peer discovery (LSD)</li>
|
||||||
|
<li>Private torrents</li>
|
||||||
|
<li>Encrypted connections</li>
|
||||||
|
<li>and many more...</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
<li>Remote control through Web user interface, written with AJAX</li>
|
<li>Remote control through Web user interface, written with AJAX</li>
|
||||||
<li>Sequential downloading (Download in order)</li>
|
<li>Sequential downloading (Download in order)</li>
|
||||||
<li>Advanced control over torrents, trackers and peers</li>
|
<li>
|
||||||
|
Advanced control over torrents, trackers and peers
|
||||||
|
<ul>
|
||||||
|
<li>Torrents queueing and prioritizing</li>
|
||||||
|
<li>Torrent content selection and prioritizing</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
<li>Bandwidth scheduler</li>
|
<li>Bandwidth scheduler</li>
|
||||||
<li>Torrent creation tool</li>
|
<li>Torrent creation tool</li>
|
||||||
<li>IP Filtering (eMule & PeerGuardian format compatible)</li>
|
<li>IP Filtering (eMule & PeerGuardian format compatible)</li>
|
||||||
@@ -32,36 +53,27 @@
|
|||||||
<launchable type="desktop-id">org.qbittorrent.qBittorrent.desktop</launchable>
|
<launchable type="desktop-id">org.qbittorrent.qBittorrent.desktop</launchable>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">
|
<screenshot type="default">
|
||||||
<caption>Main window (General tab collapsed)</caption>
|
<image height="675" width="1200">https://alexpl.fedorapeople.org/AppData/qbittorrent/screens/qbittorrent_01.png</image>
|
||||||
<image>https://raw.githubusercontent.com/qbittorrent/qBittorrent-website/2741f2a90854604e268c6bba9e6859aad0103583/src/img/screenshots/linux/1.webp</image>
|
|
||||||
</screenshot>
|
</screenshot>
|
||||||
<screenshot>
|
<screenshot>
|
||||||
<caption>Main window (General tab expanded)</caption>
|
<image height="675" width="1200">https://alexpl.fedorapeople.org/AppData/qbittorrent/screens/qbittorrent_02.png</image>
|
||||||
<image>https://raw.githubusercontent.com/qbittorrent/qBittorrent-website/2741f2a90854604e268c6bba9e6859aad0103583/src/img/screenshots/linux/2.webp</image>
|
|
||||||
</screenshot>
|
</screenshot>
|
||||||
<screenshot>
|
<screenshot>
|
||||||
<caption>Options dialog</caption>
|
<image height="675" width="1200">https://alexpl.fedorapeople.org/AppData/qbittorrent/screens/qbittorrent_03.png</image>
|
||||||
<image>https://raw.githubusercontent.com/qbittorrent/qBittorrent-website/2741f2a90854604e268c6bba9e6859aad0103583/src/img/screenshots/linux/3.webp</image>
|
|
||||||
</screenshot>
|
</screenshot>
|
||||||
<screenshot>
|
<screenshot>
|
||||||
<caption>Search engine</caption>
|
<image height="675" width="1200">https://alexpl.fedorapeople.org/AppData/qbittorrent/screens/qbittorrent_04.png</image>
|
||||||
<image>https://raw.githubusercontent.com/qbittorrent/qBittorrent-website/2741f2a90854604e268c6bba9e6859aad0103583/src/img/screenshots/linux/4.webp</image>
|
|
||||||
</screenshot>
|
</screenshot>
|
||||||
</screenshots>
|
</screenshots>
|
||||||
<update_contact>sledgehammer999@qbittorrent.org</update_contact>
|
<update_contact>sledgehammer999@qbittorrent.org</update_contact>
|
||||||
<developer id="org.qbittorrent">
|
<developer_name>The qBittorrent Project</developer_name>
|
||||||
<name>The qBittorrent Project</name>
|
|
||||||
</developer>
|
|
||||||
<url type="homepage">https://www.qbittorrent.org/</url>
|
<url type="homepage">https://www.qbittorrent.org/</url>
|
||||||
<url type="bugtracker">https://bugs.qbittorrent.org/</url>
|
<url type="bugtracker">http://bugs.qbittorrent.org/</url>
|
||||||
<url type="faq">https://wiki.qbittorrent.org/Frequently-Asked-Questions</url>
|
|
||||||
<url type="help">https://forum.qbittorrent.org/</url>
|
|
||||||
<url type="donation">https://www.qbittorrent.org/donate</url>
|
<url type="donation">https://www.qbittorrent.org/donate</url>
|
||||||
<url type="translate">https://wiki.qbittorrent.org/How-to-translate-qBittorrent</url>
|
<url type="help">http://forum.qbittorrent.org/</url>
|
||||||
<url type="vcs-browser">https://github.com/qbittorrent/qBittorrent</url>
|
<url type="translate">https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent</url>
|
||||||
<url type="contribute">https://github.com/qbittorrent/qBittorrent/blob/master/CONTRIBUTING.md</url>
|
|
||||||
<content_rating type="oars-1.1"/>
|
<content_rating type="oars-1.1"/>
|
||||||
<releases>
|
<releases>
|
||||||
<release version="4.6.6" date="2024-08-18"/>
|
<release version="4.5.3" date="2023-05-28"/>
|
||||||
</releases>
|
</releases>
|
||||||
</component>
|
</component>
|
144
dist/unix/org.qbittorrent.qBittorrent.desktop
vendored
144
dist/unix/org.qbittorrent.qBittorrent.desktop
vendored
File diff suppressed because it is too large
Load Diff
4
dist/windows/config.nsi
vendored
4
dist/windows/config.nsi
vendored
@@ -25,7 +25,7 @@
|
|||||||
; 4.5.1.3 -> good
|
; 4.5.1.3 -> good
|
||||||
; 4.5.1.3.2 -> bad
|
; 4.5.1.3.2 -> bad
|
||||||
; 4.5.0beta -> bad
|
; 4.5.0beta -> bad
|
||||||
!define /ifndef QBT_VERSION "4.6.6"
|
!define /ifndef QBT_VERSION "4.5.3"
|
||||||
|
|
||||||
; Option that controls the installer's window name
|
; Option that controls the installer's window name
|
||||||
; If set, its value will be used like this:
|
; If set, its value will be used like this:
|
||||||
@@ -112,7 +112,7 @@ OutFile "qbittorrent_${QBT_INSTALLER_FILENAME}_setup.exe"
|
|||||||
;Installer Version Information
|
;Installer Version Information
|
||||||
VIAddVersionKey "ProductName" "qBittorrent"
|
VIAddVersionKey "ProductName" "qBittorrent"
|
||||||
VIAddVersionKey "CompanyName" "The qBittorrent project"
|
VIAddVersionKey "CompanyName" "The qBittorrent project"
|
||||||
VIAddVersionKey "LegalCopyright" "Copyright ©2006-2024 The qBittorrent project"
|
VIAddVersionKey "LegalCopyright" "Copyright ©2006-2022 The qBittorrent project"
|
||||||
VIAddVersionKey "FileDescription" "qBittorrent - A Bittorrent Client"
|
VIAddVersionKey "FileDescription" "qBittorrent - A Bittorrent Client"
|
||||||
VIAddVersionKey "FileVersion" "${QBT_VERSION}"
|
VIAddVersionKey "FileVersion" "${QBT_VERSION}"
|
||||||
|
|
||||||
|
2
dist/windows/gather_qt_translations.py
vendored
2
dist/windows/gather_qt_translations.py
vendored
@@ -19,7 +19,7 @@ def main() -> int:
|
|||||||
tmp_translations: List[str] = glob.glob(f'{args.qt_translations_folder}/qt_??.qm')
|
tmp_translations: List[str] = glob.glob(f'{args.qt_translations_folder}/qt_??.qm')
|
||||||
tmp_translations += glob.glob(f'{args.qt_translations_folder}/qt_??_??.qm')
|
tmp_translations += glob.glob(f'{args.qt_translations_folder}/qt_??_??.qm')
|
||||||
tmp_translations += glob.glob(f'{args.qt_translations_folder}/qtbase_??.qm')
|
tmp_translations += glob.glob(f'{args.qt_translations_folder}/qtbase_??.qm')
|
||||||
tmp_translations += glob.glob(f'{args.qt_translations_folder}/qtbase_??_??.qm')
|
tmp_translations += glob.glob(f'{args.qt_translations_folder}qtbase_??_??.qm')
|
||||||
|
|
||||||
filtered = filter(isNotStub, tmp_translations)
|
filtered = filter(isNotStub, tmp_translations)
|
||||||
for file in filtered:
|
for file in filtered:
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user