Commit Graph

533 Commits

Author SHA1 Message Date
an0n666
e0d7876990 Disable Torrent Queue by default
It should remain disabled by default. Anyone that needs to Queue torrents for seeding/downloading should go to settings and change it to their preference.
2019-12-16 18:16:27 +06:00
sledgehammer999
564d845d87 Use the incomplete folder where appropriate
Restored torrents already have the correct path saved in their fastresume. Don't override it.
Magnets and new torrents have to be set explicitly to the incomplete folder if it is enabled.

Closes #11552
2019-12-13 20:31:38 +02:00
sledgehammer999
d09c5e529c Merge pull request #11592 from sledgehammer999/refactor_listeningAddr
Rework the listening IP/interface selection code
2019-12-12 20:24:45 +02:00
Chocobo1
796595ffb6 Enable "Apply rate limit to peers on LAN" option by default
Because some ISP will deploy Carrier Grade NAT (means assigning private
IP address to user) and thus accidentally circumvent the speed limiter.

https://www.a10networks.com/blog/carrier-grade-nat/
2019-12-11 21:44:45 +08:00
sledgehammer999
8200ef6bd5 Rework the listening IP/interface selection code
Closes #11561
2019-12-11 09:56:45 +02:00
Mike Tzou
2e8b17e498 Merge pull request #11521 from Chocobo1/errorStatus
Fix stuck in wrong torrent state
2019-12-03 19:22:39 +08:00
Chocobo1
bf58555a7a Migrate away from deprecated API 2019-11-29 02:57:31 +08:00
sledgehammer999
56c0f39593 Merge pull request #11520 from sledgehammer999/revert_fastresume_functionality
Revert fastresume functionality
2019-11-27 22:38:21 +02:00
Chocobo1
2ca70cf6cc Fix stuck in wrong torrent state
Before this patch, adding the torrent in
https://github.com/qbittorrent/qBittorrent/issues/11511 and the torrrent
state will stay in torrent_status::checking_resume_data forever.
This is not the correct state since the `torrent_status.errc` field is
non-zero and this commit fixes it.
2019-11-26 03:15:48 +08:00
sledgehammer999
7aa01a1b51 Revert "Always save info dict when saving fastresume"
This reverts commit 4aab44e779.
2019-11-25 15:35:06 +02:00
sledgehammer999
005f0010ec Revert "Fix unable to remove web seeds"
This reverts commit d657c87243.
2019-11-25 15:34:37 +02:00
Vladimir Golovnev (Glassez)
a4b9a4d9da Fix compilation for Windows 7 with MinGW 2019-11-22 13:03:52 +03:00
Chocobo1
af52a18f82 Avoid session reconfiguration when limit has not changed
Fix up 5d46c9b2d6.
2019-11-20 12:22:18 +08:00
Chocobo1
5d46c9b2d6 Revise "speed limits" related code
The old code has a wrong comparison which compares speed limits
in different magnitude: bytes vs KiB. The comparison is removed.
Also the old code treats values that are smaller than 1024 as unlimited
speed which is clearly wrong.
2019-11-17 02:27:59 +08:00
Chocobo1
b408a09755 Remove unused type alias 2019-11-04 13:47:30 +08:00
Chocobo1
1b47350952 Remove anonymous function forward declarations
Also reorder the functions slightly to make it compile.
2019-11-04 12:21:16 +08:00
Mike Tzou
6da39d9279 Merge pull request #11422 from Chocobo1/buffer
Reserve memory for file data buffers
2019-11-02 13:16:21 +08:00
Mike Tzou
565eb4cdc8 Merge pull request #11430 from Chocobo1/qt
Fix integer narrowing on x86
2019-11-01 10:34:56 +08:00
Chocobo1
e262b86c44 Reserve memory for file data buffers 2019-10-31 23:09:28 +08:00
Chocobo1
6fd678195c Replace deprecated Qt functions
QSet::toList() is replaced by QSet::values()
2019-10-31 12:40:24 +08:00
Chocobo1
0f60121b94 Add option to control qBittorrent process memory priority
This is to avoid Windows swapping out other application data from
OS cache and put in torrent data which hinders other program
responsiveness.

The default value "Below normal" is choosen because casual users have
other higher priority apps (such as browser) running and they don't
expect OS to swap out its data. Dedicated seeders most probably will not
have other app running on their system and would expect qbt has
priority over other background services.

