Compare commits
	
		
			269 Commits
		
	
	
		
			release-4.
			...
			release-4.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | d2f3d1ec2c | ||
|   | bc6e3ae40d | ||
|   | b02e239f7c | ||
|   | 397cd4bf60 | ||
|   | 409f972ad3 | ||
|   | 267961ffca | ||
|   | dff753c452 | ||
|   | ce3bafd30d | ||
|   | e5538d9f25 | ||
|   | 7a8a32b1c3 | ||
|   | cac5e0391b | ||
|   | 726790fa93 | ||
|   | c9c7a5be53 | ||
|   | 1495513cfc | ||
|   | 085afaac14 | ||
|   | d58a54c758 | ||
|   | 78d9bcb6a1 | ||
|   | 1a43cd329d | ||
|   | 2fe687eeca | ||
|   | 107bd8a54f | ||
|   | 865df3fcf1 | ||
|   | cbf9c52462 | ||
|   | 171e25e962 | ||
|   | 239d14fd10 | ||
|   | 0b7a175156 | ||
|   | b37dbb60b5 | ||
|   | d5acd1f210 | ||
|   | 65eda4a68e | ||
|   | 7209881025 | ||
|   | a5d0a4b619 | ||
|   | 79276a8786 | ||
|   | fa2b645a64 | ||
|   | 4d5d6df734 | ||
|   | 2c39b69c18 | ||
|   | 13c0077e95 | ||
|   | 9299e3f371 | ||
|   | b9ddc6ee86 | ||
|   | 276856a614 | ||
|   | fbd6a8a0da | ||
|   | 6fc18b4af6 | ||
|   | 44d633fb68 | ||
|   | eb4bf6cc68 | ||
|   | 6db6c850eb | ||
|   | 02ae1e3734 | ||
|   | eb887139fd | ||
|   | 84805f7fb8 | ||
|   | 2719131ed2 | ||
|   | 52401bd2b0 | ||
|   | 4834703bc4 | ||
|   | 3ed73244b1 | ||
|   | 97cd430125 | ||
|   | d202b85d51 | ||
|   | c51b79e9fc | ||
|   | 4449018207 | ||
|   | ced8e41473 | ||
|   | 2c66ed6708 | ||
|   | c7d3d6ac90 | ||
|   | 13210b3e9f | ||
|   | 6e622fc23b | ||
|   | ae35111b59 | ||
|   | e1c3d419a7 | ||
|   | 7396b8adba | ||
|   | c09001545d | ||
|   | f8d4315f7e | ||
|   | 1fa2957d27 | ||
|   | ade50d2b53 | ||
|   | 0fa1d35b87 | ||
|   | 6486fc5f4d | ||
|   | 1e059ab1a2 | ||
|   | 15b137211b | ||
|   | 6f8f1d7bad | ||
|   | a31f0c0a3d | ||
|   | f977d1293a | ||
|   | 1399be50cb | ||
|   | 52dcf32cc8 | ||
|   | 52b2b807ab | ||
|   | 5cf4f00824 | ||
|   | faa6fad025 | ||
|   | 9f94bbce3a | ||
|   | 5c49b2486c | ||
|   | 4f6e7f97c6 | ||
|   | 7751c5b75c | ||
|   | a1a9f3317b | ||
|   | fb20f59a96 | ||
|   | a15e3407b0 | ||
|   | e267c2d37a | ||
|   | ae32edeb26 | ||
|   | 34d38ef466 | ||
|   | 120ee6b836 | ||
|   | 7d25b6fce2 | ||
|   | 068eff9e9f | ||
|   | 31a55f79f1 | ||
|   | bac032e01c | ||
|   | b809941f02 | ||
|   | 77c3758090 | ||
|   | 5758817189 | ||
|   | acc9f08a05 | ||
|   | f3b7f17a7c | ||
|   | dfc3f047e2 | ||
|   | 223ab7de84 | ||
|   | d2a4027347 | ||
|   | 4594895082 | ||
|   | e457223fcd | ||
|   | 8fc25c4524 | ||
|   | 410e133592 | ||
|   | e114bc7ef6 | ||
|   | 6ac57cb24c | ||
|   | 2b7893adc8 | ||
|   | 84b8832d57 | ||
|   | 0e738b534c | ||
|   | 96ce8690b6 | ||
|   | a23698940c | ||
|   | 50bb733293 | ||
|   | 6420157b55 | ||
|   | 86bdfbf88c | ||
|   | 81e8f79164 | ||
|   | 64a0ad33c1 | ||
|   | 3cd0ffecaf | ||
|   | a2ddabaedb | ||
|   | 1fec1978aa | ||
|   | 8de67fd745 | ||
|   | 3b51582416 | ||
|   | ffa2fdce9d | ||
|   | 588f1c7592 | ||
|   | ab1ece2460 | ||
|   | 7a935d8a87 | ||
|   | 3926eba585 | ||
|   | 74bf420610 | ||
|   | 324f18a0b2 | ||
|   | c134e391e6 | ||
|   | 24504951b0 | ||
|   | f7f02ab16a | ||
|   | fe810fcd37 | ||
|   | 17167e79d2 | ||
|   | 7bd86048a8 | ||
|   | d399f024a7 | ||
|   | 21f06abef8 | ||
|   | fbe0e96fd5 | ||
|   | 94e00dd38d | ||
|   | c3f5432877 | ||
|   | 4dcc187a72 | ||
|   | 97c99dfaaf | ||
|   | da83041a3f | ||
|   | d40a4f14dd | ||
|   | de7b0278f4 | ||
|   | 17f5e10ffc | ||
|   | a0dbb6c97c | ||
|   | 4d330a6110 | ||
|   | 9fc2bf6353 | ||
|   | f9c7121847 | ||
|   | d3a0ac3b6e | ||
|   | a6c99844de | ||
|   | d51a957247 | ||
|   | a0c16cd461 | ||
|   | 8fe11dff91 | ||
|   | efcdcf5898 | ||
|   | da543cdae2 | ||
|   | 0374742e57 | ||
|   | 408052d1ec | ||
|   | b0ebbc3596 | ||
|   | e45e1166b2 | ||
|   | de64d5c3bc | ||
|   | 07130c4b26 | ||
|   | 8482464ad0 | ||
|   | d7ce6e39d4 | ||
|   | 97acbd5259 | ||
|   | 60937a1871 | ||
|   | ed43bc377d | ||
|   | 8d11929815 | ||
|   | 0e6f8c15c5 | ||
|   | 8107201a5b | ||
|   | 395ea4d1d0 | ||
|   | 7bf317929b | ||
|   | 3cacf876c9 | ||
|   | d6247dd4ec | ||
|   | 4f0c49f1c4 | ||
|   | 30455e8b01 | ||
|   | 60adb94463 | ||
|   | a02fd5b588 | ||
|   | 39ce080318 | ||
|   | f53abd2f07 | ||
|   | 5b0ae0271b | ||
|   | ec2efd8c62 | ||
|   | 146daea513 | ||
|   | 5ab67faacb | ||
|   | 4213d37857 | ||
|   | 0192922910 | ||
|   | d2b88e9f84 | ||
|   | a32c4aca92 | ||
|   | 91d41336a7 | ||
|   | d73d790612 | ||
|   | af0fed6669 | ||
|   | a24c13b902 | ||
|   | c44c6a8d88 | ||
|   | 5f62a68e71 | ||
|   | 5af90fee46 | ||
|   | b17566f113 | ||
|   | 29edea050b | ||
|   | 7ceb646e90 | ||
|   | 0ff39e4d10 | ||
|   | 1e146c94bd | ||
|   | 8a0da04807 | ||
|   | 9e7a847cce | ||
|   | 63d3f20e51 | ||
|   | 817e3fbb05 | ||
|   | 263e96aba2 | ||
|   | 0379376fd8 | ||
|   | de7efb50c2 | ||
|   | 400f8dc2d8 | ||
|   | b2b63be798 | ||
|   | c9aba893de | ||
|   | 1ac4cdcf4d | ||
|   | 08a0fef18a | ||
|   | 6f54c170ab | ||
|   | d3b4c7bec4 | ||
|   | f8dfe1ea57 | ||
|   | ce5f8bab44 | ||
|   | 59cf70f8f2 | ||
|   | 561975f435 | ||
|   | eae6fea830 | ||
|   | 2673c2b5b2 | ||
|   | 3c17f3a836 | ||
|   | 0890154e16 | ||
|   | 0877824875 | ||
|   | 60bd5999b0 | ||
|   | d0ec60fa01 | ||
|   | e7a70a4acc | ||
|   | 85cb49e8e1 | ||
|   | 3f00a6e5e3 | ||
|   | 35e18a2e09 | ||
|   | 8ae2ae3b5c | ||
|   | 27c5f2aede | ||
|   | 34a69aa0b2 | ||
|   | 72fc903f4a | ||
|   | 4f04992de8 | ||
|   | 1b147494d4 | ||
|   | b535a0b44e | ||
|   | 6c2271584c | ||
|   | 1002b28c95 | ||
|   | dfded7bc9d | ||
|   | 36fde9ede5 | ||
|   | 6b4ac1b960 | ||
|   | cc141ba02f | ||
|   | 8fc931a61b | ||
|   | 0b6cf54508 | ||
|   | ff12163176 | ||
|   | 6a8a0bbd6b | ||
|   | f8ebffac65 | ||
|   | e58f4c0bdf | ||
|   | f450ff278d | ||
|   | 566fd893f4 | ||
|   | 30ab46999c | ||
|   | 0320f9d5b5 | ||
|   | ad7c9ed123 | ||
|   | 25acdba344 | ||
|   | 786059802b | ||
|   | 0ae708114b | ||
|   | fbeaabb841 | ||
|   | 98bef605a7 | ||
|   | 37a0e48b46 | ||
|   | fea1a66aba | ||
|   | 0ffdb51f95 | ||
|   | 4e596629fd | ||
|   | 61281dd226 | ||
|   | 61d1f2180f | ||
|   | 3bcf941205 | ||
|   | 1746c9d331 | ||
|   | 58c31c5353 | ||
|   | e872719ef1 | 
							
								
								
									
										18
									
								
								.github/ISSUE_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -1,14 +1,20 @@ | |||||||
