Commit graph

10663 commits

Author SHA1 Message Date
Chocobo1
8655e48336
Use move construct for shared pointers 2023-07-01 16:28:13 +08:00
Chocobo1
3c139ca333
Fix potential use-after-move
The evaluation order for function parameters is unspecified in C++.
https://stackoverflow.com/questions/2934904/order-of-evaluation-in-c-function-parameters

Fix up 1b2ff0f6f8.
2023-07-01 14:38:50 +08:00
Ignat Loskutov
f4deb1050f
Disable symlink resolving in Torrent creator
PR #19199.
2023-06-28 14:27:24 +03:00
Chocobo1
6680fdda18
Fix typos 2023-06-26 16:45:44 +08:00
Vladimir Golovnev
1c654d8f47
Immediately update torrent status on moving files
PR #19220.
2023-06-25 12:45:58 +03:00
Vladimir Golovnev
c90863f217
Don't miss to enable Apply button
PR #19221.
Closes #19082.
2023-06-25 12:44:33 +03:00
luzpaz
deec2ae1b1
Fix various typos
PR #19213.
2023-06-24 16:04:04 +03:00
Chocobo1
dffb93a6aa
Merge pull request #19208 from Chocobo1/buffer
Avoid unnecessary memory allocation/relocation
2023-06-24 13:03:00 +08:00
Vladimir Golovnev
3b948b0130
Drop I2P support with libtorrent 1.2
PR #19207.
Closes #19152.
2023-06-23 16:24:34 +03:00
Chocobo1
b3d2ba7d07
Initialize regex only once
This code path is commonly used so let it initialize only once.
2023-06-23 14:49:22 +08:00
Chocobo1
03d3552ee0
Avoid unnecessary memory allocation/relocation 2023-06-23 14:49:22 +08:00
Luka Čelebić
379b0dbe40
Add alternative shortcut CTRL+E for CTRL+F
PR #19190.
2023-06-20 11:52:09 +03:00
thalieht
f213f81727
Fix transfer list tab hotkey
PR #19200.
2023-06-20 07:45:17 +03:00
Chocobo1
1f2a6455b6
Merge pull request #19188 from Chocobo1/literalOperator
Rename literal operator
2023-06-19 12:45:20 +08:00
sledgehammer999
fc8c74989b
Bump to 4.6.0beta2 2023-06-18 21:27:12 +03:00
Chocobo1
b01a48879a
Add missing header 2023-06-18 13:51:19 +08:00
sledgehammer999
2bbfd317ce
Sync translations from Transifex and run lupdate 2023-06-18 01:37:12 +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
Chocobo1
f6b58f36e2
WebUI: set Cross Origin Opener Policy to same-origin
This separates browsing context for different origin sites and prevents
leaking data from it.
This header is only present when using built-in WebUI. Alternative WebUI
is not affected.
https://web.dev/why-coop-coep/#coop

PR #19157.
2023-06-14 13:38:48 +08:00
Chocobo1
79ca2e145f
Don't read unlimited data from files
It now guards against reading infinite files such as `/dev/zero`.
And most readings are bound with a (lax) limit.
As a side effect, more checking are done when reading a file and
overall the reading procedure is more robust.

PR #19095.
2023-06-14 13:38:19 +08:00
Chocobo1
81bc910d68
Provide context to translation strings
PR #19120.
2023-06-12 14:03:12 +08:00
Vort
ff5d02bcf2
Make I2P session options configurable
PR #19079.
Closes #18980.
2023-06-06 08:35:40 +03:00
tearfur
2e87e6e0df
Use hostname instead of domain name in tracker filter list
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>

PR #19062.
Closes #19035.
2023-06-05 14:57:37 +03:00
Vladimir Golovnev
a5e8af5070
Allow to assign priority to RSS download rule
PR #19000.
2023-06-05 14:55:41 +03:00
Vladimir Golovnev
cf415dd7fe
Allow to disable confirmation of Pause/Resume All
PR #19067.
Closes #18155.
2023-06-04 08:57:14 +03:00
Chocobo1
83e6afcb71
Merge pull request #19069 from Chocobo1/sort
WebUI: use natural sort on tracker list
2023-06-04 12:52:29 +08:00
Chocobo1
62d96c068a
Remove SGML parser
This library is unmaintained, outdated and plugin authors are encouraged to use html.parser
from Python Standard Library instead.

