You've already forked qBittorrent
							
							
				mirror of
				https://github.com/qbittorrent/qBittorrent
				synced 2025-11-02 08:10:54 +01:00 
			
		
		
		
	Compare commits
	
		
			141 Commits
		
	
	
		
			release-4.
			...
			release-4.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					c8763f08da | ||
| 
						 | 
					b8259969ac | ||
| 
						 | 
					d3a57e3e01 | ||
| 
						 | 
					fbd228b360 | ||
| 
						 | 
					23176b1a56 | ||
| 
						 | 
					46afeb0f32 | ||
| 
						 | 
					114e2ee1ab | ||
| 
						 | 
					b5af0f71b9 | ||
| 
						 | 
					bd9c42e004 | ||
| 
						 | 
					272ff11d65 | ||
| 
						 | 
					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 | 
@@ -50,7 +50,7 @@ before_build:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
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
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										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
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								.github/workflows/ci_macos.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								.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,23 +33,18 @@ 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:
 | 
					          brew update > /dev/null
 | 
				
			||||||
          attempt_delay: 20000
 | 
					          brew install \
 | 
				
			||||||
          attempt_limit: 6
 | 
					            cmake ninja \
 | 
				
			||||||
          command: |
 | 
					            openssl@1.1 zlib
 | 
				
			||||||
            brew update > /dev/null
 | 
					 | 
				
			||||||
            brew install \
 | 
					 | 
				
			||||||
              cmake ninja \
 | 
					 | 
				
			||||||
              openssl@1.1 zlib
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Setup ccache
 | 
					      - name: Setup ccache
 | 
				
			||||||
        uses: Chocobo1/setup-ccache-action@v1
 | 
					        uses: Chocobo1/setup-ccache-action@v1
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          store_cache: ${{ startsWith(github.ref, 'refs/heads/') }}
 | 
					 | 
				
			||||||
          update_packager_index: false
 | 
					          update_packager_index: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Install boost
 | 
					      - name: Install boost
 | 
				
			||||||
@@ -57,7 +52,7 @@ jobs:
 | 
				
			|||||||
          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 }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -67,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: |
 | 
				
			||||||
@@ -91,7 +85,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" \
 | 
				
			||||||
@@ -110,7 +104,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" \
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										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: ${{ startsWith(github.ref, 'refs/heads/') }}
 | 
					 | 
				
			||||||
          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,38 +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
 | 
				
			||||||
 | 
					          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)",
 | 
					 | 
				
			||||||
              "set(VCPKG_C_FLAGS /guard:cf)",
 | 
					 | 
				
			||||||
              "set(VCPKG_CXX_FLAGS /guard:cf)",
 | 
					 | 
				
			||||||
              "set(VCPKG_LINKER_FLAGS /guard:cf)")
 | 
					 | 
				
			||||||
          # 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 }}/.."
 | 
				
			||||||
@@ -83,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: |
 | 
				
			||||||
@@ -95,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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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."
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										148
									
								
								Changelog
									
									
									
									
									
								
							
							
						
						
									
										148
									
								
								Changelog
									
									
									
									
									
								
							@@ -1,95 +1,65 @@
 | 
				
			|||||||
