Commit graph

1808 commits

Author SHA1 Message Date
Coda
e698c09298
Allow to use POSIX-compliant disk IO type
This patch allows user to switch disk IO type between memory mapped files based type (default in libtorrent 2, and seems causing memory issues) and POSIX-compliant type which is more conservative on memory usage.

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
Co-authored-by: Vladimir Golovnev (Glassez) <glassez@yandex.ru>

PR #16895.
2022-05-11 21:28:06 +03:00
Vladimir Golovnev
a048ea668f
Use uniform way to export .torrent files
PR #17013.
2022-05-10 15:36:05 +03:00
Vladimir Golovnev
5af78ad2cd
Preserve "skip hash check" when there is no metadata
When torrent is added without metadata libtorrent doesn't honor "seed mode" and doesn't save it in resume data so when metadata is available torrent will still check file hashes. This patch will add a logic that preserves originally enabled "seed mode" until the metadata is received.
PR #17009.
2022-05-10 15:34:38 +03:00
Vladimir Golovnev
338e89176d
Mark all files as complete if torrent is in "seed mode"
Fixes regression of bcfa486.
Closes #16999.
PR #17008.
2022-05-10 15:29:46 +03:00
Chocobo1
be4a1e7fd7
Suppress wrong print specifier
By removing unimportant debug message.
2022-05-08 16:46:36 +08:00
Chocobo1
a0a45333f1
Don't use old style casts 2022-05-08 14:53:27 +08:00
Chocobo1
e9d3928fe0
Store WebUI port setting in human readable number
Previously it was wrapped in QVariant type.

PR #16977.
2022-05-04 12:11:17 +08:00
Chocobo1
a1903e5d67
Delete unreachable code 2022-05-01 13:55:26 +08:00
summer
7b608fd0c9
Reduce the number of hashing threads by default
This seems to be the culprit responsible for slower hash rate in RC2_0 releases.
https://github.com/qbittorrent/qBittorrent/issues/16043#issuecomment-1113774868

PR #16951.
2022-05-01 12:30:25 +08:00
Chocobo1
19cbffb5e2
Remove artificial max limits from "Torrent Queueing" related options
Closes #16936.

PR #16942.
2022-04-30 12:26:18 +08:00
Chocobo1
9351f66c26
Add support for exporting .torrent data to buffer
Related: https://github.com/qbittorrent/qBittorrent/pull/16886#discussion_r855882018
PR #16931.
2022-04-27 12:29:00 +08:00
Vladimir Golovnev (Glassez)
1069bea273
Cache native torrent info to avoid extra blocking calls 2022-04-25 09:25:45 +03:00
Vladimir Golovnev (Glassez)
c740d105c9
Don't force update torrent status 2022-04-25 08:32:49 +03:00
Vladimir Golovnev (Glassez)
66a5a9863f
Fill torrent status with initial values when reload 2022-04-25 08:32:44 +03:00
Vladimir Golovnev (Glassez)
7ca47b8916
Delay event processing until status updated 2022-04-25 08:31:50 +03:00
Vladimir Golovnev (Glassez)
bcfa4866fe
Cache indexes of completed files
This avoids extra blocking calls to libtorrent.
2022-04-25 08:31:39 +03:00
Chocobo1
eba5a48abd
Merge pull request #16886 from Chocobo1/export
Add "Export .torrent" action
2022-04-24 12:43:13 +08:00
Chocobo1
a90ade0446
Add "Export .torrent" action 2022-04-23 15:11:09 +08:00
Vladimir Golovnev
359c4fef9d
Avoid dereferencing null pointers
PR #16896.
Closes #16884 and similar issues.
2022-04-19 13:52:56 +03:00
Chocobo1
71b1cb3b9c
Remove unused header 2022-04-19 11:35:51 +08:00
Vladimir Golovnev
613e9866aa
Merge pull request #16876 from glassez/blocking
Avoid some blocking calls to libtorrent

