Commit graph

12619 commits

Author SHA1 Message Date
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
2ef059807a
Merge pull request #17333 from Chocobo1/logger
Revise classes startup sequence
2022-07-08 12:50:02 +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
Chocobo1
d293c22a52
Try to recover missing tags
Tags can go missing from config/resume data. Try to recover them to avoid inconsistent behavior.

PR #17290.
2022-07-05 12:29:01 +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
Blackspirits
3023cff2b5
NSIS: Update Portuguese translations
PR #17222.
2022-06-20 13:09:17 +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
xavier2k6
d0b13f0eb0
GHA CI: "file health" update pre-commit action to v3.0.0
* Update `pre-commit` action to `v3.0.0`
  https://github.com/pre-commit/action/releases
* Bump pre-commit-hooks to `v4.3.0`
  https://github.com/pre-commit/pre-commit-hooks.git

PR #17195.
2022-06-11 12:25:12 +08:00