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
		
	
	
		
			dependabot
			...
			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 | 
@@ -37,8 +37,6 @@ install:
 | 
			
		||||
      RMDIR /S /Q "%CACHE_DIR%" & MKDIR "%CACHE_DIR%" &&
 | 
			
		||||
      appveyor DownloadFile "%QBT_LIB_URL%" -FileName "c:\qbt_lib.7z" && 7z x "c:\qbt_lib.7z" -o"%CACHE_DIR%" > nul &&
 | 
			
		||||
      COPY "c:\version_new" "%CACHE_DIR%\version")
 | 
			
		||||
  # Qt stay compressed in cache
 | 
			
		||||
  - 7z x "%CACHE_DIR%\qt5_64.7z" -o"c:\qbt" > nul
 | 
			
		||||
 | 
			
		||||
before_build:
 | 
			
		||||
  # setup env
 | 
			
		||||
@@ -47,6 +45,7 @@ before_build:
 | 
			
		||||
  # setup project
 | 
			
		||||
  - COPY /Y "%CACHE_DIR%\conf.pri" "%REPO_DIR%"
 | 
			
		||||
  # workarounds
 | 
			
		||||
  - MKDIR "c:\qbt"
 | 
			
		||||
  - MKLINK /J "c:\qbt\base" "%CACHE_DIR%\base"
 | 
			
		||||
 | 
			
		||||
build_script:
 | 
			
		||||
@@ -69,8 +68,11 @@ after_build:
 | 
			
		||||
  - COPY src\release\qbittorrent.exe upload
 | 
			
		||||
  - COPY src\release\qbittorrent.pdb upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\bin\libcrypto-1_1-x64.dll" upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\bin\libcrypto-1_1-x64.pdb" upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\bin\libssl-1_1-x64.dll" upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\lib\torrent-rasterbar.dll" upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\bin\libssl-1_1-x64.pdb" upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\bin\torrent-rasterbar.dll" upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\bin\torrent-rasterbar.pdb" upload
 | 
			
		||||
  - COPY "%CACHE_DIR%\base\lib\zlib1.dll" upload
 | 
			
		||||
  - COPY C:\Qt\5.15.2\msvc2019_64\bin\Qt5Core.dll upload
 | 
			
		||||
  - COPY C:\Qt\5.15.2\msvc2019_64\bin\Qt5Gui.dll upload
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/ci_file_health.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/ci_file_health.yaml
									
									
									
									
										vendored
									
									
								
							@@ -2,6 +2,8 @@ name: CI - File health
 | 
			
		||||
 | 
			
		||||
on: [pull_request, push]
 | 
			
		||||
 | 
			
		||||