https://docs.python.org/3/library/html.parser.html

PR #19068.
2023-06-04 12:52:06 +08:00
xavier2k6
040c3c7ef8
Sync "expected lite" with upstream
PR #19049.
2023-06-03 17:42:57 +03:00
Raymond Ha
3ef8726083
WebUI: Set Connection status and Speed limits tooltips
PR #19052.
Fixes #18958.
2023-06-03 17:39:58 +03:00
Chocobo1
dad9157d84
Don't overwrite original variable 2023-06-02 18:12:01 +08:00
Chocobo1
5cea69472f
Use natural sort 2023-06-02 17:44:17 +08:00
ttys3
b1492bcd7d
WebUI: Show only hosts in tracker filter list
PR #18190.
2023-06-02 17:36:33 +08:00
Vladimir Golovnev
4550469bb9
Fix incorrect height of Filter line edit
PR #19058.
2023-06-02 11:47:53 +03:00
Vladimir Golovnev
160af4feef
Show I2P peer addresses
PR #18845.
2023-06-01 17:16:03 +03:00
Priit Uring
b27e839405
Sync flag icons with upstream
PR #19027.
2023-06-01 06:49:09 +03:00
sledgehammer999
ecc08dee09
Bump to 4.6.0beta1 2023-05-29 16:03:44 +03:00
Chocobo1
fbe93f0c47
Improve "apply memory working set" routine
Now it will try to raise the hard limit.
And also the log shows a more specific message when the new limit is not
applicable.

PR #19022.
2023-05-28 13:41:44 +08:00
sledgehammer999
11945eef3f
Sync translations from Transifex and run lupdate 2023-05-28 01:40:37 +03:00
Raymond Ha
a35dbc6df7
WebUI: Fix category save path
PR #19008.
2023-05-26 11:52:37 +03:00
Vladimir Golovnev
a59301712e
Avoid race condition when waking worker thread
PR #19005.
2023-05-23 02:22:16 +03:00
Chocobo1
b406d669b3
Bump python version minimum requirement
PR #18996.
2023-05-22 12:37:02 +08:00
Chocobo1
4ef8f39f23
Use python isolate mode
This (more or less) avoids user's environment variables tampering the
search process.
And also remove usages of `eval()` and `exec()`.

