Dmitry Vodopyanov
f20f479a4b
Improve sender field in mail notifications
...
Problem statement: user sees its email address in email notification,
while it is better to have sender field app-personalized, like it did
in Nextcloud: they send notifications from user's email address and
add alias 'Nextcloud' to it.
This patch adds alias 'qBittorrent' to qBittorrent email notifications,
so user sees more user-friendly email notification.
PR #17374 .
2022-07-18 13:22:30 +08:00
Chocobo1
e95066a37c
Merge pull request #17367 from Chocobo1/pr_17005
...
Split the OS cache settings into Disk IO read/write modes
2022-07-17 16:14:58 +08:00
Chocobo1
e281b667c6
Properly release settings class before further operations
...
Fix up d3e7e8a630
.
PR #17376 .
2022-07-17 12:41:18 +08:00
Chocobo1
56bb379024
Add workaround for payload upload/download rate
...
The graphs are showing 0 for both payload upload & download rate but
torrent statistics aren't, so suppress it manually.
The workaround only applies to paused state for now.
Closes #17294 .
2022-07-15 12:20:09 +08:00
Chocobo1
bafe4e909c
Use switch()
statement
2022-07-15 12:20:09 +08:00
Chocobo1
b6b0b54cdb
Rename variable
2022-07-15 12:17:39 +08:00
summer
5b730ffb72
Split the OS cache settings into Disk IO read/write modes
...
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2022-07-14 18:37:38 +08:00
nmariusp
e2b140b8dd
Remove meaningless checking for nullptr
...
Fix PVS-Studio issue "rss_autodownloader.cpp:111: warning: V668
There is no sense in testing the 'm_fileStorage' pointer against null,
as the memory was allocated using the 'new' operator.
The exception will be generated in the case of memory allocation error".
PR #17347 .
2022-07-14 13:19:38 +08:00
Chocobo1
d2a29c2f87
Correctly remove incomplete settings file
...
PR #17362 .
2022-07-14 13:05:08 +08:00
Vladimir Golovnev
d3e7e8a630
Refactor SettingsStorage implementation
...
Remove redundant fragmentation of logic.
PR #17354 .
2022-07-13 07:09:15 +03:00
Chocobo1
dba711d099
Use helper function for logging messages
2022-07-07 12:17:52 +08:00
Chocobo1
286df8f560
Merge pull request #17311 from Chocobo1/memPrio
...
Work around application stuttering on Windows
2022-07-05 14:18:02 +08:00
Nowshed H. Imran
92afbd45e8
Remove option of using icons from system theme
...
PR #17292 .
Closes #17150 .
2022-07-05 12:32:35 +08:00
summer
c660c9df8e
Try to recover missing tags
...
Tags can go missing from config/resume data. Try to recover them to avoid inconsistent behavior.
2022-07-04 18:18:56 +06:00
Chocobo1
fa26333a5b
Move "memory priority" settings to Application class
2022-07-04 18:38:20 +08:00
Vladimir Golovnev
be7cfb78de
Restore BitTorrent session asynchronously
...
Reduce the total startup time of the application and maintain sufficient responsiveness of the UI during startup due to the following:
1. Load resume data from disk asynchronously in separate thread;
2. Split handling of loaded resume data in chunks;
3. Reduce the number of emitting signals.
PR #16840 .
2022-07-04 12:48:21 +03:00
Chocobo1
b44bdd21cb
Merge pull request #17281 from Chocobo1/creator
...
Fix filename not populated correctly
2022-07-02 14:41:50 +08:00
Chocobo1
34091176d5
Fix wrong root path generated on Windows
...
Fix cannot create torrent when the source file is at the root of a
drive.
Fix created torrent cannot be seeded when the source file is at the root
of a drive.
Fix up dd1bd8ad10
.
Closes #17279 .
2022-07-01 13:34:14 +08:00
sledgehammer999
0e989185ce
Merge pull request #15769 from now-im/flow
...
Implement new icon/color theme
2022-06-28 23:23:25 +03:00
summer
1abeac8811
Remove unnecessary force reannounce on interface alerts
...
This isn't necessary since it can cause issues by doing unnecessary reannounce during startup and network address refresh. This impact of this can be great if it happens on a regular basis and if someone has a lot of torrents.
PR #17261 .
2022-06-26 07:26:21 +03:00
Vladimir Golovnev
f8a304abdc
Implement base classes for application components
...
PR #17219 .
2022-06-25 15:46:55 +03:00
Chocobo1
02d906d3ae
Initialize pointer to a default value
2022-06-23 21:31:16 +08:00
Chocobo1
6de72ecc77
Make use of chrono literals from std library
2022-06-23 21:31:16 +08:00
Li Z
86b6bcc1d9
Fix incorrect "max outgoing port" setting
...
PR #17252 .
2022-06-23 11:49:45 +08:00
Chocobo1
f3a4764a1d
Merge pull request #17233 from Chocobo1/log
...
Add shutdown logging
2022-06-20 13:08:46 +08:00
Chocobo1
0d46a108b8
Revise Statistics class
2022-06-19 15:51:19 +08:00
Chocobo1
af78344e5d
Use coarse timestamp format
...
Since format in milliseconds doesn't add additional value and is
slower than just seconds.
2022-06-18 17:14:42 +08:00
Vladimir Golovnev
a2121f2483
Improve RSS subsystem initialization
...
PR #17227 .
2022-06-18 09:56:49 +03:00
thalieht
d1515456bc
Add checkbox for "Excluded file names"
...
PR #17206 .
2022-06-15 13:16:01 +08:00
brvphoenix
7faa8b7a02
Don't use QCollator when it works on posix mode
...
PR #17204 .
2022-06-14 13:22:30 +08:00
xavier2k6
74db0576af
Sync nonstd/expected
with upstream
...
* Used `commit: b78dd92cc92b0cfe4eedad823cfd411c13afeb66` (Release v0.6.0)
* Source https://github.com/martinmoene/expected-lite/releases/tag/v0.6.0
PR #17192 .
2022-06-11 12:27:13 +08:00
Emil M George
29a964d5b7
Add support for custom SMTP ports
...
The port can be optionally specified by appending `:<port>` to the existing SMTP Server field in settings. If no port is specified, then the default port (25 for insecure or 465 for SSL) is used.
Closes #12212 .
PR #17157 .
2022-06-10 14:02:51 +08:00
mxtsdev
5e6174c087
Add file name filter/blacklist
...
Blacklist filtered file names from being downloaded from torrent(s).
Files matching any of the filters in this list will have their priority automatically set to "Do not download".
See Options > Downloads >Do not download.
Closes #3369 .
PR #17106 .
2022-06-10 13:37:46 +08:00
Nowshed H. Imran
199d770e15
Implement new icon/color theme
...
Co-authored-by: xavier2k6 <42386382+xavier2k6@users.noreply.github.com>
2022-06-09 18:18:14 +06:00
Prince Gupta
c47e29c7c8
Do RSS serializing on worker thread
...
PR #16357 .
2022-06-09 15:16:37 +03:00
Chocobo1
eddeda7bab
Remove usage of QTextStream
...
Other classes already provide rich methods so avoid another
layer of QTextStream which slow things down (slightly).
PR #17180 .
2022-06-09 11:18:41 +08:00
Vladimir Golovnev
ca07540675
Fix rate calculation when interval is too low
...
PR #17155 .
2022-06-08 08:51:48 +03:00
Chocobo1
fcf50820e8
Don't resize dialog with invalid sizes
...
This fixes wrong dialog sizes on first startup.
2022-06-03 16:07:36 +08:00
Vladimir Golovnev
ab0c82965c
Avoid redundant checks of category names
...
PR #17130 .
2022-05-31 10:42:40 +03:00
Chocobo1
9cd993d1da
Merge pull request #17116 from Chocobo1/cleanup
...
Clean up usage of `static` keyword
2022-05-31 12:39:30 +08:00
Chocobo1
73faf67084
Clean up usage of static
keyword
...
They are either misused or redundant, so remove it.
2022-05-30 13:25:34 +08:00
brvphoenix
fd51362545
Don't decompress the reply data for Qt 6.3
...
PR #17120 .
2022-05-30 13:10:29 +08:00
Vladimir Golovnev
a5caa807f5
Initialize torrent status using libtorrent extension
...
PR #17096 .
2022-05-28 09:30:50 +03:00
Chocobo1
a9f99aed48
Revise code
2022-05-27 16:23:18 +08:00
Vladimir Golovnev
4f62900cd3
Update torrent status filter counters consistently
...
PR #17097 .
Closes #15981 .
Closes #16490 .
2022-05-26 19:55:00 +03:00
Vladimir Golovnev
4032393c0e
Pause torrent in all "fastresume rejected" cases
...
PR #17087 .
Addition to #17064 .
2022-05-25 08:24:53 +03:00
Vladimir Golovnev
7e0cd223fd
Revamp tracker entries handling
...
PR #17017 .
2022-05-22 09:09:11 +03:00
Vladimir Golovnev
8c0cd09823
Handle all "fastresume rejected" cases consistently
...
PR #17064 .
2022-05-22 07:23:52 +03:00
Chocobo1
c8b4611d8d
Disable copy, move constructors when inheriting from QObject
2022-05-19 19:07:23 +08:00
Chocobo1
8d3c19c599
Merge pull request #17031 from Chocobo1/net
...
Fix wrong GUI behavior in "Optional IP address to bind to" setting
2022-05-19 12:52:35 +08:00
vlakoff
b84333f8a1
Consider brackets within wildcard as regular characters
...
In glob patterns, square brackets have a special meaning, that may be unexpected by the users.
Thus we escape these brackets, so that the only remaining special characters are the * and ? wildcards.
PR #16965 .
2022-05-18 08:33:14 +03:00
Chocobo1
e82c50ed73
Clean up code
2022-05-16 01:15:08 +08:00
Chocobo1
114c6d36d1
Clean up code
...
Add const.
Move template implementation to .cpp file.
2022-05-14 18:30:10 +08:00
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