Commit Graph

382 Commits

Author SHA1 Message Date
thalieht
30d9978c97 Add copy comment functionality to the torrent list's context menu
PR #19846.
Closes #18890.
2023-11-07 12:42:31 +03:00
Chocobo1
6cfbc02d8f Expose Mark-of-the-Web setting in Options 2023-11-06 14:09:34 +08:00
Vladimir Golovnev
cecbb44a03 Allow to request torrents count via WebAPI
PR #19831.
Closes #19731.
2023-11-02 11:12:32 +03:00
Chocobo1
63499511cb Forward declare "Add torrent manager" type
PR #19713.
2023-10-16 14:52:09 +08:00
thalieht
a3888811f6 Add I2P settings to WebUI
PR #19700.
2023-10-13 21:30:25 +03:00
Vladimir Golovnev
c051ee9409 Revamp tracker list widget
Internally redesign tracker list widget using Qt Model/View architecture.
Make tracker list sortable by any column.

PR #19633.
Closes #261.
2023-10-03 08:42:05 +03:00
Chocobo1
b3fda76027 Allow users to specify Python executable path
Closes #19195.
PR #19644.
2023-09-28 01:27:48 +08:00
Chocobo1
dcba9eda00 Expose 'DHT bootstrap nodes' setting
This allows user to select DHT bootstrap nodes. Or even use their own bootstrap nodes.

PR #19594.
2023-09-14 13:57:34 +08:00
Hanabishi
c394868f87 Implement Reannounce In column
PR #19571.
2023-09-09 08:12:43 +03:00
Vladimir Golovnev
7cd2445a49 Improve tracker entries handling
PR #19496.

* Add torrent entry status to represent tracker error
* Add torrent entry status to represent unreachable endpoint
* Display tracker entry next/min announce time
* Reset tracker entries when torrent is stopped
2023-09-07 08:58:13 +03:00
Vladimir Golovnev
c805606524 Improve tracker entries handling
PR #19468.

* Use QHash to map tracker endpoints
* Don't clear numPeers unexpectedly
* Remove outdated tracker entry endpoints
* Move presentation logic from Core to GUI code
* Show all endpoints per tracker in tree structure

---------

Co-authored-by: Kacper Michajłow <kasper93@gmail.com>
2023-08-21 10:27:19 +03:00
Vladimir Golovnev
dcf3e97291 Implement gateway for adding new torrents
PR #19355.
2023-08-14 18:17:56 +03:00
Chocobo1
e31c3376bd Use library provided erase_if()
`Algorithm::removeIf()` is still valuable as `QHash::removeIf()` predicate require an
iterator or a `std::pair`, which both require more code to unpack the variable and therefore
cumbersome to use.

PR #19353.
2023-07-24 20:29:02 +08:00
Vladimir Golovnev
10ee1ab7a2 Switch to C++20
PR #19336.
2023-07-21 15:38:49 +03:00
Vladimir Golovnev
f27f2c20e0 Add unified class to represent parsed torrent metadata
* Add unified class to represent parsed torrent metadata
* Unify startup logic of "Add new torrent dialog"

PR #19301.
2023-07-21 08:40:16 +03:00
Vladimir Golovnev
dbe79484d2 Drop support of Qt 5
Also remove usage of some deprecated stuff.