Under some conditions (when libtorrent is doing heavy work), blocking calls can wait quite a long time, thereby suspending the main application thread. In some cases, we can avoid this, since we have enough data to make the job without call to libtorrent. Although in some cases it may require a little more work to be done in the main thread, but overall responsiveness still benefits greatly in the end, especially when the libtorrent working thread is heavily loaded.
2022-04-16 19:27:41 +03:00
Chocobo1
bc937d38a2
Allow to set "working set limit" on non-Windows OS
PR #16874.
2022-04-16 11:36:58 +08:00
Vladimir Golovnev (Glassez)
35fcf39fc8
Add additional trackers without extra blocking call 2022-04-15 11:45:10 +03:00
Vladimir Golovnev (Glassez)
bd45dc5d0f Avoid some blocking calls to libtorrent 2022-04-14 15:22:32 +03:00
Vladimir Golovnev
7377974731
Improve path extension handling
PR #16867.
2022-04-14 09:43:07 +03:00
Chocobo1
a2b85ba1fd
Provide interface for Application class
PR #16864.
2022-04-14 12:04:58 +08:00
Chocobo1
3f762a416d
Use proper method for deferred calls 2022-04-12 16:23:39 +08:00
Chocobo1
189514c6de
Fix wrong v2 hash string displayed in WebUI
Previously `0000...` was erroneously displayed when v2 hash is absent,
now it correctly shows the `N/A`.

PR #16846.
2022-04-10 12:46:24 +08:00
Vladimir Golovnev
dded874350
Correctly apply content layout when "Skip hash check" is enabled
PR #16825.
2022-04-06 14:01:41 +03:00
Chocobo1
e42fa0e027
Merge pull request #16820 from Chocobo1/comparisons
Move comparison operator out of class
2022-04-06 13:35:34 +08:00
Vladimir Golovnev
0657238ad1
Don't forget to create 'download_path' field
PR #16468.
2022-04-05 07:27:11 +03:00
Chocobo1
39c34078d6
Move comparison operator out of class 2022-04-04 16:32:14 +08:00
Chocobo1
0eb6967bb2
Migrate away from unsigned integer types
Signed integers should be preferred in these cases.
2022-04-03 13:34:29 +08:00
Chocobo1
2854630b1c
Use signed integer type for counters 2022-04-03 13:33:55 +08:00
Vladimir Golovnev
df2d449f9b
Revamp content layout handling
Apply content layout only if desired file names aren't provided.
Remove helpers with confusing signatures.
Don't remove root folder twice.

PR #16724.
Closes #16259.
2022-04-01 09:35:45 +03:00
Chocobo1
7c1a986e61
Implement stringable interface for Version type 2022-03-26 13:58:25 +08:00
Chocobo1
c6b772da11
Improve function interface
`SettingsStorage` methods require `QString` so make `SettingValue` follow it.
`Path::operator+` can use `QStringView` to accept wider audience.
2022-03-26 12:41:02 +08:00
Chocobo1
4ca6de2b54
Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
Chocobo1
bbd936fdfa
Don't use explicit memory management
And avoid dangling pointers.
2022-03-24 14:44:38 +08:00
Chocobo1
8a708fd97e
Use proper type to represent a path 2022-03-23 22:04:05 +08:00
Chocobo1
6c10aa33e1
Provide interface for serialization to string type
PR #16685.
2022-03-23 12:55:41 +08:00
AbeniMatteo
baa8d2c326
Add option to toggle filters sidebar
PR #15409.
2022-03-21 12:41:06 +08:00
Chocobo1
e1ca0f3ff9
Merge pull request #16669 from Chocobo1/literal
Use QString literals
2022-03-21 12:09:43 +08:00
Vladimir Golovnev
ca2be2f499
Prevent Digest32 shared data from being detached
Delayed hash string generation should not cause detaching of shared data.

PR #16664.
2022-03-20 12:26:13 +03: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
Chocobo1
802ec5a14e
Use QString literals
This patch covers src/gui and some leftovers from previous commit.
2022-03-18 12:46:01 +08:00
Vladimir Golovnev
b3ca2ea179
Merge pull request #16573 from glassez/resume-data
Prevent loading resume data with inconsistent ID
2022-03-16 20:30:04 +03:00
Vladimir Golovnev (Glassez)
ce42f7c9f1
Properly handle metadata download for an existing torrent 2022-03-15 18:17:24 +03:00
Chocobo1
154ee1a73e
Use hashing helpers provided by Qt6 2022-03-13 17:37:54 +08:00
Chocobo1
b3fb6bd990
Avoid redundant hashing
The return type of `std::hash()` is larger (or equal) than what
`qHash()` requires so we can omit hashing it again.
2022-03-13 17:37:54 +08:00