Commit graph

2361 commits

Author SHA1 Message Date
sledgehammer999
311e0f21eb
Remove dead code
Leftover from the system tray code refactoring.
2022-11-29 21:30:26 +02:00
Chocobo1
182915f801
Revise color for completed status
Now it uses the purple color which matches the completed status icon color.

Related: #18078.
2022-11-29 07:27:00 +08:00
Vladimir Golovnev (glassez)
92af2922c7
Revert "Use another workaround to update files tree view"
This reverts commit 0f82c16936.
2022-11-19 21:44:15 +03:00
Vladimir Golovnev
67cb75e9d3
Merge pull request #18001 from glassez/update-tree
Use another workaround to update files tree view

This is alternative approach to #17786. It uses the similar workaround as was used a long time with Qt5 and stoped working with Qt6 so it is adjusted in this PR.

Also this fixes content model resetting handling.
2022-11-12 14:00:25 +03:00
Vladimir Golovnev (Glassez)
c636618cf3
Correctly handle model resetting 2022-11-10 13:32:48 +03:00
Vladimir Golovnev (Glassez)
0f82c16936
Use another workaround to update files tree view 2022-11-10 13:31:08 +03:00
Chocobo1
e7ece66717
Clean up code 2022-11-09 23:17:22 +08:00
Chocobo1
529c1ec9f4
Reserve space before appending elements 2022-11-08 13:50:03 +08:00
Chocobo1
93429840c8
Fix typos 2022-11-08 13:50:01 +08:00
BallsOfSpaghetti
162273da47
Add confirmation to resume/pause all
This adds a confirmation dialog to Pause All and Resume All. First I wanted to only add it in Tray, but honestly, clicking around in the menu, using hotkeys might trigger it just as easy.

Closes #17683.
PR #17945.
2022-11-08 11:31:18 +08:00
Chocobo1
f6735401f4
Add port forwarding option for embedded tracker
Closes #17781.
PR #17981.
2022-11-07 11:32:11 +08:00
Hanabishi
6a560016dd
Implement Peer ID Client column for Peers tab
PR #17940.
2022-11-06 12:21:31 +08:00
Nathan Lewis
f2dd1e6456
Add a "Use proxy for hostname lookup" option
Add a UI option for "Use proxy for hostname lookup" option and plumb
it into libtorrent's settings_pack.proxy_hostnames option.  This is
available for SOCKS5 and HTTP proxies, and defaults to true, which
is the previous functionality.  Hostname lookups can be forced to be
local by unchecking this option, which can aid compatibility with
certain non-compliant proxy servers.

Closes #17902.
PR #17904.

Co-authored-by: Nathan Lewis <saturn@saturn49.dyndns.org>
2022-10-23 15:31:02 +08:00
Chocobo1
1c2dc79f51
Introduce color palettes for both dark, light themes
This commit introduce color palettes from Primer and make use of it in various widgets.
Primer system is chosen due to well designed and is highly rated on Github (in terms of
Github stars).
https://primer.style/

PR #17798.
2022-10-20 10:27:03 +08:00
tristanleboss
e028d8085b
Add a "Moving" status filter
Because sometime (when your save and download path are on different drives, when your disk drive is super busy, ...) move operations can stack up, I add this "Moving" status filter so you can see in a blink of the eye which torrents are in a move state.

PR #17810.
2022-10-14 13:12:51 +08:00
Chocobo1
f66ec4430d
Merge pull request #17858 from Chocobo1/infohash
Show N/A when there is no hash
2022-10-10 14:35:40 +08:00
Vladimir Golovnev
67357e9964
Allow to set torrent stop condition
PR #17814.

Closes #17792.
Closes #929.

(Actually it should close all issues about lack of ability to stop torrent after metadata downloaded or after files are initially checked.)