PR #18995.
2023-05-21 14:04:44 +08:00
Vladimir Golovnev
34802362ad
Fix inconsistent background of filters widget
PR #18956.
Fixes regression of #18918.
2023-05-11 09:11:11 +03:00
Vladimir Golovnev
c10f1f0ad2
Consider explicitly specified parameters when resolving optional ones
PR #18955.
Closes #18951.
2023-05-11 09:09:57 +03:00
Vladimir Golovnev
58ae98026b
Try to detect system wake-up event
PR #18934.
Closes #17898.
2023-05-10 15:02:15 +03:00
Chocobo1
32a55551fe
Merge pull request #18936 from Chocobo1/tidy
Code clean up
2023-05-08 13:11:11 +08:00
Vladimir Golovnev (Glassez)
bb959bda8c
Add helpers for suggesting torrent paths 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
d629c77184
Improve FlowLayout to support vertical alignment 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
b953d223e4
Use check box to represent "Skip checking" 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
6fa53b5ed8
Override add torrent params in a more comprehensible way 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
c777ed3299
Correctly use fallback value for "Add to top of queue" option 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
341b2f345a
Use FlowLayout in AddTorrentParamsWidget 2023-05-07 16:34:55 +03:00
Vladimir Golovnev (Glassez)
905f141657
Revamp "Automated RSS downloader" dialog 2023-05-07 16:34:52 +03:00
Vladimir Golovnev (Glassez)
0a87bb368f
Extract "add torrent params" serialization code 2023-05-07 16:33:32 +03:00
Vladimir Golovnev (Glassez)
93a1e58554
Revamp "Watched folder options" dialog 2023-05-07 16:33:32 +03:00
Vladimir Golovnev (Glassez)
0cc29f1851
Implement "Add torrent params" editing widget 2023-05-07 16:33:20 +03:00
Chocobo1
81daad92ec
Combine identical branches 2023-05-07 19:41:55 +08:00
Chocobo1
41be7e9bbe
Make function const 2023-05-07 19:41:55 +08:00
Chocobo1
179a61d75e
Add curly braces 2023-05-07 19:41:55 +08:00
Chocobo1
73134d5f4d
Initialize member variables 2023-05-07 16:30:56 +08:00
Chocobo1
29c05ed3e8
Use std::make_unique 2023-05-07 14:38:03 +08:00
Chocobo1
e375f3ee0b
Use reference 2023-05-07 14:38:02 +08:00
Chocobo1
e7e5c38384
Remove superfluous header include 2023-05-06 16:48:49 +08:00
Chocobo1
9a00839a75
Simplify code 2023-05-06 16:35:13 +08:00
Chocobo1
79e85d01fa
Mark move functions as noexcept 2023-05-06 16:35:13 +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
Chocobo1
5b43782f58
Remove redundant virtual specifier 2023-05-06 16:35:12 +08:00
Chocobo1
2059825597
Don't use instance for accessing static functions 2023-05-06 16:35:12 +08:00
Chocobo1
e1be46820b
Remove redundant initialization 2023-05-06 16:35:12 +08:00
Chocobo1
8219b1f695
Use default constructor, destructor 2023-05-06 16:35:12 +08:00
Chocobo1
3fbe380582
Remove redundant function declaration 2023-05-05 14:51:02 +08:00
Chocobo1
5f00d42a49
Drop superfluous const 2023-05-05 14:51:02 +08:00
Chocobo1
15de7aed9a
Use perfect forwarding 2023-05-05 14:51:02 +08:00
Vladimir Golovnev
5a1dcbae9c
Don't make assertion about 3rd party logic
PR #18913.
2023-05-03 07:24:52 +03:00
Vladimir Golovnev
7c6a852f85
Revamp TransferListFiltersWidget implementation
Avoid using style sheets to better support color mode switching.

PR #18918.
2023-05-03 07:24:03 +03:00
Vladimir Golovnev
147b22ddd3
Revamp LineEdit implementation
PR #18917.
2023-05-03 07:23:19 +03:00
Vladimir Golovnev
d83b2a6131
Make sure ResumeSessionContext is destroyed before start processing
PR #18912.
2023-05-02 09:48:49 +03:00
Vladimir Golovnev
821e946bbe
Remove outdated code
PR #18908.
2023-05-01 08:29:35 +03:00
Deltadroid
634eb4a183
Replace status_t with disk_status
libtorrent 2.1 has made the following change:
"make status_t a proper flag type, to clean up oversized_file indication
from disk subsystem"

PR #18879.
2023-04-30 10:12:15 +03:00
Vladimir Golovnev
758ea7edca
Improve logging of running external program
PR #18901.
2023-04-30 10:10:03 +03:00
Vladimir Golovnev
1bd499565e
Completely initialize native status on torrent creation
PR #18900.
2023-04-30 10:09:09 +03:00
Chocobo1
bbd5ed1142
Switch URLs to https
PR #18876.
2023-04-23 15:09:58 +08:00
sledgehammer999
0f033ec9c8
Regenerate translation files 2023-04-20 03:34:29 +03:00
Chocobo1
7397c80837
WebUI: improve 'exporting torrent' behavior
Don't stop the whole operation when a torrent doesn't exists and try to export the remaining
existing ones.