The option only has effect on Windows >= 8.
2019-10-31 03:18:43 +08:00
Chocobo1
29fe0029f0 Rename variables in Session class 2019-10-30 11:56:16 +08:00
Chocobo1
89c58921de Log error properly 2019-10-30 01:46:57 +08:00
Chocobo1
a3fd340187 Revise Session::getPendingAlerts function signature 2019-10-30 01:46:57 +08:00
Chocobo1
e32ef7f5c5 Use implicit sharing when getting categories from Session class 2019-10-30 01:46:57 +08:00
Chocobo1
865394a59c Clean up Session class variable initialization 2019-10-30 01:46:56 +08:00
Chocobo1
abb3e7ace0 Move libtorrent session initialization to its own function
`m_IPFilteringChanged` default value has changed due to code unification.
2019-10-30 01:46:52 +08:00
Chocobo1
cbe78baff1 Migrate to lt::error_code 2019-10-23 13:43:46 +08:00
Chocobo1
0d3152e4b0 Clean up "network interfaces configuration" code 2019-10-23 13:43:16 +08:00
Chocobo1
021908320e Preserve relative order when moving to top/bottom in queue
Closes #11312.
2019-10-02 16:03:06 +08:00
Chocobo1
e0a23ba93d Use InfoHash type in queueing operations
This avoids redundant type conversions.
2019-10-02 15:21:16 +08:00
Chocobo1
36056ad5af Avoid redundant lookups 2019-09-29 15:13:25 +08:00
Chocobo1
d76adff81d Change Session::deleteTorrent() first parameter to take InfoHash type 2019-09-29 09:52:51 +08:00
Chocobo1
7276a79cef Call Windows API directly
We already bumped the OS requirement to Windows 7 and those functions
can be called directly without the need to load them first.
2019-09-29 09:52:13 +08:00
Mike Tzou
975b44d05f Merge pull request #11241 from thalieht/delfolder
Add "Remove torrent and its files" option to share ratio limiting
2019-09-29 09:51:41 +08:00
thalieht
07eb261991 Add "Remove torrent and its files" option to share ratio limiting 2019-09-26 13:34:03 +03:00
Chocobo1
58fa5e004f Improve "stats updated" signal handling in MainWindow class 2019-09-24 11:51:29 +08:00
Chocobo1
418164bee4 Move "torrent status report" functionality out of Session class 2019-09-23 21:08:59 +08:00
Chocobo1
4d00435209 Improve error messages for url_seed_alert
Closes #10119.
2019-09-18 15:02:59 +08:00
Chocobo1
fccbc5318a Drop logging level to warning for web seed errors 2019-09-15 14:55:16 +08:00
Chocobo1
5e1e983928 Handle "alerts dropped" alert from libtorrent 2019-09-14 12:09:13 +08:00
Chocobo1
3104291734 Add check for null pointer
Fix up d657c87243.
2019-09-03 22:26:41 +08:00
Chocobo1
4aab44e779 Always save info dict when saving fastresume
Otherwise torrents loaded from fastresume won't have it and needs
to redownload it from elsewhere and slowing down the startup process.
This is also required for the future where we will drop loading the
`info` dict from .torrent files.
2019-08-31 22:59:33 +08:00
Chocobo1
d657c87243 Fix unable to remove web seeds
As suggested in post [1] we don't need to assign the `ti` field anymore when fastresme
already contains the `info` dict.

[1]: https://github.com/arvidn/libtorrent/issues/3946#issuecomment-523300003
2019-08-31 22:52:22 +08:00
Mike Tzou
62a3938480 Merge pull request #11085 from Chocobo1/model
Better on-demand reloading of torrent data
2019-08-30 12:45:57 +08:00
Chocobo1
09503b58fa Clean up loadTorrentResumeData() 2019-08-27 15:01:50 +08:00
Chocobo1
f3ce76110b Simplify code
Instead of using dict_find_list() now we use the simpler dict_find()
since we are going to check its validness anyway.
2019-08-27 15:01:50 +08:00
Chocobo1
3a11c23efd Fix wrong "added on" date
This only happens for magnet links when its metadata has yet to be retrieved.
Closes #11124.
2019-08-27 15:01:50 +08:00
Chocobo1
8d0d8e4dcb Improve embedded tracker
Now it conforms to BEPs more closely.
2019-08-21 18:05:50 +08:00
Chocobo1
1f3bf75fff Better on-demand reloading of torrent data 2019-08-17 15:44:16 +08:00