Also makes explicit the temporary start of the torrent in the case when recheck of the stopped torrent is performed.
2022-10-09 16:07:16 +03:00
Chocobo1
0279b80b46
Don't use hardcoded URL scheme list
This is to avoid the list being outdated.
2022-10-09 14:12:02 +08:00
Chocobo1
d3936c07c7
Capitalize header title
This is the only one not properly capitalized.
2022-10-09 14:12:02 +08:00
Chocobo1
aa022400f7
Use Path internal representation for internal value in model
The internal value is used for sorting comparisons and not displayed
to the user, so make a shortcut.
2022-10-09 14:12:01 +08:00
Chocobo1
66795d533a
Show 'N/A' when there is no hash
This is to follow 'General' tab which show 'N/A' when there is no hash.
2022-10-09 14:12:01 +08:00
Chocobo1
ce7d8dee28
Merge pull request #17829 from Chocobo1/focus
Set proper focus on widget
2022-10-09 13:48:13 +08:00
tristanleboss
a71d7e6557
Add infohash and download path columns
PR #17799.
2022-10-08 11:43:52 +08:00
Chocobo1
6fa4305aba
Fix wrong 'tracker error' count
This happens when a torrent contains some tracker URLs that share the same domain.
Closes #17808.
2022-10-05 14:43:52 +08:00
Chocobo1
21aabfdcb5
Clean up code 2022-10-05 00:58:57 +08:00
Chocobo1
855f727451
Set proper focus on widget
And also allow keyboard tabbing to the Browse button.
Fix up 6ab35512da.
2022-10-04 16:54:20 +08:00
Chocobo1
9a81cbf4c0
Improve column updates granularity
PR #17806.
2022-10-03 11:56:48 +08:00
Vladimir Golovnev
b568cdb1aa
Correctly load state of use download folder
PR #17807.
Closes #17793.
2022-10-02 08:46:27 +03:00
Chocobo1
bc0d906adc
Merge pull request #17786 from Chocobo1/selection
Fix torrent content checkboxes not updated properly
2022-10-01 14:00:49 +08:00
Vladimir Golovnev
616057a433
Improve session statistics handling
PR #17779.
2022-09-29 06:49:34 +03:00
Chocobo1
9a20aa51de
Fix torrent content checkboxes not updated properly
And reduce emitting redundant 'data updated' signals.

Closes #17144, #17764.
2022-09-29 00:00:48 +08:00
Chocobo1
6c8b31420c
Remove unused functions 2022-09-27 14:52:52 +08:00
Chocobo1
0514cb304d
Fix coding style 2022-09-27 14:52:52 +08:00
Chocobo1
92768c36aa
Fix 'Filter Sidebar' size restored incorrectly
And with a bit of code clean up.
Closes #17756.
2022-09-24 15:29:12 +08:00
Chocobo1
2a3a4bff70
Merge pull request #17737 from Chocobo1/logview
Use proper color for highlighted text in log widget
2022-09-23 13:31:04 +08:00
Andrew
cacfe4f3ca
Fix "Open destination folder" delay on Windows
Replaced QDesktopServices by native Windows function
to open destination folder due to QDesktopServices issues on Windows.
The issues are described in #17482 and even more detailed in #17025.

Closes #17482.
PR #17723.
2022-09-23 13:30:31 +08:00
Chocobo1
37150520e1
Use proper color for highlighted text in log widget
The color is either from qbt theme pack or desktop environment.

