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
Mike Tzou
586bdc0567
Merge pull request #14121 from Chocobo1/settingsStorage
...
Improve load data behavior of SettingsStorage class
2021-01-03 13:19:53 +08:00
Vladimir Golovnev
4bb3d13921
Merge pull request #14123 from glassez/restart-missing-files
...
Don't re-check "missing files" torrents when re-start
2021-01-02 15:20:50 +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
Chocobo1
be5af2796d
Revise SettingsStorage store/load value interface
2021-01-02 12:48:26 +08:00
Vladimir Golovnev (Glassez)
b2199202ab
Reload "missing files" torrent instead of re-checking
2021-01-01 16:16:52 +03:00
Vladimir Golovnev (Glassez)
06105072f9
Extract torrent reloading logic into separate method
2021-01-01 16:08:01 +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
Mike Tzou
a579b4a519
Merge pull request #14085 from Chocobo1/settingvalue
...
Add a thin layer around SettingsStorage class
2020-12-31 10:46:32 +08:00
Vladimir Golovnev
348109a1f9
Merge pull request #13995 from glassez/rename-files
...
Improve content file/folder names handling
2020-12-29 22:27:58 +03: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 (Glassez)
4453e7fcdd
Improve content file/folder names handling
...
Move files/folders renaming functions to core classes.
Query file/folder for renaming by its current path.
Add ability to rename content folders from WebAPI/WebUI.
2020-12-28 21:18:28 +03:00
Mike Tzou
60d65d8137
Merge pull request #13885 from thalieht/torrentOptionsDialog
...
Rework global speed limit dialog and introduce torrent options dialog
2020-12-28 11:34:38 +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
thalieht
8db4bde15d
Group several torrent options into one dialog
...
Speed limits, share limits and the new options to disable DHT, PeX, LSD per torrent
2020-12-25 20:37:43 +02:00
thalieht
fbb8f0cbf5
Save fastresume when setting torrent speed limits
2020-12-25 20:37:43 +02: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
Chocobo1
0ebd864db9
Initialize stat indices to -1
...
When the index is initialized it will be set to a number >= 0, so we use
-1 to denote its uninitialized status.
2020-12-24 11:30:48 +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
Vladimir Golovnev
c01d28a471
Merge pull request #13948 from FranciscoPombal/pragmatism
...
Use #pragma once instead of include guards
2020-12-14 13:51:02 +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
Chocobo1
0baa23f553
Update "HTTPS tracker validation" enablement conditional
...
https://github.com/arvidn/libtorrent/pull/5313
2020-12-13 12:12:24 +08:00
Mike Tzou
10fbb6a2a8
Merge pull request #13953 from Chocobo1/cmp
...
Migrate away from deprecated QVariant comparison operators
2020-12-13 11:49:52 +08:00
FranciscoPombal
6152b83405
Use #pragma once instead of include guards
2020-12-12 19:41:32 +00:00
Vladimir Golovnev (Glassez)
5f94238d23
Fix bug of torrents don't save "stopped" state
2020-12-11 17:33:37 +03:00
Chocobo1
5ba6a5fca1
Add operator< for InfoHash class
2020-12-10 20:11:15 +08:00
Chocobo1
498da509db
Use Qt provided forward declaration header
2020-12-09 18:21:02 +08:00
Mike Tzou
d484c0e7ce
Merge pull request #13912 from Chocobo1/infohash
...
Use the correct type when referring to info hash
2020-12-08 20:53:12 +08:00
Vladimir Golovnev
5c1c561d7d
Merge pull request #13905 from glassez/handle-metadata
...
Fix received metadata handling
2020-12-07 08:39:06 +03:00
Chocobo1
9f0429ca6f
Use the correct type when referring to info hash
2020-12-06 22:04:28 +08:00
Vladimir Golovnev
3485ad39d9
Merge pull request #13511 from FranciscoPombal/bump_versions
...
Bump minimum dependency versions
2020-12-05 13:27:21 +03:00
Vladimir Golovnev (Glassez)
4e04cd27c9
Fix received metadata handling
2020-12-05 10:03:27 +03:00
FranciscoPombal
7e4b428a3e
Fix method invocation on Qt < 5.10
...
Fixup 0c3fe54b0b
2020-12-04 22:46:49 +00:00
Vladimir Golovnev
2f6ed86c78
Drop support for building with libtorrent < 1.2.11
...
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2020-12-04 14:30:12 +00:00
Vladimir Golovnev (Glassez)
a93b675cb8
Search for existing files in separate thread
2020-12-03 07:58:34 +03:00
Vladimir Golovnev (Glassez)
9497300a4a
Don't rewrite TorrentInfo instance if it's valid
2020-12-01 08:15:26 +03:00
Vladimir Golovnev (Glassez)
acab62e345
Properly handle "Append extension" option changing
2020-12-01 08:15:25 +03:00
Vladimir Golovnev (Glassez)
0e8feed2f2
Clean up metadata downloading code
2020-12-01 08:15:12 +03:00
sledgehammer999
82716d8014
Merge pull request #13871 from sledgehammer999/magnet_delete
...
Don't try to remove folders for a torrent without metadata
2020-12-01 02:14:51 +02:00
sledgehammer999
9721acbf63
Don't try to remove folders for a torrent without metadata
2020-11-29 02:41:47 +02:00
sledgehammer999
be5cb1683b
Fix status of torrents without metadata
2020-11-29 00:32:53 +02:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style
2020-11-17 21:02:37 +03:00
Chocobo1
0be2567d97
Don't use deprecated torrent state "allocating"
...
Closes #13737 .
2020-11-12 00:17:42 +08:00
Vladimir Golovnev (Glassez)
85bd0feee0
Handle torrent "paused" state at application level
2020-11-02 10:09:14 +03:00
Chocobo1
7ddd5e9bc3
Remove unused function
2020-11-01 14:25:33 +08:00
NotTsunami
a5f8f1f0f5
Fix mingw64 build error
...
mingw64 defines interface, so revert back to previous naming scheme
Fixes: 87864531ab
Closes #13649
2020-10-29 18:25:19 -04:00
Vladimir Golovnev
571aaea3e0
Merge pull request #13658 from glassez/recheck
...
Don't resume "paused" torrents when put into "checking" state by libtorrent
2020-10-28 08:45:35 +03:00
Vladimir Golovnev (Glassez)
80ca7796ca
Fix torrent state calculation
2020-10-27 17:41:40 +03:00
Vladimir Golovnev (Glassez)
9f0edde12b
Don't resume "paused" torrents when checking by libtorrent
2020-10-26 11:08:22 +03:00
Chocobo1
480832318c
Add support for tracker scrape in libtorrent 2.0
2020-10-26 00:37:53 +08:00
Chocobo1
7a3e397949
Migrate away from deprecated functions in libtorrent 2.0
2020-10-26 00:37:53 +08:00
Chocobo1
c95e450b8d
Improve compatibility with libtorrent 2.0
...
In libtorrent 2.0, the `connection_type` was changed to a flag type and
hence it cannot be used in a switch statement directly. Also our use of
`connection_type` is limited so that a single equality comparison
would cover all of our use cases.
2020-10-26 00:36:59 +08:00
Mike Tzou
172eda5471
Merge pull request #13620 from Chocobo1/qhash
...
Move qHash helper for libtorrent types to its own file
2020-10-24 12:34:26 +08:00
Chocobo1
3971a12f0e
Remove redundant checking before remove
2020-10-23 12:58:57 +08:00
Chocobo1
70c4eb44fd
Fix class name
2020-10-23 12:58:11 +08:00
Vladimir Golovnev (Glassez)
92c6fc04a8
Prevent resume data to be saved for removed torrent
2020-10-22 20:16:52 +03:00
Chocobo1
71827fe4e6
Move qHash helper for libtorrent types to its own file
2020-10-22 03:12:48 +08:00
Chocobo1
7e258bfe38
Fix typos
2020-10-20 18:56:30 +08:00
Vladimir Golovnev
720c1c8216
Merge pull request #13395 from glassez/disk_io
...
Implement disk IO thread wrapper
2020-10-17 12:53:25 +03:00
Anton Bershanskiy
b4bfdd6f7a
Add option for hashing_threads, use 10 asyc IO threads
...
Add option for setting lt::settings_pack::hashing_threads
introduced by libtorrent 2.0. It has no effect for earlier
libtorrent versions.
Use 10 async IO threads, as per #11461 .
Closes #11461 .
2020-10-13 00:58:13 +03:00
Chocobo1
19d77b0881
Add support for creating v2 torrents
2020-10-10 23:21:26 +08:00
Vladimir Golovnev
bad5e1f887
Merge pull request #12086 from FranciscoPombal/code-cleanup
...
Clean ups
2020-10-09 07:13:18 +03:00
FranciscoPombal
deffdbe881
Change some types (uint -> int) in Session class
2020-10-07 23:26:13 +01:00
FranciscoPombal
87864531ab
Clean up in Session class
2020-10-07 23:26:13 +01:00
FranciscoPombal
f502f60f7c
Avoid unessary QString allocation
2020-10-07 15:34:26 +01:00
Mike Tzou
2bfaa8229a
Merge pull request #13431 from Chocobo1/namespace
...
Fix code defects
2020-09-26 11:20:10 +08:00
Chocobo1
ef9765cea1
Remove meaningless const on pointers
...
This only apply to signals.
2020-09-25 15:13:14 +08:00
Chocobo1
ac3ab2432a
Remove redundant namespace prefix
2020-09-25 15:10:20 +08:00
Chocobo1
f487d32594
Fix initialization order
2020-09-25 12:25:09 +08:00
Mike Tzou
1a3091a980
Merge pull request #13419 from silverqx/patch-1
...
Fix fully-qualified-moc-types clazy warning
2020-09-22 22:34:52 +08:00
Silver Zachara
97df5667e7
Use fully-qualified type names
...
Fixed fully-qualified-moc-types clazy warnings
2020-09-21 18:30:02 +02:00
Mike Tzou
c3b5668a07
Merge pull request #12577 from NotTsunami/peer
...
Allow users to configure no_connect_privileged_ports
2020-09-22 00:02:20 +08:00
NotTsunami
2eb3ff7f06
Allow users to configure no_connect_privileged_ports
...
Don't hardcode lt::settings_pack::no_connect_privileged_ports. We
support the peer alert for it already, so connections blocked by this
setting should be logged.
2020-09-20 22:46:28 -04:00
Vladimir Golovnev (Glassez)
39d32063c1
Implement disk IO thread wrapper
2020-09-18 15:56:29 +03:00
Vladimir Golovnev (Glassez)
ff36356be0
Improve sequentialDownload/firstLastPiecePriority handling
...
Always store firstLastPiecePriority in resume data.
Don't recalculate firstLastPiecePriority value each time it is accessed.
Always store sequentialDownload in resume data as native libtorrent field.
2020-09-18 13:33:55 +03:00
FranciscoPombal
e0c62827a8
Fix peer blocked message
2020-09-16 16:59:51 +01:00
Chocobo1
8cfac795c6
Avoid using libtorrent internal functions
...
`char const* socket_type_name(socket_type_t);` is decided to be not
exported and thus it is internal:
https://github.com/arvidn/libtorrent/pull/4859/files#r452925563
2020-09-13 12:22:31 +08:00
Mike Tzou
8d57a6527b
Merge pull request #13355 from Chocobo1/allocate
...
Enable faster disk space allocation by default
2020-09-12 23:39:49 +08:00
Mike Tzou
2d1855dc05
Merge pull request #13354 from Chocobo1/libt2
...
Disable deprecated settings in libtorrent 2.0
2020-09-12 11:02:12 +08:00
Chocobo1
01603c1f62
Enable faster disk space allocation by default
...
In libtorrent > 2.0, the setting is turned off by default, now we just
re-enable it to preserve the behavior as in earlier versions.
2020-09-10 22:12:35 +08:00
Chocobo1
2fd69a21b0
Initialize session with session_params
class
...
The old way of initialization is deprecated in libtorrent 2.0.
2020-09-09 16:16:08 +08:00
Chocobo1
554eab50bb
Disable deprecated libtorrent settings
2020-09-09 16:16:08 +08:00
Vladimir Golovnev
defdd5121c
Merge pull request #13340 from glassez/fix-magnet
...
Improve adding torrent using Magnet URI
2020-09-09 10:06:39 +03:00
Mike Tzou
6e971c47e7
Merge pull request #13319 from an0n666/tracker-queue
...
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-09 11:48:25 +08:00
Vladimir Golovnev (Glassez)
20206ec92a
Improve adding torrent using Magnet URI
...
Closes #13249 .
2020-09-08 14:56:38 +03:00
an0n666
73b39a8dec
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-08 06:05:45 +06:00
Chocobo1
79bb8227d0
Migrate away from deprecated address::to_string(error_code)
...
The other overload require users to handle exceptions themselves.
2020-09-07 14:48:13 +08:00
Chocobo1
25a47dadeb
Migrate away from deprecated address::from_string()
2020-09-07 14:27:18 +08:00
Chocobo1
2a2ae2a566
Add helper function to convert to string from lt::socket_type_t type
2020-09-07 13:48:57 +08:00