| **Please provide the following information** | **Please provide the following information** | ||||||
|  |  | ||||||
| ### qBittorrent version and Operating System: | ### qBittorrent version and Operating System | ||||||
|  | (type here) | ||||||
|  |  | ||||||
| ### If on linux, libtorrent and Qt version: | ### If on linux, libtorrent and Qt version | ||||||
|  | (type here) | ||||||
|  |  | ||||||
| ### What is the problem: | ### What is the problem | ||||||
|  | (type here) | ||||||
|  |  | ||||||
| ### What is the expected behavior: | ### What is the expected behavior | ||||||
|  | (type here) | ||||||
|  |  | ||||||
| ### Steps to reproduce: | ### Steps to reproduce | ||||||
|  | (type here) | ||||||
|  |  | ||||||
| ### Extra info(if any): | ### Extra info(if any) | ||||||
|  | (type here) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						| @@ -76,10 +76,13 @@ before_install: | |||||||
|  |  | ||||||
|   - shopt -s expand_aliases |   - shopt -s expand_aliases | ||||||
|   - alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system) |   - alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system) | ||||||
|   #- libt_path="$HOME/libt_install" |  | ||||||
|   #- ltconf="$ltconf --prefix="$libt_path" --disable-geoip" |  | ||||||
|   - qbt_path="$HOME/qbt_install" |   - qbt_path="$HOME/qbt_install" | ||||||
|   - qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH="$libt_path/lib/pkgconfig":/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH" |   - | | ||||||
|  |     if [ "$TRAVIS_OS_NAME" = "linux" ]; then | ||||||
|  |       qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH=/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH" | ||||||
|  |     else | ||||||
|  |       qbtconf="$qbtconf --prefix="$qbt_path"" | ||||||
|  |     fi | ||||||
|  |  | ||||||
|   # options for specific branches |   # options for specific branches | ||||||
|   - if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ; fi |   - if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ; fi | ||||||
| @@ -131,13 +134,13 @@ install: | |||||||
|         cp "version" $HOME/hombebrew_cache |         cp "version" $HOME/hombebrew_cache | ||||||
|         cd "$HOME/hombebrew_cache" |         cd "$HOME/hombebrew_cache" | ||||||
|         wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar.rb |         wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar.rb | ||||||
|         wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz |         wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar-1.1.6+git20180101.b45acf28a5+patched-configure.el_capitan.bottle.tar.gz | ||||||
|       fi |       fi | ||||||
|  |  | ||||||
|       # Copy custom libtorrent bottle to homebrew's cache so it can find and install it |       # Copy custom libtorrent bottle to homebrew's cache so it can find and install it | ||||||
|       # Also install our custom libtorrent formula by passing the local path to it |       # Also install our custom libtorrent formula by passing the local path to it | ||||||
|       # These 2 files are restored from Travis' cache. |       # These 2 files are restored from Travis' cache. | ||||||
|       cp "$HOME/hombebrew_cache/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz" "$(brew --cache)" |       cp "$HOME/hombebrew_cache/libtorrent-rasterbar-1.1.6+git20180101.b45acf28a5+patched-configure.el_capitan.bottle.tar.gz" "$(brew --cache)" | ||||||
|       brew install "$HOME/hombebrew_cache/libtorrent-rasterbar.rb" |       brew install "$HOME/hombebrew_cache/libtorrent-rasterbar.rb" | ||||||
|  |  | ||||||
|       if [ "$build_system" = "cmake" ]; then |       if [ "$build_system" = "cmake" ]; then | ||||||
| @@ -168,11 +171,15 @@ script: | |||||||
|       BUILD_TOOL="ninja" |       BUILD_TOOL="ninja" | ||||||
|     fi |     fi | ||||||
|     if [ "$build_system" = "qmake" ]; then |     if [ "$build_system" = "qmake" ]; then | ||||||
|       ./bootstrap.sh && ./configure $qbtconf |  | ||||||
|       if [ "$TRAVIS_OS_NAME" = "osx" ]; then |       if [ "$TRAVIS_OS_NAME" = "osx" ]; then | ||||||
|  |         # For some reason for RC_1_1 we need to also specify the OpenSSL compiler/linker flags | ||||||
|  |         # Homebrew doesn't symlink OpenSSL for security reasons | ||||||
|  |         ./bootstrap.sh && ./configure $qbtconf CXXFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --cflags openssl)" LDFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --libs openssl)" | ||||||
|         sed -i "" -e "s/^\(CC.*&&\).*$/\1 $CC/" src/Makefile  # workaround for Qt & ccache: https://bugreports.qt.io/browse/QTBUG-31034 |         sed -i "" -e "s/^\(CC.*&&\).*$/\1 $CC/" src/Makefile  # workaround for Qt & ccache: https://bugreports.qt.io/browse/QTBUG-31034 | ||||||
|         sed -i "" -e "s/^\(CXX.*&&\).*$/\1 $CXX/" src/Makefile |         sed -i "" -e "s/^\(CXX.*&&\).*$/\1 $CXX/" src/Makefile | ||||||
|         sed -i "" -e 's/^\(CXXFLAGS.*\)$/\1 -Wno-unused-local-typedefs -Wno-inconsistent-missing-override/' src/Makefile |         sed -i "" -e 's/^\(CXXFLAGS.*\)$/\1 -Wno-unused-local-typedefs -Wno-inconsistent-missing-override/' src/Makefile | ||||||
|  |       else | ||||||
|  |         ./bootstrap.sh && ./configure $qbtconf | ||||||
|       fi |       fi | ||||||
|       BUILD_TOOL="make" |       BUILD_TOOL="make" | ||||||
|     fi |     fi | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						| @@ -34,6 +34,14 @@ Code from other projects: | |||||||
|   license: GPLv2/3 |   license: GPLv2/3 | ||||||
|  |  | ||||||
| Images Authors: | Images Authors: | ||||||
|  | * files: src/icons/skin/qbittorrent-tray.svg (and related pngs) | ||||||
|  |   copyright: Provided by HVS <hvs linuxmail org> (raster first proposal) and Atif Afzal(@atfzl github) <atif5801@gmail.com> (vectorized and modified) | ||||||
|  |   license: GPLv2+ | ||||||
|  |  | ||||||
|  | * files: src/qbittorrent_file.ico src/icons/fileicon.svg | ||||||
|  |   copyright: 'uknown.svg' (LGPLv3+) from Oxygen Icon Theme was used as base which was slightly modified and 'qbittorrent-tray.svg' (GPLv2+) was overlayed above it. | ||||||
|  |   license: GPLv3+ | ||||||
|  |  | ||||||
| * files: src/icons/*.png | * files: src/icons/*.png | ||||||
|   copyright: Gnome Icon Theme |   copyright: Gnome Icon Theme | ||||||
|   license: GPLv2 |   license: GPLv2 | ||||||
| @@ -44,10 +52,10 @@ Images Authors: | |||||||
|   license: LGPL |   license: LGPL | ||||||
|   url: http://www.oxygen-icons.org |   url: http://www.oxygen-icons.org | ||||||
|  |  | ||||||
| * files: src/icons/flags/*.png | * files: src/icons/flags/*.svg | ||||||
|   copyright: Mark James <mjames@gmail.com> |   copyright: lipis/flag-icon-css | ||||||
|   license: Public Domain |   license: MIT | ||||||
|   url: http://www.famfamfam.com |   url: https://github.com/lipis/flag-icon-css/ | ||||||
|  |  | ||||||
| * files: src/icons/skin/*.png | * files: src/icons/skin/*.png | ||||||
|   files: src/menuicons/YYxYY/*.png |   files: src/menuicons/YYxYY/*.png | ||||||
|   | |||||||
| @@ -22,13 +22,8 @@ add_definitions(-DQBT_VERSION_MINOR=${VER_MINOR}) | |||||||
| add_definitions(-DQBT_VERSION_BUGFIX=${VER_BUGFIX}) | add_definitions(-DQBT_VERSION_BUGFIX=${VER_BUGFIX}) | ||||||
| add_definitions(-DQBT_VERSION_BUILD=${VER_BUILD}) | add_definitions(-DQBT_VERSION_BUILD=${VER_BUILD}) | ||||||
|  |  | ||||||
| # os2 { |  | ||||||
| #     DEFINES += DQBT_VERSION=\'\"v$${PROJECT_VERSION}\"\' |  | ||||||
| #     DEFINES += DQBT_VERSION_2=\'\"$${PROJECT_VERSION}\"\' |  | ||||||
| # } else { |  | ||||||
| add_definitions(-DQBT_VERSION="v${PROJECT_VERSION}") | add_definitions(-DQBT_VERSION="v${PROJECT_VERSION}") | ||||||
| add_definitions(-DQBT_VERSION_2="${PROJECT_VERSION}") | add_definitions(-DQBT_VERSION_2="${PROJECT_VERSION}") | ||||||
| # } |  | ||||||
|  |  | ||||||
| if (UNIX AND NOT APPLE) | if (UNIX AND NOT APPLE) | ||||||
|     include(GNUInstallDirs) |     include(GNUInstallDirs) | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ If you make changes in a file that still uses another coding style, make sure th | |||||||
| ```c++ | ```c++ | ||||||
| int myFunction(int a) | int myFunction(int a) | ||||||
| { | { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
|  |  | ||||||
| void myFunction() {} // empty body | void myFunction() {} // empty body | ||||||
| @@ -17,29 +17,29 @@ void myFunction() {} // empty body | |||||||
| MyClass::MyClass(int *parent) | MyClass::MyClass(int *parent) | ||||||
|     : m_parent(parent) |     : m_parent(parent) | ||||||
| { | { | ||||||
|     //initialize |     // initialize | ||||||
| } | } | ||||||
|  |  | ||||||
| int MyClass::myMethod(int a) | int MyClass::myMethod(int a) | ||||||
| { | { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
|  |  | ||||||
| class MyOtherClass | class MyOtherClass | ||||||
| { | { | ||||||
| public: | public: | ||||||
|     //code |     // code | ||||||
|  |  | ||||||
| protected: | protected: | ||||||
|     //code |     // code | ||||||
|  |  | ||||||
| private: | private: | ||||||
|     //code |     // code | ||||||
| }; | }; | ||||||
|  |  | ||||||
| namespace Name | namespace Name | ||||||
| { | { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
|  |  | ||||||
| // Lambdas | // Lambdas | ||||||
| @@ -54,20 +54,20 @@ namespace Name | |||||||
| #### b. Other code blocks #### | #### b. Other code blocks #### | ||||||
| ```c++ | ```c++ | ||||||
| if (condition) { | if (condition) { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
|  |  | ||||||
| for (int a = 0; a < b; ++b) { | for (int a = 0; a < b; ++b) { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
|  |  | ||||||
| switch (a) { | switch (a) { | ||||||
| case 1: | case 1: | ||||||
|     //blah |     // blah | ||||||
| case 2: | case 2: | ||||||
|     //blah |     // blah | ||||||
| default: | default: | ||||||
|     //blah |     // blah | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| @@ -75,17 +75,17 @@ default: | |||||||
| ```c++ | ```c++ | ||||||
| switch (var) { | switch (var) { | ||||||
| case 1: { | case 1: { | ||||||
|         //declare local variables |         // declare local variables | ||||||
|         //code |         // code | ||||||
|     } |     } | ||||||
|     break; |     break; | ||||||
| case 2: { | case 2: { | ||||||
|         //declare local variables |         // declare local variables | ||||||
|         //code |         // code | ||||||
|     } |     } | ||||||
|     break; |     break; | ||||||
| default: | default: | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| @@ -103,13 +103,13 @@ QVariantMap map {{"key1", 5}, {"key2", 10}}; | |||||||
| #### a. Multiple tests #### | #### a. Multiple tests #### | ||||||
| ```c++ | ```c++ | ||||||
| if (condition) { | if (condition) { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
| else if (condition) { | else if (condition) { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
| else { | else { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
| The `else if`/`else` must be on their own lines. | The `else if`/`else` must be on their own lines. | ||||||
| @@ -154,7 +154,7 @@ myClass::myClass(int a, int b, int c, int d) | |||||||
|     , m_c(c) |     , m_c(c) | ||||||
|     , m_d(d) |     , m_d(d) | ||||||
| { | { | ||||||
|     //code |     // code | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| @@ -231,8 +231,8 @@ Example: | |||||||
|  |  | ||||||
| #include <libtorrent/version.hpp> | #include <libtorrent/version.hpp> | ||||||
|  |  | ||||||
| #include "base/bittorrent/session.h" |  | ||||||
| #include "base/bittorrent/infohash.h" | #include "base/bittorrent/infohash.h" | ||||||
|  | #include "base/bittorrent/session.h" | ||||||
| #include "base/utils/fs.h" | #include "base/utils/fs.h" | ||||||
| #include "base/utils/misc.h" | #include "base/utils/misc.h" | ||||||
| #include "base/utils/string.h" | #include "base/utils/string.h" | ||||||
| @@ -240,7 +240,23 @@ Example: | |||||||
|  |  | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### 9. Misc. ### | ### 9. Include guard. ### | ||||||
|  | `#pragma once` should be used instead of "include guard" in new code: | ||||||
|  | ```c++ | ||||||
|  | // examplewidget.h | ||||||
|  |  | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include <QWidget> | ||||||
|  |  | ||||||
|  | class ExampleWidget : public QWidget | ||||||
|  | { | ||||||
|  |     // (some code omitted) | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### 10. Misc. ### | ||||||
|  |  | ||||||
| * Line breaks for long lines with operation: | * Line breaks for long lines with operation: | ||||||
|  |  | ||||||
| @@ -282,20 +298,32 @@ auto spinBox = static_cast<QSpinBox*>(sender()); | |||||||
| // we know the variable type based on the right-hand expression | // we know the variable type based on the right-hand expression | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| * Space around operations eg `a = b + c` or `a=b+c`: | * Notice the spaces in the following specific situations: | ||||||
|  |  | ||||||
| Before and after the assignment and other binary (and ternary) operators there should be a space.<br/> |  | ||||||
| There should not be a space between increment/decrement and its operand.<br/> |  | ||||||
| Some valid use cases: |  | ||||||
| ```c++ | ```c++ | ||||||
|  | // Before and after the assignment and other binary (and ternary) operators there should be a space | ||||||
|  | // There should not be a space between increment/decrement and its operand | ||||||
| a += 20; | a += 20; | ||||||
| a = (b <= MAX_B ? b : MAX_B); | a = (b <= MAX_B ? b : MAX_B); | ||||||
| ++a; | ++a; | ||||||
| b--; | --b; | ||||||
|  |  | ||||||
| for (int a = 0; a < b; ++b) { | for (int a = 0; a < b; ++b) { | ||||||
|     // code |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // Range-based for loop, spaces before and after the colon | ||||||
|  | for (auto i : container) { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Derived class, spaces before and after the colon | ||||||
|  | class Derived : public Base | ||||||
|  | { | ||||||
|  | }; | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | * Prefer pre-increment, pre-decrement operators | ||||||
|  | ```c++ | ||||||
|  | ++i, --j;  // Yes | ||||||
|  | i++, j--;  // No | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| * private/public/protected must not be indented | * private/public/protected must not be indented | ||||||
|   | |||||||
							
								
								
									
										141
									
								
								Changelog
									
									
									
									
									
								
							
							
						
						| @@ -1,4 +1,78 @@ | |||||||
| Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0 | * Fri Feb 16 2018 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.4 | ||||||
|  |     - FEATURE: Add source field in Torrent creator. Closes #7965. (Chocobo1) | ||||||
|  |     - FEATURE: Torrent creator: raise maximum piece size to 32 MiB (Chocobo1) | ||||||
|  |     - FEATURE: Add a force reannounce option in the transfer list context menu. Closes #6448. (Jesse Bryan) | ||||||
|  |     - BUGFIX: Fix sorting of country flags column in Peers tab. (sledgehammer999) | ||||||
|  |     - BUGFIX: Fix natural sorting when the common part of 2 strings ends partially in a number which continues in the uncommon part. Closes #8080 #6732. (sledgehammer999) | ||||||
|  |     - BUGFIX: Fix application of speed limits on LAN and μTP connections. Closes #7745. (sledgehammer999) | ||||||
|  |     - BUGFIX: Make peer information flags in peerlist more readable. (thalieht) | ||||||
|  |     - BUGFIX: Fix gui issues on high DPI monitor. (Chocobo1) | ||||||
|  |     - BUGFIX: Fix dialog and column size on high DPI monitors. (Chocobo1) | ||||||
|  |     - BUGFIX: Fix constant status of '[F] Downloading'. Closes #7628. (sledgehammer999) | ||||||
|  |     - BUGFIX: Fix translation context. Closes #8211. (sledgehammer999) | ||||||
|  |     - BUGFIX: Separate subnet whitelist options into two lines. (Thomas Piccirello) | ||||||
|  |     - BUGFIX: Don't set application name twice. (Luís Pereira) | ||||||
|  |     - BUGFIX: Set default file log size to 65 KiB and delete backup logs older than 1 month. (sledgehammer999) | ||||||
|  |     - WEBUI: Only prepend scheme when it is not present. Closes #8057. (Chocobo1) | ||||||
|  |     - WEBUI: Add "Remaining" and "Availability" columns to webui Content tab. (Thomas Piccirello) | ||||||
|  |     - WEBUI: Make value formatting consistent with GUI (Thomas Piccirello) | ||||||
|  |     - WEBUI: Reposition Total Size column to match gui (Thomas Piccirello) | ||||||
|  |     - WEBUI: Add Tags and Time Active columns (Thomas Piccirello) | ||||||
|  |     - WEBUI: Use https for www.qbittorrent.org (Thomas Piccirello) | ||||||
|  |     - WEBUI: Match webui statuses to gui, closes #7516 (Thomas Piccirello) | ||||||
|  |     - WEBUI: Right-align stat values (Thomas Piccirello) | ||||||
|  |     - WEBUI: Add missing units. (Thomas Piccirello) | ||||||
|  |     - RSS: Fix crash when deleting rule because it tries to update. Closes #8094 (glassez) | ||||||
|  |     - RSS: Don't process new/updated RSS rules when disabled (glassez) | ||||||
|  |     - RSS: Remove legacy and corrupted RSS settings (glassez) | ||||||
|  |     - SEARCH: Search only when category is supported by plugin. Closes #8053. (jan.karberg) | ||||||
|  |     - SEARCH: Only add search separators as needed. (Thomas Piccirello) | ||||||
|  |     - COSMETIC: Tweak spacing in torrent properties widget and speed widget. (Chocobo1) | ||||||
|  |     - WINDOWS: Use standard folder icon for open file behavior on Windows. Closes #7880. (Chocobo1) | ||||||
|  |     - WINDOWS: Revert "Run external program" function. Now you will not be able to directly run batch scripts. (Chocobo1) | ||||||
|  |     - MACOS: Fix torrent file selection in Finder on mac (vit9696) | ||||||
|  |     - MACOS: Fix Finder reveal in preview and torrent contents (vit9696) | ||||||
|  |     - MACOS: Fix cmd+w not closing the main window on macOS (vit9696) | ||||||
|  |     - OTHER: Fix splitting of compiler flags in configure. Autoconf removes a set of [] during script translation, resulting in a wrong sed command. (sledgehammer999) | ||||||
|  |     - OTHER: configure: Parse all compiler related flags together. (sledgehammer999) | ||||||
|  |     - OTHER: Update copyright year. (sledgehammer999) | ||||||
|  |  | ||||||
|  | * Sun Dec 17 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.3 | ||||||
|  |     - BUGFIX: Add height padding to the transfer list icons. Closes #7951. (sledgehammer999) | ||||||
|  |     - BUGFIX: Allow to drag-n-drop URLs into mainwindow to initiate download. (Chocobo1) | ||||||
|  |     - BUGFIX: Fix crash when fitlering search results. Stable sorting is removed. Closes #7952.(Chocobo1) | ||||||
|  |     - WEBUI: Fix missing qbt logo on login page in webUI. Closes #7953. (Chocobo1) | ||||||
|  |     - WEBUI: Add check to avoid type error after logout. (Chocobo1) | ||||||
|  |     - WEBUI: Use POST for logout command. This is to avoid browser being smart to prefetch the link then logging out the user. (Chocobo1) | ||||||
|  |     - WEBUI: Fix WebUI is not reachable via IPv6. (glassez) | ||||||
|  |     - WINDOWS: Disable the "?" help button in all dialogs on Windows. Closes #7365. Requires Qt 5.10. (Chocobo1) | ||||||
|  |  | ||||||
|  | * Fri Dec 01 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.2 | ||||||
|  |     - BUGFIX: Fix crash on some systems when creating address object for 255.255.255.255. Closes #7735. (sledgehammer999) | ||||||
|  |     - PERFORMANCE: Change MixedModeAlgorithm default to TCP. This was the v3_3_x default and should sustain higher speeds. Closes #7779. (Chocobo1) | ||||||
|  |     - PERFORMANCE: Stop logging IP filter parsing errors after a while, otherwise the GUI freezes or qBittorrent doesn't start. (sledgehammer999) | ||||||
|  |     - GUI: Implement stable sort. Rows in transfer list shouldn't flicker anymore. (Chocobo1) | ||||||
|  |     - WEBUI: Fix build when webui is disabled. (Heiko Becker) | ||||||
|  |     - RSS: Fix build because of missing header. Closes #7805. (thoradia) | ||||||
|  |     - RSS: Fix RSS parser. (glassez) | ||||||
|  |     - RSS: Implement Import/Export RSS rules in legacy(aka v3_3_x) format. (glassez) | ||||||
|  |     - RSS: Implement Import/Export RSS rules in JSON format. (glassez) | ||||||
|  |     - WINDOWS: Fixed blurry text under Windows by setting DPI awareness to default. (TheNicker) | ||||||
|  |     - LINUX: Fix i386 build. (Evgeny Lensky) | ||||||
|  |  | ||||||
|  | * Wed Nov 22 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.1 | ||||||
|  |     - BUGFIX: Fix crash on opening torrent/magnet (uninitialized pointer). Closes #7739 #7723. (sledgehammer999) | ||||||
|  |     - BUGFIX: Enable preferences Apply button when ip banlist is modified (Thomas Piccirello) | ||||||
|  |     - BUGFIX: Allow drag-n-drop magnet links to mainwindow. Closes #7742. (Chocobo1) | ||||||
|  |     - BUGFIX: Fix crash when aborting a torrent creation process. Closes #7783. (Chocobo1) | ||||||
|  |     - BUGFIX: Correctly check if torrent passed during application start already exists. (sledgehammer999) | ||||||
|  |     - WEBUI: Add ip subnet whitelist for bypassing webui auth (Thomas Piccirello) | ||||||
|  |     - WEBUI: Fix logo missing in login page (Chocobo1) | ||||||
|  |     - COSMETIC: Fix english typo. (sledgehammer999) | ||||||
|  |     - OTHER: cmake: qtsingleapplication should always be built statically (luigino) | ||||||
|  |  | ||||||
|  | * Mon Nov 20 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.0.0 | ||||||
|  |     - FEATURE: Change qbittorrent logo. Issue #6467. (HVS, Atif Afzal, sledgehammer999) | ||||||
|     - FEATURE: New icon theme with SVG source, so we can scale it appropriately in the future. (Bert Verhelst) |     - FEATURE: New icon theme with SVG source, so we can scale it appropriately in the future. (Bert Verhelst) | ||||||
|     - FEATURE: Drop Qt 4 support. Raise minimum Qt version to 5.5.1 (evsh) |     - FEATURE: Drop Qt 4 support. Raise minimum Qt version to 5.5.1 (evsh) | ||||||
|     - FEATURE: UI for managing locally banned IP list (dzmat) |     - FEATURE: UI for managing locally banned IP list (dzmat) | ||||||
| @@ -18,20 +92,85 @@ Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.4.0 | |||||||
|     - FEATURE: Fetch Favicons via google as a final fallback (KingLucius) |     - FEATURE: Fetch Favicons via google as a final fallback (KingLucius) | ||||||
|     - FEATURE: Add a Tags (multi-label) feature to the GUI. Closes #13. (tgregerson) |     - FEATURE: Add a Tags (multi-label) feature to the GUI. Closes #13. (tgregerson) | ||||||
|     - FEATURE: Use the system icons for each file type in the Content tab (evsh) |     - FEATURE: Use the system icons for each file type in the Content tab (evsh) | ||||||
|  |     - FEATURE: Use SVG files for monochrome tray icons. Closes #6085. (evsh) | ||||||
|  |     - FEATURE: Prefill torrent name when creating a new torrent. Closes #7229. (Chocobo1) | ||||||
|  |     - FEATURE: Expose more libtorrent options in advanced settings (Chocobo1) | ||||||
|  |     - FEATURE: Add comboBox for selecting BitTorrent protocol. Closes #6316. (Chocobo1) | ||||||
|  |     - FEATURE: Allow SMTP sender to be set. Closes #7575. (Chocobo1) | ||||||
|  |     - FEATURE: Allow to specify if announcing to all tiers is desired. (sledgehammer999) | ||||||
|  |     - FEATURE: Configurable number of history of paths in Add New Torrent dialog. (evsh) | ||||||
|     - BUGFIX: Adjust icons names to better fit FDO scheme (evsh) |     - BUGFIX: Adjust icons names to better fit FDO scheme (evsh) | ||||||
|     - BUGFIX: Optimized IP filter parsing, making blazingly fast (sledgehammer999, evsh) |     - BUGFIX: Optimized IP filter parsing, making blazingly fast (sledgehammer999, evsh) | ||||||
|     - BUGFIX: Fix dialogs didn't position on the correct screen which qBittorrent window is on. Closes #1690, #2474, #3538. (Chocobo1) |     - BUGFIX: Fix dialogs didn't position on the correct screen which qBittorrent window is on. Closes #1690, #2474, #3538. (Chocobo1) | ||||||
|     - BUGFIX: Refactor and improve StatusBar (glassez) |     - BUGFIX: Refactor and improve StatusBar (glassez) | ||||||
|     - BUGFIX: Set expiration date for newly added cookie to +2 years from now, instead of +99 years. (Chocobo1) |     - BUGFIX: Set expiration date for newly added cookie to +2 years from now, instead of +99 years. (Chocobo1) | ||||||
|  |     - BUGFIX: Don't create subfolder inside temp folder (glassez) | ||||||
|  |     - BUGFIX: Don't replace existing files when relocating torrent (glassez) | ||||||
|  |     - BUGFIX: Fix explicit Torrent Management Mode in Add New Torrent dialog. Closes #5602. (sledgehammer999) | ||||||
|  |     - BUGFIX: Fix calculation of 'Average time in queue' stat under libtorrent 1.1.x (sledgehammer999) | ||||||
|  |     - BUGFIX: Don't disable bandwidth scheduler when manually switching speed limits. Closes #7306. (glassez) | ||||||
|  |     - BUGFIX: Fix dereferencing freed pointer. Closes #7420. (Chocobo1) | ||||||
|  |     - BUGFIX: Change the default cache size to 64MiB. (Chocobo1) | ||||||
|  |     - BUGFIX: The previous "Disk write cache size" is not accurate since it is also being used for read cache, so rename it to "Disk cache". (Chocobo1) | ||||||
|  |     - BUGFIX: Replace dialog ok-cancel buttons with QDialogButtonBox, which follows the platform specific button order. (Chocobo1) | ||||||
|  |     - BUGFIX: Better reporting of success/failure of torrent and file deletion. (sledgehammer999) | ||||||
|  |     - BUGFIX: Fix last activity calculation. Closes #7461. (Chocobo1) | ||||||
|  |     - BUGFIX: Save state of options windows on cancel too. (silverqx) | ||||||
|  |     - BUGFIX: Persist size and treeview header state in preview dialog. (silverqx) | ||||||
|  |     - BUGFIX: Show torrent name in "add new torrent" dialog on merging trackers (Chocobo1) | ||||||
|  |     - BUGFIX: Properly pre-select the selected torrent's current ratio limiting options in  UpDownRatioDlg dialogs. Fixes #7352 (thalieht) | ||||||
|  |     - BUGFIX: Optimize code for SpeedWidget. (dzmat) | ||||||
|  |     - BUGFIX: Disable processing events when adding torrents(prevents crashes). Closes #7436. (Chocobo1) | ||||||
|  |     - BUGFIX: Open links in browser. Closes #7651. (Chocobo1) | ||||||
|  |     - BUGFIX: Change default settings for tracker/tier announces to mimick μTorrent behavior. (sledgehammer999) | ||||||
|  |     - BUGFIX: Explicitly set UPnP state on start-up. Closes #7338. (Chocobo1) | ||||||
|  |     - BUGFIX: Include/print caught signal in stackdump (Chocobo1) | ||||||
|     - COSMETIC: Trackerlist: Set text alignment of columns with numbers to the right (thalieht) |     - COSMETIC: Trackerlist: Set text alignment of columns with numbers to the right (thalieht) | ||||||
|     - COSMETIC: Enable alternatingRowColors for "Manage Cookie" dialog (Chocobo1) |     - COSMETIC: Enable alternatingRowColors for "Manage Cookie" dialog (Chocobo1) | ||||||
|  |     - COSMETIC: Remove indentation for category/tag filter widgets in all platforms (thalieht) | ||||||
|  |     - COSMETIC: Add space between widgets in left side panel. Closes #7224. (Chocobo1, glassez) | ||||||
|  |     - COSMETIC: Unify preference window borders across the tabs (vit9696) | ||||||
|  |     - COSMETIC: Center Options dialog when showed. (silverqx) | ||||||
|  |     - COSMETIC: Show delete accelerator key in menu. closes #7508 (Nick Korotysh) | ||||||
|  |     - COSMETIC: Set QTextOption::NoWrap property in "Download from URLs" dialog (Chocobo1) | ||||||
|  |     - COSMETIC: Use SVG icons for the country flags. Closes #6223. (sledgehammer999) | ||||||
|     - WEBUI: Allow to load/use ECDSA certificate in webUI. (Chocobo1) |     - WEBUI: Allow to load/use ECDSA certificate in webUI. (Chocobo1) | ||||||
|  |     - WEBUI: Add copy options to webui context menu (addresses #6815) (#7036) (Tom Piccirello) | ||||||
|  |     - WEBUI: Set torrent location from webui context menu (addresses #6815) (#7062) (Tom Piccirello) | ||||||
|  |     - WEBUI: Add option to rename torrent from WebUI (Thomas Piccirello) | ||||||
|  |     - WEBUI: Add auto torrent management to webui context menu (addresses #6815) (Thomas Piccirello) | ||||||
|  |     - WEBUI: Option for "Create subfolder" when adding new torrent. (thalieht) | ||||||
|  |     - WEBUI: Fix addPaused wrong default behavior. (Chocobo1) | ||||||
|  |     - WEBUI: Reposition "Priority" menu option in WebUI to match gui. Closes #7072. (Thomas Piccirello) | ||||||
|  |     - WEBUI: Report TCPServer errorString() if webui fails to listen to port. (Matthew Fioravante) | ||||||
|  |     - WEBUI: Exit gracefully when failed to initialize web server with qbt-nox (Chocobo1) | ||||||
|  |     - WEBUI: Add file-to-piece-index mappings in /query/propertiesFiles command (Chocobo1) | ||||||
|  |     - WEBUI: Add optional parameters for /command/download & /command/upload (Chocobo1) | ||||||
|  |     - WEBUI: Print error messages upon receiving invalid header fields. (Chocobo1) | ||||||
|  |     - WEBUI: Add WebUi\Address config option. (Matthew Fioravante) | ||||||
|  |     - WEBUI: Reinitialize webUI server when "IP address" setting changed. An app restart won't be necessary from now on. (Chocobo1) | ||||||
|  |     - WEBUI: Improve log and error messages (Chocobo1) | ||||||
|     - SEARCH: Use explicit class for search plugin versions (evsh) |     - SEARCH: Use explicit class for search plugin versions (evsh) | ||||||
|     - SEARCH: Remove all search plugins from repo. There is another repo named 'search-plugins'. (sledgehammer999) |     - SEARCH: Remove all search plugins from repo. There is another repo named 'search-plugins'. (sledgehammer999) | ||||||
|     - SEARCH: Update the backend when a new plugin favicon is downloaded. (sledgehammer999) |     - SEARCH: Update the backend when a new plugin favicon is downloaded. (sledgehammer999) | ||||||
|  |     - SEARCH: Allow search plugins sorting. Closes #7526. (Nick Korotysh) | ||||||
|     - RSS: Redesigned RSS subsystem (glassez) |     - RSS: Redesigned RSS subsystem (glassez) | ||||||
|     - RSS: Do not use hardcoded colors in RSS feed view (evsh) |     - RSS: Do not use hardcoded colors in RSS feed view (evsh) | ||||||
|  |     - RSS: Improve RSS events logging (glassez) | ||||||
|  |     - WINDOWS: Use dpiawareness=1 on Windows. Closes #5393. (sledgehammer999) | ||||||
|  |     - WINDOWS: Reformat Windows build configuration files. (glassez) | ||||||
|  |     - LINUX: Allow custom tray icons when system icon theme is used. Closes #7403. (evsh) | ||||||
|  |     - MACOS: Various macOS UI improvements (vit9696) | ||||||
|  |     - MACOS: Fix main menu item location on macOS (vit9696) | ||||||
|  |     - MACOS: Fix macOS window restoration after using hide icon (vit9696) | ||||||
|  |     - MACOS: Fix notification display on macOS (vit9696) | ||||||
|     - OTHER: Use new classes/methods from libtorrent and stop using deprecate ones. (glassez) |     - OTHER: Use new classes/methods from libtorrent and stop using deprecate ones. (glassez) | ||||||
|  |     - OTHER: Various string fixes (Allan Nordhøy, sledgehammer999) | ||||||
|  |     - OTHER: cmake: do not use Qt5Widgets when locating QtSingleApplication. Closes #7551. (evsh) | ||||||
|  |     - OTHER: Update BOOST m4 macros and simplify AX_BOOST_BASE usage (Chocobo1) | ||||||
|  |     - OTHER: Drop OS/2 support. (sledgehammer999) | ||||||
|  |     - OTHER: Optimize file size of PNG and SVG files. (sledgehammer999) | ||||||
|  |     - OTHER: Add new translators in the About page. | ||||||
|  |  | ||||||
| * Thu Jun 01 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.13 | * Thu Jun 01 2017 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.13 | ||||||
|     - BUGFIX: Fixed UI glitch about torrent numbers in the sidepanel. Fixes #6454. (evsh) |     - BUGFIX: Fixed UI glitch about torrent numbers in the sidepanel. Fixes #6454. (evsh) | ||||||
|   | |||||||
| @@ -35,7 +35,7 @@ You can also download it from [here](https://github.com/qbittorrent/qBittorrent/ | |||||||
|  |  | ||||||
| ### Misc: | ### Misc: | ||||||
| For more information please visit: | For more information please visit: | ||||||
| http://www.qbittorrent.org | https://www.qbittorrent.org | ||||||
|  |  | ||||||
| or our wiki here: | or our wiki here: | ||||||
| http://wiki.qbittorrent.org | http://wiki.qbittorrent.org | ||||||
|   | |||||||
							
								
								
									
										74
									
								
								README.os2
									
									
									
									
									
								
							
							
						
						| @@ -1,74 +0,0 @@ | |||||||
| qBittorrent - A BitTorrent client in Qt4 |  | ||||||
| ------------------------------------------ |  | ||||||
|  |  | ||||||
| This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| Building qBittorrent |  | ||||||
| ******************** |  | ||||||
|  |  | ||||||
|  |  | ||||||
| Requirements |  | ||||||
| ============ |  | ||||||
|  |  | ||||||
| - gcc based build env (recommended gcc v4.4.2 or greater) |  | ||||||
|    |  | ||||||
| - Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information) |  | ||||||
|  |  | ||||||
| - libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information) |  | ||||||
|  |  | ||||||
| - boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| How to build |  | ||||||
| ============ |  | ||||||
|  |  | ||||||
| First you need to create the conf.pri file in the same dir as this readme.os2 is. |  | ||||||
| the conf.pri file has the following content: |  | ||||||
|  |  | ||||||
| ##### conf.pri content begin ##### |  | ||||||
| BINDIR = ./bin |  | ||||||
| INCDIR = ./include |  | ||||||
| LIBDIR = ./lib |  | ||||||
| DATADIR = ./share |  | ||||||
|  |  | ||||||
| CONFIG += staticlib |  | ||||||
| INCLUDEPATH += x:/trees/libtorrent/trunk/include |  | ||||||
| LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \ |  | ||||||
|         -Lx:/trees/boost/trunk/stage/lib \ |  | ||||||
|         -Lx:/trees/openssl \ |  | ||||||
| 	-Lx:/extras/lib |  | ||||||
| ##### conf.pri content end ##### |  | ||||||
|  |  | ||||||
| Of course all the above path references have to be adjusted to your build env. |  | ||||||
|  |  | ||||||
| Now you can either do a normal build or a shadow build. A shadow build has the |  | ||||||
| advantage that no created files are in the same dir as the sources are. |  | ||||||
|  |  | ||||||
| For a normal build do the following: |  | ||||||
|  |  | ||||||
| Simply type: |  | ||||||
| $ qmake |  | ||||||
|  |  | ||||||
| Followed by: |  | ||||||
| $ make |  | ||||||
|  |  | ||||||
| For a shadow build do the following: |  | ||||||
| given your sources are in x:\trees\qbittorrent\trunk create a  |  | ||||||
| x:\trees\qbittorrent\build directory |  | ||||||
|  |  | ||||||
| Now switch to the created directory and type: |  | ||||||
| $ qmake ..\trunk |  | ||||||
|  |  | ||||||
| Followed by: |  | ||||||
| $ make |  | ||||||
|  |  | ||||||
| If all works fine you should get a working qbittorrent executable. |  | ||||||
|  |  | ||||||
| If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC: |  | ||||||
| #netlabs on irc.freenode.net |  | ||||||
|  |  | ||||||
| ------------------------------------------ |  | ||||||
| Silvan Scherrer <silvan.scherrer@aroa.ch> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -30,9 +30,9 @@ IF(QT4_FOUND) | |||||||
|         NAMES ${QTSINGLEAPPLICATION_NAMES} |         NAMES ${QTSINGLEAPPLICATION_NAMES} | ||||||
|         PATHS ${QT_LIBRARY_DIR} |         PATHS ${QT_LIBRARY_DIR} | ||||||
|     ) |     ) | ||||||
| ELSEIF(Qt5Widgets_FOUND) | ELSEIF(Qt5Core_FOUND) | ||||||
|     message(STATUS "Looking for Qt5 single application library") |     message(STATUS "Looking for Qt5 single application library") | ||||||
|     FOREACH(TOP_INCLUDE_PATH in ${Qt5Widgets_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR}) |     FOREACH(TOP_INCLUDE_PATH in ${Qt5Core_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR}) | ||||||
|         FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions) |         FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions) | ||||||
|  |  | ||||||
|         IF(QTSINGLEAPPLICATION_INCLUDE_DIR) |         IF(QTSINGLEAPPLICATION_INCLUDE_DIR) | ||||||
| @@ -43,12 +43,12 @@ ELSEIF(Qt5Widgets_FOUND) | |||||||
|     SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES} |     SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES} | ||||||
|         Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6 |         Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6 | ||||||
|         QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6) |         QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6) | ||||||
|     GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION) |     GET_TARGET_PROPERTY(_QT5_CORELIBRARY Qt5::Core LOCATION) | ||||||
|     GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH) |     GET_FILENAME_COMPONENT(_QT5_CORELIBRARYPATH ${_QT5_CORELIBRARY} PATH) | ||||||
|  |  | ||||||
|     FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY |     FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY | ||||||
|         NAMES ${QTSINGLEAPPLICATION_NAMES} |         NAMES ${QTSINGLEAPPLICATION_NAMES} | ||||||
|         PATHS ${QT5_WIDGETSLIBRARYPATH} |         PATHS ${_QT5_CORELIBRARYPATH} | ||||||
|     ) |     ) | ||||||
| ENDIF() | ENDIF() | ||||||
|  |  | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ add_definitions(-DUNICODE | |||||||
|     -D_WIN32_IE=0x0501 |     -D_WIN32_IE=0x0501 | ||||||
|     -D_CRT_SECURE_NO_DEPRECATE |     -D_CRT_SECURE_NO_DEPRECATE | ||||||
|     -D_SCL_SECURE_NO_DEPRECATE |     -D_SCL_SECURE_NO_DEPRECATE | ||||||
|  |     -DNOMINMAX | ||||||
| ) | ) | ||||||
| # and boost | # and boost | ||||||
| set(Boost_USE_STATIC_LIBS  True) | set(Boost_USE_STATIC_LIBS  True) | ||||||
|   | |||||||
							
								
								
									
										61
									
								
								conf.pri.windows
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,61 @@ | |||||||
|  | # Adapt these paths | ||||||
|  | # Point these to the include folders | ||||||
|  | INCLUDEPATH += $$quote(C:/qBittorrent/boost) | ||||||
|  | INCLUDEPATH += $$quote(C:/qBittorrent/libtorrent/include) | ||||||
|  | INCLUDEPATH += $$quote(C:/qBittorrent/zlib/include) | ||||||
|  | INCLUDEPATH += $$quote(C:/qBittorrent/openssl/include) | ||||||
|  | # Point these to the lib folders | ||||||
|  | LIBS += $$quote(-LC:/qBittorrent/boost/stage/lib) | ||||||
|  | LIBS += $$quote(-LC:/qBittorrent/libtorrent/lib) | ||||||
|  | LIBS += $$quote(-LC:/qBittorrent/zlib/lib) | ||||||
|  | LIBS += $$quote(-LC:/qBittorrent/openssl/lib) | ||||||
|  |  | ||||||
|  | # Adapt the lib names/versions accordingly | ||||||
|  | # If you want to use Boost auto-linking then disable | ||||||
|  | # BOOST_ALL_NO_LIB below and omit Boost libraries here | ||||||
|  | CONFIG(debug, debug|release) { | ||||||
|  |     LIBS += libtorrentd.lib \ | ||||||
|  |             libboost_system-vc140-mt-sgd-1_64.lib | ||||||
|  | } | ||||||
|  | else { | ||||||
|  |     LIBS += libtorrent.lib \ | ||||||
|  |             libboost_system-vc140-mt-s-1_64.lib | ||||||
|  | } | ||||||
|  | LIBS += libeay32.lib ssleay32.lib | ||||||
|  | LIBS += zlib.lib | ||||||
|  | # ...or if you use MinGW | ||||||
|  | #CONFIG(debug, debug|release) { | ||||||
|  | #    LIBS += libtorrent-rasterbar \ | ||||||
|  | #            libboost_system-mt | ||||||
|  | #} | ||||||
|  | #else { | ||||||
|  | #    LIBS += libtorrent-rasterbar \ | ||||||
|  | #            libboost_system-mt | ||||||
|  | #} | ||||||
|  | #LIBS += libcrypto libssl | ||||||
|  | #LIBS += libz | ||||||
|  |  | ||||||
|  | DEFINES += NTDDI_VERSION=0x05010000 | ||||||
|  | DEFINES += _WIN32_WINNT=0x0501 | ||||||
|  | DEFINES += _WIN32_IE=0x0501 | ||||||
|  |  | ||||||
|  | # Disable to use Boost auto-linking | ||||||
|  | DEFINES += BOOST_ALL_NO_LIB | ||||||
|  | # Use one of the following options | ||||||
|  | DEFINES += BOOST_SYSTEM_STATIC_LINK | ||||||
|  | #DEFINES += BOOST_SYSTEM_DYN_LINK | ||||||
|  | # Boost 1.60+ defaults to Vista+ support. The define below enables XP support again. | ||||||
|  | DEFINES += BOOST_USE_WINAPI_VERSION=0x0501 | ||||||
|  | # Enable if building against libtorrent 1.0.x (RC_1_0) (static linking) | ||||||
|  | #DEFINES += BOOST_ASIO_SEPARATE_COMPILATION | ||||||
|  | # Enable if building against libtorrent 1.0.x (RC_1_0) (dynamic linking) | ||||||
|  | #DEFINES += BOOST_ASIO_DYN_LINK | ||||||
|  |  | ||||||
|  | # Enable if building against libtorrent 1.1.x (RC_1_1) | ||||||
|  | # built with this flag defined | ||||||
|  | #DEFINES += TORRENT_NO_DEPRECATE | ||||||
|  | # Enable if linking dynamically against libtorrent | ||||||
|  | #DEFINES += TORRENT_LINKING_SHARED | ||||||
|  |  | ||||||
|  | # Enable stack trace support | ||||||
|  | CONFIG += strace_win | ||||||
							
								
								
									
										36
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						| @@ -1,4 +1,4 @@ | |||||||
| AC_INIT([qbittorrent], [v3.2.0alpha], [bugs.qbittorrent.org], [], [http://www.qbittorrent.org/]) | AC_INIT([qbittorrent], [v4.0.4], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/]) | ||||||
| AC_CONFIG_AUX_DIR([build-aux]) | AC_CONFIG_AUX_DIR([build-aux]) | ||||||
| AC_CONFIG_MACRO_DIR([m4]) | AC_CONFIG_MACRO_DIR([m4]) | ||||||
| AC_PROG_CC | AC_PROG_CC | ||||||
| @@ -116,6 +116,12 @@ AS_CASE(["x$enable_webui"], | |||||||
|         AC_MSG_ERROR([Unknown option "$enable_webui". Use either "yes" or "no".])]) |         AC_MSG_ERROR([Unknown option "$enable_webui". Use either "yes" or "no".])]) | ||||||
|  |  | ||||||
| FIND_QT5() | FIND_QT5() | ||||||
|  | AS_IF([test "x$QT_QMAKE" = "x"], | ||||||
|  |       [AC_MSG_ERROR([Could not find qmake]) | ||||||
|  |       ]) | ||||||
|  | AS_IF([test "x$enable_gui" = "xyes"], | ||||||
|  |       [PKG_CHECK_MODULES(Qt5Svg, [Qt5Svg >= 5.5.1]) | ||||||
|  |       ]) | ||||||
| AC_MSG_CHECKING([whether QtDBus should be enabled]) | AC_MSG_CHECKING([whether QtDBus should be enabled]) | ||||||
| AS_CASE(["x$enable_qt_dbus"], | AS_CASE(["x$enable_qt_dbus"], | ||||||
|         ["xyes"], |         ["xyes"], | ||||||
| @@ -132,22 +138,16 @@ AS_CASE(["x$enable_qt_dbus"], | |||||||
|         AC_MSG_ERROR([Unknown option "$enable_qt_dbus". Use either "yes" or "no".])]) |         AC_MSG_ERROR([Unknown option "$enable_qt_dbus". Use either "yes" or "no".])]) | ||||||
|  |  | ||||||
|  |  | ||||||
| AX_BOOST_BASE([1.35]) | AX_BOOST_BASE([1.35], | ||||||
| # HAVE_BOOST is set to an empty value when Boost is found. I don't know |               [AC_MSG_NOTICE([Boost CPPFLAGS: "$BOOST_CPPFLAGS" | ||||||
| # how to test for a set vs unset variable. |                 Boost LDFLAGS: "$BOOST_LDFLAGS"])], | ||||||
| AS_IF([test "x$BOOST_CPPFLAGS" = "x"], |               [AC_MSG_ERROR([Could not find Boost])]) | ||||||
|       [AC_MSG_ERROR([Could not find Boost])], | CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS" | ||||||
|       [AC_MSG_NOTICE([Boost CPPFLAGS: $BOOST_CPPFLAGS]) | LDFLAGS="$BOOST_LDFLAGS $LDFLAGS" | ||||||
|       CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS" |  | ||||||
|       LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"]) |  | ||||||
|  |  | ||||||
| AX_BOOST_SYSTEM() | AX_BOOST_SYSTEM() | ||||||
| # HAVE_BOOST_SYSTEM is set to an empty value when Boost.System is found. | AC_MSG_NOTICE([Boost.System LIB: "$BOOST_SYSTEM_LIB"]) | ||||||
| # I don't know how to test for a set vs unset variable. | LIBS="$BOOST_SYSTEM_LIB $LIBS" | ||||||
| AS_IF([test "x$BOOST_SYSTEM_LIB" = "x"], |  | ||||||
|       [AC_MSG_ERROR([Could not find Boost.System])], |  | ||||||
|       [AC_MSG_NOTICE([Boost.System LIB: $BOOST_SYSTEM_LIB]) |  | ||||||
|       LIBS="$BOOST_SYSTEM_LIB $LIBS"]) |  | ||||||
|  |  | ||||||
| AC_MSG_CHECKING([which qtsingleapplication to use]) | AC_MSG_CHECKING([which qtsingleapplication to use]) | ||||||
| AS_CASE(["x$with_qtsingleapplication"], | AS_CASE(["x$with_qtsingleapplication"], | ||||||
| @@ -190,7 +190,7 @@ extract() { | |||||||
|   new_line=' |   new_line=' | ||||||
| ' | ' | ||||||
|   # Convert " -" to "\n" if not between quotes and remove possible leading white spaces |   # Convert " -" to "\n" if not between quotes and remove possible leading white spaces | ||||||
|   string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[:space:]]*//') |   string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[[:space:]]]*//') | ||||||
|   SAVEIFS=$IFS |   SAVEIFS=$IFS | ||||||
|   IFS=$(printf "\n\b") |   IFS=$(printf "\n\b") | ||||||
|   for i in $string; do |   for i in $string; do | ||||||
| @@ -204,9 +204,8 @@ extract() { | |||||||
|   IFS=$SAVEIFS |   IFS=$SAVEIFS | ||||||
| } | } | ||||||
|  |  | ||||||
| extract $CPPFLAGS | extract "$CFLAGS $CPPFLAGS $CXXFLAGS" | ||||||
| QBT_ADD_DEFINES="$QBT_ADD_DEFINES $QBT_CONF_DEFINES" | QBT_ADD_DEFINES="$QBT_ADD_DEFINES $QBT_CONF_DEFINES" | ||||||
| QBT_CONF_EXTRA_CFLAGS="$QBT_CONF_EXTRA_CFLAGS $CXXFLAGS" |  | ||||||
|  |  | ||||||
| # Substitute the values of these vars in conf.pri.in | # Substitute the values of these vars in conf.pri.in | ||||||
| AC_SUBST(QBT_CONF_INCLUDES) | AC_SUBST(QBT_CONF_INCLUDES) | ||||||
| @@ -234,4 +233,3 @@ AS_IF([test "x$ret" = "x0"], | |||||||
|       [AC_MSG_NOTICE([Good, your configure finished.])], |       [AC_MSG_NOTICE([Good, your configure finished.])], | ||||||
|       [AC_MSG_ERROR([Failed running $QT_QMAKE to generate the makefile])]) |       [AC_MSG_ERROR([Failed running $QT_QMAKE to generate the makefile])]) | ||||||
| AS_ECHO() | AS_ECHO() | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								dist/mac/Info.plist
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -45,7 +45,7 @@ | |||||||
| 	<key>CFBundlePackageType</key> | 	<key>CFBundlePackageType</key> | ||||||
| 	<string>APPL</string> | 	<string>APPL</string> | ||||||
| 	<key>CFBundleShortVersionString</key> | 	<key>CFBundleShortVersionString</key> | ||||||
| 	<string>3.4.0</string> | 	<string>4.0.4</string> | ||||||
| 	<key>CFBundleSignature</key> | 	<key>CFBundleSignature</key> | ||||||
| 	<string>qBit</string> | 	<string>qBit</string> | ||||||
| 	<key>CFBundleExecutable</key> | 	<key>CFBundleExecutable</key> | ||||||
| @@ -59,7 +59,7 @@ | |||||||
| 	<key>NSAppleScriptEnabled</key> | 	<key>NSAppleScriptEnabled</key> | ||||||
| 	<string>YES</string> | 	<string>YES</string> | ||||||
| 	<key>NSHumanReadableCopyright</key> | 	<key>NSHumanReadableCopyright</key> | ||||||
| 	<string>Copyright © 2006-2017 The qBittorrent project</string> | 	<string>Copyright © 2006-2018 The qBittorrent project</string> | ||||||
| 	<key>UTExportedTypeDeclarations</key> | 	<key>UTExportedTypeDeclarations</key> | ||||||
| 	<array> | 	<array> | ||||||
| 		<dict> | 		<dict> | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								dist/mac/qBitTorrentDocument.icns
									
									
									
									
										vendored
									
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								dist/mac/qbittorrent_mac.icns
									
									
									
									
										vendored
									
									
								
							
							
						
						
							
								
								
									
										5
									
								
								dist/unix/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -25,10 +25,6 @@ if (GUI) | |||||||
