1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-14 11:52:15 +02:00

Compare commits

..

51 Commits

Author SHA1 Message Date
Christophe Dumez
882f3dcf0e Fix encoding bug in search engine on Windows
Attempt to address issue #29.
2012-09-15 14:18:35 +03:00
Christophe Dumez
b191a977af Merge pull request #95 from sledgehammer999/update_windows_build
Updated Windows build conf files.
2012-09-15 13:47:35 +03:00
Christophe Dumez
61858814ee Update Changelog 2012-09-15 10:10:11 +03:00
Christophe Dumez
365387f092 Update language files 2012-09-15 10:08:04 +03:00
Christophe Dumez
df295d96c2 Add Hebrew translation 2012-09-15 10:07:57 +03:00
Spencer Oliver
a069f806d9 session: always output anonymous status
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2012-09-13 19:05:38 +03:00
Spencer Oliver
4638a9e6ee options: ensure ui matches options
If we set anonymous mode make sure the ui is disabled to match.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2012-09-13 19:05:38 +03:00
Christophe Dumez
af790e40f8 Update Changelog 2012-09-10 21:10:51 +03:00
Christophe Dumez
76fd5d3eb4 "Completed On" column is not updated until restart (closes #84) 2012-09-10 21:10:33 +03:00
Christophe Dumez
dc8a8fbc06 Disable search completion (closes #89) 2012-09-10 19:44:30 +03:00
Christophe Dumez
30e0cc20c8 OS/2 Fixes from Silvan Scherrer 2012-09-06 15:40:03 +03:00
Christophe Dumez
63dcb81384 Update Changelog 2012-09-02 21:44:25 +03:00
Christophe Dumez
ce391ad328 Bypass cache when uploading a torrent file in Web UI (closes #68) 2012-09-02 21:42:33 +03:00
Christophe Dumez
7b908c7adf Merge pull request #78 from SuperGnarf/release-3.0.2
Remove macro for not existing variable t
2012-09-02 06:11:01 -07:00
SuperGnarf
0d26d734b3 Update src/torrentcontentmodelitem.cpp
removed macro for not existing variable t
2012-09-02 15:53:43 +03:00
Christophe Dumez
f836c40fc4 Bump version to v3.0.2 2012-09-01 14:08:47 +03:00
Christophe Dumez
21fe7f2ca6 Update Changelog 2012-09-01 13:52:59 +03:00
Christophe Dumez
da85a57f83 Fix possible crash due to labels (closes #64) 2012-09-01 13:52:27 +03:00
Christophe Dumez
e35664b188 Correctly escape transfer list filter value typed by user 2012-08-28 18:37:02 +03:00
Christophe Dumez
2fc350b265 Update changelog 2012-08-28 18:29:11 +03:00
Christophe Dumez
83bcd6a2d7 Fix label-based filtering of torrents whose label contains special characters 2012-08-28 18:28:36 +03:00
Christophe Dumez
edcfa4df12 TorrentContentModel code clean up 2012-08-26 21:39:28 +03:00
Christophe Dumez
12a83e1aec Update Changelog 2012-08-26 21:02:26 +03:00
Christophe Dumez
7d50a8b28c Stop updating file priorities regularly in torrent content panel
Performance improvement to address issue #24.
2012-08-26 21:01:07 +03:00
Christophe Dumez
232e112d84 Optimizations to TorrentContentModel
First step to address issue #24.
2012-08-26 15:01:49 +03:00
Christophe Dumez
5b1ee883b4 Update Changelog 2012-08-26 10:14:12 +03:00
Christophe Dumez
b07fceec65 Add "clear" functionality to search field (closes #59) 2012-08-26 10:14:11 +03:00
Christophe Dumez
4c9cf6c773 Update Changelog 2012-08-25 16:54:58 +03:00
Christophe Dumez
164f37e961 Fix encoding problem for detected XDG Download folder (closes #53)
Only affects Linux.
2012-08-25 16:54:37 +03:00
Christophe Dumez
093fb303f3 Minor code clean up 2012-08-25 16:34:35 +03:00
Christophe Dumez
f3d5039e33 Update Changelog. 2012-08-24 19:21:32 +03:00
Christophe Dumez
007c307388 Fix crash when a fastresume file is empty (closes #52) 2012-08-24 19:20:47 +03:00
Christophe Dumez
4079689f32 Update Changelog 2012-08-23 21:21:39 +03:00
Christophe Dumez
2b3d6926c8 Attempt to use qBittorrent icon from theme if available (closes #49) 2012-08-23 21:19:50 +03:00
Christophe Dumez
14b3414e9d Bump version to v3.0.1 2012-08-21 20:22:20 +03:00
Christophe Dumez
73254962f1 Update Changelog 2012-08-21 17:50:47 +03:00
Christophe Dumez
74f042516b Make uTP rate limited by default 2012-08-21 17:50:07 +03:00
Christophe Dumez
8c0853248c Fix wiki link for "Anonymous Mode" feature (#25) 2012-08-14 20:58:36 +03:00
Christophe Dumez
80ea0a67b5 Update Changelog 2012-08-14 20:44:42 +03:00
Christophe Dumez
6d2b51203c Update URL for search plugins updater (closes #25) 2012-08-14 20:44:02 +03:00
Christophe Dumez
8ac82156b3 Update Changelog 2012-08-12 17:59:39 +03:00
Christophe Dumez
c1806b099a Fix crash when using unauthorized characters in label names (closes #19) 2012-08-12 17:59:09 +03:00
Christophe Dumez
1046c816bf Remove unused function 2012-08-12 10:14:05 +03:00
Christophe Dumez
cfbb5ecde5 Update Changelog 2012-08-12 09:58:54 +03:00
Christophe Dumez
afdec02674 Remember queue position for torrents without metadata (closes #17) 2012-08-12 09:58:05 +03:00
Christophe Dumez
927e6bc6cc Fixes to Italian translation 2012-08-10 21:28:40 +03:00
Christophe Dumez
e862d3332c Update language files 2012-08-10 14:23:36 +03:00
Simone
699144a83d Update src/lang/qbittorrent_it.ts 2012-08-10 14:22:40 +03:00
Christophe Dumez
1792f44bfa Update Changelog 2012-08-10 11:23:06 +03:00
Christophe Dumez
64e4095ef1 Fix possible crash when adding a tracker to a magnet torrent without metadata (Closes #1034254) 2012-08-10 11:18:37 +03:00
Christophe Dumez
1d1ffcec7c Handle exceptions in readAlerts() 2012-08-10 10:04:28 +03:00
1502 changed files with 178820 additions and 363689 deletions

7
.gitattributes vendored
View File

@@ -1,7 +0,0 @@
core.eol=lf
* text eol=lf
*.zip binary
*.png binary
*.ico binary
*.qm binary
*.icns binary

24
.gitignore vendored
View File

@@ -1,32 +1,14 @@
src/gui/geoip/GeoIP.dat
src/gui/geoip/GeoIP.dat.gz
src/geoip/GeoIP.dat
src/qbittorrent
src/qbittorrent-nox
src/release
src/debug
qbittorrent.pro.user*
qbittorrent.pro.user
conf.pri
Makefile*
Makefile
*.pyc
*.log
# Compiled object files
*.o
*.pdb
*.exe
# Generated MOC, resource and UI files
moc_*.cpp
qrc_*.cpp
ui_*.h
*.moc
src/lang/qbittorrent_*.qm
.DS_Store
.qmake.stash
src/qbittorrent.app
*.dmg
#Autotools junk
aclocal.m4
autom4te.cache/*
config.status

View File

@@ -1,121 +0,0 @@
language: cpp
os:
- linux
- osx
osx_image: xcode7
env:
matrix:
# Uncomment when Travis upgraded "Ubuntu 12.04 LTS" to a newer version whose repo will have a more up-to-date libtorrent package
#- lt_branch=dist gui=true
#- lt_branch=dist gui=false
- lt_branch=RC_1_0 gui=true qt=4
- lt_branch=RC_1_0 gui=true qt=5
- lt_branch=RC_1_0 gui=false qt=4
- lt_branch=RC_1_0 gui=false qt=5
global:
- secure: "OI9CUjj4lTb0HwwIZU5PbECU3hLlAL6KC8KsbwohG8/O3j5fLcnmDsK4Ad9us5cC39sS11Jcd1kDP2qRcCuST/glVNhLkcjKkiQerOfd5nQ/qL4JYfz/1mfP5mdpz9jHKzpLUIG+TXkbSTjP6VVmsb5KPT+3pKEdRFZB+Pu9+J8="
- coverity_branch: coverity_scan
matrix:
exclude:
- os: linux
env: lt_branch=RC_1_0 gui=true qt=5
- os: linux
env: lt_branch=RC_1_0 gui=false qt=5
branches:
except:
- search_encoding_windows
- v2_9_x
notifications:
email:
on_success: change
on_failure: change
# container-based builds
sudo: false
# TODO: osx builder does not enable cache yet, see: https://github.com/travis-ci/travis-ci/issues/4011
cache:
directories:
- $HOME/.ccache
addons:
coverity_scan:
project:
name: "qbittorrent/qBittorrent"
description: "Build submitted via Travis CI"
build_command_prepend: "./bootstrap.sh && ./configure $qbtconf && echo QMAKE_CC=$CC >> conf.pri && echo QMAKE_CXX=$CXX >> conf.pri"
build_command: make
branch_pattern: $coverity_branch
notification_email: sledgehammer999@qbittorrent.org
apt:
sources:
# sources list: https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
- ubuntu-toolchain-r-test
- boost-latest
packages:
# packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
- autoconf
- automake
- colormake
- g++-4.8
- libssl-dev
- libboost1.55-dev
- libboost-system1.55-dev
- libqt4-dev
# Uncomment when Travis upgraded "Ubuntu 12.04 LTS" to a newer version whose repo will have a more up-to-date libtorrent package
#- libtorrent-rasterbar6
before_install:
# Only allow specific build for coverity scan, others will stop
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ] && ! [ "$TRAVIS_OS_NAME" = "linux" -a "$lt_branch" = "RC_1_0" -a "$gui" = true ]; then exit ; fi
- shopt -s expand_aliases
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then export CC=gcc-4.8 CXX=g++-4.8 ; fi
- if [ "$TRAVIS_BRANCH" != "$coverity_branch" -a "$TRAVIS_OS_NAME" = "linux" ]; then dpkg-query -L ccache && export PATH="/usr/lib/ccache/:$PATH" ; fi
- alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system)
- libt_path="$HOME/libt_install"
- qbt_path="$HOME/qbt_install"
- ltconf="$ltconf --prefix="$libt_path" --disable-geoip"
- qbtconf="$qbtconf --prefix="$qbt_path" --with-qt4 PKG_CONFIG_PATH="$libt_path/lib/pkgconfig":$PKG_CONFIG_PATH"
# Options for specific branches
# Also setup a virtual display for after_success target when gui == true
- if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ;
elif [ "$TRAVIS_OS_NAME" = "linux" ]; then export "DISPLAY=:99.0" && /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16 ;
fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then qbtconf="$qbtconf --disable-qt-dbus" ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$qt" = 5 ]; then qbtconf="$qbtconf --with-qt4=no" ; fi
# Print settings
- echo $lt_branch
- echo $gui
- echo $ltconf
- echo $qbtconf
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then ccache -V && ccache --show-stats && ccache --zero-stats ; fi
install:
- if [ "$TRAVIS_OS_NAME" = "linux" -a "$lt_branch" != "dist" ]; then cd "$HOME" && pwd && git clone --depth 1 https://github.com/arvidn/libtorrent.git --branch $lt_branch ; fi
- if [ "$TRAVIS_OS_NAME" = "linux" -a "$lt_branch" != "dist" ]; then cd libtorrent && ./autotool.sh && ./configure $ltconf && make install && cd "$TRAVIS_BUILD_DIR" ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update > /dev/null && brew install colormake libtorrent-rasterbar; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$qt" = 4 ]; then brew install qt; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$qt" = 5 ]; then brew install qt5 && brew link --force qt5; fi
script:
- if [ "$TRAVIS_BRANCH" = "$coverity_branch" ]; then exit ; fi # Skip usual build when running coverity scan
- ./bootstrap.sh && ./configure $qbtconf
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then echo QMAKE_CC=$CC >> conf.pri && echo QMAKE_CXX=$CXX >> conf.pri ; fi
- make && make install
after_success:
- if [ "$gui" = true ]; then qbt_exe="qbittorrent" ; else qbt_exe="qbittorrent-nox" ; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cd "$qbt_path/bin" && export LD_PRELOAD="$libt_path/lib/libtorrent-rasterbar.so:$LD_PRELOAD" ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then cd "src/$qbt_exe.app/Contents/MacOS" ; fi
- ./$qbt_exe --version
after_script:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then ccache --show-stats ; fi

View File

@@ -1,18 +0,0 @@
[main]
host = https://www.transifex.com
[qbittorrent.qbittorrent_v3_3_x]
file_filter = src/lang/qbittorrent_<lang>.ts
source_file = src/lang/qbittorrent_en.ts
source_lang = en
type = QT
minimum_perc = 23
mode = developer
[qbittorrent.qbittorrentdesktop_master]
source_file = src/icons/qBittorrent.desktop
source_lang = en
type = DESKTOP
minimum_perc = 23
mode = developer

57
AUTHORS
View File

@@ -1,7 +1,4 @@
Current maintainer:
* Sledgehammer999 <sledgehammer999@qbittorrent.org>
Original author:
Author:
* Christophe Dumez <chris@qbittorrent.org>
Contributors:
@@ -14,10 +11,9 @@ Contributors:
* Grigis Gaëtan <cipher16@gmail.com>
* Christian Kandeler <zambesi@users.sourceforge.net>
* Silvan Scherrer <silvan.scherrer@aroa.ch>
* Nick Tiskov <daymansmail@gmail.com>
Code from other projects:
* files src/qtsingleapplication/* src/lineedit/*
* files src/qtsingleapp/* src/lineedit/*
copyright: Nokia Corporation
license: LGPL
@@ -29,12 +25,8 @@ Code from other projects:
copyright: Dan Haim <negativeiq@users.sourceforge.net>
license: BSD
* file src/stacktrace_win.h
copyright: Quassel Project
license: GPLv2/3
Images Authors:
* files: src/icons/*.png
* files: src/Icons/*.png
copyright: Gnome Icon Theme
license: GPLv2
url: http://ftp.acc.umu.se/pub/GNOME/sources/gnome-icon-theme
@@ -44,21 +36,21 @@ Images Authors:
license: LGPL
url: http://www.oxygen-icons.org
* files: src/icons/flags/*.png
* files: src/Icons/flags/*.png
copyright: Mark James <mjames@gmail.com>
license: Public Domain
url: http://www.famfamfam.com
* files: src/icons/skin/*.png
* files: src/Icons/skin/*.png
files: src/menuicons/YYxYY/*.png
copyright: Mateusz Tobola <tobejodok@qbittorrent.org>
license: GPLv2
* file: src/icons/skin/tabs.gif
* file: src/Icons/skin/tabs.gif
copyright: Greg Houston <gregory.houston@gmail.com>
license: MIT
* file: src/icons/skin/qbittorrent_mono*
* file: src/Icons/skin/qbittorrent_mono*
copyright: Daniel Eguren <deguren@gmail.com>
license: LGPL
@@ -77,51 +69,44 @@ Images Authors:
* file: src/search_engine/engines/torrentreactor.png
copyright: Downloaded from torrentreactor.net
* file: src/icons/oxygen/checked.png
copyright: Victor Buinsky <allok.victor@gmail.com>
Translations authors:
* files: src/lang/*.ts
* file: src/icons/qBittorrent.desktop
copyright:
- Arabic: SDERAWI (abz8868@msn.com), sn51234 (nesseyan@gmail.com) and Ibrahim Saed ibraheem_alex(Transifex)
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
- Armenian: Hrant Ohanyan (hrantohanyan@mail.am)
- Basque: Xabier Aramendi (azpidatziak@gmail.com)
- Belarusian: Mihas Varantsou (meequz@gmail.com)
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) and 冥王歐西里斯 s8321414(Transifex)
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
- Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
- Czech: Jirka Vilim (web@tets.cz) and Petr Cernobila abr(Transifex)
- Czech: Jirka Vilim (web@tets.cz)
- Danish: Mathias Nielsen (comoneo@gmail.com)
- Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com)
- English: Christophe Dumez (chris@qbittorrent.org)
- English(Australia): Robert Readman readmanr(Transifex)
- English(United Kingdom): Robert Readman readmanr(Transifex)
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net), Pekka Niemi (pekka.niemi@iki.fi) and Jiri Grönroos artnay(Transifex)
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net)
- French: Christophe Dumez (chris@qbittorrent.org)
- Galician: Marcos Lans (marcoslansgarza@gmail.com) and antiparvos(Transifex)
- Galician: Marcos Lans (marcoslansgarza@gmail.com)
- Georgian: Beqa Arabuli (arabulibeqa@yahoo.com)
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net), Stephanos Antaris (santaris@csd.auth.gr), sledgehammer999(hammered999@gmail.com) and Γιάννης Ανθυμίδης Evropi(Transifex)
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
- Hebrew: David Deutsch (d.deffo@gmail.com)
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
- Italian: bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com)
- Italian: Matteo Sechi (bu17714@gmail.com)
- Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com)
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
- Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
- Norwegian: Tomaso
- Polish: Mariusz Fik (fisiu@opensuse.org)
- Portuguese: Sérgio Marques smarquespt(Transifex)
- Portuguese(Brazil): Nick Marinho (nickmarinho@gmail.com)
- Romanian: Obada Denis (obadadenis@users.sourceforge.net), Adrian Gabor Adriannho(Transifex) and Mihai Coman z0id(Transifex)
- Russian: Nick Khazov (m2k3d0n at users.sourceforge.net), Alexey Morsov (samurai@ricom.ru), Nick Tiskov Dayman(daymansmail (at) gmail (dot) com), Dmitry DmitryKX(Transifex) and kraleksandr kraleksandr(Transifex)
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)
- Russian: Nick Khazov (m2k3d0n at users.sourceforge.net)
- Serbian: Anaximandar Milet (anaximandar at operamail.com)
- Slovak: helix84
- Spanish: Francisco Luque Contreras (frannoe@ya.com), Alfredo Monclus alfrix(Transifex) and José Antonio Moray moray33(Transifex)
- Swedish: Daniel Nylander (po@danielnylander.se) and Emil Hammarberg Ooglogput(Transifex)
- Spanish: Francisco Luque Contreras (frannoe@ya.com)
- Swedish: Daniel Nylander (po@danielnylander.se)
- Turkish: Hasan Yilmaz (iletisim@hedefturkce.com)
- Ukrainian: Oleh Prypin (blaxpirit@gmail.com) and zubr139(Transifex)
- Vietnamese: Anh Phan ppanhh(Transifex)
- Ukrainian: Oleh Prypin (blaxpirit@gmail.com)
license: GPLv2

View File

@@ -1,227 +0,0 @@
All new code must follow the following coding guidelines.
If you make changes in a file that still uses another coding style, make sure that you follow these guidelines for your changes instead.
**Note:** I will now take your head if you forget and use another style. However, most probably the request will be delayed until you fix your coding style.
### 1. Curly braces ###
#### a. Function blocks, class/struct definitions, namespaces ####
```c++
int myFunction(int a)
{
//code
}
void myFunction() {} // empty body
MyClass::MyClass(int *parent)
: m_parent(parent)
{
//initialize
}
int MyClass::myMethod(int a)
{
//code
}
class MyOtherClass
{
public:
//code
protected:
//code
private:
//code
};
namespace Name
{
//code
}
// Lambdas
[](int arg1, int arg2) -> bool { return arg1 < arg2; }
[this](int arg)
{
this->acc += arg;
}
```
#### b. Other code blocks ####
```c++
if (condition) {
//code
}
for (int a = 0; a < b; ++b) {
//code
}
switch (a) {
case 1:
//blah
case 2:
//blah
default:
//blah
}
```
#### c. Blocks in switch's case labels ####
```c++
switch (var) {
case 1: {
//declare local variables
//code
}
break;
case 2: {
//declare local variables
//code
}
break;
default:
//code
}
```
#### d. single-line blocks (lambdas, initializer lists etc.) ####
```c++
{} // empty - space before {
{ body } // spaces around { and before }
```
### 2. If blocks ###
#### a. Multiple tests ####
```c++
if (condition) {
//code
}
else if (condition) {
//code
}
else {
//code
}
```
The `else if`/`else` must be on their own lines.
#### b. Single statement if blocks ####
**Most** single statement if blocks should look like this:
```c++
if (condition)
a = a + b;
```
One acceptable exception to this **can be** `return`, `break` or `continue` statements, provided that the test condition isn't very long. However you can choose to use the first rule instead.
```c++
a = myFunction();
b = a * 1500;
if (b > 0) return;
c = 100 / b;
```
#### c. Using curly braces for single statement if blocks ####
However, there are cases where curly braces for single statement if blocks **should** be used.
* If some branch needs braces then all others should use them. Unless you have multiple `else if` in a row and the one needing the braces is only for a very small sub-block of code.
* Another exception would be when we have nested if blocks or generally multiple levels of code that affect code readability.
Generally it will depend on the particular piece of code and would be determined on how readable that piece of code is. **If in doubt** always use braces if one of the above exceptions applies.
### 3. Indentation###
4 spaces.
### 4. File encoding and line endings.###
UTF-8 and Unix-like line ending (LF). Unless some platform specific files need other encodings/line endings.
### 5. Initialization lists.###
Initialization lists should be vertical. This will allow for more easily readable diffs. The initialization colon should be indented and in its own line along with first argument. The rest of the arguments should be indented too and have the comma prepended.
```c++
myClass::myClass(int a, int b, int c, int d)
: m_a(a)
, m_b(b)
, m_c(c)
, m_d(d)
{
//code
}
```
### 6. Enums.###
Enums should be vertical. This will allow for more easily readable diffs. The members should be indented.
```c++
enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
```
### 7. Names.###
All names should be camelCased.
#### a. Type names and namespaces ####
Type names and namespaces start with Upper case letter (except POD types).
```c++
class ClassName {}
struct StructName {}
enum EnumName {}
typedef QList<ClassName> SomeList;
namespace NamespaceName
{
}
```
#### b. Variable names ####
Variable names start with lower case letter.
```c++
int myVar;
```
#### c. Private member variable names ####
Private member variable names start with lower case letter and should have ```m_``` prefix.
```c++
class MyClass
{
int m_myVar;
}
```
### 8. Misc.###
* Line breaks for long lines with operation:
```c++
a += "b"
+ "c"
+ "d";
```
* Space around operations eg `a = b + c` or `a=b+c`:
Before and after the assignment there should be a space. One exception could be: for loops.
```c++
for (int a=0; a<b; ++b) {
}
```
* private/public/protected must not be indented
* Preprocessor commands must go at line start
* Method definitions aren't allowed in header files
###8. Not covered above###
If something isn't covered above, just follow the same style the file you are editing has. If that particular detail isn't present in the file you are editing, then use whatever the rest of the project uses.

View File

@@ -1,36 +0,0 @@
# Filing an issue
### Must read
* If you aren't sure, you can ask on the [**forum**](http://forum.qbittorrent.org) or read our [**wiki**](http://wiki.qbittorrent.org) first.
* Do a quick **search**. Others might already reported the issue.
* Write in **English**!
* Provide **version** information: (You can find version numbers at menu `Help -> About -> Libraries`)
```
qBittorrent:
Qt:
libtorrent:
boost:
OS version:
```
* Provide **steps** to reproduce the problem, it will be easier to pinpoint the fault.
* **Screenshots**! A screenshot is worth a thousand words. just upload it. [(How?)](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests)
### Good to know
* **Patience**. The dev team is small and resource limited. Devs finding their free time, analyzing the problem and fixing the issue, it all takes time. :clock3:
* If you can code, why not become a **contributor** by fixing the issue and open a pull request? :wink:
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) to be **ignored**. :fearful:
# Opening a pull request
### Must read
* Read our [**coding guidelines**](https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md). There are some scripts to help you: [uncrustify script](https://gist.github.com/sledgehammer999/1cb1d9224d7fec8fa632), [astyle script](https://gist.github.com/Chocobo1/539cee860d1eef0acfa6), [(related thread)](https://github.com/qbittorrent/qBittorrent/issues/2192).
* Keep the title **short** and provide a **clear** description about what your pull request does.
* Provide **screenshots** for UI related changes.
* Keep your git commit history **clean** and **precise**. Commits like `xxx fixup` should not appear.
* If your commit fix a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here](https://github.com/qbittorrent/qBittorrent/commit/a74bac20c4e8de9776bf9bb77fdc7526135d1988).
### Good to know
* **Search** pull request history! Others might already implemented your idea and is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).

10
COPYING
View File

@@ -69,7 +69,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@@ -124,7 +124,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -182,7 +182,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -239,7 +239,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -292,7 +292,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest

220
Changelog
View File

@@ -1,206 +1,24 @@
* Tue Dec 08 2015 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.1
- FEATURE: New "Set as default label" option in Add torrent dialog. (takiz)
- FEATURE: Support wildcards for filtering torrent list and torrent content (vlakoff)
- BUGFIX: Fix -1 is displayed instead of the infinity symbol (Chocobo1)
- BUGFIX: Fix scan dirs settings saving. Closes #4254, #4239, #4187. (glassez)
- BUGFIX: Exported torrents now use name instead of hash. Closes #4205. (glassez)
- BUGFIX: Improve upgrade to v3.3.0. Now undownloaded magnets will be migrated too. Fixes #4195. (glassez)
- BUGFIX: Fix wrong encoding for listen failed error message. (glassez)
- BUGFIX: Fix RSS not automarking articles as read. (glassez)
- BUGFIX: Fix possible deadlock during application exit. (sledgehammer999)
- WEBUI: Cookies support on WebUI when downloading torrent from a URL. (Naikel Aparicio)
- WEBUI: Modified download and upload windows to allow autocompletion of browsers. (Naikel Aparicio)
- WEBUI: Fixed the spinner in the WebUI upload page. (Naikel Aparicio)
- WEBUI: Modified height of the WebUI download page. (Naikel Aparicio)
- WEBUI: Fixed all the JavaScript functions for download and upload pages. (Naikel Aparicio)
- WEBUI: Add seeds tab to WebUI (buinsky)
- WEBUI: Bump WebUI API_VERSION.
- COSMETIC: Cleanup "Trackers", "Peers", "HTTP Sources", "Speed" and "Content" page layout (Chocobo1)
- COSMETIC: Reduce mainwindow border width (Chocobo1)
- COSMETIC: Use QLineEdit built-in ClearButton (Qt5 only) (Chocobo1)
- COSMETIC: Change text description for half-open connection (Chocobo1)
- OTHER: Change update URL to FossHub. Closes #4188. (sledgehammer999)
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v3.0.3
- BUGFIX: Bypass cache when uploading a torrent file in Web UI (closes #68)
- BUGFIX: "Completed On" column is not updated until restart (closes #84)
- BUGFIX: Fix possible build error on some systems
- I18N: Add hebrew translation
* Sun Nov 29 2015 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.3.0
- FEATURE: Huge core code refactoring. Problems with labels, temp folders etc should be eliminated. Smoother UI should be observed too. (glassez)
- FEATURE: Speed graph (Anton Lashkov)
- FEATURE: Add multiple peers in Peers addition dialog. Closes #1563, #2245, #3133, #1419, #3287, #1419 (ngosang)
- FEATURE: Allow to copy all peers with a keyboard shortcut (ngosang)
- FEATURE: Use GeoIP2 database, allows for country resolution of IPv6 peers. It is no longer embedded in the program but downloaded and updated monthly. (glassez)
- FEATURE: Add more "Run External Program" parameters, closes #3053, #238, #1291, #1522. (Chocobo1, glassez)
- FEATURE: Add an option to allow the use of proxies only for torrents. Closes #2701. (pmzqla)
- FEATURE: Detect network interface state changes. It should detect VPN connection resets. (Pawel Polewicz)
- FEATURE: Switch to using c++11 (glassez)
- FEATURE: Automatically add trackers to new downloads. (ngosang)
- FEATURE: You can now choose the path to download for watched folders. (dsimakov, sledgehammer999)
- FEATURE: Switch to Qt5 by default.
- BUGFIX: Fix progress calculation in Content tab. Closes #2639 Closes #2752 (ngosang)
- BUGFIX: Fix label filter. Closes #3429. (glassez)
- BUGFIX: Fix "Run External Program Launches too Early" issue, closes #2107. (Chocobo1)
- BUGFIX: Don't remove torrent contents parent folder, even it is empty. Closes #2244. (Chocobo1)
- BUGFIX: Always apply filter for manually banned IPs. Related #3988. (sledgehammer999)
- BUGFIX: Fix reporting of tracker status. Closes #3101. (sledgehammer999)
- BUGFIX: Don't connect to "any interface" when the configured network interface is missing. Closes #3943, #2741, #1159, #844 and #143. (sledgehammer999)
- BUGFIX: Fix reordering of first column with Qt5. Closes #2835. (sledgehammer999)
- COSMETIC: Add back "qBittorrent" in program updater title, closes #3549. (Chocobo1)
- COSMETIC: Use infinity symbol rather than -1 for nb_connections (pmzqla)
- COSMETIC: Move uTP options to it's own section (Chocobo1)
- COSMETIC: Fix availability bar & progress bar height being too small on high DPI displays (Chocobo1)
- COSMETIC: Fix availability label & progress label clipped on high DPI displays, closes #3237. (Chocobo1)
- COSMETIC: Add tooltips/legend for availability bar & progress bar (Chocobo1)
- COSMETIC: Use theme color for background in PropertiesWidget (Chocobo1)
- COSMETIC: Replace horizontal line with border in bottom panel (Chocobo1)
- COSMETIC: Various visual changes in the side panel. (Chocobo1)
- COSMETIC: Use thin border for transfer list (Chocobo1)
- COSMETIC: Make URL in "Add Torrent File..." clickable. Closes #3928. (Chocobo1)
- COSMETIC: New view for errored torrents. (sledgehammer999)
- WEBUI: Add information in General tab (ngosang)
- WEBUI: Reorder "Super seeding mode" option in right click menu (ngosang)
- WEBUI: Clean up JavaScript code (ngosang)
- WEBUI: Added labels support. #648 (Felipe Barriga Richards, ngosnag)
- WEBUI: Fix accessing the WebUI through IPv6 (ngosang)
- WEBUI: Bump WebUI API_VERSION to 6.
- WEBUI: Change selected color to differentiate from the progressbar. (Daniel Peukert, ngosang)
- SEARCH: Add "Copy description page URL" button in search tab. Closes #2371. (pmzqla)
- SEARCH: Add https_proxy env variable. This forces Python to use the HTTP proxy for HTTPS connections. (pmzqla)
- SEARCH: Detect new plugin URL from clipboard (ngosang)
- SEARCH: Update Torrentz trackers (ngosang)
- WINDOWS: Fix german translation of the installer (netswap)
- NOX: Don't ask the user questions in nox build when in non-interactive mode. Closes #3875. (sledgehammer999)
- OTHER: Fixed typos, spelling correction (dartraiden)
- OTHER: Fix need for restart to enable/disable peer countries resolution. (glassez)
- OTHER: Unload the GeoIP db when disabled. (sledgehammer999)
- OTHER: Reduce max value of "Disk cache size" to 1536MB for 32bit. Closes to #4028. (Chocobo1)
- OTHER: Make "Download in sequential order" and "Download first and last piece first" options independent. (glassez)
* Sat Sep 1 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.2
- FEATURE: Add "clear" functionality to search field (closes #59)
- BUGFIX: Attempt to use qBittorrent icon from theme if available (closes #49)
- BUGFIX: Fix crash when a fastresume file is empty (closes #52)
- BUGFIX: Fix encoding problem for detected XDG Download folder (closes #53)
- BUGFIX: Improve performance when showing torrent content panel (Improves #24)
- BUGFIX: Fix label-based filtering of torrents whose label contains special characters
- BUGFIX: Fix possible crash due to labels (closes #64)
* Sun May 10 2015 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.2.0
- FEATURE: Show actual protocol for listen success/failure in the log. Needs libtorrent v1.0.0 (Gelmir)
- FEATURE: Support per tracker re-announce. Needs libtorrent v1.0.0 (Gelmir)
- FEATURE: Support saving in network locations. (Gelmir)
- FEATURE: Support Qt5 (mostly Glassez)
- FEATURE: Code optimizations resulting in a more CPU efficient and snappier qBittorrent. (sorokin)
- FEATURE: WEBUI code rewritten, refactored and improved. (glassez, pmzqla, buinsky)
- FEATURE: Add option to hibernate computer in Auto-Shutdown menu (Bruno Barbieri)
- FEATURE: Cache preferences in memory. Minimize chance of settings corruption. Closes #1272, #1523, #1694. (sledgehammer999)
- FEATURE: Option to disable connections not supported by proxies. Closes #1894. (sledgehammer999)
- FEATURE: Haiku OS support (diger)
- FEATURE: Add a save resume data interval option(useful for SSD). (john-peterson)
- FEATURE: Add "Last Seen Complete" column (pmzqla)
- FEATURE: Add "Last Activity" column (pmzqla)
- FEATURE: Add "Total Size" column (pmzqla)
- FEATURE: Show current speed limits in the status bar (pmzqla)
- FEATURE: Episode filtering for RSS (Gelmir)
- FEATURE: Highlight files when opening containing folder on Windows and Linux(nautilus, dolphin, konqueror). (Gelmir, pmzqla)
- FEATURE: Setting to ignore RSS rule matches for X days (Gelmir)
- FEATURE: Add hotkeys and buttons for Top and Bottom priorities (alfrix)
- FEATURE: Implement peer relevance column. Closes #1630. (sledgehammer999)
- FEATURE: Show reason why a peer was blocked. Needs libtorrent 1.0.x. (sledgehammer999)
- FEATURE: Use the 'fastest_upload' setting as seed choking algorithm. (sledgehammer999)
- FEATURE: Allow to set text options for the toolbar icons (pmzqla)
- FEATURE: Add 'Resumed' torrent filter (john.s.peterson)
- FEATURE: 'Add New Torrent` dialog has a button for quickly choosing a location (sledgehammer999)
- FEATURE: Copy selected peers as IP:Port format. (ngosang)
- FEATURE: Show info hash in the torrent details in 'Add New Torrent' dialog. (sledgehammer999, chrishirst)
- FEATURE: New feature: Remove empty labels (ngosang)
- FEATURE: Add "Copy name" option in right-click menu of torrent list. Closes #2452 (chrishirst)
- FEATURE: Implement tracker list in the side panel. Closes #170. (sledgehammer999)
- FEATURE: Implement a 'Completed' status. Closes #2326 #2483 #939. (sledgehammer999)
- FEATURE: Columns for session-based download and upload statistics (LazyBui)
- BUGFIX: Use completed time from libtorrent directly. Closes #1726.
- BUGFIX: Speedup and fix a bug in torrent moving. (sorokin)
- BUGFIX: Scan Folder dialog now remembers last location (Bryan Roscoe)
- BUGFIX: Show input box to filter torrent list only when the list is shown (pmzqla)
- BUGFIX: Add placeholder text to the input to filter the torrent list (pmzqla)
- BUGFIX: Put directories first when sorting torrent content by name (pmzqla)
- BUGFIX: Fix missing icon for open action in file list (Gelmir)
- BUGFIX: Set placeholder text to torrent content filter. (sorokin)
- BUGFIX: Fix torrent creation when data is too large (sorokin)
- BUGFIX: Load torrents that have big metadata file. Closes #1889. (sledgehammer999)
- BUGFIX: Use correct separator for "OR" condition in RSS rules (pmzqla)
- BUGFIX: Don't waste UI space in 'Content' window. Closes #2159 (alfrix)
- BUGFIX: Fix the language selection in the combobox when the system locale only has a lang equivalent and not a lang_COUNTRY one. Closes #1786. (sledgehammer999)
- BUGFIX: Don't overwrite the 'Add Paused' setting from the Add New Torrent Dialog (Gelmir)
- BUGFIX: Fix file preview when .!qB extension is used (pmzqla)
- BUGFIX: Ensure that the priority column has enough width when queueing is enabled. Closes #2263. (sledgehammer999)
- BUGFIX: Don't put limits to the alternative speed limits (pmzqla)
- BUGFIX: Make space key change all selected files' checkboxes (sorokin)
- BUGFIX: Don't block peers that use privileged ports. (sledgehammer999)
- BUGFIX: Accept multiple files at once. Closes #2253 (buinsky)
- BUGFIX: Don't touch torrents whose files are missing. Closes #342 #2308 #2469. (sledgehammer999)
- BUGFIX: Save the new save path first in the history. Closes #2382. (sledgehammer999)
- BUGFIX: Fix default tracker in 'Create Torrent' dialog. (ngosang)
- BUGFIX: Let the OS decide the default interface regardless of IPv4/IPv6. Closes #2156. (Chocobo1)
- BUGFIX: Delete the correct selected torrents when the list is filtered. Closes #2729. (sledgehammer999)
- BUGFIX: Don't use HTML in tray icon pop-up on OSX. Closes #2830. (pmzqla)
- BUGFIX: Fix crash when trying to open destination folder on a torrent with no metadata. Closes #2522. (pmzqla)
- BUGFIX: Change torrent name when metadata is retrieved. (ngosang)
- COSMETIC: Removes white bar in the labels list. Closes #1151. (ngosang)
- COSMETIC: Fix speed printing in the tray icon and in the title bar. Closes #2737. (sledgehammer999)
- COSMETIC: Change the color scheme used (sledgehammer999)
- RSS: Display remote images in the preview (Mladen Milinkovic)
- RSS: Format html descriptions in the preview (Mladen Milinkovic)
- RSS: Support overriding global "Add paused" option on per rule basis (Gelmir)
- WINDOWS: Fix automatic python download. Closes #2076. (sledgehammer999)
- WINDOWS: Fix crash when searching the registry for installed python (glassez)
- WINDOWS: Tell Windows to wait during shutdown. (sledgehammer999, paolo-sz)
- OSX: Use the configure script to prepare the build in Mac OSX too. Closes #2295. (sledgehammer999)
- OSX: Fix the build (David Christenson)
- LINUX: Distribute systemd service file for the nox build (sledgehammer999, leigh123linux)
- LINUX: Create qBittorrent.appdata.xml (alxpl)
- SEARCH: Update KickassTorrents plugin (pmzqla)
- SEARCH: Remove vertor engine. Closes #2260. (DoumanAsh)
- SEARCH: Small fix of import in legittorrents engine (DoumanAsh)
- SEARCH: Add combo box for fast search engine switch (DoumanAsh)
- SEARCH: Fix error in mininova search engine (ngosang)
- SEARCH: Fix piratebay. Closes #2270 (DoumanAsh)
- SEARCH: Updated URL in kickasstorrents search engine (ngosang)
- SEARCH: Torrentz search engine added (ngosang)
- OTHER: Drop libtorrent 0.15.x support
- OTHER: Drop Qt < 4.8.0 support
- OTHER: Migrate build system to autotools (sledgehammer999)
- OTHER: Remove deprecated feature of separate DHT port. (sledgehammer999)
- OTHER: Speedup compilation speed (sorokin)
- OTHER: Backtrace generation now works on MinGW. (Gelmir)
- OTHER: New translation: Hindi(India).
* Sat Oct 12 2013 - Christophe Dumez <chris@qbittorrent.org> and sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.0
- FEATURE: Add command line option to daemonize qbittorrent-nox (ngaro)
- FEATURE: Add "Shutdown qBittorrent" button to Web UI (ngaro)
- FEATURE: Add setting to copy .torrent files for finished downloads (Driim)
- FEATURE: Add option to start qBittorrent on Windows startup (sledgehammer999)
- FEATURE: Add context menu to Web seed list (Gelmir)
- FEATURE: Add support for tracker tiers / groups to creator (Gelmir)
- FEATURE: Allow clearing execution and ban logs (Gelmir)
- FEATURE: Add option to use random port on each startup (ireallylikeher)
- FEATURE: Expose the cache expiry to the user (Gelmir)
- FEATURE: Support Atom feeds (Gelmir)
- FEATURE: Add "save path" column (John Peterson)
- FEATURE: Add μTorrent-compatible "Flags" column in the peer tab(sledgehammer999)
- FEATURE: Load magnet metadata in the background while the "Add New Torrent" Dialog is showing (Gelmir)
- FEATURE: Allow to enter only an info-hash for download(sledgehammer999)
- FEATURE: Bring the "Add New Torrent" Dialog to the front(glassez)
- BUGFIX: Add confirmation dialog for "Force recheck" action (closes #131)
- BUGFIX: Greatly improve RSS manager performance (closes #34)
- BUGFIX: Ensure that all columns in the tranferlist have a size > 0.
- BUGFIX: Don't mark RSS item as read when it failed to download (Gelmir)
- BUGFIX: Fix ETA calculation when some files are downloaded and marked afterwards as 'do not download'(sledgehammer999)
- BUGFIX: Make the UI show that PEX/DHT/LSD are actually disabled on private torrents(sledgehammer999)
- BUGFIX: Scheduler should be much more robust and correct now(sledgehammer999)
- BUGFIX: Now qBt won't forget torrent settings after an unclean shutdown(sledgehammer999)
- BUGFIX: Text boxes in edit dialogs will fit to text width(Gelmir)
- BUGFIX: Enable edit/rename via F2 or double click in various places(Gelmir)
- BUGFIX: Allow to edit trackers and copy their urls(Gelmir and Driim)
- BUGFIX: Add Uploaded column to main view(Gelmir)
- BUGFIX: Calculate ETA for seeding torrents(Gelmir)
- BUGFIX: Add option to ignore global share ratio limits for created torrents(Gelmir)
- OTHER: Many RSS bugfixes and improvements all over the place(Gelmir)
- OTHER: Generate translations at configure time to reduce tarball size
- OTHER: Make peer tab sortable by ip too (Gelmir)
- OTHER: Translations moved to Transifex(https://www.transifex.com/projects/p/qbittorrent/)
- OTHER: New Translation - Vietnamese (Anh Phan)
- PERFORMANCE: Impove drawing speed of tranferlist when there are many torrents(>100)
- PERFORMANCE: Impove drawing speed of peers list when there are many peers
* Tue Aug 21 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.1
- BUGFIX: Fix possible crash when adding a tracker to a magnet torrent without metadata (Closes #1034254)
- BUGFIX: Remember queue position for torrents without metadata (closes #17)
- BUGFIX: Fix crash when using unauthorized characters in label names (closes #19)
- BUGFIX: Fix search plugins updating (closes #25)
- BUGFIX: Make uTP connections rate limited by default
* Thu Aug 09 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.0
- FEATURE: Brand new torrent addition dialog

10
INSTALL
View File

@@ -14,11 +14,15 @@ qBittorrent - A BitTorrent client in C++ / Qt4
- pkg-config executable
- libtorrent-rasterbar by Arvid Norberg (>= 1.0.6)
- libtorrent-rasterbar by Arvid Norberg (>= 0.15.0)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
- libboost >= 1.35.x (libboost-system)
- libboost 1.34.x (libboost-filesystem°) + libasio
or
- libboost >= 1.35.x (libboost-system, libboost-filesystem°)
°libboost-filesystem is not needed if libtorrent-rasterbar >= v0.16.x is used
- python >= 2.3 (needed by search engine)
* Run time only dependency
@@ -40,7 +44,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4
- pkg-config executable
- libtorrent-rasterbar by Arvid Norberg (>= v1.0.6)
- libtorrent-rasterbar by Arvid Norberg (>= v0.15.0)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.

View File

@@ -1,12 +1,10 @@
qBittorrent - A BitTorrent client in Qt
qBittorrent - A BitTorrent client in Qt4
------------------------------------------
[![Build Status](https://travis-ci.org/qbittorrent/qBittorrent.svg?branch=master)](https://travis-ci.org/qbittorrent/qBittorrent)
[![Coverity Status](https://scan.coverity.com/projects/5494/badge.svg)](https://scan.coverity.com/projects/5494)
Description:
********************************
### Description:
qBittorrent is a bittorrent client programmed in C++ / Qt that uses
libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.
qBittorrent is a bittorrent client programmed in C++ / Qt4 that uses
libtorrent (sometimes called rblibtorrent) by Arvid Norberg.
It aims to be a good alternative to all other bittorrent clients
out there. qBittorrent is fast, stable and provides unicode
@@ -15,14 +13,13 @@ support as well as many features.
This product includes GeoLite data created by MaxMind, available from
http://maxmind.com/
### Installation:
Installation:
********************************
For installation, follow the instructions from INSTALL file, but simple:
```
./configure
make && make install
qbittorrent
```
will install and execute qBittorrent hopefully without any problem.
@@ -32,14 +29,12 @@ http://www.qbittorrent.org
or our wiki here:
http://wiki.qbittorrent.org
Use the forum for troubleshooting before reporting bugs:
http://forum.qbittorrent.org
Please report any bug (or feature request) to:
http://bugs.qbittorrent.org
You can also meet me (sledgehammer_999) on IRC:
`#qbittorrent on irc.freenode.net`
You can also meet me (chris-qBT) on IRC:
#qbittorrent on irc.freenode.net
------------------------------------------
sledgehammer999 <sledgehammer999@qbittorrent.org>
Christophe Dumez <chris@qbittorrent.org>

View File

@@ -26,7 +26,7 @@ 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 #####
##### conf.pri content beginn #####
BINDIR = ./bin
INCDIR = ./include
LIBDIR = ./lib

View File

@@ -1,4 +0,0 @@
#!/bin/bash
aclocal -I m4
autoconf

File diff suppressed because it is too large Load Diff

1421
build-aux/config.guess vendored

File diff suppressed because it is too large Load Diff

1807
build-aux/config.sub vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,215 +0,0 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# Run the given program, remember its exit status.
"$@"; st=$?
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@@ -1,16 +0,0 @@
# @configure_input@
PREFIX = @EXPAND_PREFIX@
BINDIR = @EXPAND_BINDIR@
DATADIR = @EXPAND_DATADIR@
MANPREFIX = @EXPAND_MANDIR@
QMAKE_CXXFLAGS += @QBT_CONF_EXTRA_CFLAGS@
INCLUDEPATH += @QBT_CONF_INCLUDES@
LIBS += @LDFLAGS@ @LIBS@
CONFIG += @QBT_ADD_CONFIG@
CONFIG -= @QBT_REMOVE_CONFIG@
DEFINES += @QBT_ADD_DEFINES@
DEFINES -= @QBT_REMOVE_DEFINES@

9865
configure vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3
dist/mac/qt.conf vendored
View File

@@ -1,3 +0,0 @@
[Paths]
Translations = translations
Plugins = PlugIns

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More