Commit Graph

548 Commits

Author SHA1 Message Date
Chocobo1
53b7956968 Clean up code
and remove unused parameters/variables.
2021-04-15 11:29:22 +08:00
Vladimir Golovnev
565aef9637 Merge pull request #14630 from glassez/save-resume
Improve ResumeDataStorage
2021-04-02 06:48:32 +03:00
Vladimir Golovnev
825bf8d61e Merge pull request #14657 from glassez/file-prio
Save "resume data" once file priority is changed
2021-04-01 06:32:17 +03:00
Vladimir Golovnev (Glassez)
1344b31535 Improve ResumeDataStorage 2021-03-31 11:56:36 +03:00
Vladimir Golovnev (Glassez)
cd6959b712 Save "resume data" once file priority is changed 2021-03-30 19:59:05 +03:00
Vladimir Golovnev
2d1c34d8e0 Merge pull request #14593 from glassez/qt6-compat
Make current codebase more compatible with Qt6
2021-03-29 14:00:23 +03:00
Vladimir Golovnev (Glassez)
a93391e247 Drop QNetworkConfigurationManager usage 2021-03-27 19:44:34 +03:00
Vladimir Golovnev
379d41b6fb Merge pull request #14581 from glassez/save-resume
Implement BencodeResumeDataStorage class
2021-03-25 07:05:08 +03:00
Vladimir Golovnev (Glassez)
09da6828b8 Use complete types in container declarations
Qt 6 disallows to use incomplete types in container declarations
in some cases, e.g. in parameters of signals/slots.
2021-03-24 14:31:28 +03:00
Vladimir Golovnev (Glassez)
35dedd3d83 Implement BencodeResumeDataStorage class
Implement ResumeDataStorage class as base for all "resume data" storages.
Implement BencodeResumeDataStorage class and put all existing logic of
"resume data" loading/saving there.
2021-03-24 08:59:49 +03:00
Mike Tzou
4bf4d45389 Merge pull request #14504 from treysis/ipv6-outgoing-interfaces
Fix bad IPv6 address format for outgoingInterfaces
2021-03-23 18:58:22 +08:00
treysis
0189606445 Fix bad IPv6 address format for outgoingInterfaces
Fixes https://github.com/qbittorrent/qBittorrent/issues/12892#issuecomment-792292336
2021-03-22 11:23:04 +01:00
Vladimir Golovnev (Glassez)
764aabc459 Wrap "resume data" in LoadTorrentParams 2021-03-22 07:56:17 +03:00
Vladimir Golovnev (Glassez)
5d889e4a8f Drop deprecated code 2021-03-21 13:53:12 +03:00
Vladimir Golovnev (Glassez)
560239c918 Improve "save resume data" handling 2021-03-17 07:31:00 +03:00
Vladimir Golovnev (Glassez)
a078633a32 Don't use deprecated features 2021-03-13 15:50:53 +03:00
Vladimir Golovnev (Glassez)
f022458383 Raise minimum supported Qt version to 5.12 2021-03-13 15:33:58 +03:00
Vladimir Golovnev (Glassez)
561b597031 Improve "info hash" handling
Define "torrent ID" concept, which is either a SHA1 hash for torrents of version 1,
or a SHA256 hash (truncated to SHA1 hash length) for torrents of version 2.
Add support for native libtorrent2 info hashes.
2021-03-12 12:43:14 +03:00
Vladimir Golovnev
4da4fb0676 Merge pull request #14479 from glassez/trackerentry
Improve tracker entries handling
2021-03-11 18:51:19 +03:00
Vladimir Golovnev (Glassez)
7a8c05dc7c Improve tracker entries handling 2021-03-10 19:54:34 +03:00
Mike Tzou
f3435c5e35 Merge pull request #14493 from Chocobo1/tos
Expose ToS setting from libtorrent
2021-03-08 10:24:42 +08:00
Vladimir Golovnev
6b3c6c12ff Merge pull request #14466 from glassez/sha1hash
Improve "info hash" handling
2021-03-07 13:25:01 +03:00
Chocobo1
5161758193 Expose ToS setting from libtorrent
Closes #14420.
2021-03-07 15:32:07 +08:00
Vladimir Golovnev (Glassez)
8cfd803222 Drop implicit conversions between InfoHash and QString 2021-03-06 12:35:42 +03:00
Vladimir Golovnev
a2b0531d5f Merge pull request #14189 from glassez/libtorrent-1.2.12
Raise minimum libtorrent version to 1.2.12 (2.0.2)
2021-03-01 20:43:28 +03:00
Chocobo1
e46c88580a Revise getter function for torrrent queue position
This addresses https://github.com/qbittorrent/qBittorrent/pull/14335#issuecomment-774667836

