Commit Graph

55 Commits

Author SHA1 Message Date
Chocobo1
5de75eff05 Unify singleton pattern in Profile class
1. Use unified function names `initInstance()` and `freeInstance()` and
make them public.
2. Add `freeInstance()` to avoid noise from memory leak detectors.
3. Let `instance()`return a pointer directly to avoid unnecessary
indirections when invoking functions.
2020-02-11 15:30:59 +08:00
Vladimir Golovnev (Glassez)
f2285e1b63 Redesign torrent startup handling 2020-01-21 10:14:59 +03:00
Chocobo1
9ef2cd48e0 Fix translation not applied 2019-11-11 16:39:55 +08:00
Chocobo1
cbe78baff1 Migrate to lt::error_code 2019-10-23 13:43:46 +08:00
Vladimir Golovnev
cf2e7d77d6 Merge pull request #10950 from glassez/drop-deprecated
Don't use deprecated libtorrent features
2019-07-23 09:19:15 +03:00
Vladimir Golovnev (Glassez)
60ffa3030e Don't use deprecated libtorrent features 2019-07-21 19:28:28 +03:00
Chocobo1
4a90716843 Add override keyword to functions 2019-07-19 11:58:56 +08:00
thalieht
9995967fbf Remove some unused #include 2019-06-04 17:48:55 +03:00
Chocobo1
6738cdd715 Constify exception references 2019-05-19 12:06:18 +08:00
Chocobo1
e288de7ec1 Forward declare as much as possible 2019-05-19 12:06:18 +08:00
Chocobo1
5aaf040300 Remove libtorrentfwd.h 2019-05-13 11:20:42 +08:00
Chocobo1
3955eef50d Change to lt namespace
Quoting from libtorrent doc:
> In the future, libtorrent will be the alias and lt the namespace name.
2019-05-13 11:20:41 +08:00
Chocobo1
677a419f0b Use upstream defined namespace
`lt` namespace is defined since libtorrent 1.1.6 and our master branch requires >= 1.1.10,
so there is no need to add #if condition for it.
2019-05-13 11:20:41 +08:00
Vladimir Golovnev (Glassez)
ead078a38e Add preliminary support of libtorrent v1.2
libtorrent v1.2 should be built with deprecated features enabled.
2019-03-18 15:17:03 +03:00
thalieht
86df25a3e9 Remove some unused stuff 2019-02-16 18:54:18 +02:00
thalieht
8c944bd4e1 Avoid repeating the return type 2019-02-16 18:54:18 +02:00
thalieht
8a3f942385 Don't use 'else' after return/break 2019-02-13 18:23:25 +02:00
Mike Tzou
78ab0e4ba9 Merge pull request #10220 from thalieht/const
Add const to many vars and arguments
2019-02-13 12:11:00 +08:00
thalieht
ca3ce87e06 Add const to many vars and arguments
Also remove const in declarations' arguments that are passed by value
2019-02-11 20:19:41 +02:00
Chocobo1
f789df7edf Add license header 2019-02-04 17:28:55 +08:00
Chocobo1
2a84345835 Mark constructors as explicit 2018-12-26 12:04:40 +08:00
Vladimir Golovnev (Glassez)
68508ba657 Save torrents queue in separate file 2018-11-27 16:55:45 +03:00
thalieht
eb508d67ef Fix coding style 2018-07-03 08:38:32 +03:00
thalieht
4022799881 Fix coding style 2018-06-12 07:17:05 +03:00
thalieht
20ca90800d Fix coding style 2018-05-09 17:06:22 +03:00
thalieht
6b4455e13d Use qt5 connect() syntax 2018-05-09 16:08:22 +03:00
Chocobo1
0457fd260e Avoid temporary QString allocations
This fixes clazy warning: Use multi-arg instead [-Wclazy-qstring-arg]
2018-03-07 20:06:00 +08:00
sledgehammer999
a55be5e58f Stop logging IP filter parsing errors after a while.
When a lot of errors happen the resulting log lines introduce
a huge slowdown of the GUI, due to writing each log line to disk.

