Chocobo1
53b7956968
Clean up code
...
and remove unused parameters/variables.
4 years ago
Vladimir Golovnev (Glassez)
1344b31535
Improve ResumeDataStorage
4 years ago
Vladimir Golovnev (Glassez)
cd6959b712
Save "resume data" once file priority is changed
4 years ago
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.
4 years ago
Vladimir Golovnev (Glassez)
764aabc459
Wrap "resume data" in LoadTorrentParams
4 years ago
Vladimir Golovnev (Glassez)
5d889e4a8f
Drop deprecated code
4 years ago
Vladimir Golovnev (Glassez)
b65a714d17
Save resume data when torrent has done checking
4 years ago
Vladimir Golovnev (Glassez)
560239c918
Improve "save resume data" handling
4 years ago
Vladimir Golovnev (Glassez)
0c9ecd1d76
Properly show tracker status for "paused" torrents
4 years ago
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.
4 years ago
Vladimir Golovnev (Glassez)
6d6908e625
Initialize torrent status from add torrent params
4 years ago
Vladimir Golovnev (Glassez)
7a8c05dc7c
Improve tracker entries handling
4 years ago
Vladimir Golovnev (Glassez)
8cfd803222
Drop implicit conversions between InfoHash and QString
4 years ago
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.
4 years ago
Vladimir Golovnev (Glassez)
c3f02d833c
Restart "missing files" torrents after changing location
4 years ago
Vladimir Golovnev (Glassez)
e273ac3a0d
Allow "missing files" torrents to save more resume data
4 years ago
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.
4 years ago
Vladimir Golovnev (Glassez)
b2199202ab
Reload "missing files" torrent instead of re-checking
4 years ago
Vladimir Golovnev (Glassez)
06105072f9
Extract torrent reloading logic into separate method
4 years ago
Chocobo1
d70b893852
Bump project requirement to C++17
4 years ago
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.
4 years ago
thalieht
8db4bde15d
Group several torrent options into one dialog
...
Speed limits, share limits and the new options to disable DHT, PeX, LSD per torrent
4 years ago
thalieht
fbb8f0cbf5
Save fastresume when setting torrent speed limits
4 years ago
Vladimir Golovnev (Glassez)
1d5dc283fe
Allow to add root folder to torrent content
4 years ago
Vladimir Golovnev (Glassez)
77555cd5c2
Improve torrent name handling
4 years ago
Vladimir Golovnev (Glassez)
5f94238d23
Fix bug of torrents don't save "stopped" state
4 years ago
Vladimir Golovnev (Glassez)
4e04cd27c9
Fix received metadata handling
4 years ago
Vladimir Golovnev
2f6ed86c78
Drop support for building with libtorrent < 1.2.11
...
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
4 years ago
Vladimir Golovnev (Glassez)
9497300a4a
Don't rewrite TorrentInfo instance if it's valid
4 years ago
sledgehammer999
be5cb1683b
Fix status of torrents without metadata
4 years ago
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style
4 years ago
Chocobo1
0be2567d97
Don't use deprecated torrent state "allocating"
...
Closes #13737 .
4 years ago
Vladimir Golovnev (Glassez)
85bd0feee0
Handle torrent "paused" state at application level
4 years ago
Vladimir Golovnev (Glassez)
80ca7796ca
Fix torrent state calculation
4 years ago
Vladimir Golovnev (Glassez)
9f0edde12b
Don't resume "paused" torrents when checking by libtorrent
4 years ago
Chocobo1
71827fe4e6
Move qHash helper for libtorrent types to its own file
4 years ago
Chocobo1
ac3ab2432a
Remove redundant namespace prefix
4 years ago
Chocobo1
f487d32594
Fix initialization order
4 years ago
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.
4 years ago
Vladimir Golovnev (Glassez)
b77568839d
Remove legacy/unused torrent property
4 years ago
Vladimir Golovnev (Glassez)
dc3d23c045
Improve torrent loading code
4 years ago
Vladimir Golovnev (Glassez)
c3104e0210
Update torrent status on move enqueued
5 years ago
Vladimir Golovnev (Glassez)
cdc2b8d79b
Improve "move torrent storage" handling
5 years ago
Chocobo1
40e432b127
Bump requirement to libtorrent 1.2
...
Closes #12258 .
5 years ago
Vladimir Golovnev (Glassez)
6a0a78f3f7
Drop ".unwanted folder" feature
5 years ago
an0n666
6d85ae8f62
Address some issues regarding private torrents
5 years ago
Vladimir Golovnev (Glassez)
f4efa530dc
Create header for common BitTorrent declarations
5 years ago
Vladimir Golovnev (Glassez)
378a863611
Remove unwanted files after torrent removed
5 years ago
Vladimir Golovnev (Glassez)
b6bf09fc0f
Fix calculation of torrent current state
...
Some actions can be performed despite of other states
(e.g. "Errored" torrent can check its files currently)
so the states that relate to such actions should override
other (so-called "static") states.
5 years ago
Vladimir Golovnev (Glassez)
a8c333ff25
Drop "private" subfolders
...
"private" subfolders violate the structure of the project,
since the existence of all other subfolders is based on a
different principle.
In addition, there is no clear line between "private" and
"non private".
5 years ago