Chocobo1
ff80e0ce66
Use Qt built-in non-breaking space variable
2023-09-04 13:10:12 +08:00
Victor Chernyakin
65930ddf94
Use std::pair
instead of QPair
...
PR #19548 .
2023-09-03 09:39:34 +03:00
Chocobo1
4d2015cfed
Support creating .torrent with larger piece size
...
Warning: users are at their own discretion to create .torrent with >= 64 MiB piece size as not
every torrent client supports it.
Larger piece sizes are only available when using libtorrent 2.x. libtorrent 1.x is not
efficient with memory usage and in order to avoid user complaints it is limited to 128 MiB.
Also note that, as of this writing, libtorrent 2.0.9 has an internal limitation that only
allows loading maximum 256 MiB piece size. And therefore > 256 MiB size options are forbidden
for now.
Closes #19527 .
PR #19535 .
2023-09-03 14:31:32 +08:00
Chocobo1
24da51ffa0
Perform type conversion properly
...
Closes #19521 .
PR #19525 .
2023-09-01 00:18:03 +08:00
Victor Chernyakin
e045b4678d
Use std::clamp()
instead of various custom implementations
...
PR #19501 .
2023-08-27 21:55:08 +03:00
Chocobo1
d8a03cd8d8
Use atomic primitives from standard library
...
QAtomicInteger underlying is using std::atomic structures, so
using std::atomic directly should not be a problem for us.
PR #19507 .
2023-08-28 02:08:40 +08:00
rcarpa
bbac94cc95
Use QThreadPool for torrent creation
...
The change is in preparation for adding the possibility to create
torrent files via the API.
Rework TorrentCreatorThread to be a more lightweight QRunnable class.
The parameters are now defined on construction time and are fixed
throughout the lifecycle of the TorrentCreator. The lifecycle of the
object is not bound to the one of QDialog anymore; it is now handled
by the QThreadPool. This will enable easier queueing of multiple torrent
creation jobs without risk of spawning many threads.
PR #19500 .
2023-08-27 00:27:11 +08:00
Vladimir Golovnev
9ab8203c8a
Don't overwrite tracker entry of unrelated protocol
...
PR #19493 .
2023-08-23 12:38:18 +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
Victor Chernyakin
34d30ed031
Replace Q_UNUSED
with [[maybe_unused]]
attribute
...
PR #19471 .
2023-08-18 07:09:40 +03:00
Victor Chernyakin
f3f4610ba4
Convert Windows header names to lowercase
...
PR #19465 .
2023-08-16 10:29:13 +03:00
Vladimir Golovnev
dcf3e97291
Implement gateway for adding new torrents
...
PR #19355 .
2023-08-14 18:17:56 +03:00
Victor Chernyakin
e4313d6651
Use using declarations instead of typedef
...
PR #19458 .
2023-08-14 18:14:36 +03:00
Victor Chernyakin
52fbb774a2
Disable clang-tidy for 3rd-party code
...
PR #19459 .
2023-08-14 18:13:28 +03:00
Vladimir Golovnev
a0e41a11de
Display error message when unrecoverable error occurred
...
PR #19462 .
2023-08-14 16:03:57 +03:00
Vladimir Golovnev
cab5edb721
Add more precondition checks when handle async operation result
...
PR #19460 .
2023-08-14 16:02:50 +03:00
Vladimir Golovnev
7a9a102b6f
Check returned Bundle ID for NULL
...
PR #19463 .
2023-08-14 16:01:54 +03:00
Omar Abdul Azeez
6ba561dea2
Fix overwriting feeds.json with an incomplete load of it
...
PR #19444 .
Closes #19439 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2023-08-12 18:59:24 +03:00
Chocobo1
69d60b5f1c
Specify interface requirements as an C++ concept
...
PR #19440 .
2023-08-12 20:53:03 +08:00
Victor Chernyakin
850da9dd83
Replace Q_UNLIKELY with [[unlikely]] attribute
...
PR #19445 .
2023-08-11 08:54:26 +03:00
Chocobo1
502b3d3228
Merge pull request #19427 from Chocobo1/cleanup
...
Remove unused include
2023-08-11 13:49:35 +08:00
Chocobo1
31fe327763
Move to separate headers
...
Hopefully this can speed up compilation times.
https://doc.qt.io/qt-6/qtglobal.html#details
PR #19430 .
2023-08-11 13:47:55 +08:00
Chocobo1
870bcc7a19
Switch to QHash
2023-08-09 20:36:41 +08:00
Chocobo1
5c06d0aa75
Replace template conditionals with C++20 requires
clause
...
Related: https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-constraints.html
PR #19424 .
2023-08-09 20:33:19 +08:00
Vladimir Golovnev
33d767b765
Disable using Qt functions deprecated up to Qt 6.5
...
* Disable using Qt functions deprecated up to Qt 6.5
* Utilize QSet::removeIf()
PR #19419 .
2023-08-08 08:52:13 +03:00
Vladimir Golovnev
06581636a1
Utilize QByteArrayView
...
PR #19417 .
2023-08-07 11:21:32 +03:00
Vladimir Golovnev
a0fa1709d5
Raise minimum supported Qt version to 6.5
...
PR #19394 .
2023-08-07 07:19:43 +03:00
Vladimir Golovnev
fccdeb4e78
Don't use variable after it is moved
...
PR #19397 .
2023-08-02 15:04:15 +03:00
Chocobo1
b35c2bca5d
Merge pull request #19390 from Chocobo1/openssl
...
Remove unused conditional
2023-08-01 12:57:12 +08:00
Chocobo1
a5a4ea9ba0
Remove unused conditional
2023-07-31 03:03:02 +08:00
Vladimir Golovnev
11efd26acc
Fix crash on application exit (Qt 6.5)
...
PR #19169 .
2023-07-27 15:09:14 +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
Chocobo1
d6adebe4c0
Switch to efficient algorithm
2023-07-22 04:11:39 +08:00
Chocobo1
c58aa58cba
Use C++20 designated initializers
2023-07-22 02:25:44 +08:00
Chocobo1
7612d5d0ef
Use default operators generated/synthesized by compiler
2023-07-22 02:25:44 +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
Chocobo1
0f862fcf9f
Use efficient algorithm for removing entries
...
PR #19345 .
2023-07-21 12:18:26 +08: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
Vladimir Golovnev
5e610cfdcf
Drop support of Autoconf/Automake and QMake
...
PR #19335 .
2023-07-20 11:15:46 +03:00
sledgehammer999
0f0de5e4f8
Bump to v5.0.0alpha1
2023-07-17 09:25:50 +03:00
Vladimir Golovnev
7b4b7c2b81
Always honor the configured behavior for merging trackers
...
PR #19305 .
* Always honor the configured behavior for merging trackers
* Clarify merging trackers related options
2023-07-16 20:59:18 +03:00
Vladimir Golovnev
6a3a5fac83
Correctly add new column to existing database
...
PR #19321 .
2023-07-15 20:49:51 +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
Vladimir Golovnev
f99a98306d
Log when duplicate torrents are being added
...
PR #19306 .
Closes #18458 .
2023-07-14 15:33:06 +03:00
Chocobo1
20f4d0c4e3
Merge pull request #19292 from Chocobo1/head
...
Fix response for HTTP HEAD method
2023-07-11 11:24:28 +08:00
Chocobo1
4f6038c350
Merge pull request #19291 from Chocobo1/limits
...
Expose 'bdecode limits' settings
2023-07-11 11:24:09 +08:00
Chocobo1
543745b3f2
Avoid stuffing the log via junk requests
2023-07-09 21:23:09 +08:00
Chocobo1
cb0c09769f
Response proper error status for invalid request methods
2023-07-09 21:23:09 +08:00
Chocobo1
e8f5a3b44e
Fix response for HTTP HEAD method
...
Closes #19288 .
2023-07-09 21:23:08 +08:00