Mon Nov 27th 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.6.2
 | 
					Sun Jun 18 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.4
 | 
				
			||||||
    - BUGFIX: Do not apply share limit if the previous one was applied (glassez)
 | 
					    - BUGFIX: Allow to disable confirmation of Pause/Resume All (glassez)
 | 
				
			||||||
    - BUGFIX: Show Add new torrent dialog on main window screen (glassez)
 | 
					    - BUGFIX: Sync flag icons with upstream (Priit Uring)
 | 
				
			||||||
    - WEBUI: Fix JS memory leak (brvphoenix)
 | 
					    - WEBUI: Fix category save path (Raymond Ha)
 | 
				
			||||||
    - 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
 | 
					Sun May 28 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.3
 | 
				
			||||||
    - FEATURE: Add option to enable previous Add new torrent dialog behavior (glassez)
 | 
					    - BUGFIX: Correctly check if database needs to be updated (glassez)
 | 
				
			||||||
    - BUGFIX: Prevent crash due to race condition when adding magnet link (glassez)
 | 
					    - BUGFIX: Prevent incorrect log message about torrent content deletion (glassez)
 | 
				
			||||||
    - BUGFIX: Fix Enter key behavior when add new torrent (glassez)
 | 
					    - BUGFIX: Improve finished torrent handling (glassez)
 | 
				
			||||||
    - BUGFIX: Add missing main window icon (iomezk)
 | 
					    - BUGFIX: Correctly initialize group box children as disabled in Preferences (thalieht)
 | 
				
			||||||
    - BUGFIX: Update size of selected files when selection is changed (glassez)
 | 
					    - BUGFIX: Don't miss saving "download path" in SQLite storage (glassez)
 | 
				
			||||||
    - BUGFIX: Correctly handle changing save path of torrent w/o metadata (glassez)
 | 
					    - BUGFIX: Improve logging of running external program (glassez)
 | 
				
			||||||
    - BUGFIX: Use appropriate icon for "moving" torrents in transfer list (xavier2k6)
 | 
					    - WEBUI: Disable UPnP for web UI by default (glassez)
 | 
				
			||||||
    - WEBUI: Drop WebUI default credentials (glassez)
 | 
					    - WEBUI: Use workaround for IOS file picker (DivineHawk)
 | 
				
			||||||
    - WEBUI: Add I2P settings to WebUI (thalieht)
 | 
					    - WEBUI: Work around Chrome download limit (Chocobo1)
 | 
				
			||||||
    - WEBUI: Fix duplicate scrollbar on Transfer List (AgentConDier)
 | 
					    - WEBUI: Improve 'exporting torrent' behavior (Chocobo1)
 | 
				
			||||||
    - WEBUI: Fix .torrent file upload on iPadOS (Vitaly Cheptsov)
 | 
					    - WINDOWS: NSIS: Add Slovak translation (Christian Danížek)
 | 
				
			||||||
    - 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
 | 
					Tue Feb 28 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.2
 | 
				
			||||||
    - FEATURE: Add (experimental) I2P support (glassez)
 | 
					    - BUGFIX: Don't unexpectedly activate queued torrents when prefetching metadata for added magnets (glassez)
 | 
				
			||||||
    - FEATURE: Provide UI editor for the default theme (glassez)
 | 
					    - BUGFIX: Update the cached torrent state once recheck is started (glassez)
 | 
				
			||||||
    - FEATURE: Various UI theming improvements (glassez)
 | 
					    - BUGFIX: Be more likely to allow the system to use power saving modes (glassez)
 | 
				
			||||||
    - FEATURE: Implement torrent tags editing dialog (glassez)
 | 
					    - WEBUI: Migrate away from unsafe function (Chocobo1)
 | 
				
			||||||
    - FEATURE: Revamp "Watched folder options" and "Automated RSS downloader" dialog (glassez)
 | 
					    - WEBUI: Blacklist bad ciphers for TLS in the server (sledgehammer999)
 | 
				
			||||||
    - FEATURE: Allow to use another icons in dark mode (glassez)
 | 
					    - WEBUI: Allow only TLS 1.2+ in the server (sledgehammer999)
 | 
				
			||||||
    - FEATURE: Allow to add new torrents to queue top (glassez)
 | 
					    - WEBUI: Allow to set read-only directory as torrent location (glassez)
 | 
				
			||||||
    - FEATURE: Allow to filter torrent list by save path (Tom)
 | 
					    - WEBUI: Reject requests that contain backslash in path (glassez)
 | 
				
			||||||
    - FEATURE: Expose 'socket send/receive buffer size' options (Chocobo1)
 | 
					    - RSS: Prevent RSS folder from being moved into itself (glassez)
 | 
				
			||||||
    - FEATURE: Expose 'max torrent file size' setting (Chocobo1)
 | 
					    - WINDOWS: NSIS: Update Turkish, Uzbek translation (Burak Yavuz, shitcod3r)
 | 
				
			||||||
    - 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
 | 
					Sun Feb 12 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.1
 | 
				
			||||||
 | 
					    - FEATURE: Re-allow to use icons from system theme (glassez)
 | 
				
			||||||
 | 
					    - BUGFIX: Fix Speed limit icon size (Nowshed H. Imran)
 | 
				
			||||||
 | 
					    - BUGFIX: Revise and fix some text colors (Chocobo1, Nowshed H. Imran)
 | 
				
			||||||
 | 
					    - BUGFIX: Correctly load folder based UI theme (glassez)
 | 
				
			||||||
 | 
					    - BUGFIX: Fix crash due to invalid encoding of tracker URLs (glassez)
 | 
				
			||||||
 | 
					    - BUGFIX: Don't drop !qB extension when renaming incomplete file (glassez)
 | 
				
			||||||
 | 
					    - BUGFIX: Correctly count the number of torrents in subcategories (glassez)
 | 
				
			||||||
 | 
					    - 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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Sat Nov 26 2022 - 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.2.
 | 
					# Generated by GNU Autoconf 2.71 for qbittorrent v4.5.4.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# 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.2'
 | 
					PACKAGE_VERSION='v4.5.4'
 | 
				
			||||||