Closes #7755.
2017-11-29 15:49:59 +02:00
sledgehammer999
50471ec8c8 String fixes and optimizations mentioned by translators on Transifex. 2017-10-24 03:32:56 +03:00
thalieht
525fdd6c2b Coding style, use nullptr and other minor things 2017-10-08 10:20:54 +03:00
Vladimir Golovnev (qlassez)
93f5d4058d Improve BandwidthScheduler
Don't disable scheduler when manually switching speed limits.
Closes #7306.
2017-08-23 09:48:31 +03:00
sledgehammer999
1b8cda7924 Follow project coding style. 2017-08-12 16:23:15 +03:00
Eugene Shalygin
74cecb1b6c Replace C-style casts with C++ ones 2017-05-29 17:25:42 +02:00
Vladimir Golovnev (Glassez)
bdca55f15c Use new Session Statistics feature 2017-05-10 13:24:51 +03:00
Vladimir Golovnev (Glassez)
8a6d8f3953 Use cached SessionStatus and CacheStatus 2017-05-10 13:24:37 +03:00
sledgehammer999
b71ee80ecd Optimize P2P filter parsing too. 2017-04-26 02:33:57 +03:00
sledgehammer999
fd7e69e1e0 Add helper function for logging messages. 2017-04-26 02:33:56 +03:00
sledgehammer999
51cf6bd2a5 Optimize DAT filter parsing. Parse in memory and in place instead of copying strings around. 2017-04-26 02:33:55 +03:00
sledgehammer999
8f6e04d779 Using new IP parser provided by @evsh. It is faster and uses less memory.
Class `DATIPv4Parser` was written by Eugene Shalygin <eugene.shalygin@gmail.com> (evsh on github).
2017-04-25 04:43:30 +03:00
sledgehammer999
f53dab8ad4 Output log messages for ip filter parsing errors. 2017-04-25 04:43:29 +03:00
sledgehammer999
05ab9fc355 Optimize ip filter parsing. 2017-04-25 04:43:22 +03:00
Eugene Shalygin
0f746ffd5a Add support for different configurations. Partially closes #465
It may be useful to have different configurations either for portable
versions or for debugging purposes. To implement this we add two
options, avaliable via command line switches
1. An option to change configuration name ("--configuration"). The name
supplied via this option is appended to
QCoreApplication::applicationName() to form "qBittorrent_<conf_name>"
name for the configuration files.
2. An option to provide a path do directory where all the settings are
stored (kind of profile directory). There is a shortcut "--portable"
which means "use directory 'profile' near the executable location".

In order to implement that we have to perform initialisation of the
profile directories before the SettingStorage and Preferences singletones
are initialised. Thus, options parsing shall be performed without defaults
read from preferences.
2017-04-12 00:50:28 +02:00
sledgehammer999
431658bee6 Fix race condition where there was a chance to allow all ips between reparsings of the ip filter. 2017-03-07 23:16:50 +02:00
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
dzmat
b167b4174e reduce methods accessibility from public to private 2017-01-29 15:17:55 +07:00
Anton Lashkov
1233c5b67b Fix name of variable same as class member 2016-11-04 21:44:00 +04:00
Vladimir Golovnev (Glassez)
b5fe749f0b Use new libtorrent-1.1 settings API 2016-06-20 08:30:02 +03:00
Vladimir Golovnev (Glassez)
b2cb473b63 Don't use Preferences in BitTorrent::Session 2016-06-20 08:30:02 +03:00
sledgehammer999
e3e7636de8 Fix parsing of eMule .DAT filters. Closes #5281. 2016-06-20 02:24:37 +03:00
Chocobo1
f13c604fbe Use boost:circular_buffer instead of QList.
QList has to store an additional pointer for each element which leads to bad space efficiency.
2016-05-24 10:44:42 +08:00