PR #19338.
2023-07-20 11:17:27 +03:00
Christopher
35e18498d9 Add option to stop seeding when torrent has been inactive
PR #19294.
Closes #533.
Closes #8073.
Closes #15939.
2023-07-15 13:14:42 +03:00
Chocobo1
4f6038c350 Merge pull request #19291 from Chocobo1/limits
Expose 'bdecode limits' settings
2023-07-11 11:24:09 +08:00
Fabricio Silva
f08556be30 WebUI: Preserve the network interfaces when down
PR #19286.
2023-07-11 11:23:37 +08:00
Chocobo1
5a660fc8a9 Expose 'bdecode limits' settings
This includes:
* Bdecode depth limit
* Bdecode token limit
2023-07-09 15:36:13 +08:00
Vladimir Golovnev
4ef9a6444a Add options to adjust behavior of merging trackers to existing torrent
PR #19278.
Closes #19251.
2023-07-06 07:55:59 +03:00
Chocobo1
66dfe8545d Expose 'max torrent file size' setting 2023-07-06 12:45:09 +08:00
Vladimir Golovnev
7ec80263e1 Allow to globally disable the use of proxy
PR #19273.
Closes #19141.
2023-07-04 09:27:46 +03:00
Chocobo1
e6d85a468b Rename literal operator
Qt 6.4 introduced `QString operator""_s()` and the previous `""_qs` is
deprecated since Qt 6.8.
2023-06-18 03:32:44 +08:00
Vladimir Golovnev
a5e8af5070 Allow to assign priority to RSS download rule
PR #19000.
2023-06-05 14:55:41 +03:00
Chocobo1
179a61d75e Add curly braces 2023-05-07 19:41:55 +08:00
Chocobo1
e408973ee6 Add pointer qualifications to auto-typed variables 2023-05-06 16:35:13 +08:00
Chocobo1
8c9b6e2f2d Use reference whenever possible 2023-05-06 16:35:13 +08:00
Vladimir Golovnev
b8cd614775 Allow to edit RSS feed URL
PR #18807.
Closes #5489.
2023-04-07 14:22:50 +03:00
Chocobo1
cecf2d28e6 Merge pull request #18806 from Chocobo1/buf
Expose 'socket send/receive buffer size' options
2023-04-07 18:19:46 +08:00
Chocobo1
77411760a0 Expose 'socket send/receive buffer size' options
Closes #18794.
2023-04-05 18:11:13 +08:00
Bartu Özen
b55d4b1733 WebUI: Implement subcategories
PR #18740.
2023-04-02 11:02:22 +03:00
Vladimir Golovnev
f5b5312cf0 Merge pull request #18528 from glassez/proxy
Allow to use proxy per subsystem
2023-02-27 20:34:51 +03:00
Vladimir Golovnev
ff0f3b4975 WebAPI: Allow to set read-only directory as torrent location
PR #18613.
Closes #18480.
2023-02-27 09:09:33 +03:00
Vladimir Golovnev (Glassez)
96da685e5d Expand the scope of "Proxy hostname lookup" option 2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
6ac14d0c57 Allow to use proxy per subsystem 2023-02-26 14:27:41 +03:00
Vladimir Golovnev
1e913f46f0 Rename isSeed to isFinished to correctly represent its meaning
PR #18580.
2023-02-17 07:08:00 +03:00
Vladimir Golovnev
7600f59f3a Prevent precise timers from being used when unnecessary
The implementation of QTimer::singleShot() uses Qt::PreciseTimer if interval is less than 2 seconds. This isn't mentioned in the docs.
Qt::PreciseTimer increases the system's timer resolution which negatively affects power consumption.

PR #18555.
Closes #18350.
2023-02-14 08:26:08 +03:00
brvphoenix
e37661d53a WebUI: Add filelog settings
PR #18506.
Closes #17421.
2023-02-10 20:12:22 +03:00
Vladimir Golovnev
d06f78dbbd Improve sync API performance
PR #18394.
2023-02-10 17:16:46 +03:00
Vladimir Golovnev
5d4766edbe Allow to add new torrents to queue top
PR #18518.
Closes #11599.
2023-02-10 17:15:41 +03:00
Vladimir Golovnev
9cdf660ddb Use QThreadPool to invoke free disk space checking jobs
Prevent the creation of an excessive number of threads.
PR #18347.
Closes #18202.
2023-01-16 14:31:49 +03:00
thalieht
209850064a WebUI: Add "Resume data storage type" option
PR #18357.
2023-01-13 10:58:46 +03:00
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
ac3ad17a9e Ensure thread is stopped before deleting QThread
PR #18037.
2022-12-08 08:37:14 +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
Chocobo1
f6735401f4 Add port forwarding option for embedded tracker
Closes #17781.
PR #17981.
2022-11-07 11:32:11 +08:00
Hanabishi
6a560016dd Implement Peer ID Client column for Peers tab
PR #17940.
2022-11-06 12:21:31 +08:00
Nathan Lewis
f2dd1e6456 Add a "Use proxy for hostname lookup" option
Add a UI option for "Use proxy for hostname lookup" option and plumb
it into libtorrent's settings_pack.proxy_hostnames option.  This is
available for SOCKS5 and HTTP proxies, and defaults to true, which
is the previous functionality.  Hostname lookups can be forced to be
local by unchecking this option, which can aid compatibility with
certain non-compliant proxy servers.

Closes #17902.
PR #17904.

Co-authored-by: Nathan Lewis <saturn@saturn49.dyndns.org>
2022-10-23 15:31:02 +08:00