PACKAGE_STRING='qbittorrent v4.6.2'
 | 
					PACKAGE_STRING='qbittorrent v4.5.4'
 | 
				
			||||||
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.2 to adapt to many kinds of systems.
 | 
					\`configure' configures qbittorrent v4.5.4 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.2:";;
 | 
					     short | recursive ) echo "Configuration of qbittorrent v4.5.4:";;
 | 
				
			||||||
   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.2
 | 
					qbittorrent configure v4.5.4
 | 
				
			||||||
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.2, which was
 | 
					It was created by qbittorrent $as_me v4.5.4, 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.2'
 | 
					 VERSION='v4.5.4'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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.2, which was
 | 
					This file was extended by qbittorrent $as_me v4.5.4, 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.2
 | 
					qbittorrent config.status v4.5.4
 | 
				
			||||||
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.2], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
 | 
					AC_INIT([qbittorrent], [v4.5.4], [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.2</string>
 | 
						<string>4.5.4</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-2023 The qBittorrent project</string>
 | 
						<string>Copyright © 2006-2022 The qBittorrent project</string>
 | 
				
			||||||
	<key>UTExportedTypeDeclarations</key>
 | 
						<key>UTExportedTypeDeclarations</key>
 | 
				
			||||||
	<array>
 | 
						<array>
 | 
				
			||||||
		<dict>
 | 
							<dict>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,12 +68,12 @@
 | 
				
			|||||||
  <update_contact>sledgehammer999@qbittorrent.org</update_contact>
 | 
					  <update_contact>sledgehammer999@qbittorrent.org</update_contact>
 | 
				
			||||||
  <developer_name>The qBittorrent Project</developer_name>
 | 
					  <developer_name>The qBittorrent Project</developer_name>
 | 
				
			||||||
  <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="donation">https://www.qbittorrent.org/donate</url>
 | 
					  <url type="donation">https://www.qbittorrent.org/donate</url>
 | 
				
			||||||
  <url type="help">https://forum.qbittorrent.org/</url>
 | 
					  <url type="help">http://forum.qbittorrent.org/</url>
 | 
				
			||||||
  <url type="translate">https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent</url>
 | 
					  <url type="translate">https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent</url>
 | 
				
			||||||
  <content_rating type="oars-1.1"/>
 | 
					  <content_rating type="oars-1.1"/>
 | 
				
			||||||
  <releases>
 | 
					  <releases>
 | 
				
			||||||
    <release version="4.6.2" date="2023-11-27"/>
 | 
					    <release version="4.5.4" date="2023-06-18"/>
 | 
				
			||||||
  </releases>
 | 
					  </releases>
 | 
				
			||||||
</component>
 | 
					</component>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										138
									
								
								dist/unix/org.qbittorrent.qBittorrent.desktop
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										138
									
								
								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.2"
 | 
					!define /ifndef QBT_VERSION "4.5.4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
; 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-2023 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:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,8 +2,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
 | 
					;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
 | 
				
			||||||
LangString inst_qbt_req ${LANG_AFRIKAANS} "qBittorrent (required)"
 | 
					LangString inst_qbt_req ${LANG_AFRIKAANS} "qBittorrent (required)"
 | 
				
			||||||
;LangString inst_desktop ${LANG_ENGLISH} "Create Desktop Shortcut"
 | 
					;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
 | 
				
			||||||
LangString inst_desktop ${LANG_AFRIKAANS} "Create Desktop Shortcut"
 | 
					LangString inst_dekstop ${LANG_AFRIKAANS} "Create Desktop Shortcut"
 | 
				
			||||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
 | 
					;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
 | 
				
			||||||
LangString inst_startmenu ${LANG_AFRIKAANS} "Create Start Menu Shortcut"
 | 
					LangString inst_startmenu ${LANG_AFRIKAANS} "Create Start Menu Shortcut"
 | 
				
			||||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
 | 
					;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
 | 
				
			||||||
@@ -30,8 +30,8 @@ LangString launch_qbt ${LANG_AFRIKAANS} "Launch qBittorrent."
 | 
				
			|||||||
LangString inst_requires_64bit ${LANG_AFRIKAANS} "This installer works only in 64-bit Windows versions."
 | 
					LangString inst_requires_64bit ${LANG_AFRIKAANS} "This installer works only in 64-bit Windows versions."
 | 
				
			||||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
					;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
				
			||||||
LangString inst_requires_win7 ${LANG_AFRIKAANS} "This qBittorrent version requires at least Windows 7."
 | 
					LangString inst_requires_win7 ${LANG_AFRIKAANS} "This qBittorrent version requires at least Windows 7."
 | 
				
			||||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 (1809) / Windows Server 2019."
 | 
					;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
 | 
				
			||||||
LangString inst_requires_win10 ${LANG_AFRIKAANS}  "This installer requires at least Windows 10 (1809) / Windows Server 2019."
 | 
					LangString inst_requires_win10 ${LANG_AFRIKAANS}  "This installer requires at least Windows 10 1809."
 | 
				
			||||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
					;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
				
			||||||
LangString inst_uninstall_link_description ${LANG_AFRIKAANS} "Uninstall qBittorrent"
 | 
					LangString inst_uninstall_link_description ${LANG_AFRIKAANS} "Uninstall qBittorrent"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,8 +2,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
 | 
					;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
 | 
				
			||||||
LangString inst_qbt_req ${LANG_ALBANIAN} "qBittorrent (required)"
 | 
					LangString inst_qbt_req ${LANG_ALBANIAN} "qBittorrent (required)"
 | 
				
			||||||
;LangString inst_desktop ${LANG_ENGLISH} "Create Desktop Shortcut"
 | 
					;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
 | 
				
			||||||
LangString inst_desktop ${LANG_ALBANIAN} "Create Desktop Shortcut"
 | 
					LangString inst_dekstop ${LANG_ALBANIAN} "Create Desktop Shortcut"
 | 
				
			||||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
 | 
					;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
 | 
				
			||||||
LangString inst_startmenu ${LANG_ALBANIAN} "Create Start Menu Shortcut"
 | 
					LangString inst_startmenu ${LANG_ALBANIAN} "Create Start Menu Shortcut"
 | 
				
			||||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
 | 
					;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
 | 
				
			||||||
@@ -30,8 +30,8 @@ LangString launch_qbt ${LANG_ALBANIAN} "Launch qBittorrent."
 | 
				
			|||||||
LangString inst_requires_64bit ${LANG_ALBANIAN} "This installer works only in 64-bit Windows versions."
 | 
					LangString inst_requires_64bit ${LANG_ALBANIAN} "This installer works only in 64-bit Windows versions."
 | 
				
			||||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
					;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
				
			||||||
LangString inst_requires_win7 ${LANG_ALBANIAN} "This qBittorrent version requires at least Windows 7."
 | 
					LangString inst_requires_win7 ${LANG_ALBANIAN} "This qBittorrent version requires at least Windows 7."
 | 
				
			||||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 (1809) / Windows Server 2019."
 | 
					;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
 | 
				
			||||||
LangString inst_requires_win10 ${LANG_ALBANIAN}  "This installer requires at least Windows 10 (1809) / Windows Server 2019."
 | 
					LangString inst_requires_win10 ${LANG_ALBANIAN}  "This installer requires at least Windows 10 1809."
 | 
				
			||||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
					;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
				
			||||||
LangString inst_uninstall_link_description ${LANG_ALBANIAN} "Uninstall qBittorrent"
 | 
					LangString inst_uninstall_link_description ${LANG_ALBANIAN} "Uninstall qBittorrent"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user