permissions: {}
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
			
		||||
  cancel-in-progress: ${{ github.head_ref != '' }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								.github/workflows/ci_macos.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								.github/workflows/ci_macos.yaml
									
									
									
									
										vendored
									
									
								
							@@ -2,6 +2,9 @@ name: CI - macOS
 | 
			
		||||
 | 
			
		||||
on: [pull_request, push]
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  actions: write
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
			
		||||
  cancel-in-progress: ${{ github.head_ref != '' }}
 | 
			
		||||
@@ -31,6 +34,9 @@ jobs:
 | 
			
		||||
 | 
			
		||||
      - name: Install dependencies
 | 
			
		||||
        run: |
 | 
			
		||||
          export \
 | 
			
		||||
            HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 \
 | 
			
		||||
            HOMEBREW_NO_INSTALL_CLEANUP=1
 | 
			
		||||
          brew update > /dev/null
 | 
			
		||||
          brew install \
 | 
			
		||||
            cmake ninja \
 | 
			
		||||
@@ -46,7 +52,7 @@ jobs:
 | 
			
		||||
          curl \
 | 
			
		||||
            -L \
 | 
			
		||||
            -o "${{ runner.temp }}/boost.tar.bz2" \
 | 
			
		||||
            "https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.bz2"
 | 
			
		||||
            "https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2"
 | 
			
		||||
          tar -xf "${{ runner.temp }}/boost.tar.bz2" -C "${{ github.workspace }}/.."
 | 
			
		||||
          mv "${{ github.workspace }}/.."/boost_* "${{ env.boost_path }}"
 | 
			
		||||
 | 
			
		||||
@@ -68,6 +74,7 @@ jobs:
 | 
			
		||||
          cmake \
 | 
			
		||||
            -B build \
 | 
			
		||||
            -G "Ninja" \
 | 
			
		||||
            -DBUILD_SHARED_LIBS=OFF \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | 
			
		||||
            -DCMAKE_CXX_STANDARD=17 \
 | 
			
		||||
            -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
 | 
			
		||||
@@ -80,11 +87,12 @@ jobs:
 | 
			
		||||
      - name: Build qBittorrent (Qt5)
 | 
			
		||||
        if: ${{ startsWith(matrix.qt_version, 5) }}
 | 
			
		||||
        run: |
 | 
			
		||||
          CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
 | 
			
		||||
          LDFLAGS="$LDFLAGS -gz" \
 | 
			
		||||
          cmake \
 | 
			
		||||
            -B build \
 | 
			
		||||
            -G "Ninja" \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | 
			
		||||
            -DCMAKE_CXX_FLAGS="-Werror -Wno-error=deprecated-declarations" \
 | 
			
		||||
            -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
 | 
			
		||||
            -DBOOST_ROOT="${{ env.boost_path }}" \
 | 
			
		||||
            -DOPENSSL_ROOT_DIR="${{ env.openssl_root }}" \
 | 
			
		||||
@@ -98,11 +106,12 @@ jobs:
 | 
			
		||||
      - name: Build qBittorrent (Qt6)
 | 
			
		||||
        if: ${{ startsWith(matrix.qt_version, 6) }}
 | 
			
		||||
        run: |
 | 
			
		||||
          CXXFLAGS="$CXXFLAGS -Wno-gnu-zero-variadic-macro-arguments -Werror -Wno-error=deprecated-declarations" \
 | 
			
		||||
          LDFLAGS="$LDFLAGS -gz" \
 | 
			
		||||
          cmake \
 | 
			
		||||
            -B build \
 | 
			
		||||
            -G "Ninja" \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | 
			
		||||
            -DCMAKE_CXX_FLAGS="-Wno-gnu-zero-variadic-macro-arguments -Werror -Wno-error=deprecated-declarations" \
 | 
			
		||||
            -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
 | 
			
		||||
            -DBOOST_ROOT="${{ env.boost_path }}" \
 | 
			
		||||
            -DOPENSSL_ROOT_DIR="${{ env.openssl_root }}" \
 | 
			
		||||
@@ -116,7 +125,17 @@ jobs:
 | 
			
		||||
 | 
			
		||||
      - name: Prepare build artifacts
 | 
			
		||||
        run: |
 | 
			
		||||
          # create .dmg
 | 
			
		||||
          appName="qbittorrent"
 | 
			
		||||
          if [ "${{ matrix.qbt_gui }}" = "GUI=OFF" ]; then
 | 
			
		||||
            appName="qbittorrent-nox"
 | 
			
		||||
          fi
 | 
			
		||||
          pushd build
 | 
			
		||||
          macdeployqt "$appName.app" -dmg -no-strip
 | 
			
		||||
          popd
 | 
			
		||||
          # prepare upload folder
 | 
			
		||||
          mkdir upload
 | 
			
		||||
          cp "build/$appName.dmg" upload
 | 
			
		||||
          mkdir upload/cmake
 | 
			
		||||
          cp build/compile_commands.json upload/cmake
 | 
			
		||||
          mkdir upload/cmake/libtorrent
 | 
			
		||||
@@ -125,5 +144,5 @@ jobs:
 | 
			
		||||
      - name: Upload build artifacts
 | 
			
		||||
        uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: build-info_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
 | 
			
		||||
          name: qBittorrent-CI_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
 | 
			
		||||
          path: upload
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								.github/workflows/ci_ubuntu.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/ci_ubuntu.yaml
									
									
									
									
										vendored
									
									
								
							@@ -2,6 +2,9 @@ name: CI - Ubuntu
 | 
			
		||||
 | 
			
		||||
on: [pull_request, push]
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  actions: write
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
			
		||||
  cancel-in-progress: ${{ github.head_ref != '' }}
 | 
			
		||||
@@ -30,7 +33,7 @@ jobs:
 | 
			
		||||
          sudo apt update
 | 
			
		||||
          sudo apt install \
 | 
			
		||||
            build-essential cmake ninja-build pkg-config \
 | 
			
		||||
            libboost-dev libssl-dev zlib1g-dev
 | 
			
		||||
            libboost-dev libssl-dev libxkbcommon-x11-dev zlib1g-dev
 | 
			
		||||
 | 
			
		||||
      - name: Setup ccache
 | 
			
		||||
        uses: Chocobo1/setup-ccache-action@v1
 | 
			
		||||
@@ -65,11 +68,12 @@ jobs:
 | 
			
		||||
      - name: Build qBittorrent (Qt5)
 | 
			
		||||
        if: ${{ startsWith(matrix.qt_version, 5) }}
 | 
			
		||||
        run: |
 | 
			
		||||
          CXXFLAGS="$CXXFLAGS -Werror -Wno-error=deprecated-declarations" \
 | 
			
		||||
          LDFLAGS="$LDFLAGS -gz" \
 | 
			
		||||
          cmake \
 | 
			
		||||
            -B build \
 | 
			
		||||
            -G "Ninja" \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | 
			
		||||
            -DCMAKE_CXX_FLAGS="-Werror -Wno-error=deprecated-declarations" \
 | 
			
		||||
            -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
 | 
			
		||||
            -DCMAKE_INSTALL_PREFIX="/usr" \
 | 
			
		||||
            -DTESTING=ON \
 | 
			
		||||
@@ -83,11 +87,12 @@ jobs:
 | 
			
		||||
      - name: Build qBittorrent (Qt6)
 | 
			
		||||
        if: ${{ startsWith(matrix.qt_version, 6) }}
 | 
			
		||||
        run: |
 | 
			
		||||
          CXXFLAGS="$CXXFLAGS -Werror" \
 | 
			
		||||
          LDFLAGS="$LDFLAGS -gz" \
 | 
			
		||||
          cmake \
 | 
			
		||||
            -B build \
 | 
			
		||||
            -G "Ninja" \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | 
			
		||||
            -DCMAKE_CXX_FLAGS="-Werror" \
 | 
			
		||||
            -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
 | 
			
		||||
            -DCMAKE_INSTALL_PREFIX="/usr" \
 | 
			
		||||
            -DQT6=ON \
 | 
			
		||||
@@ -107,8 +112,35 @@ jobs:
 | 
			
		||||
          mkdir upload/cmake/libtorrent
 | 
			
		||||
          cp libtorrent/build/compile_commands.json upload/cmake/libtorrent
 | 
			
		||||
 | 
			
		||||
      - name: 'AppImage: Prepare env'
 | 
			
		||||
        run: |
 | 
			
		||||
          sudo apt install libfuse2
 | 
			
		||||
          wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
 | 
			
		||||
          wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
 | 
			
		||||
          wget https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage
 | 
			
		||||
          chmod +x linuxdeploy-x86_64.AppImage
 | 
			
		||||
          chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
 | 
			
		||||
          chmod +x linuxdeploy-plugin-appimage-x86_64.AppImage
 | 
			
		||||
 | 
			
		||||
      - name: 'AppImage: Prepare nox'
 | 
			
		||||
        if: matrix.qbt_gui == 'GUI=OFF'
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p qbittorrent/usr/share/icons/hicolor/scalable/apps/
 | 
			
		||||
          mkdir -p qbittorrent/usr/share/applications/
 | 
			
		||||
          cp dist/unix/menuicons/scalable/apps/qbittorrent.svg qbittorrent/usr/share/icons/hicolor/scalable/apps/qbittorrent.svg
 | 
			
		||||
          cp .github/workflows/helper/appimage/org.qbittorrent.qBittorrent.desktop qbittorrent/usr/share/applications/org.qbittorrent.qBittorrent.desktop
 | 
			
		||||
 | 
			
		||||
      - name: 'AppImage: Package'
 | 
			
		||||
        run: |
 | 
			
		||||
          ./linuxdeploy-x86_64.AppImage --appdir=qbittorrent --plugin qt
 | 
			
		||||
          rm qbittorrent/apprun-hooks/*
 | 
			
		||||
          cp .github/workflows/helper/appimage/export_vars.sh qbittorrent/apprun-hooks/export_vars.sh
 | 
			
		||||
          NO_APPSTREAM=1 \
 | 
			
		||||
          OUTPUT=upload/qbittorrent-CI_Ubuntu_x86_64.AppImage \
 | 
			
		||||
          ./linuxdeploy-x86_64.AppImage --appdir=qbittorrent --output appimage
 | 
			
		||||
 | 
			
		||||
      - name: Upload build artifacts
 | 
			
		||||
        uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: build-info_ubuntu-x64_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
 | 
			
		||||
          name: qBittorrent-CI_Ubuntu-x64_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
 | 
			
		||||
          path: upload
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/ci_webui.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/ci_webui.yaml
									
									
									
									
										vendored
									
									
								
							@@ -2,6 +2,8 @@ name: CI - WebUI
 | 
			
		||||
 | 
			
		||||
on: [pull_request, push]
 | 
			
		||||
 | 
			
		||||
permissions: {}
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
			
		||||
  cancel-in-progress: ${{ github.head_ref != '' }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								.github/workflows/ci_windows.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/ci_windows.yaml
									
									
									
									
										vendored
									
									
								
							@@ -2,6 +2,9 @@ name: CI - Windows
 | 
			
		||||
 | 
			
		||||
on: [pull_request, push]
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  actions: write
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
			
		||||
  cancel-in-progress: ${{ github.head_ref != '' }}
 | 
			
		||||
@@ -67,7 +70,7 @@ jobs:
 | 
			
		||||
      - name: Install boost
 | 
			
		||||
        run: |
 | 
			
		||||
          aria2c `
 | 
			
		||||
            "https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.7z" `
 | 
			
		||||
            "https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.7z" `
 | 
			
		||||
            -d "${{ runner.temp }}" `
 | 
			
		||||
            -o "boost.7z"
 | 
			
		||||
          7z x "${{ runner.temp }}/boost.7z" -o"${{ github.workspace }}/.."
 | 
			
		||||
@@ -149,6 +152,8 @@ jobs:
 | 
			
		||||
          copy "${{ env.Qt6_DIR }}/plugins/sqldrivers/qsqlite.dll" upload/plugins/sqldrivers
 | 
			
		||||
          mkdir upload/plugins/styles
 | 
			
		||||
          copy "${{ env.Qt6_DIR }}/plugins/styles/qwindowsvistastyle.dll" upload/plugins/styles
 | 
			
		||||
          mkdir upload/plugins/tls
 | 
			
		||||
          copy "${{ env.Qt6_DIR }}/plugins/tls/qschannelbackend.dll" upload/plugins/tls
 | 
			
		||||
          # cmake additionals
 | 
			
		||||
          mkdir upload/cmake
 | 
			
		||||
          copy build/compile_commands.json upload/cmake
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/coverity-scan.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/coverity-scan.yml
									
									
									
									
										vendored
									
									
								
							@@ -5,6 +5,8 @@ on:
 | 
			
		||||
    - cron: '0 0 1 * *' # Monthly (1st day of month at midnight)
 | 
			
		||||
  workflow_dispatch: # Mainly for testing. Don't forget the Coverity usage limits.
 | 
			
		||||
 | 
			
		||||
permissions: {}
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  coverity_scan:
 | 
			
		||||
    name: Scan
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								.github/workflows/helper/appimage/export_vars.sh
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/helper/appimage/export_vars.sh
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
# this file is called from AppRun so 'root_dir' will point to where AppRun is
 | 
			
		||||
root_dir="$(readlink -f "$(dirname "$0")")"
 | 
			
		||||
 | 
			
		||||
# Insert the default values because after the test we prepend our path
 | 
			
		||||
# and it will create problems with DEs (eg KDE) that don't set the variable
 | 
			
		||||
# and rely on the default paths
 | 
			
		||||
if [[ -z ${XDG_DATA_DIRS} ]]; then
 | 
			
		||||
    XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
export XDG_DATA_DIRS="${root_dir}/usr/share:${XDG_DATA_DIRS}"
 | 
			
		||||
							
								
								
									
										6
									
								
								.github/workflows/helper/appimage/org.qbittorrent.qBittorrent.desktop
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/helper/appimage/org.qbittorrent.qBittorrent.desktop
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Name=qBittorrent
 | 
			
		||||
Exec=qbittorrent-nox %U
 | 
			
		||||
Icon=qbittorrent
 | 
			
		||||
Type=Application
 | 
			
		||||
Categories=Network
 | 
			
		||||
							
								
								
									
										3
									
								
								.github/workflows/stale_bot.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/stale_bot.yaml
									
									
									
									
										vendored
									
									
								
							@@ -4,6 +4,9 @@ on:
 | 
			
		||||
  schedule:
 | 
			
		||||
    - cron: '0 0 * * *'
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  pull-requests: write
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  stale:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								.tx/config
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								.tx/config
									
									
									
									
									
								
							@@ -1,27 +1,24 @@
 | 
			
		||||
[main]
 | 
			
		||||
host = https://www.transifex.com
 | 
			
		||||
 | 
			
		||||
[qbittorrent.qbittorrent_master]
 | 
			
		||||
file_filter = src/lang/qbittorrent_<lang>.ts
 | 
			
		||||
lang_map = pt: pt_PT
 | 
			
		||||
source_file = src/lang/qbittorrent_en.ts
 | 
			
		||||
source_lang = en
 | 
			
		||||
type = QT
 | 
			
		||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_v45x]
 | 
			
		||||
file_filter  = src/lang/qbittorrent_<lang>.ts
 | 
			
		||||
source_file  = src/lang/qbittorrent_en.ts
 | 
			
		||||
source_lang  = en
 | 
			
		||||
type         = QT
 | 
			
		||||
minimum_perc = 23
 | 
			
		||||
mode = developer
 | 
			
		||||
lang_map     = pt: pt_PT, zh: zh_CN
 | 
			
		||||
 | 
			
		||||
[qbittorrent.qbittorrentdesktop_master]
 | 
			
		||||
source_file = dist/unix/org.qbittorrent.qBittorrent.desktop
 | 
			
		||||
source_lang = en
 | 
			
		||||
type = DESKTOP
 | 
			
		||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrent_webui_v45x]
 | 
			
		||||
file_filter  = src/webui/www/translations/webui_<lang>.ts
 | 
			
		||||
source_file  = src/webui/www/translations/webui_en.ts
 | 
			
		||||
source_lang  = en
 | 
			
		||||
type         = QT
 | 
			
		||||
minimum_perc = 23
 | 
			
		||||
mode = developer
 | 
			
		||||
lang_map     = pt: pt_PT, zh: zh_CN
 | 
			
		||||
 | 
			
		||||
[qbittorrent.qbittorrent_webui]
 | 
			
		||||
file_filter = src/webui/www/translations/webui_<lang>.ts
 | 
			
		||||
lang_map = pt: pt_PT
 | 
			
		||||
source_file = src/webui/www/translations/webui_en.ts
 | 
			
		||||
source_lang = en
 | 
			
		||||
type = QT
 | 
			
		||||
[o:sledgehammer999:p:qbittorrent:r:qbittorrentdesktop_master]
 | 
			
		||||
source_file  = dist/unix/org.qbittorrent.qBittorrent.desktop
 | 
			
		||||
source_lang  = en
 | 
			
		||||
type         = DESKTOP
 | 
			
		||||
minimum_perc = 23
 | 
			
		||||
mode = developer
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										143
									
								
								Changelog
									
									
									
									
									
								
							
							
						
						
									
										143
									
								
								Changelog
									
									
									
									
									
								
							@@ -1,4 +1,145 @@
 | 
			
		||||
Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.0
 | 
			
		||||
Sun Jun 18 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.4
 | 
			
		||||
    - BUGFIX: Allow to disable confirmation of Pause/Resume All (glassez)
 | 
			
		||||
    - BUGFIX: Sync flag icons with upstream (Priit Uring)
 | 
			
		||||
    - WEBUI: Fix category save path (Raymond Ha)
 | 
			
		||||
 | 
			
		||||
Sun May 28 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.3
 | 
			
		||||
    - BUGFIX: Correctly check if database needs to be updated (glassez)
 | 
			
		||||
    - BUGFIX: Prevent incorrect log message about torrent content deletion (glassez)
 | 
			
		||||
    - BUGFIX: Improve finished torrent handling (glassez)
 | 
			
		||||
    - BUGFIX: Correctly initialize group box children as disabled in Preferences (thalieht)
 | 
			
		||||
    - BUGFIX: Don't miss saving "download path" in SQLite storage (glassez)
 | 
			
		||||
    - BUGFIX: Improve logging of running external program (glassez)
 | 
			
		||||
    - WEBUI: Disable UPnP for web UI by default (glassez)
 | 
			
		||||
    - WEBUI: Use workaround for IOS file picker (DivineHawk)
 | 
			
		||||
    - WEBUI: Work around Chrome download limit (Chocobo1)
 | 
			
		||||
    - WEBUI: Improve 'exporting torrent' behavior (Chocobo1)
 | 
			
		||||
    - WINDOWS: NSIS: Add Slovak translation (Christian Danížek)
 | 
			
		||||
 | 
			
		||||
Tue Feb 28 2023 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.5.2
 | 
			
		||||
    - BUGFIX: Don't unexpectedly activate queued torrents when prefetching metadata for added magnets (glassez)
 | 
			
		||||
    - BUGFIX: Update the cached torrent state once recheck is started (glassez)
 | 
			
		||||
    - BUGFIX: Be more likely to allow the system to use power saving modes (glassez)
 | 
			
		||||
    - WEBUI: Migrate away from unsafe function (Chocobo1)
 | 
			
		||||
    - WEBUI: Blacklist bad ciphers for TLS in the server (sledgehammer999)
 | 
			
		||||
    - WEBUI: Allow only TLS 1.2+ in the server (sledgehammer999)
 | 
			
		||||
    - WEBUI: Allow to set read-only directory as torrent location (glassez)
 | 
			
		||||
    - WEBUI: Reject requests that contain backslash in path (glassez)
 | 
			
		||||
    - RSS: Prevent RSS folder from being moved into itself (glassez)
 | 
			
		||||
    - WINDOWS: NSIS: Update Turkish, Uzbek translation (Burak Yavuz, shitcod3r)
 | 
			
		||||
 | 
			
		||||
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: Allow to use Category paths in `Manual` mode (glassez)
 | 
			
		||||
    - FEATURE: Allow to disable Automatic mode when default "temp" path changed (glassez)
 | 
			
		||||
    - FEATURE: Add tuning options related to performance warnings (Chocobo1)
 | 
			
		||||
    - FEATURE: Add right click menu for status filters (An0n)
 | 
			
		||||
    - FEATURE: Allow setting the number of maximum active checking torrents (An0n)
 | 
			
		||||
    - FEATURE: Add option to toggle filters sidebar (AbeniMatteo)
 | 
			
		||||
    - FEATURE: Allow to set `working set limit` on non-Windows OS (Chocobo1)
 | 
			
		||||
    - FEATURE: Add `Export .torrent` action (Chocobo1)
 | 
			
		||||
    - FEATURE: Add keyboard navigation keys (itlezy)
 | 
			
		||||
    - FEATURE: Allow to use POSIX-compliant disk IO type (Coda)
 | 
			
		||||
    - FEATURE: Add `Filter files` field in new torrent dialog (thalieht)
 | 
			
		||||
    - FEATURE: Implement new icon/color theme (now-im, xavier2k6)
 | 
			
		||||
    - FEATURE: Add file name filter/blacklist (mxtsdev, thalieht)
 | 
			
		||||
    - FEATURE: Add support for custom SMTP ports (Emil M George)
 | 
			
		||||
    - FEATURE: Split the OS cache settings into Disk IO read/write modes (summer)
 | 
			
		||||
    - FEATURE: When duplicate torrent is added set metadata to existing one (glassez)
 | 
			
		||||
    - FEATURE: Greatly improve startup time with many torrents (glassez, jagannatharjun)
 | 
			
		||||
    - FEATURE: Add keyboard shortcut to Download URL dialog (Chocobo1)
 | 
			
		||||
    - FEATURE: Add ability to run external program on torrent added (glassez)
 | 
			
		||||
    - FEATURE: Add infohash and download path columns (tristanleboss)
 | 
			
		||||
    - FEATURE: Allow to set torrent stop condition (glassez, thalieht)
 | 
			
		||||
    - FEATURE: Add a `Moving` status filter (tristanleboss)
 | 
			
		||||
    - FEATURE: Change color palettes for both dark, light themes (Chocobo1)
 | 
			
		||||
    - FEATURE: Add a `Use proxy for hostname lookup` option (Nathan Lewis)
 | 
			
		||||
    - FEATURE: Introduce a `change listen port` cmd option (BallsOfSpaghetti)
 | 
			
		||||
    - FEATURE: Implement `Peer ID Client` column for `Peers` tab (Hanabishi)
 | 
			
		||||
    - FEATURE: Add port forwarding option for embedded tracker (Chocobo1)
 | 
			
		||||
    - BUGFIX: Store hybrid torrents using `torrent ID` as basename (glassez)
 | 
			
		||||
    - BUGFIX: Enable Combobox editor for the `Mixed` file download priority (Aleksandr Cupacenko)
 | 
			
		||||
    - BUGFIX: Allow shortcut folders for the Open and Save directory dialogs (Aleksandr Cupacenko)
 | 
			
		||||
    - BUGFIX: Rename content tab `Size` column to `Total Size` (Aleksandr Cupacenko)
 | 
			
		||||
    - BUGFIX: Fix scrolling to the lowermost visible torrent (Aleksandr Cupacenko)
 | 
			
		||||
    - BUGFIX: Allow changing file priorities for finished torrents (An0n)
 | 
			
		||||
    - BUGFIX: Focus save path when Manual mode is selected initially (Aleksandr Cupacenko)
 | 
			
		||||
    - BUGFIX: Disable force reannounce when it is not possible (An0n)
 | 
			
		||||
    - BUGFIX: Add horizontal scrolling for tracker list and torrent content (NotTsunami)
 | 
			
		||||
    - BUGFIX: Enlarge "speed limits" icons (Chocobo1)
 | 
			
		||||
    - BUGFIX: Change Downloaded to Times Downloaded in trackers tab (An0n)
 | 
			
		||||
    - BUGFIX: Remove artificial max limits from `Torrent Queueing` related options (Chocobo1)
 | 
			
		||||
    - BUGFIX: Preserve `skip hash check` when there is no metadata (glassez)
 | 
			
		||||
    - BUGFIX: Fix DHT/PeX/LSD status when it is globally disabled (Kacper Michajłow)
 | 
			
		||||
    - BUGFIX: Fix rate calculation when interval is too low (glassez)
 | 
			
		||||
    - BUGFIX: Add tooltip message when system tray icon isn't available (Chocobo1)
 | 
			
		||||
    - BUGFIX: Improve sender field in mail notifications (Dmitry Vodopyanov)
 | 
			
		||||
    - BUGFIX: Fix "Add torrent dialog" spill-over on smaller screens (Chocobo1)
 | 
			
		||||
    - BUGFIX: Fix peer count issue when tracker responds with zero figure (summer)
 | 
			
		||||
    - BUGFIX: Don't merge trackers by default (glassez)
 | 
			
		||||
    - BUGFIX: Don't inhibit system sleep/auto shutdown for torrents stuck at downloading metadata (summer)
 | 
			
		||||
    - BUGFIX: Allow to pause a checking torrent from context menu (summer)
 | 
			
		||||
    - BUGFIX: Allow to use subnet notation in reverse proxy list (Chocobo1)
 | 
			
		||||
    - BUGFIX: Fine tune translations loading for Chinese locales (sledgehammer999)
 | 
			
		||||
    - BUGFIX: Fix torrent content checkboxes not updated properly (Chocobo1)
 | 
			
		||||
    - BUGFIX: Correctly load state of `Use another path for incomplete torrents` in Watched folders (glassez)
 | 
			
		||||
    - BUGFIX: Add confirmation to resume/pause all (BallsOfSpaghetti)
 | 
			
		||||
    - BUGFIX: Fix wrong count of errored trackers (Chocobo1)
 | 
			
		||||
    - WEBUI: Allow blank lines in multipart form-data input (Aleksandr Cupacenko)
 | 
			
		||||
    - WEBUI: Make various dialogs resizable (Chocobo1)
 | 
			
		||||
    - WEBUI: Fix wrong v2 hash string displayed (Chocobo1)
 | 
			
		||||
    - WEBUI: WebAPI: return correct status (Requi)
 | 
			
		||||
    - WEBUI: Fix empty selection in language combobox (Chocobo1)
 | 
			
		||||
    - WEBUI: Store WebUI port setting in human readable number (Chocobo1)
 | 
			
		||||
    - WEBUI: Add support for exporting .torrent (Tom Piccirello)
 | 
			
		||||
    - WEBUI: WebAPI: Add endpoint to set speed limit mode (glassez)
 | 
			
		||||
    - WEBUI: Improve progress bar rendering (Mike Lei)
 | 
			
		||||
    - WEBUI: Add transfer list refresh interval settings (summer)
 | 
			
		||||
    - WEBUI: Use natural sort (Chocobo1)
 | 
			
		||||
    - WEBUI: Apply i18n translation only to built-in WebUI (Chocobo1)
 | 
			
		||||
    - WEBUI: Alert when HTTPS settings are incomplete (Chocobo1)
 | 
			
		||||
    - WEBUI: Handle drag and drop events (Chocobo1)
 | 
			
		||||
    - WEBUI: Fix wrong behavior for shutdown action (Chocobo1)
 | 
			
		||||
    - WEBUI: Don't disable combobox for file priority (Chocobo1)
 | 
			
		||||
    - RSS: Increase limit of maximum number of articles per feed (summer)
 | 
			
		||||
    - WINDOWS: Fix `Open destination folder` delay on Windows (Andrew)
 | 
			
		||||
    - WINDOWS: NSIS: Update Russian, Estonian, Japanese, Dutch, Portuguese BR, German and Indonesian translations (Andrei Stepanov, Priit Uring, maboroshin, Thomas De Rocker, Ícaro, schnurlos, Faisal A. F. Rahman)
 | 
			
		||||
    - LINUX: Mark as single window app in .desktop file (Nicolas Fella)
 | 
			
		||||
    - LINUX: Add Dockerfile (Amanuense-del-diavolo, Tom Piccirello, Chocobo1)
 | 
			
		||||
    - LINUX: Remove option of using icons from system theme (now-im)
 | 
			
		||||
    - MACOS: Fix wrong background color in properties widget (NotTsunami)
 | 
			
		||||
    - OTHER: Binary distributions of qbittorrent are GPLv3+ licensed (sledgehammer999)
 | 
			
		||||
 | 
			
		||||
Thu Jan 06 2022 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.4.0
 | 
			
		||||
    - FEATURE: Support for v2 torrents along with libtorrent 2.0.x support (glassez, Chocobo1)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Guess values for system-dependent variables and create Makefiles.
 | 
			
		||||
# Generated by GNU Autoconf 2.71 for qbittorrent v4.5.0beta1.
 | 
			
		||||
# Generated by GNU Autoconf 2.71 for qbittorrent v4.5.4.
 | 
			
		||||
#
 | 
			
		||||
# Report bugs to <bugs.qbittorrent.org>.
 | 
			
		||||
#
 | 
			
		||||
@@ -611,8 +611,8 @@ MAKEFLAGS=
 | 
			
		||||
# Identity of this package.
 | 
			
		||||
PACKAGE_NAME='qbittorrent'
 | 
			
		||||
PACKAGE_TARNAME='qbittorrent'
 | 
			
		||||
PACKAGE_VERSION='v4.5.0beta1'
 | 
			
		||||
PACKAGE_STRING='qbittorrent v4.5.0beta1'
 | 
			
		||||
PACKAGE_VERSION='v4.5.4'
 | 
			
		||||
PACKAGE_STRING='qbittorrent v4.5.4'
 | 
			
		||||
PACKAGE_BUGREPORT='bugs.qbittorrent.org'
 | 
			
		||||
PACKAGE_URL='https://www.qbittorrent.org/'
 | 
			
		||||
 | 
			
		||||
@@ -1329,7 +1329,7 @@ if test "$ac_init_help" = "long"; then
 | 
			
		||||
  # Omit some internal or obsolete options to make the list less imposing.
 | 
			
		||||
  # This message is too long to be a string in the A/UX 3.1 sh.
 | 
			
		||||
  cat <<_ACEOF
 | 
			
		||||
\`configure' configures qbittorrent v4.5.0beta1 to adapt to many kinds of systems.
 | 
			
		||||
\`configure' configures qbittorrent v4.5.4 to adapt to many kinds of systems.
 | 
			
		||||
 | 
			
		||||
Usage: $0 [OPTION]... [VAR=VALUE]...
 | 
			
		||||
 | 
			
		||||
@@ -1400,7 +1400,7 @@ fi
 | 
			
		||||
 | 
			
		||||
if test -n "$ac_init_help"; then
 | 
			
		||||
  case $ac_init_help in
 | 
			
		||||
     short | recursive ) echo "Configuration of qbittorrent v4.5.0beta1:";;
 | 
			
		||||
     short | recursive ) echo "Configuration of qbittorrent v4.5.4:";;
 | 
			
		||||
   esac
 | 
			
		||||
  cat <<\_ACEOF
 | 
			
		||||
 | 
			
		||||
@@ -1533,7 +1533,7 @@ fi
 | 
			
		||||
test -n "$ac_init_help" && exit $ac_status
 | 
			
		||||
if $ac_init_version; then
 | 
			
		||||
  cat <<\_ACEOF
 | 
			
		||||
qbittorrent configure v4.5.0beta1
 | 
			
		||||
qbittorrent configure v4.5.4
 | 
			
		||||
generated by GNU Autoconf 2.71
 | 
			
		||||
 | 
			
		||||
Copyright (C) 2021 Free Software Foundation, Inc.
 | 
			
		||||
@@ -1648,7 +1648,7 @@ cat >config.log <<_ACEOF
 | 
			
		||||
This file contains any messages produced by compilers while
 | 
			
		||||
running configure, to aid debugging if configure makes a mistake.
 | 
			
		||||
 | 
			
		||||
It was created by qbittorrent $as_me v4.5.0beta1, which was
 | 
			
		||||
It was created by qbittorrent $as_me v4.5.4, which was
 | 
			
		||||
generated by GNU Autoconf 2.71.  Invocation command line was
 | 
			
		||||
 | 
			
		||||
  $ $0$ac_configure_args_raw
 | 
			
		||||
@@ -4779,7 +4779,7 @@ fi
 | 
			
		||||
 | 
			
		||||
# Define the identity of the package.
 | 
			
		||||
 PACKAGE='qbittorrent'
 | 
			
		||||
 VERSION='v4.5.0beta1'
 | 
			
		||||
 VERSION='v4.5.4'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
 | 
			
		||||
@@ -7237,7 +7237,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 | 
			
		||||
# report actual input values of CONFIG_FILES etc. instead of their
 | 
			
		||||
# values after options handling.
 | 
			
		||||
ac_log="
 | 
			
		||||
This file was extended by qbittorrent $as_me v4.5.0beta1, which was
 | 
			
		||||
This file was extended by qbittorrent $as_me v4.5.4, which was
 | 
			
		||||
generated by GNU Autoconf 2.71.  Invocation command line was
 | 
			
		||||
 | 
			
		||||
  CONFIG_FILES    = $CONFIG_FILES
 | 
			
		||||
@@ -7297,7 +7297,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 | 
			
		||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 | 
			
		||||
ac_cs_config='$ac_cs_config_escaped'
 | 
			
		||||
ac_cs_version="\\
 | 
			
		||||
qbittorrent config.status v4.5.0beta1
 | 
			
		||||
qbittorrent config.status v4.5.4
 | 
			
		||||
configured by $0, generated by GNU Autoconf 2.71,
 | 
			
		||||
  with options \\"\$ac_cs_config\\"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
AC_INIT([qbittorrent], [v4.5.0beta1], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
 | 
			
		||||
AC_INIT([qbittorrent], [v4.5.4], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
 | 
			
		||||
AC_CONFIG_AUX_DIR([build-aux])
 | 
			
		||||
AC_CONFIG_MACRO_DIR([m4])
 | 
			
		||||
: ${CFLAGS=""}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								dist/docker/.env
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								dist/docker/.env
									
									
									
									
										vendored
									
									
								
							@@ -1,8 +0,0 @@
 | 
			
		||||
# refer to Readme.md for an explanation of the variables
 | 
			
		||||
 | 
			
		||||
QBT_EULA=
 | 
			
		||||
QBT_VERSION=devel
 | 
			
		||||
QBT_WEBUI_PORT=8080
 | 
			
		||||
 | 
			
		||||
QBT_CONFIG_PATH=<your_path>/config
 | 
			
		||||
QBT_DOWNLOADS_PATH=<your_path>/downloads
 | 
			
		||||
							
								
								
									
										62
									
								
								dist/docker/Dockerfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								dist/docker/Dockerfile
									
									
									
									
										vendored
									
									
								
							@@ -1,62 +0,0 @@
 | 
			
		||||
# image for building
 | 
			
		||||
FROM alpine:latest AS builder
 | 
			
		||||
 | 
			
		||||
ARG QBT_VERSION
 | 
			
		||||
 | 
			
		||||
# alpine linux qbittorrent package: https://git.alpinelinux.org/aports/tree/community/qbittorrent/APKBUILD
 | 
			
		||||
 | 
			
		||||
RUN \
 | 
			
		||||
  apk --update-cache add \
 | 
			
		||||
    boost-dev \
 | 
			
		||||
    cmake \
 | 
			
		||||
    g++ \
 | 
			
		||||
    libtorrent-rasterbar-dev \
 | 
			
		||||
    ninja \
 | 
			
		||||
    qt6-qtbase-dev \
 | 
			
		||||
    qt6-qttools-dev
 | 
			
		||||
 | 
			
		||||
RUN \
 | 
			
		||||
  if [ "$QBT_VERSION" = "devel" ]; then \
 | 
			
		||||
    wget https://github.com/qbittorrent/qBittorrent/archive/refs/heads/master.zip && \
 | 
			
		||||
    unzip master.zip && \
 | 
			
		||||
    cd qBittorrent-master ; \
 | 
			
		||||
  else \
 | 
			
		||||
    wget "https://github.com/qbittorrent/qBittorrent/archive/refs/tags/release-${QBT_VERSION}.tar.gz" && \
 | 
			
		||||
    tar -xf "release-${QBT_VERSION}.tar.gz" && \
 | 
			
		||||
    cd "qBittorrent-release-${QBT_VERSION}" ; \
 | 
			
		||||
  fi && \
 | 
			
		||||
  cmake \
 | 
			
		||||
    -B build \
 | 
			
		||||
    -G Ninja \
 | 
			
		||||
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | 
			
		||||
    -DGUI=OFF \
 | 
			
		||||
    -DQT6=ON \
 | 
			
		||||
    -DSTACKTRACE=OFF && \
 | 
			
		||||
  cmake --build build && \
 | 
			
		||||
  cmake --install build
 | 
			
		||||
 | 
			
		||||
# image for running
 | 
			
		||||
FROM alpine:latest
 | 
			
		||||
 | 
			
		||||
RUN \
 | 
			
		||||
  apk --no-cache add \
 | 
			
		||||
    doas \
 | 
			
		||||
    libtorrent-rasterbar \
 | 
			
		||||
    python3 \
 | 
			
		||||
    qt6-qtbase \
 | 
			
		||||
    tini
 | 
			
		||||
 | 
			
		||||
RUN \
 | 
			
		||||
  adduser \
 | 
			
		||||
    -D \
 | 
			
		||||
    -H \
 | 
			
		||||
    -s /sbin/nologin \
 | 
			
		||||
    -u 1000 \
 | 
			
		||||
    qbtUser && \
 | 
			
		||||
  echo "permit nopass :root" >> "/etc/doas.d/doas.conf"
 | 
			
		||||
 | 
			
		||||
COPY --from=builder /usr/local/bin/qbittorrent-nox /usr/bin/qbittorrent-nox
 | 
			
		||||
 | 
			
		||||
COPY entrypoint.sh /entrypoint.sh
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT ["/sbin/tini", "-g", "--", "/entrypoint.sh"]
 | 
			
		||||
							
								
								
									
										101
									
								
								dist/docker/Readme.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										101
									
								
								dist/docker/Readme.md
									
									
									
									
										vendored
									
									
								
							@@ -1,101 +0,0 @@
 | 
			
		||||
# qBittorrent-nox Docker Image
 | 
			
		||||
 | 
			
		||||
This Dockerfile allows you to build a Docker Image containing qBittorrent-nox
 | 
			
		||||
 | 
			
		||||
## Prerequisites
 | 
			
		||||
 | 
			
		||||
In order to build/run this image you'll need Docker installed: https://docs.docker.com/get-docker/
 | 
			
		||||
 | 
			
		||||
If you don't need the GUI, you can just install Docker Engine: https://docs.docker.com/engine/install/
 | 
			
		||||
 | 
			
		||||
It is also recommended to install Docker Compose as it can significantly ease the process: https://docs.docker.com/compose/install/
 | 
			
		||||
 | 
			
		||||
## Building Docker Image
 | 
			
		||||
 | 
			
		||||
* If you are using Docker (not Docker Compose) then run the following commands in this folder:
 | 
			
		||||
  ```shell
 | 
			
		||||
  export \
 | 
			
		||||
    QBT_VERSION=devel
 | 
			
		||||
  docker build \
 | 
			
		||||
    --build-arg QBT_VERSION \
 | 
			
		||||
    -t qbittorrent-nox:"$QBT_VERSION" \
 | 
			
		||||
    .
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
* If you are using Docker Compose then you should edit `.env` file first.
 | 
			
		||||
  You can find an explanation of the variables in the following [Parameters](#parameters) section. \
 | 
			
		||||
  Then run the following commands in this folder:
 | 
			
		||||
  ```shell
 | 
			
		||||
  docker compose build \
 | 
			
		||||
    --build-arg QBT_VERSION
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
### Parameters
 | 
			
		||||
 | 
			
		||||
#### Environment variables
 | 
			
		||||
 | 
			
		||||
* `QBT_EULA` \
 | 
			
		||||
  This environment variable defines whether you accept the end-user license agreement (EULA) of qBittorrent. \
 | 
			
		||||
  **Put `accept` only if you understand and accepted the EULA.** You can find
 | 
			
		||||
  the EULA [here](https://github.com/qbittorrent/qBittorrent/blob/56667e717b82c79433ecb8a5ff6cc2d7b315d773/src/app/main.cpp#L320-L323).
 | 
			
		||||
* `QBT_VERSION` \
 | 
			
		||||
  This environment variable specifies the version of qBittorrent-nox to be built. \
 | 
			
		||||
  For example, `4.4.0` is a valid entry. You can find all tagged versions [here](https://github.com/qbittorrent/qBittorrent/tags). \
 | 
			
		||||
  Or you can put `devel` to build the latest development version.
 | 
			
		||||
* `QBT_WEBUI_PORT` \
 | 
			
		||||
  This environment variable sets the port number which qBittorrent WebUI will be binded to.
 | 
			
		||||
 | 
			
		||||
#### Volumes
 | 
			
		||||
 | 
			
		||||
There are some paths involved:
 | 
			
		||||
* `<your_path>/config` \
 | 
			
		||||
  Full path to a folder on your host machine which will store qBittorrent configurations.
 | 
			
		||||
  Using relative path won't work.
 | 
			
		||||
* `<your_path>/downloads` \
 | 
			
		||||
  Full path to a folder on your host machine which will store the files downloaded by qBittorrent.
 | 
			
		||||
  Using relative path won't work.
 | 
			
		||||
 | 
			
		||||
## Running container
 | 
			
		||||
 | 
			
		||||
* Using Docker (not Docker Compose), simply run:
 | 
			
		||||
  ```shell
 | 
			
		||||
  export \
 | 
			
		||||
    QBT_EULA=accept \
 | 
			
		||||
    QBT_VERSION=devel \
 | 
			
		||||
    QBT_WEBUI_PORT=8080 \
 | 
			
		||||
    QBT_CONFIG_PATH="/tmp/bbb/config"
 | 
			
		||||
    QBT_DOWNLOADS_PATH="/tmp/bbb/downloads"
 | 
			
		||||
  docker run \
 | 
			
		||||
    -t \
 | 
			
		||||
    --read-only \
 | 
			
		||||
    --rm \
 | 
			
		||||
    --tmpfs /tmp \
 | 
			
		||||
    --name qbittorrent-nox \
 | 
			
		||||
    -e QBT_EULA \
 | 
			
		||||
    -e QBT_WEBUI_PORT \
 | 
			
		||||
    -p "$QBT_WEBUI_PORT":"$QBT_WEBUI_PORT"/tcp \
 | 
			
		||||
    -p 6881:6881/tcp \
 | 
			
		||||
    -p 6881:6881/udp \
 | 
			
		||||
    -v "$QBT_CONFIG_PATH":/config \
 | 
			
		||||
    -v "$QBT_DOWNLOADS_PATH":/downloads \
 | 
			
		||||
    qbittorrent-nox:"$QBT_VERSION"
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
* Using Docker Compose:
 | 
			
		||||
  ```shell
 | 
			
		||||
  docker compose up
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
Then you can login at: `http://127.0.0.1:8080`
 | 
			
		||||
 | 
			
		||||
## Stopping container
 | 
			
		||||
 | 
			
		||||
* Using Docker (not Docker Compose):
 | 
			
		||||
  ```shell
 | 
			
		||||
  docker stop -t 1800 qbittorrent-nox
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
* Using Docker Compose:
 | 
			
		||||
  ```shell
 | 
			
		||||
  docker compose down
 | 
			
		||||
  ```
 | 
			
		||||
							
								
								
									
										25
									
								
								dist/docker/docker-compose.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								dist/docker/docker-compose.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,25 +0,0 @@
 | 
			
		||||
version: "3.9"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  qbittorrent-nox:
 | 
			
		||||
    build: .
 | 
			
		||||
    container_name: qbittorrent-nox
 | 
			
		||||
    environment:
 | 
			
		||||
      - QBT_EULA=${QBT_EULA}
 | 
			
		||||
      - QBT_VERSION=${QBT_VERSION}
 | 
			
		||||
      - QBT_WEBUI_PORT=${QBT_WEBUI_PORT}
 | 
			
		||||
    image: qbittorrent-nox:${QBT_VERSION}
 | 
			
		||||
    ports:
 | 
			
		||||
      # for bittorrent traffic
 | 
			
		||||
      - 6881:6881/tcp
 | 
			
		||||
      - 6881:6881/udp
 | 
			
		||||
      # for WebUI
 | 
			
		||||
      - ${QBT_WEBUI_PORT}:${QBT_WEBUI_PORT}/tcp
 | 
			
		||||
    read_only: true
 | 
			
		||||
    stop_grace_period: 30m
 | 
			
		||||
    tmpfs:
 | 
			
		||||
      - /tmp
 | 
			
		||||
    tty: true
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ${QBT_CONFIG_PATH}:/config
 | 
			
		||||
      - ${QBT_DOWNLOADS_PATH}:/downloads
 | 
			
		||||
							
								
								
									
										35
									
								
								dist/docker/entrypoint.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								dist/docker/entrypoint.sh
									
									
									
									
										vendored
									
									
								
							@@ -1,35 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
downloadsPath="/downloads"
 | 
			
		||||
profilePath="/config"
 | 
			
		||||
qbtConfigFile="$profilePath/qBittorrent/config/qBittorrent.conf"
 | 
			
		||||
 | 
			
		||||
if [ ! -f "$qbtConfigFile" ]; then
 | 
			
		||||
    mkdir -p "$(dirname $qbtConfigFile)"
 | 
			
		||||
    cat << EOF > "$qbtConfigFile"
 | 
			
		||||
[BitTorrent]
 | 
			
		||||
Session\DefaultSavePath=/downloads
 | 
			
		||||
Session\Port=6881
 | 
			
		||||
Session\TempPath=/downloads/temp
 | 
			
		||||
 | 
			
		||||
[LegalNotice]
 | 
			
		||||
Accepted=false
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
    if [ "$QBT_EULA" = "accept" ]; then
 | 
			
		||||
        sed -i '/^\[LegalNotice\]$/{$!{N;s|\(\[LegalNotice\]\nAccepted=\).*|\1true|}}' "$qbtConfigFile"
 | 
			
		||||
    else
 | 
			
		||||
        sed -i '/^\[LegalNotice\]$/{$!{N;s|\(\[LegalNotice\]\nAccepted=\).*|\1false|}}' "$qbtConfigFile"
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# those are owned by root by default
 | 
			
		||||
# don't change existing files owner in `$downloadsPath`
 | 
			
		||||
chown qbtUser:qbtUser "$downloadsPath"
 | 
			
		||||
chown qbtUser:qbtUser -R "$profilePath"
 | 
			
		||||
 | 
			
		||||
doas -u qbtUser \
 | 
			
		||||
    qbittorrent-nox \
 | 
			
		||||
        --profile="$profilePath" \
 | 
			
		||||
        --webui-port="$QBT_WEBUI_PORT" \
 | 
			
		||||
        "$@"
 | 
			
		||||
							
								
								
									
										2
									
								
								dist/mac/Info.plist
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/mac/Info.plist
									
									
									
									
										vendored
									
									
								
							@@ -55,7 +55,7 @@
 | 
			
		||||
	<key>CFBundlePackageType</key>
 | 
			
		||||
	<string>APPL</string>
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
	<string>4.5.0</string>
 | 
			
		||||
	<string>4.5.4</string>
 | 
			
		||||
	<key>CFBundleExecutable</key>
 | 
			
		||||
	<string>${EXECUTABLE_NAME}</string>
 | 
			
		||||
	<key>CFBundleIdentifier</key>
 | 
			
		||||
 
 | 
			
		||||
@@ -74,6 +74,6 @@
 | 
			
		||||
  <url type="translate">https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent</url>
 | 
			
		||||
  <content_rating type="oars-1.1"/>
 | 
			
		||||
  <releases>
 | 
			
		||||
    <release version="4.5.0" date="2022-01-06"/>
 | 
			
		||||
    <release version="4.5.4" date="2023-06-18"/>
 | 
			
		||||
  </releases>
 | 
			
		||||
</component>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								dist/unix/org.qbittorrent.qBittorrent.desktop
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								dist/unix/org.qbittorrent.qBittorrent.desktop
									
									
									
									
										vendored
									
									
								
							@@ -98,8 +98,8 @@ Name[is]=qBittorrent
 | 
			
		||||
Comment[it]=Scarica e condividi file tramite BitTorrent
 | 
			
		||||
GenericName[it]=Client BitTorrent
 | 
			
		||||
Name[it]=qBittorrent
 | 
			
		||||
Comment[ja]=BitTorrent でファイルをダウンロードおよび共有します
 | 
			
		||||
GenericName[ja]=BitTorrent クライアント
 | 
			
		||||
Comment[ja]=BitTorrentでファイルのダウンロードと共有
 | 
			
		||||
GenericName[ja]=BitTorrentクライアント
 | 
			
		||||
Name[ja]=qBittorrent
 | 
			
		||||
Comment[ka]=გადმოტვირთეთ და გააზიარეთ ფაილები BitTorrent-ის საშუალებით
 | 
			
		||||
GenericName[ka]=BitTorrent კლიენტი
 | 
			
		||||
@@ -160,7 +160,7 @@ Comment[te]=క్యు  బిట్ టొరెంట్ తో ఫైల్
 | 
			
		||||
GenericName[te]=క్యు  బిట్ టొరెంట్ క్లయింట్
 | 
			
		||||
Name[te]=qBittorrent
 | 
			
		||||
Comment[th]=ดาวน์โหลดและแชร์ไฟล์ผ่าน BitTorrent
 | 
			
		||||
GenericName[th]=ไคลเอนต์ BitTorrent
 | 
			
		||||
GenericName[th]=โปรแกรมบิททอเร้นท์
 | 
			
		||||
Name[th]=qBittorrent
 | 
			
		||||
Comment[tr]=Dosyaları BitTorrent üzerinden indirin ve paylaşın
 | 
			
		||||
GenericName[tr]=BitTorrent istemcisi
 | 
			
		||||
@@ -178,7 +178,7 @@ Comment[zh_HK]=經由BitTorrent下載並分享檔案
 | 
			
		||||
GenericName[zh_HK]=BitTorrent用戶端
 | 
			
		||||
Name[zh_HK]=qBittorrent
 | 
			
		||||
Comment[zh_TW]=經由 BitTorrent 下載並分享檔案
 | 
			
		||||
GenericName[zh_TW]=BitTorrent 客戶端
 | 
			
		||||
GenericName[zh_TW]=BitTorrent 用戶端
 | 
			
		||||
Name[zh_TW]=qBittorrent
 | 
			
		||||
Comment[eo]=Elŝutu kaj kunhavigu dosierojn per BitTorrent
 | 
			
		||||
GenericName[eo]=BitTorrent-kliento
 | 
			
		||||
@@ -208,7 +208,7 @@ Name[ltg]=qBittorrent
 | 
			
		||||
Comment[hi_IN]=BitTorrent द्वारा फाइल डाउनलोड व सहभाजन
 | 
			
		||||
GenericName[hi_IN]=Bittorrent साधन
 | 
			
		||||
Name[hi_IN]=qBittorrent
 | 
			
		||||
Comment[az@latin]=Faylları BitTorrent vasitəsilə göndərin və paylaşın
 | 
			
		||||
Comment[az@latin]=Faylları BitTorrent vasitəsilə endirin və paylaşın
 | 
			
		||||
GenericName[az@latin]=BitTorrent client
 | 
			
		||||
Name[az@latin]=qBittorrent
 | 
			
		||||
Comment[lv_LV]=Lejupielādēt un koplietot failus ar BitTorrent
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								dist/windows/config.nsi
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/windows/config.nsi
									
									
									
									
										vendored
									
									
								
							@@ -25,7 +25,7 @@
 | 
			
		||||
; 4.5.1.3 -> good
 | 
			
		||||
; 4.5.1.3.2 -> bad
 | 
			
		||||
; 4.5.0beta -> bad
 | 
			
		||||
!define /ifndef QBT_VERSION "4.5.0"
 | 
			
		||||
!define /ifndef QBT_VERSION "4.5.4"
 | 
			
		||||
 | 
			
		||||
; Option that controls the installer's window name
 | 
			
		||||
; If set, its value will be used like this:
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
 | 
			
		||||
LangString inst_qbt_req ${LANG_LITHUANIAN} "qBittorrent (reikalingas)"
 | 
			
		||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
 | 
			
		||||
LangString inst_dekstop ${LANG_LITHUANIAN} "Sukurti darbalaukyje nuorodą"
 | 
			
		||||
LangString inst_dekstop ${LANG_LITHUANIAN} "Sukurti nuorodą darbalaukyje"
 | 
			
		||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
 | 
			
		||||
LangString inst_startmenu ${LANG_LITHUANIAN} "Sukurti Pradėti meniu nuorodą"
 | 
			
		||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
 | 
			
		||||
@@ -13,27 +13,27 @@ LangString inst_torrent ${LANG_LITHUANIAN} "Atidaryti .torrent failus su qBittor
 | 
			
		||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
 | 
			
		||||
LangString inst_magnet ${LANG_LITHUANIAN} "Atidaryti magneto nuorodas su qBittorrent"
 | 
			
		||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
 | 
			
		||||
LangString inst_firewall ${LANG_LITHUANIAN} "Sukurti Windows užkardos leidimą"
 | 
			
		||||
LangString inst_firewall ${LANG_LITHUANIAN} "Sukurti Windows interneto užkardos leidimą"
 | 
			
		||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
 | 
			
		||||
LangString inst_pathlimit ${LANG_LITHUANIAN} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
 | 
			
		||||
LangString inst_pathlimit ${LANG_LITHUANIAN} "Išjungti Windows path ilgio limitaciją (260 ženklų MAX_PATH limitacija, reikalinga versija yra Windows 10 1607 ar naujesnė)"
 | 
			
		||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
 | 
			
		||||
LangString inst_firewallinfo ${LANG_LITHUANIAN} "Pridedu Windows užkardos leidimą"
 | 
			
		||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
 | 
			
		||||
LangString inst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašau uždaryti programą prieš įdiegiant."
 | 
			
		||||
LangString inst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašome uždaryti programą prieš įdiegiant."
 | 
			
		||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
 | 
			
		||||
LangString inst_uninstall_question ${LANG_LITHUANIAN} "Current version will be uninstalled. User settings and torrents will remain intact."
 | 
			
		||||
LangString inst_uninstall_question ${LANG_LITHUANIAN} "Dabartinė versija bus pašalinta. Naudotojo nustatymai ir torrentai liks nepakeisti."
 | 
			
		||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
 | 
			
		||||
LangString inst_unist ${LANG_LITHUANIAN} "Šalinu ankstesnę versiją."
 | 
			
		||||
LangString inst_unist ${LANG_LITHUANIAN} "Šalinama ankstesnė versija."
 | 
			
		||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
 | 
			
		||||
LangString launch_qbt ${LANG_LITHUANIAN} "Paleisti qBittorrent."
 | 
			
		||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_LITHUANIAN} "This installer works only in 64-bit Windows versions."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_LITHUANIAN} "Šis įdiegėjas veikia tik su 64 bitų Windows versija."
 | 
			
		||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_LITHUANIAN} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_LITHUANIAN} "Ši qBittorent versija reikalauja bent Windows 7."
 | 
			
		||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_LITHUANIAN}  "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_LITHUANIAN}  "Šis įdiegėjas reikalauja bent Windows 10 1809."
 | 
			
		||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_LITHUANIAN} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_LITHUANIAN} "Pašalinti qBittorrent"
 | 
			
		||||
 | 
			
		||||
;------------------------------------
 | 
			
		||||
;Uninstaller strings
 | 
			
		||||
@@ -49,14 +49,14 @@ LangString remove_registry ${LANG_LITHUANIAN} "Pašalinti registro raktus"
 | 
			
		||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
 | 
			
		||||
LangString remove_conf ${LANG_LITHUANIAN} "Pašalinti nustatymų failus"
 | 
			
		||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
 | 
			
		||||
LangString remove_firewall ${LANG_LITHUANIAN} "Pašalinti Windows užkardos leidimą"
 | 
			
		||||
LangString remove_firewall ${LANG_LITHUANIAN} "Pašalinti Windows interneto užkardos leidimą"
 | 
			
		||||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
 | 
			
		||||
LangString remove_firewallinfo ${LANG_LITHUANIAN} "Šalinu Windows užkardos leidimą"
 | 
			
		||||
LangString remove_firewallinfo ${LANG_LITHUANIAN} "Šalinamas Windows interneto užkardos leidimas"
 | 
			
		||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
 | 
			
		||||
LangString remove_cache ${LANG_LITHUANIAN} "Pašalinti torentus ir podėlio duomenis"
 | 
			
		||||
LangString remove_cache ${LANG_LITHUANIAN} "Pašalinti torentus ir talpyklos duomenis"
 | 
			
		||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
 | 
			
		||||
LangString uninst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašau uždarykite programą prieš išdiegiant."
 | 
			
		||||
LangString uninst_warning ${LANG_LITHUANIAN} "qBittorrent yra paleistas. Prašome uždaryti programą prieš išdiegiant."
 | 
			
		||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
 | 
			
		||||
LangString uninst_tor_warn ${LANG_LITHUANIAN} "Negaliu pašalinti .torrent asociacijos. Ji yra susieti su:"
 | 
			
		||||
LangString uninst_tor_warn ${LANG_LITHUANIAN} "Neįmanoma pašalinti .torrent asociacijos. Ji yra susieta su:"
 | 
			
		||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
 | 
			
		||||
LangString uninst_mag_warn ${LANG_LITHUANIAN} "Negaliu pašalinti magneto asociacijos. Jis susietas su:"
 | 
			
		||||
LangString uninst_mag_warn ${LANG_LITHUANIAN} "Neįmanoma pašalinti magneto asociacijos. Ji yra susieta su:"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								dist/windows/installer-translations/slovak.nsi
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										56
									
								
								dist/windows/installer-translations/slovak.nsi
									
									
									
									
										vendored
									
									
								
							@@ -1,62 +1,62 @@
 | 
			
		||||
;Installer strings
 | 
			
		||||
 | 
			
		||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
 | 
			
		||||
LangString inst_qbt_req ${LANG_SLOVAK} "qBittorrent (required)"
 | 
			
		||||
LangString inst_qbt_req ${LANG_SLOVAK} "qBittorrent (požadované)"
 | 
			
		||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
 | 
			
		||||
LangString inst_dekstop ${LANG_SLOVAK} "Create Desktop Shortcut"
 | 
			
		||||
LangString inst_dekstop ${LANG_SLOVAK} "Vytvoriť odkaz na pracovnej ploche"
 | 
			
		||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
 | 
			
		||||
LangString inst_startmenu ${LANG_SLOVAK} "Create Start Menu Shortcut"
 | 
			
		||||
LangString inst_startmenu ${LANG_SLOVAK} "Vytvoriť odkaz v štart menu"
 | 
			
		||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
 | 
			
		||||
LangString inst_startup ${LANG_SLOVAK} "Start qBittorrent on Windows start up"
 | 
			
		||||
LangString inst_startup ${LANG_SLOVAK} "Sputiť qBittorrent pri štarte Windowsu"
 | 
			
		||||
;LangString inst_torrent ${LANG_ENGLISH} "Open .torrent files with qBittorrent"
 | 
			
		||||
LangString inst_torrent ${LANG_SLOVAK} "Open .torrent files with qBittorrent"
 | 
			
		||||
LangString inst_torrent ${LANG_SLOVAK} "Otvárať .torrent súbory v qBittorrent"
 | 
			
		||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
 | 
			
		||||
LangString inst_magnet ${LANG_SLOVAK} "Open magnet links with qBittorrent"
 | 
			
		||||
LangString inst_magnet ${LANG_SLOVAK} "Otvárať magnet odkazy v qBittorrent"
 | 
			
		||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
 | 
			
		||||
LangString inst_firewall ${LANG_SLOVAK} "Add Windows Firewall rule"
 | 
			
		||||
LangString inst_firewall ${LANG_SLOVAK} "Pridať pravidlo do Windows Firewall"
 | 
			
		||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
 | 
			
		||||
LangString inst_pathlimit ${LANG_SLOVAK} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
 | 
			
		||||
LangString inst_pathlimit ${LANG_SLOVAK} "Vypnúť limit dĺžky cesty Windowsu (260 znaková MAX_PATH limitácia, vyžaduje Windows 10 1607 alebo novšie)"
 | 
			
		||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
 | 
			
		||||
LangString inst_firewallinfo ${LANG_SLOVAK} "Adding Windows Firewall rule"
 | 
			
		||||
LangString inst_firewallinfo ${LANG_SLOVAK} "Pridáva sa pravidlo do Windows Firewall"
 | 
			
		||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
 | 
			
		||||
LangString inst_warning ${LANG_SLOVAK} "qBittorrent is running. Please close the application before installing."
 | 
			
		||||
LangString inst_warning ${LANG_SLOVAK} "qBittorrent je spustený. Zatvorte prosím aplikáciu pred inštaláciou."
 | 
			
		||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
 | 
			
		||||
LangString inst_uninstall_question ${LANG_SLOVAK} "Current version will be uninstalled. User settings and torrents will remain intact."
 | 
			
		||||
LangString inst_uninstall_question ${LANG_SLOVAK} "Aktuálna verzia bude odinštalovaná. Užívateľské nastavenia a torrenty sa zachovajú."
 | 
			
		||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
 | 
			
		||||
LangString inst_unist ${LANG_SLOVAK} "Uninstalling previous version."
 | 
			
		||||
LangString inst_unist ${LANG_SLOVAK} "Odinštalácia predchádzajúcej verzie."
 | 
			
		||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
 | 
			
		||||
LangString launch_qbt ${LANG_SLOVAK} "Launch qBittorrent."
 | 
			
		||||
LangString launch_qbt ${LANG_SLOVAK} "Spustiť qBittorrent."
 | 
			
		||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_SLOVAK} "This installer works only in 64-bit Windows versions."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_SLOVAK} "Táto inštalácia funguje iba na 64-bitových verziách Windowsu."
 | 
			
		||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_SLOVAK} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_SLOVAK} "Táto qBittorrent verzia vyžaduje aspoň Windows 7."
 | 
			
		||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_SLOVAK}  "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_SLOVAK}  "Tento inštalátor vyžaduje aspoň Windows 10 1809."
 | 
			
		||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_SLOVAK} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_SLOVAK} "Odinštalovať qBittorrent"
 | 
			
		||||
 | 
			
		||||
;------------------------------------
 | 
			
		||||
;Uninstaller strings
 | 
			
		||||
 | 
			
		||||
;LangString remove_files ${LANG_ENGLISH} "Remove files"
 | 
			
		||||
LangString remove_files ${LANG_SLOVAK} "Remove files"
 | 
			
		||||
LangString remove_files ${LANG_SLOVAK} "Odstrániť súbory"
 | 
			
		||||
;LangString remove_shortcuts ${LANG_ENGLISH} "Remove shortcuts"
 | 
			
		||||
LangString remove_shortcuts ${LANG_SLOVAK} "Remove shortcuts"
 | 
			
		||||
LangString remove_shortcuts ${LANG_SLOVAK} "Odstrániť odkazy"
 | 
			
		||||
;LangString remove_associations ${LANG_ENGLISH} "Remove file associations"
 | 
			
		||||
LangString remove_associations ${LANG_SLOVAK} "Remove file associations"
 | 
			
		||||
LangString remove_associations ${LANG_SLOVAK} "Odstrániť asociácie súborov"
 | 
			
		||||
;LangString remove_registry ${LANG_ENGLISH} "Remove registry keys"
 | 
			
		||||
LangString remove_registry ${LANG_SLOVAK} "Remove registry keys"
 | 
			
		||||
LangString remove_registry ${LANG_SLOVAK} "Odstrániť kľúče registrov"
 | 
			
		||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
 | 
			
		||||
LangString remove_conf ${LANG_SLOVAK} "Remove configuration files"
 | 
			
		||||
LangString remove_conf ${LANG_SLOVAK} "Odstrániť konfiguračné súbory"
 | 
			
		||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
 | 
			
		||||
LangString remove_firewall ${LANG_SLOVAK} "Remove Windows Firewall rule"
 | 
			
		||||
LangString remove_firewall ${LANG_SLOVAK} "Odstrániť pravidlo z Windows Firewall"
 | 
			
		||||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
 | 
			
		||||
LangString remove_firewallinfo ${LANG_SLOVAK} "Removing Windows Firewall rule"
 | 
			
		||||
LangString remove_firewallinfo ${LANG_SLOVAK} "Odstraňuje sa pravidlo z Windows Firewall"
 | 
			
		||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
 | 
			
		||||
LangString remove_cache ${LANG_SLOVAK} "Remove torrents and cached data"
 | 
			
		||||
LangString remove_cache ${LANG_SLOVAK} "Odstrániť torrenty a dáta z vyrovnávacej pamäti"
 | 
			
		||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
 | 
			
		||||
LangString uninst_warning ${LANG_SLOVAK} "qBittorrent is running. Please close the application before uninstalling."
 | 
			
		||||
LangString uninst_warning ${LANG_SLOVAK} "qBittorrent je spustený. Zatvorte prosím aplikáciu pred odinštaláciou."
 | 
			
		||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
 | 
			
		||||
LangString uninst_tor_warn ${LANG_SLOVAK} "Not removing .torrent association. It is associated with:"
 | 
			
		||||
LangString uninst_tor_warn ${LANG_SLOVAK} "Neodstraňuje sa .torrent asociácia. Asociované s:"
 | 
			
		||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
 | 
			
		||||
LangString uninst_mag_warn ${LANG_SLOVAK} "Not removing magnet association. It is associated with:"
 | 
			
		||||
LangString uninst_mag_warn ${LANG_SLOVAK} "Neodstraňuje sa magnet asociácia. Asociované s:"
 | 
			
		||||
 
 | 
			
		||||
@@ -27,11 +27,11 @@ LangString inst_unist ${LANG_SWEDISH} "Avinstallerar tidigare version."
 | 
			
		||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
 | 
			
		||||
LangString launch_qbt ${LANG_SWEDISH} "Kör qBittorrent."
 | 
			
		||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_SWEDISH} "Installationsprogrammet fungerar endast i 64-bitars Windows-versioner."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_SWEDISH} "Det här installationsprogrammet fungerar endast i 64-bitars Windows-versioner."
 | 
			
		||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_SWEDISH} "Den här qBittorrent-versionen kräver minst Windows 7."
 | 
			
		||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_SWEDISH}  "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_SWEDISH}  "Det här installationsprogrammet kräver minst Windows 10 1809."
 | 
			
		||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_SWEDISH} "Avinstallera qBittorrent"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ LangString inst_requires_64bit ${LANG_TURKISH} "Bu yükleyici sadece 64-bit Wind
 | 
			
		||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_TURKISH} "Bu qBittorrent sürümü en az Windows 7 gerektirir."
 | 
			
		||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_TURKISH}  "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_TURKISH}  "Bu yükleyici en az Windows 10 1809 gerektirir."
 | 
			
		||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_TURKISH} "qBittorrent'i kaldır"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								dist/windows/installer-translations/uzbek.nsi
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										56
									
								
								dist/windows/installer-translations/uzbek.nsi
									
									
									
									
										vendored
									
									
								
							@@ -1,62 +1,62 @@
 | 
			
		||||
;Installer strings
 | 
			
		||||
 | 
			
		||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
 | 
			
		||||
LangString inst_qbt_req ${LANG_UZBEK} "qBittorrent (required)"
 | 
			
		||||
LangString inst_qbt_req ${LANG_UZBEK} "qBittorrent (talab qilinadi)"
 | 
			
		||||
;LangString inst_dekstop ${LANG_ENGLISH} "Create Desktop Shortcut"
 | 
			
		||||
LangString inst_dekstop ${LANG_UZBEK} "Create Desktop Shortcut"
 | 
			
		||||
LangString inst_dekstop ${LANG_UZBEK} "Ish Stolida Yorliq Yaratilsin"
 | 
			
		||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
 | 
			
		||||
LangString inst_startmenu ${LANG_UZBEK} "Create Start Menu Shortcut"
 | 
			
		||||
LangString inst_startmenu ${LANG_UZBEK} "Boshlash Menyusida Yorliq Yaratilsin"
 | 
			
		||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
 | 
			
		||||
LangString inst_startup ${LANG_UZBEK} "Start qBittorrent on Windows start up"
 | 
			
		||||
LangString inst_startup ${LANG_UZBEK} "qBittorrent Windows bilan birga ishga tushirilsin"
 | 
			
		||||
;LangString inst_torrent ${LANG_ENGLISH} "Open .torrent files with qBittorrent"
 | 
			
		||||
LangString inst_torrent ${LANG_UZBEK} "Open .torrent files with qBittorrent"
 | 
			
		||||
LangString inst_torrent ${LANG_UZBEK} ".torrent fayllar qBittorrent bilan ochilsin"
 | 
			
		||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
 | 
			
		||||
LangString inst_magnet ${LANG_UZBEK} "Open magnet links with qBittorrent"
 | 
			
		||||
LangString inst_magnet ${LANG_UZBEK} "Magnit havolalar qBittorrent bilan ochilsin"
 | 
			
		||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
 | 
			
		||||
LangString inst_firewall ${LANG_UZBEK} "Add Windows Firewall rule"
 | 
			
		||||
LangString inst_firewall ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasi qoʻshilsin"
 | 
			
		||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
 | 
			
		||||
LangString inst_pathlimit ${LANG_UZBEK} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
 | 
			
		||||
LangString inst_pathlimit ${LANG_UZBEK} "Windows yoʻl uzunligi cheklovi olib tashlansin (260 belgi MAX_PATH cheklovi, Windows 10 1607 va yuqorisi talab qilinadi)"
 | 
			
		||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
 | 
			
		||||
LangString inst_firewallinfo ${LANG_UZBEK} "Adding Windows Firewall rule"
 | 
			
		||||
LangString inst_firewallinfo ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasini qoʻshish"
 | 
			
		||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
 | 
			
		||||
LangString inst_warning ${LANG_UZBEK} "qBittorrent is running. Please close the application before installing."
 | 
			
		||||
LangString inst_warning ${LANG_UZBEK} "qBittorrent ishga tushgan. Iltimos, oʻrnatishdan oldin dasturni yoping."
 | 
			
		||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
 | 
			
		||||
LangString inst_uninstall_question ${LANG_UZBEK} "Current version will be uninstalled. User settings and torrents will remain intact."
 | 
			
		||||
LangString inst_uninstall_question ${LANG_UZBEK} "Hozirgi versiya oʻchiriladi. Foydalanuvchi sozlamalari va torrentlar oʻzgarishsiz qoladi."
 | 
			
		||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
 | 
			
		||||
LangString inst_unist ${LANG_UZBEK} "Uninstalling previous version."
 | 
			
		||||
LangString inst_unist ${LANG_UZBEK} "Oldingi versiyani oʻchirish."
 | 
			
		||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
 | 
			
		||||
LangString launch_qbt ${LANG_UZBEK} "Launch qBittorrent."
 | 
			
		||||
LangString launch_qbt ${LANG_UZBEK} "qBittorrent ishga tushirilsin."
 | 
			
		||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_UZBEK} "This installer works only in 64-bit Windows versions."
 | 
			
		||||
LangString inst_requires_64bit ${LANG_UZBEK} "Bu oʻrnatuvchi faqat Windows 64-bit versiyalarda ishlaydi."
 | 
			
		||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_UZBEK} "This qBittorrent version requires at least Windows 7."
 | 
			
		||||
LangString inst_requires_win7 ${LANG_UZBEK} "qBittorrent bu versiyasi kamida Windows 7 talab qiladi."
 | 
			
		||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_UZBEK}  "This installer requires at least Windows 10 1809."
 | 
			
		||||
LangString inst_requires_win10 ${LANG_UZBEK}  "Bu oʻrnatuvchi  kamida Windows 10 1809 talab qiladi."
 | 
			
		||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_UZBEK} "Uninstall qBittorrent"
 | 
			
		||||
LangString inst_uninstall_link_description ${LANG_UZBEK} "qBittorrent oʻchirilsin"
 | 
			
		||||
 | 
			
		||||
;------------------------------------
 | 
			
		||||
;Uninstaller strings
 | 
			
		||||
 | 
			
		||||
;LangString remove_files ${LANG_ENGLISH} "Remove files"
 | 
			
		||||
LangString remove_files ${LANG_UZBEK} "Remove files"
 | 
			
		||||
LangString remove_files ${LANG_UZBEK} "Fayllar oʻchirilsin"
 | 
			
		||||
;LangString remove_shortcuts ${LANG_ENGLISH} "Remove shortcuts"
 | 
			
		||||
LangString remove_shortcuts ${LANG_UZBEK} "Remove shortcuts"
 | 
			
		||||
LangString remove_shortcuts ${LANG_UZBEK} "Yorliqlar oʻchirilsin"
 | 
			
		||||
;LangString remove_associations ${LANG_ENGLISH} "Remove file associations"
 | 
			
		||||
LangString remove_associations ${LANG_UZBEK} "Remove file associations"
 | 
			
		||||
LangString remove_associations ${LANG_UZBEK} "Fayl birlashmalari oʻchirilsin"
 | 
			
		||||
;LangString remove_registry ${LANG_ENGLISH} "Remove registry keys"
 | 
			
		||||
LangString remove_registry ${LANG_UZBEK} "Remove registry keys"
 | 
			
		||||
LangString remove_registry ${LANG_UZBEK} "Reyester kalitlari oʻchirilsin"
 | 
			
		||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
 | 
			
		||||
LangString remove_conf ${LANG_UZBEK} "Remove configuration files"
 | 
			
		||||
LangString remove_conf ${LANG_UZBEK} "Sozlama fayllari oʻchirilsin"
 | 
			
		||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
 | 
			
		||||
LangString remove_firewall ${LANG_UZBEK} "Remove Windows Firewall rule"
 | 
			
		||||
LangString remove_firewall ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasi oʻchirilsin"
 | 
			
		||||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
 | 
			
		||||
LangString remove_firewallinfo ${LANG_UZBEK} "Removing Windows Firewall rule"
 | 
			
		||||
LangString remove_firewallinfo ${LANG_UZBEK} "Windows Xavfsizlik Devori qoidasini oʻchirish"
 | 
			
		||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
 | 
			
		||||
LangString remove_cache ${LANG_UZBEK} "Remove torrents and cached data"
 | 
			
		||||
LangString remove_cache ${LANG_UZBEK} "Torrentlar va keshlangan maʼlumotlar oʻchirilsin"
 | 
			
		||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
 | 
			
		||||
LangString uninst_warning ${LANG_UZBEK} "qBittorrent is running. Please close the application before uninstalling."
 | 
			
		||||
LangString uninst_warning ${LANG_UZBEK} "qBittorrent ishga tushgan. Iltimos, oʻchirishdan oldin dasturni yoping."
 | 
			
		||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
 | 
			
		||||
LangString uninst_tor_warn ${LANG_UZBEK} "Not removing .torrent association. It is associated with:"
 | 
			
		||||
LangString uninst_tor_warn ${LANG_UZBEK} ".torrent birlashmasi oʻchirilmadi. U quyidagi bilan birlashgan:"
 | 
			
		||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
 | 
			
		||||
LangString uninst_mag_warn ${LANG_UZBEK} "Not removing magnet association. It is associated with:"
 | 
			
		||||
LangString uninst_mag_warn ${LANG_UZBEK} "Magnit birlashmasi oʻchirilmadi. U quyidagi bilan birlashgan:"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								dist/windows/installer.nsi
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/windows/installer.nsi
									
									
									
									
										vendored
									
									
								
							@@ -35,6 +35,8 @@ Section $(inst_qbt_req) ;"qBittorrent (required)"
 | 
			
		||||
  SetOutPath "$INSTDIR\translations"
 | 
			
		||||
  ; Put files there
 | 
			
		||||
  File /r "translations\qt*.qm"
 | 
			
		||||
  ; Restore output path because it affects `CreateShortCut`. It affects the "Start in" field.
 | 
			
		||||
  SetOutPath $INSTDIR
 | 
			
		||||
 | 
			
		||||
  ; Write the installation path into the registry
 | 
			
		||||
  WriteRegStr HKLM "Software\qBittorrent" "InstallLocation" "$INSTDIR"
 | 
			
		||||
 
 | 
			
		||||
@@ -88,6 +88,7 @@
 | 
			
		||||
#include "base/version.h"
 | 
			
		||||
#include "applicationinstancemanager.h"
 | 
			
		||||
#include "filelogger.h"
 | 
			
		||||
#include "upgrade.h"
 | 
			
		||||
 | 
			
		||||
#ifndef DISABLE_GUI
 | 
			
		||||
#include "gui/addnewtorrentdialog.h"
 | 
			
		||||
@@ -171,6 +172,18 @@ Application::Application(int &argc, char **argv)
 | 
			
		||||
    SettingsStorage::initInstance();
 | 
			
		||||
    Preferences::initInstance();
 | 
			
		||||
 | 
			
		||||
    const bool firstTimeUser = !Preferences::instance()->getAcceptedLegal();
 | 
			
		||||
    if (!firstTimeUser)
 | 
			
		||||
    {
 | 
			
		||||
        if (!upgrade())
 | 
			
		||||
            throw RuntimeError(u"Failed migration of old settings"_qs); // Not translatable. Translation isn't configured yet.
 | 
			
		||||
        handleChangedDefaults(DefaultPreferencesMode::Legacy);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        handleChangedDefaults(DefaultPreferencesMode::Current);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    initializeTranslation();
 | 
			
		||||
 | 
			
		||||
    connect(this, &QCoreApplication::aboutToQuit, this, &Application::cleanup);
 | 
			
		||||
@@ -440,6 +453,7 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    const QString logMsg = tr("Running external program. Torrent: \"%1\". Command: `%2`");
 | 
			
		||||
    const QString logMsgError = tr("Failed to run external program. Torrent: \"%1\". Command: `%2`");
 | 
			
		||||
 | 
			
		||||
    // The processing sequenece is different for Windows and other OS, this is intentional
 | 
			
		||||
#if defined(Q_OS_WIN)
 | 
			
		||||
@@ -459,8 +473,6 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
 | 
			
		||||
    for (int i = 1; i < argCount; ++i)
 | 
			
		||||
        argList += QString::fromWCharArray(args[i]);
 | 
			
		||||
 | 
			
		||||
    LogMsg(logMsg.arg(torrent->name(), program));
 | 
			
		||||
 | 
			
		||||
    QProcess proc;
 | 
			
		||||
    proc.setProgram(QString::fromWCharArray(args[0]));
 | 
			
		||||
    proc.setArguments(argList);
 | 
			
		||||
@@ -485,7 +497,11 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
 | 
			
		||||
        args->startupInfo->hStdOutput = nullptr;
 | 
			
		||||
        args->startupInfo->hStdError = nullptr;
 | 
			
		||||
    });
 | 
			
		||||
    proc.startDetached();
 | 
			
		||||
 | 
			
		||||
    if (proc.startDetached())
 | 
			
		||||
        LogMsg(logMsg.arg(torrent->name(), program));
 | 
			
		||||
    else
 | 
			
		||||
        LogMsg(logMsgError.arg(torrent->name(), program));
 | 
			
		||||
#else // Q_OS_WIN
 | 
			
		||||
    QStringList args = Utils::String::splitCommand(programTemplate);
 | 
			
		||||
 | 
			
		||||
@@ -501,11 +517,21 @@ void Application::runExternalProgram(const QString &programTemplate, const BitTo
 | 
			
		||||
        arg = replaceVariables(arg);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // show intended command in log
 | 
			
		||||
    LogMsg(logMsg.arg(torrent->name(), replaceVariables(programTemplate)));
 | 
			
		||||
 | 
			
		||||
    const QString command = args.takeFirst();
 | 
			
		||||
    QProcess::startDetached(command, args);
 | 
			
		||||
    QProcess proc;
 | 
			
		||||
    proc.setProgram(command);
 | 
			
		||||
    proc.setArguments(args);
 | 
			
		||||
 | 
			
		||||
    if (proc.startDetached())
 | 
			
		||||
    {
 | 
			
		||||
        // show intended command in log
 | 
			
		||||
        LogMsg(logMsg.arg(torrent->name(), replaceVariables(programTemplate)));
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        // show intended command in log
 | 
			
		||||
        LogMsg(logMsgError.arg(torrent->name(), replaceVariables(programTemplate)));
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -658,8 +684,7 @@ Application::AddTorrentParams Application::parseParams(const QStringList ¶ms
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        parsedParams.torrentSource = param;
 | 
			
		||||
        break;
 | 
			
		||||
        parsedParams.torrentSources.append(param);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return parsedParams;
 | 
			
		||||
@@ -675,10 +700,16 @@ void Application::processParams(const AddTorrentParams ¶ms)
 | 
			
		||||
    // should be overridden.
 | 
			
		||||
    const bool showDialogForThisTorrent = !params.skipTorrentDialog.value_or(!AddNewTorrentDialog::isEnabled());
 | 
			
		||||
    if (showDialogForThisTorrent)
 | 
			
		||||
        AddNewTorrentDialog::show(params.torrentSource, params.torrentParams, m_window);
 | 
			
		||||
    {
 | 
			
		||||
        for (const QString &torrentSource : params.torrentSources)
 | 
			
		||||
            AddNewTorrentDialog::show(torrentSource, params.torrentParams, m_window);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
#endif
 | 
			
		||||
        BitTorrent::Session::instance()->addTorrent(params.torrentSource, params.torrentParams);
 | 
			
		||||
    {
 | 
			
		||||
        for (const QString &torrentSource : params.torrentSources)
 | 
			
		||||
            BitTorrent::Session::instance()->addTorrent(torrentSource, params.torrentParams);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int Application::exec(const QStringList ¶ms)
 | 
			
		||||
@@ -706,7 +737,7 @@ try
 | 
			
		||||
#ifndef DISABLE_GUI
 | 
			
		||||
    UIThemeManager::initInstance();
 | 
			
		||||
 | 
			
		||||
    m_desktopIntegration = new DesktopIntegration(this);
 | 
			
		||||
    m_desktopIntegration = new DesktopIntegration;
 | 
			
		||||
    m_desktopIntegration->setToolTip(tr("Loading torrents..."));
 | 
			
		||||
#ifndef Q_OS_MACOS
 | 
			
		||||
    auto *desktopIntegrationMenu = new QMenu;
 | 
			
		||||
@@ -714,7 +745,7 @@ try
 | 
			
		||||
    actionExit->setIcon(UIThemeManager::instance()->getIcon(u"application-exit"_qs));
 | 
			
		||||
    actionExit->setMenuRole(QAction::QuitRole);
 | 
			
		||||
    actionExit->setShortcut(Qt::CTRL | Qt::Key_Q);
 | 
			
		||||
    connect(actionExit, &QAction::triggered, this, [this]()
 | 
			
		||||
    connect(actionExit, &QAction::triggered, this, []
 | 
			
		||||
    {
 | 
			
		||||
        QApplication::exit();
 | 
			
		||||
    });
 | 
			
		||||
@@ -788,12 +819,9 @@ try
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        disconnect(m_desktopIntegration, &DesktopIntegration::activationRequested, this, &Application::createStartupProgressDialog);
 | 
			
		||||
        // we must not delete menu while it is used by DesktopIntegration
 | 
			
		||||
        auto *oldMenu = m_desktopIntegration->menu();
 | 
			
		||||
        const MainWindow::State windowState = (!m_startupProgressDialog || (m_startupProgressDialog->windowState() & Qt::WindowMinimized))
 | 
			
		||||
                ? MainWindow::Minimized : MainWindow::Normal;
 | 
			
		||||
        m_window = new MainWindow(this, windowState);
 | 
			
		||||
        delete oldMenu;
 | 
			
		||||
        delete m_startupProgressDialog;
 | 
			
		||||
#ifdef Q_OS_WIN
 | 
			
		||||
        auto *pref = Preferences::instance();
 | 
			
		||||
@@ -882,7 +910,7 @@ void Application::createStartupProgressDialog()
 | 
			
		||||
    m_startupProgressDialog = new QProgressDialog(tr("Loading torrents..."), tr("Exit"), 0, 100);
 | 
			
		||||
    m_startupProgressDialog->setAttribute(Qt::WA_DeleteOnClose);
 | 
			
		||||
    m_startupProgressDialog->setWindowFlag(Qt::WindowMinimizeButtonHint);
 | 
			
		||||
    m_startupProgressDialog->setMinimumDuration(0); // Show dialog immediatelly by default
 | 
			
		||||
    m_startupProgressDialog->setMinimumDuration(0); // Show dialog immediately by default
 | 
			
		||||
    m_startupProgressDialog->setAutoReset(false);
 | 
			
		||||
    m_startupProgressDialog->setAutoClose(false);
 | 
			
		||||
 | 
			
		||||
@@ -1201,6 +1229,7 @@ void Application::cleanup()
 | 
			
		||||
        ::ShutdownBlockReasonDestroy(reinterpret_cast<HWND>(m_window->effectiveWinId()));
 | 
			
		||||
#endif // Q_OS_WIN
 | 
			
		||||
        delete m_window;
 | 
			
		||||
        delete m_desktopIntegration;
 | 
			
		||||
        UIThemeManager::freeInstance();
 | 
			
		||||
    }
 | 
			
		||||
#endif // DISABLE_GUI
 | 
			
		||||
 
 | 
			
		||||
@@ -148,7 +148,7 @@ private slots:
 | 
			
		||||
private:
 | 
			
		||||
    struct AddTorrentParams
 | 
			
		||||
    {
 | 
			
		||||
        QString torrentSource;
 | 
			
		||||
        QStringList torrentSources;
 | 
			
		||||
        BitTorrent::AddTorrentParams torrentParams;
 | 
			
		||||
        std::optional<bool> skipTorrentDialog;
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
@@ -118,6 +118,17 @@ int main(int argc, char *argv[])
 | 
			
		||||
        // Create Application
 | 
			
		||||
        auto app = std::make_unique<Application>(argc, argv);
 | 
			
		||||
 | 
			
		||||
#ifdef Q_OS_WIN
 | 
			
		||||
        // QCoreApplication::applicationDirPath() needs an Application object instantiated first
 | 
			
		||||
        // Let's hope that there won't be a crash before this line
 | 
			
		||||
        const char *envName = "_NT_SYMBOL_PATH";
 | 
			
		||||
        const QString envValue = qEnvironmentVariable(envName);
 | 
			
		||||
        if (envValue.isEmpty())
 | 
			
		||||
            qputenv(envName, Application::applicationDirPath().toLocal8Bit());
 | 
			
		||||
        else
 | 
			
		||||
            qputenv(envName, u"%1;%2"_qs.arg(envValue, Application::applicationDirPath()).toLocal8Bit());
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        const QBtCommandLineParameters params = app->commandLineArgs();
 | 
			
		||||
        if (!params.unknownParameter.isEmpty())
 | 
			
		||||
        {
 | 
			
		||||
@@ -221,26 +232,6 @@ int main(int argc, char *argv[])
 | 
			
		||||
            app->setAttribute(Qt::AA_DontShowIconsInMenus);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        if (!firstTimeUser)
 | 
			
		||||
        {
 | 
			
		||||
            handleChangedDefaults(DefaultPreferencesMode::Legacy);
 | 
			
		||||
 | 
			
		||||
#ifndef DISABLE_GUI
 | 
			
		||||
            if (!upgrade()) return EXIT_FAILURE;
 | 
			
		||||
#elif defined(Q_OS_WIN)
 | 
			
		||||
            if (!upgrade(_isatty(_fileno(stdin))
 | 
			
		||||
                         && _isatty(_fileno(stdout)))) return EXIT_FAILURE;
 | 
			
		||||
#else
 | 
			
		||||
            if (!upgrade(!params.shouldDaemonize
 | 
			
		||||
                         && isatty(fileno(stdin))
 | 
			
		||||
                         && isatty(fileno(stdout)))) return EXIT_FAILURE;
 | 
			
		||||
#endif
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            handleChangedDefaults(DefaultPreferencesMode::Current);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
#if defined(DISABLE_GUI) && !defined(Q_OS_WIN)
 | 
			
		||||
        if (params.shouldDaemonize)
 | 
			
		||||
        {
 | 
			
		||||
@@ -274,6 +265,11 @@ int main(int argc, char *argv[])
 | 
			
		||||
        displayBadArgMessage(er.message());
 | 
			
		||||
        return EXIT_FAILURE;
 | 
			
		||||
    }
 | 
			
		||||
    catch (const RuntimeError &er)
 | 
			
		||||
    {
 | 
			
		||||
        qDebug() << er.message();
 | 
			
		||||
        return EXIT_FAILURE;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if !defined(DISABLE_GUI)
 | 
			
		||||
@@ -287,7 +283,7 @@ void showSplashScreen()
 | 
			
		||||
    painter.drawText(224 - painter.fontMetrics().horizontalAdvance(version), 270, version);
 | 
			
		||||
    QSplashScreen *splash = new QSplashScreen(splashImg);
 | 
			
		||||
    splash->show();
 | 
			
		||||
    QTimer::singleShot(1500ms, splash, &QObject::deleteLater);
 | 
			
		||||
    QTimer::singleShot(1500ms, Qt::CoarseTimer, splash, &QObject::deleteLater);
 | 
			
		||||
    qApp->processEvents();
 | 
			
		||||
}
 | 
			
		||||
#endif  // DISABLE_GUI
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user