PR #18858.
2023-04-18 13:59:55 +08:00
Vladimir Golovnev
51132c817b
Improve move storage handling
PR #18857.
Closes #18795.
2023-04-18 08:06:18 +03:00
Chocobo1
1fe006d16f
Merge pull request #18853 from Chocobo1/exportTorrent
Work around Chrome download limit
2023-04-17 00:12:30 +08:00
Sentox6
bd31eddb94
Inhibit system sleep while torrents are moving
PR #18783.
2023-04-16 18:09:34 +03:00
DivineHawk
0defb7d79d
WebUI: Use workaround for IOS file picker
PR #18837.
Fixes #18683.
2023-04-16 14:30:30 +03:00
七海千秋
1e400df324
Set "SameSite=None" if CSRF Protection is disabled
PR #18843.
2023-04-16 14:27:49 +03:00
Chocobo1
9ea48539b4
Inline variable declared in header 2023-04-15 14:53:13 +08:00
Chocobo1
d63e0ad78f
Work around Chrome download limit
Closes #18775.
2023-04-15 14:51:27 +08:00
Vladimir Golovnev
eaee38a19e
Disable UPnP for web UI by default
PR #18832.
2023-04-13 06:22:18 +03:00
Vladimir Golovnev
b3e9c46eff
Don't miss saving "download path" in SQLite storage
PR #18844.
Closes #18842.
2023-04-13 06:18:09 +03:00
Chocobo1
5dcc14153f
Move feature macro declaration to build scripts
PR #18825.
2023-04-10 13:38:00 +08:00
Chocobo1
4a66d705b8
Merge pull request #18812 from Chocobo1/buf
Use KiB unit for socket buffer sizes
2023-04-09 22:17:39 +08:00
Chocobo1
9d7fcea5d6
Describe special values in label
https://github.com/qbittorrent/qBittorrent/pull/18806#discussion_r1158346210
https://github.com/qbittorrent/qBittorrent/pull/18812#issuecomment-1500303976
2023-04-08 15:46:02 +08:00
Vladimir Golovnev
b8cd614775
Allow to edit RSS feed URL
PR #18807.
Closes #5489.
2023-04-07 14:22:50 +03:00
Chocobo1
a9ab2d9b9e
Use KiB unit for socket buffer sizes
https://github.com/qbittorrent/qBittorrent/pull/18806#issuecomment-1499894871
2023-04-07 18:33:24 +08: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
a01f1014b9
Inline variable defined in header 2023-04-05 18:32:18 +08:00
Chocobo1
77411760a0
Expose 'socket send/receive buffer size' options
Closes #18794.
2023-04-05 18:11:13 +08:00
Vladimir Golovnev
0dcb65bb7c
Add option to auto hide zero status filters
* Extract transfer list filter classes into separate files
* Add option to auto hide zero status filters

PR #18801.
Closes #13996.
2023-04-03 10:38:08 +03:00
Vladimir Golovnev
d40be79c69
Implement torrent tags editing dialog
PR #18797.
2023-04-03 10:36:28 +03:00
Bartu Özen
b55d4b1733
WebUI: Implement subcategories
PR #18740.
2023-04-02 11:02:22 +03:00
Chocobo1
9de8abadb6
Fix wrong end tag 2023-03-28 22:26:11 +08:00
Chocobo1
05c5cdab96
Add alternative text for images 2023-03-28 22:20:37 +08:00
Chocobo1
1e1c1725ab
Always use quotes for attributes
This is to unify coding style.
2023-03-28 22:20:37 +08:00
Chocobo1
b5c57af869
Escape special characters properly 2023-03-28 22:20:37 +08:00
Chocobo1
eb875ac8c1
Add attributes explicitly 2023-03-28 22:20:37 +08:00
Chocobo1
a36358d7d0
Remove deprecated rules 2023-03-28 22:20:37 +08:00
Chocobo1
679e592a5c
Add checker for html 2023-03-28 22:20:33 +08:00
Vladimir Golovnev
b922441a7c
Correctly handle redirections
PR #18771.
Fixes regression introduced by #18528.
Closes #18764.
2023-03-28 06:26:40 +03:00
Vladimir Golovnev
941c587c68
Don't forget to clear I2P peer items
PR #18753.
2023-03-24 14:06:46 +03:00
Vladimir Golovnev
77bd09bb8b
Use tray icon from system theme only if option is set
PR #18733.
2023-03-22 13:51:39 +03:00
Vladimir Golovnev
8bcac1bed2
Reduce default file pool size
PR #18734.
2023-03-21 08:39:06 +03:00
Vladimir Golovnev
cdded6cef7
Add (experimental) I2P support
PR #18717.
Closes #16257.
2023-03-21 08:33:46 +03:00
thalieht
8cbe4a571c
Initialize a few groupboxes' check state after their children
PR #18727.
2023-03-20 10:49:25 +03:00
Vladimir Golovnev
ee9d2173e0
Combine all the column filter related widgets
PR #18726.
2023-03-20 08:23:41 +03:00
Chocobo1
a450a7c6e1
Delegate string hashing to standard library
Since standard library could have platform dependent specialized hashing functions.
Also the main idea is to let `qHash` handle whatever integer type `std::hash` returns and mix it with `seed` accordingly.

