Vladimir Golovnev
e93c360db6
Store hybrid torrents using legacy filenames
...
* Make Digest32 implicitly shared class
* Store hybrid torrents using legacy filenames
PR #16237 .
2022-01-25 08:22:35 +03:00
Vladimir Golovnev
f0ee6aba29
Correctly handle received metadata
...
It did not work correctly, since it assumed that 'lt::torrent_plugin' is created at an earlier stage and is able to track all changes in the torrent state, but in reality it turned out that it was created after the torrent moved to the `downloading_metadata` state, so we had to additionally handle it in the constructor.
PR #16121 .
2022-01-17 09:41:21 +03:00
Vladimir Golovnev
fa418087c4
Handle missing torrent alerts
...
PR #16085 .
2022-01-17 09:41:21 +03:00
Vladimir Golovnev
210fd80167
Correctly concatenate paths
...
PR #16086 .
2022-01-14 15:17:17 +03:00
Chocobo1
67e536d869
Update default value of "Type of service for peers"
...
Upstream change:
3d701c7380
PR #16036 .
2022-01-14 14:43:55 +08:00
Vladimir Golovnev (Glassez)
86e8d848f6
Move torrent immediately when "save path" is changed
2022-01-12 08:39:23 +03:00
Vladimir Golovnev (Glassez)
88114b4588
Don't try to move storage into its current location
2022-01-12 08:39:23 +03:00
Vladimir Golovnev (Glassez)
e468f004f4
Correctly track the root folder name change
2022-01-12 08:39:23 +03:00
Vladimir Golovnev (Glassez)
5ffa7e4752
Keep "torrent info" alive while generate .torrent file
2022-01-12 08:39:23 +03:00
sledgehammer999
ac5a485651
Disambiguate the data type
2022-01-04 01:39:01 +02:00
sledgehammer999
0a1c61d9d3
Merge pull request #15922 from glassez/fix-paths
...
Correctly concatenate path components
2022-01-04 00:17:54 +02:00
Chocobo1
01a0fff4c2
Add missing field initial value
...
Suppresses the following warning:
qBittorrent/src/base/bittorrent/categoryoptions.cpp: In static member function ‘static BitTorrent::CategoryOptions BitTorrent::CategoryOptions::fromJSON(const QJsonObject&)’:
qBittorrent/src/base/bittorrent/categoryoptions.cpp:44:59: warning: missing initializer for member ‘BitTorrent::CategoryOptions::DownloadPathOption::path’ [-Wmissing-field-initializers]
44 | options.downloadPath = {downloadPathValue.toBool()};
2022-01-03 23:42:48 +02:00
Vladimir Golovnev (Glassez)
fdbf8cb0ee
Correctly concatenate path components
2022-01-03 19:44:47 +03:00
Vladimir Golovnev
61504ae3b1
Merge pull request #15793 from glassez/save-path
...
Redesign "Incomplete folder" feature
2022-01-02 22:25:00 +03:00
Vladimir Golovnev (Glassez)
1c0f8b4289
Redesign "Incomplete folder" feature
...
Change "Incomplete/temp folder" term with "download folder".
Allow to set "download folder" per torrent (in manual mode) and per category (in automatic mode).
2022-01-01 20:58:49 +03:00
Chocobo1
63043b4927
Replace min, max, clamp functions with std counterparts
2022-01-01 15:22:07 +08:00
Chocobo1
7a620c794d
Fix garbage message when reporting error
...
PR #15883 .
2021-12-24 12:28:22 +08:00
Vladimir Golovnev (Glassez)
62b50d1475
Make TorrentInfo immutable
2021-12-19 16:16:16 +03:00
Vladimir Golovnev
3d7ff9765a
Make meaning of "torrent root path" consistent
...
PR #15816 .
2021-12-09 06:12:47 +03:00
Chocobo1
e3fe66d3ec
Store enum type in settings directly
...
Affected settings will be migrated to new keys so nothing should break.
PR #15800 .
2021-12-06 13:53:52 +08:00
Chocobo1
19d95ebd10
Add comment for qHash implementation requirements
...
As clazy report false-positive on this.
2021-11-29 01:28:49 +08:00
Chocobo1
c8b66b25e8
Avoid potential container detachment
...
Suppress clazy warning:
warning: Don't call QList::operator[]() on temporary [-Wclazy-detaching-temporary]
2021-11-29 00:31:03 +08:00
Chocobo1
e6f07a6fe4
Use implicit copy-constructor generated by compiler
...
This also suppresses the following clang warning:
warning: definition of implicit copy assignment operator for 'Version<unsigned short, 2>' is deprecated because it has a user-declared copy constructor [-Wdeprecated-copy]
2021-11-29 00:30:17 +08:00
Chocobo1
71270260bf
Reformat code
2021-11-08 13:34:21 +08:00
Chocobo1
32698fe0be
Migrate away from low-level SettingsStorage class
...
Also add `QFlags<T>` support to `SettingsStorage`.
PR #15693 .
2021-11-08 13:23:33 +08:00
Vladimir Golovnev
cc61ad01b6
Explicitly set "added time" when adding new torrent
...
Don't overwrite "added time" with possibly incorrect value.
Explicitly set "added time" when adding new torrent.
PR #15644 .
2021-10-31 12:08:19 +03:00
Chocobo1
e45e29b431
Avoid type specifier mismatch
...
Qt5 uses `int` and Qt6 uses `qsizetype`, so use the stream version of
`qDebug()` to avoid specifying types.
2021-10-14 00:24:41 +08:00
Vladimir Golovnev
5d5b0d572e
Merge pull request #15536 from glassez/expected
...
Don't use output parameters for error handling
2021-10-10 15:04:55 +03:00
Vladimir Golovnev (Glassez)
78459fcb31
Don't throw exception in TorrentInfo::saveToFile()
2021-10-09 08:54:20 +03:00
Vladimir Golovnev (Glassez)
41fc0fd084
Don't use output parameters for error handling
2021-10-09 08:54:03 +03:00
Chocobo1
4a11fab2b1
Add constexpr to Sample class functions
2021-10-08 01:04:58 +08:00
Vladimir Golovnev
bc71827c01
Improve torrent content handling
...
Hide .pad files.
PR #15468 .
2021-10-02 21:42:58 +03:00
Chocobo1
ecd23d0abd
Merge pull request #15459 from Chocobo1/i18n
...
Revise description wordings
2021-09-19 13:29:08 +08:00
Chocobo1
010d1b5ff8
Merge pull request #15419 from Chocobo1/file
...
Improve error detection when saving files
2021-09-19 13:28:47 +08:00
Chocobo1
03012cc175
Revise description wordings
2021-09-18 12:59:07 +08:00
Chocobo1
21f72baae2
Use QSaveFile wherever applicable
...
expected.hpp was fetched from:
b803e3c07b/include/nonstd/expected.hpp
2021-09-15 21:54:44 +08:00
Chocobo1
2efd4f2a77
Prevent self-assignment in assignment operator
2021-09-09 21:42:46 +08:00
Vladimir Golovnev
b823d74ac3
Use "old file path" provided by libtorrent
...
Until libtorrent provided an "old_name" field in `file_renamed_alert` we relied
on a workaround with storing old file names to remove empty leftover folders.
PR #15356 .
2021-08-23 07:29:50 +03:00
sledgehammer999
3e92e716b2
Merge pull request #15294 from sledgehammer999/accept_v2_infohash
...
Accept v2 infohashes for download
2021-08-08 12:29:04 +03:00
Chocobo1
138c911ef4
Add compile definition to indicate using of libtorrent 2.0 ( #15297 )
...
The compile definition is temporary which will be removed when qbt
ditches libtorrent 1.x.
2021-08-08 13:27:22 +08:00
sledgehammer999
e5fe6401a0
Accept v2 infohashes for download
...
Partially fixes #15287
2021-08-07 17:25:13 +03:00
Sylvain Finot
e87f8f5b93
Expose SSRF mitigation ( #15247 )
2021-08-04 11:28:36 +08:00
Chocobo1
ce554e6c77
Merge pull request #15229 from Chocobo1/port
...
Use spinbox special value to represent "Use any available port"
2021-07-30 15:19:08 +08:00
AbeniMatteo
e4730191db
Set default file priorities when not specified ( #15190 )
2021-07-29 12:20:03 +08:00
Chocobo1
49aab492e0
Use spinbox special value to represent "Use any available port"
...
WebAPI functionality is preserved (deprecated) for now and should be
removed in the future.
2021-07-29 11:50:52 +08:00
Chocobo1
09e558ae0b
Revise checkbox label for "Use any available ports" functionality
...
Also reorder the checkboxes a bit.
2021-07-27 13:35:18 +08:00
Vladimir Golovnev
1eb246c98b
Merge pull request #15181 from glassez/qt5
...
Raise minimum Qt version to 5.15.2
2021-07-23 06:22:57 +03:00
Chocobo1
96e0c0df20
Improve handling for magnet URI ( #15209 )
...
This add support for magnets URI in v2 hash format.
2021-07-22 13:05:59 +08:00
Vladimir Golovnev
ed4570cb4d
Store minimal metadata for "restore torrent" purposes ( #15191 )
...
We can no longer save valid torrent files in the general case, because
for torrents of version 2, we need a full merkle tree to do it, but if
a torrent is added from magnet link, full merkle tree may not be available
even before the end of downloading all the data. Actually, we don't need
the full torrent file for the purposes of resuming the torrent, so we can
allow libtorrent to produce only a minimal part of the metadata as part
complete resume data, but we still want to store it in a separate file,
so we extract the resulting metadata from the complete resume data before
saving and merge it together before loading.
2021-07-19 07:59:06 +03:00
AbeniMatteo
01d851440b
Add "Forced metadata downloading" state ( #15185 )
2021-07-17 21:33:14 +03:00