The WebAPI is not affected as a workaround is added.
2021-02-08 14:24:16 +08:00
dyumin
12d396ffc5 Treat errored torrents as finished 2021-01-29 12:36:25 +03:00
an0n666
24d7d599f1 Validate HTTPS Tracker Certificate by default 2021-01-20 13:33:10 +06:00
Vladimir Golovnev (Glassez)
f9e286123f Raise minimum libtorrent version to 1.2.12 2021-01-10 14:38:58 +03:00
Vladimir Golovnev (Glassez)
0b4fef19f6 Remove redundant suffix from TorrentHandle class
Originally, it was just a wrapper for libtorrent::torrent_handle class, so it mimicked its name.
It was then transformed into a more complex aggregate, but the name was retained (just by inertia).
Unlike libtorrent::torrent_handle class in whose name "handle" means the pattern used,
it does not matter for qBittorrent classes and just eats up space in the source code.
2021-01-06 16:28:17 +03:00
Mike Tzou
b79a1b5755 Merge pull request #14145 from Chocobo1/define
Generate version header when configuring project
2021-01-06 11:38:55 +08:00
Vladimir Golovnev
8771e1a339 Merge pull request #14138 from glassez/add-torrent
Use single parameter to accept torrent source
2021-01-05 09:17:08 +03:00
Vladimir Golovnev (Glassez)
531ae501ad Use std::optional<bool> instead of custom TriStateBool 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
4429a16ca8 Use std::optional instead of boost::optional 2021-01-04 23:10:03 +03:00
Chocobo1
c669401767 Generate version header when configuring project
The basic idea is we create a version header template at
"src/base/version.h.in" and the build systems are expected to replace
strings that are enclosed with @ symbols and generate
"src/base/version.h" for other source files to consume/include.
2021-01-04 22:28:41 +08:00
Vladimir Golovnev (Glassez)
ee5fe424e8 Use single parameter to accept torrent source 2021-01-03 17:01:20 +03:00
Vladimir Golovnev
7c02630186 Merge pull request #14116 from glassez/drop-move-notify
Drop notification about move storage finished
2021-01-02 10:34:09 +03:00
Vladimir Golovnev (Glassez)
df2bbe129d Drop notification about move storage failed 2020-12-31 21:53:43 +03:00
Vladimir Golovnev (Glassez)
f7cae610a4 Drop notification about move storage finished 2020-12-31 21:49:18 +03:00
Chocobo1
d70b893852 Bump project requirement to C++17 2020-12-31 13:28:48 +08:00
Chocobo1
0b0597be0c Add a thin layer around SettingsStorage class
This new layer would be handy for saving GUI widget states as they don't
need the value cached and they store/load rarely.
2020-12-30 00:10:22 +08:00
Vladimir Golovnev
70b242f190 Merge pull request #13955 from glassez/content-policy
Improve content root folder handling
2020-12-26 14:44:51 +03:00
Chocobo1
4180db601d Use a helper function to look up stat indexes 2020-12-24 23:20:21 +08:00
Chocobo1
90a1ea4281 Don't use removed stat metric in libtorrent 2.0
For now, the metric is not entirely removed due to WebAPI still needs to
access it.
2020-12-24 12:04:14 +08:00
Vladimir Golovnev (Glassez)
1d5dc283fe Allow to add root folder to torrent content 2020-12-23 13:07:33 +03:00
Vladimir Golovnev (Glassez)
f6d1fea9b7 Fix bug of "move storage job" can be performed multiple times 2020-12-21 20:11:01 +03:00
Vladimir Golovnev (Glassez)
77555cd5c2 Improve torrent name handling 2020-12-15 10:18:39 +03:00
Chocobo1
20ae89c2a1 Add support for allow_idna option
Upstream PR: https://github.com/arvidn/libtorrent/pull/5316
2020-12-13 12:12:24 +08:00
Vladimir Golovnev (Glassez)
5f94238d23 Fix bug of torrents don't save "stopped" state 2020-12-11 17:33:37 +03:00
Vladimir Golovnev
5c1c561d7d Merge pull request #13905 from glassez/handle-metadata
Fix received metadata handling
2020-12-07 08:39:06 +03:00