Commit Graph

103 Commits

Author SHA1 Message Date
qbittorrentfan
c5a4a0db2c properties endpoint returns name/torrentID
PR #18218.
2022-12-25 16:41:55 +03:00
sotiris-bos
b9e045e80b WebAPI: Expose "IS PRIVATE" flag
PR #18227.
Closes #16052.
2022-12-25 16:41:00 +03:00
Vladimir Golovnev
679e3b8bea WebAPI: return paths using platform-independent separator format
PR #18118.
Closes #18096.
2022-12-01 08:16:43 +03:00
Vladimir Golovnev
67357e9964 Allow to set torrent stop condition
PR #17814.

Closes #17792.
Closes #929.

(Actually it should close all issues about lack of ability to stop torrent after metadata downloaded or after files are initially checked.)

Also makes explicit the temporary start of the torrent in the case when recheck of the stopped torrent is performed.
2022-10-09 16:07:16 +03:00
Chocobo1
e692a191ed Revise 'Add trackers' dialog
* Now it allow user to add tracker to different tier.
* The downloaded trackers are now displayed as is (without modifying).
* Now the dialog remember dialog size and last used URL.

Closes #17692.
2022-09-14 01:20:30 +08:00
Vladimir Golovnev
7527343629 Handle some torrent conflicts
PR #17576.
2022-08-23 07:47:20 +03:00
luzpaz
8736c9ec4c Fix various typos
Found via `codespell -q 3 -S *.ts,*.desktop,./src/base/3rdparty,./dist/windows/installer-translations -L ba,doas,ist,ro,ths`

PR #17317.
2022-07-06 13:11:11 +08:00
Vladimir Golovnev
7e0cd223fd Revamp tracker entries handling
PR #17017.
2022-05-22 09:09:11 +03:00
Tom Piccirello
fb7f7d0c75 Add support for exporting .torrent from WebUI
PR #16968.
2022-05-04 12:13:24 +08:00
Chocobo1
b9b2ed64f9 Assign temporary data to a variable
This is mainly to avoid dangerous code pattern: getting an iterator on a
temporary object. Previously `data()` returns a const reference so the
code wasn't doing any harm.
2022-04-05 11:49:32 +08:00
Chocobo1
4ca6de2b54 Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
Chocobo1
efc04645b7 Use QString literals
It covers src/webui and enables `QT_NO_CAST_FROM_ASCII`.
2022-03-20 13:33:40 +08:00
Vladimir Golovnev
2d3ff6a97c Use std::optional to represent "any value" filters
PR #16460.
2022-02-20 13:17:34 +03:00
Vladimir Golovnev
dd1bd8ad10 Implement class for handling filesystem paths
PR #15915.
2022-02-08 06:03:48 +03:00
Chocobo1
d6e0164766 WebAPI: fix wrong key used for categories
Regression from 1c0f8b4289.
Closes #15969.
PR #15988.
2022-01-10 13:31:15 +08:00
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