Note that Windows default theme do not use highlighted text color.
Other themes (either OS default or qbt themes) are closer to native
look when highlighted text color is in action.
2022-09-21 01:04:11 +08:00
Chocobo1
3aadb63d80
Simplify code
Don't use replacement placeholder and use string append which is faster.
2022-09-21 00:42:15 +08:00
Chocobo1
0e0b8d1027
Revive dark theme detection
The code was removed in 199d770e15 and now revived.
2022-09-21 00:42:15 +08:00
Chocobo1
b28704a6ec
Merge pull request #17725 from Chocobo1/downloadsDone
Clean up 'recursive download' related code
2022-09-16 12:07:36 +08:00
Chocobo1
0c6e56a150
Merge pull request #17713 from Chocobo1/trackers
Revise 'Add trackers' dialog
2022-09-16 12:06:22 +08:00
sledgehammer999
d71ff734a9
Merge pull request #17705 from sledgehammer999/gplv2_vs_gplv3
Copyright and license updates
2022-09-15 11:19:23 +03:00
Chocobo1
f8a2fbc4c5
Clean up 'recursive download' related code
Don't load .torrent files too early, otherwise qbt might emit a dubious error log message if the
.torrent file is invalid.
2022-09-15 00:15:53 +08:00
Chocobo1
e692a191ed
Revise 'Add trackers' dialog
* Now it allow user to add tracker to different tier.
* The downloaded trackers are now displayed as is (without modifying).
* Now the dialog remember dialog size and last used URL.

Closes #17692.
2022-09-14 01:20:30 +08:00
sledgehammer999
b3334e5fac
Binary distributions are GPLv3+ licensed 2022-09-13 01:33:08 +03:00
Chocobo1
4e326229da
Rename action 2022-09-12 23:25:36 +08:00
Chocobo1
6c60fa5161
Don't reorder URLs when copied from the clipboard
Also process URLs in the same order as from the text edit widget.
Closes #17693.
PR  #17700.
2022-09-12 12:22:45 +08:00
Chocobo1
5cfaaa5d1a
Add tooltips 2022-09-08 14:44:18 +08:00
Chocobo1
4094a4c448
Simplify functions 2022-09-07 14:11:02 +08:00
Tyler Dunn
987e1b544a
Don't autofill background color on macOS
PR #17669.
2022-09-06 09:44:18 +08:00
Vladimir Golovnev
4318de6dc5
Add ability to run external program on torrent added
PR #17646.
2022-09-04 07:51:50 +03:00
summer
459d1cf82c
Allow to pause a checking torrent from context menu
PR #17611.
2022-09-04 12:03:10 +08:00
Tyler Dunn
6f88609d60
Avoid string lookup when setting row color
PR #17665.
2022-09-03 14:58:53 +08:00
Tyler Dunn
6263c4786b
Allow 'Export .torrent' tooltip to be translatable
Closes #17660.
PR #17664.
2022-09-03 14:58:23 +08:00
Vladimir Golovnev
646322b2a2
Let Qt handle system tray icon availability
PR #17519.
2022-08-31 08:02:44 +03:00
Chocobo1
f6e2715f4a
Apply forward declaration
Follow up 525692759d.
PR #17621.
2022-08-28 13:25:38 +08:00
Vladimir Golovnev
525692759d
Split Session class into interface/implementation parts
PR #17579.
2022-08-27 08:01:24 +03:00
Chocobo1
e5491645e4
Merge pull request #17593 from Chocobo1/remove
Use proper verb when referring to torrent removal
2022-08-26 12:06:10 +08:00
Chocobo1
7b0644cdcd
Use proper verb when referring to torrent removal 2022-08-25 13:32:07 +08:00
Vladimir Golovnev
7527343629
Handle some torrent conflicts
PR #17576.
2022-08-23 07:47:20 +03:00
Chocobo1
d28b5f7834
Rephrase confirm deletion dialog
Closes #14309.
PR  #17586.

Co-authored-by: xavier2k6 <42386382+xavier2k6@users.noreply.github.com>
2022-08-22 11:36:13 +08:00
Vladimir Golovnev (Glassez)
15515200ee
Avoid race conditions between dialogs on startup 2022-08-06 15:01:35 +03:00
Chocobo1
33e6ca6778
Redesign Version class
PR #17484.
2022-08-06 11:06:16 +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
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
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
Vladimir Golovnev
29f8b4b786
Don't merge trackers by default
PR #17446.
2022-07-29 15:40:40 +03: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
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
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
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
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
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
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