PR #18715.
2023-03-18 14:09:35 +08:00
thalieht
d41a77841d
Save UI Theme Dialog size
PR #18709.
2023-03-17 22:15:56 +03:00
thalieht
ae06daba6a
Correctly initialize group box children as disabled
PR #18710.
2023-03-17 22:13:19 +03:00
Vladimir Golovnev
77aa85fbd3
Provide UI Theme editor
PR #18655.
2023-03-16 10:03:05 +03:00
Vladimir Golovnev
989b1e6c2c
Improve finished torrent handling
PR #18704.
Closes #18694.
2023-03-16 09:45:49 +03:00
Vladimir Golovnev
9ef23d524d
Prevent incorrect log message about torrent content deletion
PR #18692.
Closes #18689.
2023-03-16 09:40:21 +03:00
Chocobo1
f16e903623
Merge pull request #18687 from Chocobo1/codeql
GHA CI: add CodeQL scanning
2023-03-15 15:21:27 +08:00
Tom
0bb0829a9a
Allow to filter torrent list by save path
PR #18600.
2023-03-15 09:46:22 +03:00
Chocobo1
fa30b70453
Fix code defects 2023-03-14 15:04:54 +08:00
thalieht
f630d84858
WebUI: Add "Add to top of queue" option
PR #18660.
2023-03-08 18:58:42 +03:00
Vladimir Golovnev
ee6f699b48
Apply adjacent changes within single transaction
PR #18635.
2023-03-04 08:46:19 +03:00
Vladimir Golovnev
ce9bdaef5c
Correctly check for database needs to be updated
* Correctly check for database needs to be updated
* Create index only if not exists
* Double check whether database needs to be updated

PR #18638.
2023-03-02 20:31:38 +03:00
Vladimir Golovnev
37c04fdeed
Prevent possible problem of using incomplete type
PR #18639.
2023-03-02 06:18:51 +03:00
Vladimir Golovnev
c51aa2d573
Index torrents table by queue position
PR #18623.
2023-02-28 08:57:51 +03:00
sledgehammer999
b922e1ae73
Sync translations from Transifex and run lupdate 2023-02-28 00:20:58 +02: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
58a654a70f
Reject requests that contain backslash in path
PR #18626.
Closes #18618.
2023-02-27 16:50:50 +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
8df68ac878
Prevent RSS folder from being moved into itself
PR #18619.
Closes #18446.
2023-02-27 09:08:18 +03:00
Vladimir Golovnev
2f9b313287
Perform own tracking of files progress
PR #18597.
2023-02-26 14:44:58 +03:00
Vladimir Golovnev (Glassez)
cbf591a8b5
Improve SOCKS5 error messages 2023-02-26 14:27:59 +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 (Glassez)
4745a40f0b
Allow to specify proxy option per request 2023-02-25 17:30:26 +03:00
Vladimir Golovnev (Glassez)
8993d87b32
Let Search Engine handle its proxy usage 2023-02-25 17:25:41 +03:00
loligans
466314675c
WebUI: Add multi-file renaming
PR #18287.
Closes #16239.
2023-02-19 14:07:55 +03:00
Hanabishi
d75fd3fcde
Show filtered port numbers in logs
PR #18544.
2023-02-18 08:14:27 +03:00
Vladimir Golovnev
9fb9ca47f6
Update the cached state once recheck is started
We have to force update the cached state, otherwise someone will be able to get an incorrect one during the interval until the cached state is updated in a regular way.

PR #18579.
Closes #18559.
2023-02-17 07:12:56 +03:00
Luka Čelebić
917190d936
Add shortcut for "Ban peer permanently" function
PR #18576.
2023-02-17 07:09:23 +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
4c0ebc0e0f
Access some more data in a non-blocking manner
* Cache URL seeds to access in a non-blocking manner
* Provide non-blocking way to create magnet URI for torrent

PR #18572.
2023-02-16 08:49:16 +03:00