|             DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor |             DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor | ||||||
|             FILES_MATCHING PATTERN "*.png") |             FILES_MATCHING PATTERN "*.png") | ||||||
|  |  | ||||||
|     install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.png |  | ||||||
|             DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps/ |  | ||||||
|             COMPONENT data) |  | ||||||
|  |  | ||||||
|     install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.desktop |     install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.desktop | ||||||
|             DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/ |             DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/ | ||||||
|             COMPONENT data) |             COMPONENT data) | ||||||
| @@ -38,6 +34,7 @@ if (GUI) | |||||||
|             COMPONENT data) |             COMPONENT data) | ||||||
|  |  | ||||||
|     install(FILES |     install(FILES | ||||||
|  |             ${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray.svg | ||||||
|             ${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-dark.svg |             ${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-dark.svg | ||||||
|             ${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-light.svg |             ${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-light.svg | ||||||
|         DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status |         DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/128x128/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 7.6 KiB | 
| Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 7.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/16x16/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 986 B | 
| Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 986 B | 
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/192x192/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 11 KiB | 
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/22x22/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/24x24/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.2 KiB | 
| Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/32x32/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.7 KiB | 
| Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/36x36/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.0 KiB | 
| Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								dist/unix/menuicons/48x48/apps/qbittorrent.png
									
									
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 2.9 KiB |