Commit graph

88 commits

Author SHA1 Message Date
Vladimir Golovnev
f44341a8e2
Handle .!qB extension behind the scenes
PR #15920.
2022-01-08 08:45:50 +03:00
thalieht
d3bdeaab3f
Replace "seeding_duration" with "finished_duration" everywhere
Closes #10223.
PR #13601.
2022-01-07 15:22:51 +08: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
Vladimir Golovnev (Glassez)
62b50d1475
Make TorrentInfo immutable 2021-12-19 16:16:16 +03:00
Chocobo1
70a11a12b3
Merge pull request #15549 from Chocobo1/api
WebAPI: Use specific number to represent non-existing values
2021-10-11 12:38:38 +08:00
Vladimir Golovnev (Glassez)
41fc0fd084
Don't use output parameters for error handling 2021-10-09 08:54:03 +03:00
Chocobo1
5c9655abc3
WebAPI: Use specific number to represent non-existing values
Closes #15545.
2021-10-09 12:31:15 +08:00
AbeniMatteo
9bfc74a1bc
Filter torrent info endpoint by tag (#15152) 2021-07-05 13:55:49 +08:00
Vladimir Golovnev
37f227ae74
Provide v1 and v2 infohashes in UI (#15097) 2021-06-25 20:44:23 +03:00
Vladimir Golovnev (Glassez)
97c7f3bc67
Raise minimum Qt version to 5.14 2021-06-03 08:56:41 +03:00
Chocobo1
fdc186c92f
Revise tag related implementations
Fix #12690.
2021-04-27 11:47:52 +08:00
Vladimir Golovnev (Glassez)
75e0990eb3
Provide tracker peers count via TrackerEntry
Don't expose additional accessor in Torrent interface.
2021-04-21 08:46:05 +03:00
Vladimir Golovnev (Glassez)
62a6c725d6
Don't overwrite tracker message
Use one of the tracker endpoint messages.
2021-04-21 08:45:09 +03:00
Vladimir Golovnev (Glassez)
6cf99cd0f2
Allow to specify file indexes in torrents/files API 2021-04-16 09:30:07 +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
Vladimir Golovnev (Glassez)
e2c785b2d5
Accept "share limits" when adding torrent using WebAPI 2021-03-09 20:01:15 +03:00
Vladimir Golovnev (Glassez)
8cfd803222
Drop implicit conversions between InfoHash and QString 2021-03-06 12:35:42 +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
Vladimir Golovnev (Glassez)
531ae501ad
Use std::optional<bool> instead of custom TriStateBool 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
d0cac421bb
Change parseBool() to return optional bool value 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
e022c371ff
Move parsing of TriStateBool to a static class function 2021-01-01 12:59:48 +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
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
423983e023
Fix wrong JSON type returned
Fix up 78638a15be.
Closes #14041.
2020-12-24 23:15:36 +08:00
Vladimir Golovnev (Glassez)
1d5dc283fe
Allow to add root folder to torrent content 2020-12-23 13:07:33 +03:00
Chocobo1
78638a15be
Migrate away from deprecated QVariant comparison operators
Fortunately, serializing to JSON limits the data types to a very small
subset and thus we are able to implement the comparison without much
hassle.

Fix up cba8d83b21.
2020-12-18 13:19:15 +08:00
Chocobo1
9f0429ca6f
Use the correct type when referring to info hash 2020-12-06 22:04:28 +08:00
Jesse Chan
86f9b1f6db WebAPI: allow to attach tags while adding torrents 2020-11-30 20:54:42 +08:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style 2020-11-17 21:02:37 +03:00
Vladimir Golovnev (Glassez)
85bd0feee0
Handle torrent "paused" state at application level 2020-11-02 10:09:14 +03:00
Chocobo1
2f1016494b
Specify UTF-8 charset when forming data from plain text
This suppresses a browser warning about unspecified character encoding
of an HTTP response.
2020-09-08 14:30:55 +08:00
Vladimir Golovnev (Glassez)
f4efa530dc
Create header for common BitTorrent declarations 2020-05-25 20:32:35 +03:00
Chocobo1
4e961845cf
Clean up variable initialization order 2020-04-26 10:21:23 +08:00
FranciscoPombal
e496e664db WebAPI: Always allow whitespace in category names 2020-03-22 12:16:06 +00:00
FranciscoPombal
f4742a98c5 Add stalled filters to GUI and Web API/UI
`/api/v2/torrents/info` can now take the following new values for the`filter` parameter: `stalled`, `stalled_uploading` and `stalled_downloading`.

Requires Web API version bump.

Closes #11787
2020-01-13 11:41:37 +00:00
Chocobo1
2422d81de1
Migrate away from deprecated API in Qt 5.14 2019-12-25 19:23:37 +08:00
Thomas Piccirello
2bce9f6179 Add ability to rename torrent files from the WebUI
Renaming folders is not yet supported. Closes #8892.
2019-12-09 02:57:32 -08:00
Chocobo1
9b5df92078
Give better name to parameter checking function
This function will throw exceptions if the required parameters do not
exsit hence a stronger word is more appropriate here.

Also change the function parameter type to QVector. We don't need the
duplicate entries checking as currently we only use 3 fields at max and
can be easily checked by hand. So drop back to QVector which can be
constructed more efficiently.
2019-11-14 12:14:20 +08:00
Chocobo1
e32ef7f5c5
Use implicit sharing when getting categories from Session class 2019-10-30 01:46:57 +08:00
Chocobo1
e0a23ba93d
Use InfoHash type in queueing operations
This avoids redundant type conversions.
2019-10-02 15:21:16 +08:00
thalieht
07eb261991 Add "Remove torrent and its files" option to share ratio limiting 2019-09-26 13:34:03 +03:00
Mike Tzou
7d598b18ca
Merge pull request #10158 from Piccirello/webui-peers-table
Add ability to add and ban a peer from the Web UI
2019-08-06 10:16:09 +08:00
Mike Tzou
733da5ffdb
Merge pull request #10153 from Piccirello/webui-files-table
Display files hierarchically in Web UI content tab
2019-08-06 10:15:22 +08:00
Thomas Piccirello
0fa28f233f Add ability to add and ban a peer from the Web UI 2019-08-05 01:12:59 -07:00
Chocobo1
2346bc8f7c
Replace obsoleted QDateTime::toTime_t() 2019-08-01 23:19:21 +08:00
Chocobo1
cfe83275d3
Avoid redundant data copy by using JSON objects directly 2019-08-01 23:18:50 +08:00
Chocobo1
f6ee96ed83
Replace QVariantMap by QVariantHash 2019-07-31 23:48:41 +08:00