Jesse Smick
ba511e07b4
WebUI: Improve pieces bar drawing algorithm
...
PR #17336 .
2022-08-15 12:05:35 +08:00
Chocobo1
aa6b29fe7e
Set HTTP method restriction on WebAPI actions
...
PR #17548 .
2022-08-15 11:56:59 +08:00
Chocobo1
d7d1a90de6
Fix wrong parent path
2022-08-14 13:31:21 +08:00
Chocobo1
16482c507b
Fix drive letter validness check
2022-08-14 13:31:21 +08:00
Chocobo1
5abd72d42a
Add comments about "UNC path" support
2022-08-12 12:56:58 +08:00
Chocobo1
2fa5ad982d
Improve absolute/relative path detection
2022-08-12 12:56:57 +08:00
Chocobo1
43df7d0cd4
Improve path validness test
2022-08-12 12:56:56 +08:00
Chocobo1
06c704c740
Revise quote behavior
...
Now the behavior of double quotes aligns more as with issuing commands from shell/command line.
Related: https://github.com/qbittorrent/qBittorrent/pull/17453#issuecomment-1203372027
PR #17515 .
2022-08-10 13:19:34 +08:00
Vladimir Golovnev
916e53c260
Show progress dialog on second instance run
...
PR #17516 .
2022-08-09 19:12:12 +03:00
xavier2k6
3f94a68e62
Sync nonstd/expected
with upstream
...
* Used commit: `95b9cb015fa17baa749c2b396b335906e1596a9e` (Release v0.6.2)
* Source: https://github.com/martinmoene/expected-lite/releases
PR #17508 .
2022-08-09 11:22:45 +08:00
Vladimir Golovnev (Glassez)
d27dd85dfd
Correctly replace desktop integration menu
2022-08-06 19:40:04 +03:00
Vladimir Golovnev (Glassez)
15515200ee
Avoid race conditions between dialogs on startup
2022-08-06 15:01:35 +03:00
Vladimir Golovnev
7f40602da9
Fill in initial data in add_torrent_alert handler
...
libtorrent < 2.0.7 has a bug that add_torrent_alert is posted too early
(before torrent is fully initialized and torrent extensions are created)
so we have to fill initial torrent data in add_torrent_alert handler.
PR #17491 .
2022-08-06 06:09:35 +03:00
Chocobo1
33e6ca6778
Redesign Version class
...
PR #17484 .
2022-08-06 11:06:16 +08:00
summer
54b50c3a8a
Do not inhibit system sleep/auto shutdown for torrents stuck at downloading metadata
...
PR #17481 .
2022-08-04 13:10:58 +08:00
Chocobo1
fa3d98aa37
Add keyboard shortcut to Download URL dialog
...
Closes #17436 .
PR #17490 .
2022-08-04 13:03:38 +08:00
Vladimir Golovnev
e24aaa4ce1
Show startup progress dialog
...
PR #17389 .
2022-08-03 07:14:26 +03:00
Chocobo1
aed492b881
Merge pull request #17471 from Chocobo1/cmake
...
Improve constructor of Version class
2022-08-02 13:50:56 +08:00
Chocobo1
a4c2363f43
Improve constructor of Version class
...
Now we can write `Version<int, 3, 1>(1)` and provide only 1 parameter
instead of all 3 parameters at once at the constructor. Note that for
this instance of `Version` 3 numbers were specified but only 1 is truly
mandatory.
The added code are required to specify conditions of the template
instantiation for the compiler.
2022-08-01 14:53:55 +08:00
Vladimir Golovnev
0056a61db3
Clear RSS parsing error after use
...
PR #17465 .
2022-08-01 08:15:16 +03:00
Vladimir Golovnev
6d1573f901
Prevent multiple session refreshes from being enqueued
2022-08-01 08:14:09 +03:00
Vladimir Golovnev
1c0479a795
When duplicate torrent is added set metadata to existing one
...
PR #17454 .
Closes #907 .
2022-07-31 08:53:26 +03:00
Nowshed H. Imran
748226be29
Rename Icons according to the actions
...
Fixes #17357 .
PR #17366 .
2022-07-31 13:31:38 +08:00
Chocobo1
27e1a8ad80
Merge pull request #17453 from Chocobo1/i18n
...
Fix empty string parameter was omitted
2022-07-30 14:30:12 +08:00
Chocobo1
0802b6d506
Fix empty string parameter was omitted
...
`QProcess::splitCommand()` will omit empty strings like `""` so provide
our own replacement.
Closes #13124 .
2022-07-30 00:17:31 +08:00
Vladimir Golovnev
29f8b4b786
Don't merge trackers by default
...
PR #17446 .
2022-07-29 15:40:40 +03:00
Chocobo1
2ebdf6060d
Translate app help text
2022-07-29 11:13:59 +08:00
brvphoenix
b98e7cb69f
Fix reply data can't be decompressed correctly
...
If the "Accept-Encoding" is not manually specified, it will be
automatically set to the supported encodings by QT and the reply data
will also be automatically decompressed in this case. Setting
"Accept-Encoding" manually will disable the "autodecompress" feature
before QT 6.3.0. Although QT 6.3.x has different behaviors, let QT
specify the "Accept-Encoding" and we will always obtain the decompressed
data.
The macro "QT_NO_COMPRESS" defined when QT is compiled will disable
the zlib support. We can manually address this exceptions.
PR #17438 .
2022-07-29 11:03:21 +08:00
summer
2071ec0c96
Fix peer count issue when tracker responds with zero figure
...
Sometimes tracker may respond with 0 for num_complete and num_incomplete and we should display that instead of deducing the peer count from peer list. We should only fallback to peer list if tracker does not respond with any information. In such cases num_incomplete and num_complete is set to -1 by libtorrent.
PR #17432 .
2022-07-27 13:09:06 +08:00
Chocobo1
36bc77e2e2
Merge pull request #17416 from Chocobo1/icon
...
Split code to smaller functions
2022-07-26 12:47:21 +08:00
Chocobo1
88556078be
Merge pull request #17412 from Chocobo1/stat
...
Improve free disk space reporting
2022-07-26 12:45:10 +08:00
Chocobo1
27a07e20f5
Split code to smaller functions
2022-07-25 01:22:33 +08:00
Chocobo1
5d1115f591
Remove compile-time conditional
...
This checking should be universally applied and not limited to certain OS.
2022-07-25 01:18:42 +08:00
Chocobo1
88d9e82fc9
Improve free disk space reporting
...
For non-existent directories (which will be created on demand) `Utils::Fs::freeDiskSpaceOnPath`
will return invalid value so instead query its parent path.
2022-07-25 01:18:42 +08:00
Chocobo1
50b01ed45d
Revise function for checking "same file"
2022-07-25 01:18:37 +08:00
Chocobo1
243d130667
Clean up code
2022-07-24 18:07:52 +08:00
Chocobo1
e33f73d08e
Avoid performance impact over network or removable drives
2022-07-24 12:58:24 +08:00
Chocobo1
f505d742d8
Merge pull request #17392 from Chocobo1/validatePath
...
Fix path validator
2022-07-24 09:54:30 +08:00
Chocobo1
727d20cc92
Simplify implementation
...
This also enable each platform to provide its own optimal implementation of it.
2022-07-23 22:41:26 +08:00
Chocobo1
a9906e5d2a
Fix validation text doesn't update on mouse click selection
2022-07-22 21:27:00 +08:00
Chocobo1
6ab35512da
Fix browse icon cannot be selected/focused via keyboard
2022-07-22 21:27:00 +08:00
Chocobo1
cfcbe3d6e1
Use less intimidating icon for intermediate state
2022-07-22 21:27:00 +08:00
Chocobo1
39c0c1a088
Simplify operations
2022-07-22 21:27:00 +08:00
Chocobo1
f7ae010274
Rename interface
2022-07-22 21:27:00 +08:00
Chocobo1
4fd5037c10
Avoid redundant operation
...
The default is the same as the one specified here.
2022-07-22 21:27:00 +08:00
Chocobo1
3fe09aa673
Fix path validator
...
And revise tooltip message.
Closes #11152 .
2022-07-22 21:26:57 +08:00
Chocobo1
3a6858a277
Adjust height to hide scrollbar by default
2022-07-22 13:23:19 +08:00
Chocobo1
c287c7bb01
Revise action capitalization
2022-07-22 13:23:19 +08:00
Chocobo1
99061d92c1
Fix "Add torrent dialog" spill-over on smaller screens
...
Done by adding an QScrollArea to the layout.
Closes #17387 .
2022-07-22 13:23:19 +08:00
Vladimir Golovnev
5b269a782a
Prevent tray menu from being accessed after destruction
...
PR #17400 .
2022-07-21 09:30:05 +03:00
Chocobo1
275387a972
Don't show validation result dialog on every key input
...
Instead of showing dialog, now it relies on icon to show the validation
result.
PR #17391 .
2022-07-21 12:19:58 +08:00
Chocobo1
e68e3b516e
Improve performance of "filesystem line edit" widgets
...
Also prevent unnecessary querying on the filesystem by omitting
calling setRootPath().
2022-07-21 02:27:48 +08:00
summer
3f7376f26b
Add transfer list refresh interval settings to WebUI
...
Specially useful for qbt-nox users
PR #16713 .
Co-authored-by: An0n <79678786+an0n666@users.noreply.github.com>
2022-07-19 11:14:45 +08:00
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
xavier2k6
a9a45b9569
Sync flag icons with upstream
...
* Contains numerous flag fixes.
* Upstream commit: `494ace54e3c413dcebcb071f583b441b267c984f` - (Release v6.6.3)
* Update `AUTHORS` file with upstream `copyright/repo url change`
PR #17199 .
2022-07-15 12:08:37 +08:00
summer
4cda5d89fb
Clean up WebUI preferences
...
PR #17319 .
2022-07-15 12:07:09 +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
Vladimir Golovnev
cfdf5cffac
Show remote access info after it is available
...
PR #17329 .
2022-07-11 08:38:45 +03:00
Chocobo1
d6314b30a2
Merge pull request #17341 from Chocobo1/tray
...
Revise behavior of initializing checkboxes
2022-07-11 12:39:05 +08:00
Chocobo1
03da68b1cf
Add support for unit testing
...
* Downgraded macOS CI to Qt 6.2.0 due to a bug in Qt Test module
* Revised cmake build scripts
* For now, only building via cmake is supported
PR #17338 .
2022-07-10 13:20:27 +08:00
Vladimir Golovnev
890630944d
Extract desktop integration stuff into separate class
...
PR #17313 .
2022-07-09 08:06:22 +03:00
Chocobo1
8d73ab65b2
Don't needlessly hide Options dialog
...
The dialog should only close after all operations are done, not before.
2022-07-09 11:34:47 +08:00
Chocobo1
e54124fdb8
Add tooltip message when system tray icon isn't available
...
Also don't hide the sub-options as they are already in disabled state.
2022-07-09 11:34:47 +08:00
Chocobo1
e4fafb911a
Revise behavior of initializing checkboxes
...
The checkboxes initial value should not depend on parent state and
should be restored anyway.
2022-07-09 11:34:43 +08:00
Chocobo1
dba711d099
Use helper function for logging messages
2022-07-07 12:17:52 +08:00
Chocobo1
ec13bba4da
Revise classes startup sequence
...
1. Initialize Logger class earlier so that it can record messages from other classes (for
debugging purpose).
2. Deprioritize WebUI port adjustment. It is not a high priority in here.
3. Slightly deprioritize file logger initialization.
2022-07-07 12:16:48 +08:00
luzpaz
8736c9ec4c
Fix various typos
...
Found via `codespell -q 3 -S *.ts,*.desktop,./src/base/3rdparty,./dist/windows/installer-translations -L ba,doas,ist,ro,ths`
PR #17317 .
2022-07-06 13:11:11 +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
ed2eadaf56
Work around application stuttering on Windows
...
This is observed by unusual high page faults when the stuttering occurs.
With this workaround, the high page faults still occurs but the GUI remains responsive.
2022-07-04 18:38:23 +08: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
ec1d2cba40
Merge pull request #17305 from Kolcha/fix/open-dest-dir
...
Fix "Open destination folder" on macOS
2022-07-04 08:38:10 +08:00
Nick Korotysh
a93cd20e4d
Open destination folders on macOS in separate thread
...
In some unknown way, the one line in Objective-C affects Qt's main
loop causing the crash in QApplication::exec() on processing next
event after that call.
Even crash doesn't happen exactly after this call, it will happen
on application exit. Call stack and disassembly are the same in
all cases.
But running that code in another thread solves the issue.
2022-07-02 09:16:22 +02:00
Chocobo1
25b3f2d1a6
Raise priority of the main "event loop" thread
...
The goal is to improve responsiveness of qbt when CPU resources are scarce.
Instead of lowering libtorrent threads priority, it is chosen to raise main event loop thread
priority to avoid getting messy with libtorrent internals.
Also on Windows, threads doesn't inherit thread priority from the parent thread and it always
use the default (normal) priority.
PR #17278 .
2022-07-02 14:57:47 +08:00
Chocobo1
b44bdd21cb
Merge pull request #17281 from Chocobo1/creator
...
Fix filename not populated correctly
2022-07-02 14:41:50 +08:00
Nick Korotysh
53ea1843ab
Pass Torrent::contentPath() to MacUtils::openFiles()
...
it already provides absolute path, no additional manipulations
are required.
2022-07-01 23:23:26 +02: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
Vladimir Golovnev
ac8a6887b6
Improve D-Bus notifications handling
...
Make notifications clickable on Linux by assigning "default" action.
Don't react to unrelated notifications clicked by keeping track of qBittorrent notifications IDs and filter out unrelated ones.
Make D-Bus Notifications interface proxy class to be maintained manually and fix coding style in it.
Closes #9084 .
PR #17282 .
2022-06-30 08:01:17 +03:00
summer
cc0a0b56ed
Make working set limit available only on libtorrent 2.0.x builds
...
You can already control the cache size in libtorrent 1.2.x so it doesn't make sense to implement this limit for all use cases. Also there are some downsides to using working set size to limit memory usage such as unresponsive GUI when limit gets hit.
PR #17275 .
2022-06-30 11:23:48 +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
Chocobo1
aadf961184
Fix filename not populated correctly
...
Fix up dd1bd8ad10
.
Related #17279 .
2022-06-26 19:30:17 +08: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
41a38428fc
Merge pull request #17259 from Chocobo1/cleanup
...
Make use of chrono literals from std library
2022-06-25 13:23:27 +08:00
Mike Lei
d3850cf98f
Improve WebUI progress bar rendering
...
PR #17258 .
2022-06-24 13:18:33 +08: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
Chocobo1
2a5dbe840c
Clean up coding style
2022-06-23 13:40:42 +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
8114c11d58
Add shutdown logging
2022-06-18 17:14:54 +08:00
Chocobo1
e3425cfa9e
Defer closing logger instance
...
So that logger can still be used in shutdown stage.
2022-06-18 17:14:54 +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
Vladimir Golovnev
7d97905716
WebAPI: Add endpoint to set speed limit mode
2022-06-18 06:12:43 +03:00
Chocobo1
61adfea196
Fix garbage text appeared in log file
...
Fix up fed969ed64
.
2022-06-18 04:18:27 +08:00
Chocobo1
3dd616f6ff
Use proper method for manipulating text
...
`innerText` is too powerful for the job here, use a more
restricted/secure way to manipulate text.
Related: #17211 .
PR #17212 .
2022-06-17 13:00:32 +08:00
Prince Gupta
d5e6d161f2
Cache last traverse result while parsing file tree
...
PR #16376 .
2022-06-15 20:14:53 +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
Chocobo1
5b0cbf9eb1
Merge pull request #17187 from Chocobo1/names
...
Fix wrong file names displayed in tooltip
2022-06-11 12:27:41 +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
fed969ed64
Avoid string encoding conversion
...
Use UTF-16 string literals to match QTextStream internal buffer
encoding.
2022-06-09 12:24:31 +08:00
Chocobo1
9cb686a6b7
Fix wrong file names displayed in tooltip
...
Also rename variable.
Closes #17179 .
2022-06-09 12:24:31 +08: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
fb5f563537
Merge pull request #17148 from Chocobo1/gui
...
Fix wrong dialog sizes on first start up
2022-06-05 13:36:41 +08:00
thalieht
2f9c5cdb22
Add "Filter files" field in new torrent dialog
...
PR #16344 .
2022-06-04 12:57:50 +08: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
Chocobo1
3fd0241abb
Set dialog properties at the caller site
...
Redundant `setModal(true)` are removed since the dialog is already opened via `open()`.
2022-06-02 23:53:30 +08:00
Vladimir Golovnev
ab0c82965c
Avoid redundant checks of category names
...
PR #17130 .
2022-05-31 10:42:40 +03:00
Kacper Michajłow
5173a56ebd
Fix DHT/PeX/LSD status when it is globally disabled
...
Global status takes precedence over specific torrent private status.
PR #17126 .
2022-05-31 12:45:28 +08: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
sledgehammer999
56b99f4e19
Merge pull request #17125 from sledgehammer999/cmake_lupdate
...
Use CMake to update translation files
2022-05-29 20:46:15 +03:00
sledgehammer999
242874e705
Use CMake to update translation files
...
It uses lupdate directly.
Qt's `qt_add_lupdate()` cmake function doesn't help much.
First of all it is Qt6 only.
Secondly, our project is split into multiple targets but we need all
strings into a single .ts file per language.
Thirdly, it looks like it will skip source files that are added conditionally into the build
via cmake condition checking (eg DBUS source files). We need to gather all strings present
in the source files regardless of the build configuration.
On another note, this is a step towards reducing dependency on qmake/autoconf.
2022-05-29 02:49:57 +03:00
Vladimir Golovnev
a5caa807f5
Initialize torrent status using libtorrent extension
...
PR #17096 .
2022-05-28 09:30:50 +03:00
Chocobo1
c2c17fd053
Revise icon cache look up
...
Find in `m_iconCache` first because it is cheaper than calling
`QIcon::fromTheme()`.
2022-05-27 16:23:19 +08:00
Chocobo1
f54cc5796e
Move function into anonymous namespace
2022-05-27 16:23:19 +08:00
Chocobo1
a9f99aed48
Revise code
2022-05-27 16:23:18 +08:00
Chocobo1
7eaaa8f92a
Turn static variable into class member
2022-05-27 04:01:37 +08:00
Chocobo1
ca9f5a18d4
Suppress type narrowing warnings
2022-05-27 04:01:34 +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
sledgehammer999
2c9e1d942b
Merge pull request #17091 from sledgehammer999/ts_newlines_fix
...
Sync translations from Transifex and run lupdate
2022-05-25 20:44:11 +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
xavier2k6
8e854062e8
Sync flag icons with upstream
...
Upstream commit 1f861ac27d8a3b46e78eaa8ac30d7de35279ab01
Upstream release v6.4.2
PR #17077 .
2022-05-25 12:41:16 +08:00
sledgehammer999
cbf9c8ec1a
Sync translations from Transifex and run lupdate
2022-05-25 00:16:57 +03:00
Priit Uring
494593c745
Update clipboard.js to v2.0.11
...
https://github.com/zenorocha/clipboard.js/releases
PR #17073 .
2022-05-24 12:55:30 +08:00
sledgehammer999
3af832ec18
Sync translations from Transifex and run lupdate
2022-05-22 19:14:00 +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
7764169aa3
Disallow narrowing conversions in signal connection
2022-05-19 12:55:07 +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
thalieht
acdd08e9a2
Consistently emit signal when file "ignored" state is changed
...
PR #17042 .
Closes #17037 .
2022-05-18 07:47:48 +03:00
Chocobo1
dbfd6a2368
WebUI: enforce coding style
...
Actually, not all of them but some that can be enforced by eslint.
The changes are made by eslint with minor manual tweaking.
PR #17046 .
2022-05-18 11:37:05 +08:00
Chocobo1
9d858d5cd7
Fix compilation with qmake
...
Fix up 7c35904062
.
2022-05-16 01:15:19 +08:00
Chocobo1
e82c50ed73
Clean up code
2022-05-16 01:15:08 +08:00
Chocobo1
4ce98d57dd
Fix wrong GUI behavior in "Optional IP address to bind to" setting
...
Previously the address field got erroneously reset to "All addresses"
when the network interface is down.
2022-05-14 18:42:13 +08:00
Chocobo1
114c6d36d1
Clean up code
...
Add const.
Move template implementation to .cpp file.
2022-05-14 18:30:10 +08:00
Chocobo1
538c88ced4
Improve logic when interfacing settings with combobox
...
PR #17023 .
2022-05-13 12:13:04 +08:00
Chocobo1
7c35904062
Use stacktrace dialog when GUI is enabled
...
PR #17022 .
2022-05-13 12:12:36 +08:00
Chocobo1
5c3c6b63ba
Migrate to Boost.Stacktrace
...
PR #17014 .
2022-05-12 11:06:05 +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
itlezy
a266599118
Add keyboard navigation keys
...
* Added keyboard navigation keys for context menu with `&`
* Added `CTRL+M` for force resume.
PR #16988 .
Co-authored-by: itLezy <itLezy@users.noreply.github.com>
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2022-05-10 11:34:43 +08:00
Chocobo1
002d56d8b3
Fix type mismatch
...
msys2 was reporting the following error:
```
D:/a/qbittorent_msys2/qbittorent_msys2/src/qBittorrent/src/app/application.cpp: In member function 'void Application::applyMemoryWorkingSetLimit()':
D:/a/qbittorent_msys2/qbittorent_msys2/src/qBittorrent/src/app/application.cpp:777:36: error: no matching function for call to 'min(unsigned int, long unsigned int)'
777 | const SIZE_T minSize = std::min((64 * MiB), (maxSize / 2));
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2022-05-08 16:48:29 +08: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
dba998fea0
Don't use hardcoded path for temp folder
2022-05-08 14:00:59 +08:00
Tom Piccirello
fb7f7d0c75
Add support for exporting .torrent from WebUI
...
PR #16968 .
2022-05-04 12:13:24 +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
2a6f02fa29
Fix empty selection in WebUI language combobox
...
This mostly happens with a clean install.
PR #16978 .
2022-05-04 12:10:06 +08:00
summer
ce0e5be7ce
Increase limit of maximum number of articles per feed
...
Closes #16690 .
PR #16698 .
Co-authored-by: An0n <79678786+an0n666@users.noreply.github.com>
2022-05-03 10:59:47 +08:00
Chocobo1
88a91e0769
Merge pull request #16971 from Chocobo1/dialog
...
Move stacktrace dialog to gui folder
2022-05-03 10:56:41 +08:00
Chocobo1
21f4676b16
Rename method
2022-05-02 12:35:53 +08:00
Chocobo1
bb2a874fd5
Reset widget property to default
...
This property wasn't been customized.
2022-05-02 12:35:38 +08:00
summer
56667e717b
Prevent the new update box from blocking input on other dialogues
...
PR #16678 .
2022-05-01 16:18:22 +03:00
Chocobo1
caaaa05710
Move conditionals to the bottom
2022-05-01 14:24:56 +08:00
Chocobo1
d69e6bb7aa
Move stacktrace dialog to gui folder
2022-05-01 14:24:39 +08:00
Chocobo1
a1903e5d67
Delete unreachable code
2022-05-01 13:55:26 +08:00
Chocobo1
64d8db0c93
Move system signal related functions to its own file
...
And revise "signal safe print" function.
PR #16953 .
2022-05-01 12:32:51 +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
639ed40314
Disable Linux-specific function when compiling for Windows
2022-04-29 13:49:31 +08:00
Chocobo1
c5cbda0bbe
Avoid splitting code over ifdef
boundary
...
By removing unimportant debug message.
2022-04-29 13:49:31 +08:00
Chocobo1
59e37210f3
Use correct type for comparisons
...
`_write()` actually returns `int` type.
And fix wrong function parameters.
Closes #16938 .
Closes #16944 .
2022-04-29 13:49:31 +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
xavier2k6
b85b1e8834
Update grunt dependency
...
Use `*` so we don't need to care about its version anymore.
PR #16917 .
2022-04-25 11:38:12 +08: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
xavier2k6
0b86eb9b4c
Update clipboard.js to v2.0.10
...
PR #16918 .
2022-04-23 12:39:06 +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
Requi
669b67e666
WebAPI: return correct status
...
Fix web API returning Not Found instead of Forbidden.
When not having a session the API would return "Not Found" instead of "Forbidden" when trying to access a non-public endpoint.
PR #16866 .
2022-04-14 08:26:19 +03:00
Chocobo1
a2b85ba1fd
Provide interface for Application class
...
PR #16864 .
2022-04-14 12:04:58 +08:00
Chocobo1
dc22109fa7
Merge pull request #16863 from Chocobo1/run
...
Remove redundant function
2022-04-13 12:05:58 +08:00
Vladimir Golovnev
4471a6377e
Have separate API controller instances per session
...
PR #16848 .
2022-04-12 13:39:35 +03:00
Chocobo1
3f762a416d
Use proper method for deferred calls
2022-04-12 16:23:39 +08:00
Chocobo1
a59a6ce8e4
Remove redundant function
...
This helper function is useless after using `Path` class.
2022-04-11 13:07:53 +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
33ffe95294
Correctly populate trackers filter list
...
PR #16814 .
2022-04-05 07:28:00 +03:00
Vladimir Golovnev
0657238ad1
Don't forget to create 'download_path' field
...
PR #16468 .
2022-04-05 07:27:11 +03:00
Vladimir Golovnev
4efece4ab8
Use an appropriate method to show modal dialog
...
PR #16809 .
2022-04-05 07:26:17 +03:00
Chocobo1
b9b2ed64f9
Assign temporary data to a variable
...
This is mainly to avoid dangerous code pattern: getting an iterator on a
temporary object. Previously `data()` returns a const reference so the
code wasn't doing any harm.
2022-04-05 11:49:32 +08:00
Chocobo1
16bc0531f4
Simplify code
2022-04-05 10:39:23 +08:00
Chocobo1
39c34078d6
Move comparison operator out of class
2022-04-04 16:32:14 +08:00
Chocobo1
9318f05e2b
Merge pull request #16801 from Chocobo1/int
...
Migrate away from unsigned integer types
2022-04-04 13:13:36 +08:00
sledgehammer999
95f3073e6f
Merge pull request #16745 from sledgehammer999/drop_qt_translations_folder
...
Drop qt translations folder
2022-04-04 01:56:56 +03:00
Chocobo1
6f4a9390ba
Fix wrong conversion to QVariant
...
It was converted to bool-like type which is wrong.
2022-04-03 13:34:29 +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
Chocobo1
bbd781c420
Omit redundant cast
2022-04-03 13:01:44 +08:00
Chocobo1
af7c32d3aa
WebUI: remove temporary element
2022-04-02 17:26:26 +08:00
Chocobo1
0d334369f0
WebUI: show correct location path
...
The `path` might contains '&' (delimit character) so it must be
encoded.
Closes #15976 .
2022-04-02 17:26:26 +08:00
Chocobo1
08f3630f01
WebUI: make various dialog resizable
...
And enlarge dialog default width.
2022-04-02 17:26:24 +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
eab455422f
Add missing header
...
Fix up 75c93d72be
.
2022-03-29 11:19:37 +08:00
Chocobo1
75c93d72be
Revise string literal usage
...
This commit covers src/gui folder.
PR #16757 .
2022-03-29 10:41:17 +08:00
sledgehammer999
f5239ffb0b
CMake: Use installed Qt's translations for packaging
2022-03-29 01:52:23 +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
An0n
11cfe38d1c
Fix WebUI crash due to missing tags from config
...
Tags can be missing from config but set inside .fastresume. May happen due to corrupted/deleted config.
Closes #11906 .
PR #16711 .
2022-03-26 11:56:18 +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
An0n
bf8d993743
Change Downloaded to Times Downloaded in trackers tab
...
PR #16677 .
2022-03-23 12:57:45 +08:00
Vladimir Golovnev
c029122a8e
Avoid integer overflow when calculating working set size
2022-03-23 07:56:59 +03:00
Chocobo1
6c10aa33e1
Provide interface for serialization to string type
...
PR #16685 .
2022-03-23 12:55:41 +08:00
sledgehammer999
b7c098c5e6
Sync translations from Transifex and run lupdate
2022-03-22 15:47:05 +02:00
Vladimir Golovnev (Glassez)
386f99cb1d
Fix "Set location" to be really applied
2022-03-21 11:58:37 +03:00
Vladimir Golovnev (Glassez)
a4b606c6e9
Fix compilation issues due to inappropriate QString usage
2022-03-21 11:50:32 +03: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
Vladimir Golovnev
5960e7dda6
Prevent crash when open torrent destination folder
...
Uses the same workaround as Qt does to call ShellExecute() when you use QDesktopServices::openUrl().
PR #16670 .
Closes #16423 .
2022-03-20 11:08:27 +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
f888fb4ac7
Remove unused code
2022-03-19 15:57:37 +08:00
Chocobo1
1b4c5fd34d
Remove unused variable
2022-03-18 12:48:37 +08:00