Vladimir Golovnev
2e4431f0b8
Save torrents queue w/o blocking calls
...
PR #17988 .
2022-11-08 07:00:40 +03: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
sledgehammer999
22fb9797c4
Merge pull request #17978 from sledgehammer999/fix_chinese_locale
...
Fine tune translations loading for Chinese locales
2022-11-08 02:41:34 +02:00
Chocobo1
f6735401f4
Add port forwarding option for embedded tracker
...
Closes #17781 .
PR #17981 .
2022-11-07 11:32:11 +08:00
sledgehammer999
06c4c58613
Fine tune translations loading for Chinese locales
...
Closes #17506
2022-11-06 14:01:16 +02:00
Vladimir Golovnev
c80238d66f
Don't use extra variable to distinguish restored torrents
...
PR #17984 .
2022-11-06 14:24:49 +03:00
Hanabishi
6a560016dd
Implement Peer ID Client
column for Peers
tab
...
PR #17940 .
2022-11-06 12:21:31 +08:00
Chocobo1
99b7663fa9
Revise interface of port forwarder
...
This eases the usage of port forwarder as the caller code doesn't need
to store previous used port and now can rely on port forwarder doing
all the hard work.
PR #17967 .
2022-11-05 11:33:21 +08:00
Chocobo1
be0f34a69e
Merge pull request #17900 from Chocobo1/alerts
...
Handle all types of alerts on shutdown
2022-11-03 12:29:38 +08:00
Chocobo1
3a2e73cc94
Avoid out-of-bounds access
...
This happens when the `index` is a negative number.
Added `Q_ASSERT()` to catch coding errors at debug run time.
PR #17953 .
2022-10-31 12:34:20 +08:00
xavier2k6
3ee0457cfa
Raise minimum libtorrent versions to 1.2.18/2.0.8
...
PR #17954 .
2022-10-30 08:30:31 +03:00
Vladimir Golovnev
e19173c1f3
Prevent new torrent from saving resume data twice
...
PR #17951 .
2022-10-30 08:28:51 +03:00
Vladimir Golovnev
4a5d2e2558
Correctly initialize torrent stop condition
...
PR #17950 .
2022-10-30 08:28:13 +03:00
Nowshed H. Imran
027d6be48f
Fix checked-completed icon visibility in dark theme
...
PR #17946 .
2022-10-29 12:14:46 +08:00
Chocobo1
07bb1df74f
Merge pull request #17942 from Chocobo1/icons
...
Update icon guidelines
2022-10-28 11:54:26 +08:00
Vladimir Golovnev
c29a6079bf
Don't forget to create stop_condition column
...
PR #17935 .
2022-10-26 18:25:52 +03:00
Chocobo1
dfb56ce31c
Update icon guidelines
2022-10-26 11:42:39 +08:00
Chocobo1
5a8027ae1f
Remove unused resources
2022-10-26 11:42:39 +08:00
Vladimir Golovnev
bb2caabd61
Correctly destroy startup resume data storage
...
PR #17930 .
2022-10-25 11:37:51 +03:00
Chocobo1
14e4bc7eea
WebUI: use proper comparison for numbers
...
Closes #17920 .
PR #17926 .
2022-10-25 12:46:02 +08:00
Chocobo1
fe0be98fde
Merge pull request #17918 from Chocobo1/portForwarding
...
Avoid redundant lookups in port forwarder
2022-10-25 12:44:23 +08:00
BallsOfSpaghetti
fdba525e62
Introduce a 'change listen port' cmd option
...
Closes #17789 .
PR #17862 .
2022-10-25 12:43:38 +08:00
Chocobo1
dfdaa706bd
Move code around
2022-10-24 00:34:25 +08:00
Chocobo1
1a782a9362
Avoid redundant lookups in port forwarder
2022-10-24 00:34:25 +08:00
Chocobo1
5f2d807861
Ensure ongoing storage moving job will be completed when shutting down
...
Discussion: https://github.com/qbittorrent/qBittorrent/pull/17885#issuecomment-1282467041
2022-10-23 17:55:58 +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
155e73df16
WebUI: remove unused include
...
Closes #15761 .
PR #17895 .
2022-10-23 12:33:45 +08:00
Vladimir Golovnev
05b7194bf7
Correctly set "stop condition" on force recheck invoked
...
PR #17915 .
Closes #17913 .
2022-10-22 17:43:17 +03:00
Maksim Derbasov
597444c527
Make GeoIPDatabase interface safer
...
PR #17899 .
2022-10-21 13:31:37 +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
Chocobo1
106adf135c
Handle all types of alerts on shutdown
...
There might be alerts already queued in buffer waiting to be handled at
the time of pausing the session, so don't skip over them.
2022-10-18 14:31:57 +08:00
Chocobo1
dcfd367ff8
Merge pull request #17885 from Chocobo1/shutdown
...
Revise "save resume data" handling on shutdown
2022-10-18 14:27:07 +08:00
Chocobo1
67ee43fac1
Merge pull request #17878 from Chocobo1/webui
...
WebUI: handle drag and drop events
2022-10-18 14:26:35 +08:00
Chocobo1
a325ab8d6e
Delay saving session statistics
...
Pausing the libtorrent session should be scheduled before this.
2022-10-17 13:53:55 +08:00
Chocobo1
c94152c47c
Reuse alert dispatcher
...
Instead of using a specific alert handler in `SessionImpl::saveResumeData()`, reuse the generic
one.
2022-10-17 13:53:54 +08:00
Chocobo1
a44bca3f07
Revise "save resume data" handling on shutdown
...
When shutting down, instead of waiting for all types of alert from
libtorrent, now it only waits for specific alert types. This potentially
help shorten the shutdown waiting time.
2022-10-17 13:53:27 +08:00
thalieht
698284f00e
Allow to set torrent stop condition in WebUI
...
PR #17876 .
2022-10-15 11:06:56 +08:00
Chocobo1
3b9d68f344
WebUI: handle drag and drop events
...
This allows user to drag and drop .torrent files and URL links onto the
main window and will open the respective dialog.
Dropping folders are not supported due to technical reasons.
Closes #6038 .
2022-10-14 14:30:26 +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
af1c97e2ea
WebUI: filter file selection to bittorrent files
...
Note that the user can still overwrite the selection filter and select
other files.
2022-10-13 14:32:00 +08:00
Chocobo1
b95d97d07b
WebUI: simplify attribute usage
...
The `multiple` attribute is a boolean value and its presence equals to
`true`.
2022-10-13 14:31:58 +08:00
Vladimir Golovnev
4f0990dc29
Use 'fail if exist' strategy on automatic move
...
Prevent existing files overwriting when torrent is moved automatically (e.g. when moved from incomplete to final save path).
PR #17855 .
2022-10-11 10:05:21 +03: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
Chocobo1
1f799689ed
Support 'file exists' situation
...
The lt::status_t::file_exist is returned when lt::move_flags_t::fail_if_exist is used, which means the whole move operation failed. So hanlde this condition correctly (even if the fail_if_exist isn't used in the code base currently).
PR #17853 .
2022-10-09 13:47:52 +08:00
tristanleboss
a71d7e6557
Add infohash and download path columns
...
PR #17799 .
2022-10-08 11:43:52 +08:00
Chocobo1
30c2f9d9f3
Merge pull request #17830 from Chocobo1/trackers
...
Fix wrong 'tracker error' count
2022-10-06 12:32:16 +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
vlakoff
ad59eb4dfc
Revert "Consider brackets within wildcard as regular characters"
...
The implementation appeared to be broken.
This reverts #16965 .
PR #17820 .
2022-10-05 12:43:43 +08:00
Chocobo1
21aabfdcb5
Clean up code
2022-10-05 00:58:57 +08:00
Vladimir Golovnev
e7370d1a0f
Don't pollute move queue by torrents w/o metadata
...
There's really nothing to move if the torrent still doesn't have metadata.
Additionally, such torrents in the queue can lead to unexpected behavior
when reloading the torrent after metadata is received.
PR #17823 .
2022-10-04 19:41:36 +03: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
Chocobo1
2b385e5f92
WebUI: don't disable combobox for file priority
...
Closes #17794 .
PR #17797 .
2022-10-01 12:49:02 +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
Vladimir Golovnev
0a4ee60ea0
Avoid blocking call when save resume data
...
PR #17755 .
2022-09-25 16:40:16 +03:00
Chocobo1
dc76a175ad
WebUI: allow string to be translated
...
Closes #17759 .
2022-09-24 15:29:14 +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
sledgehammer999
5e4a94e6b6
Bump to 4.5.0beta1
2022-09-18 20:13:29 +03:00
sledgehammer999
db7850e218
Sync translations from Transifex and run lupdate
2022-09-18 20:13:29 +03: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
90652d3555
WebAPI: fix wrong behavior for shutdown action
...
Qt6 has changed implementation for `QCoreApplication::quit` and therefore it is not suitable
anymore.
Closes #17709 .
PR #17720 .
2022-09-15 11:56:00 +08: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
80759f9e69
Reorder operations in 'torrent finished' handler
...
Avoid redundant data fetch.
Remove debug messages.
2022-09-15 00:12:11 +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
Chocobo1
4e06a9629a
WebUI: alert when HTTPS settings are incomplete
...
Closes #17696 .
PR #17701 .
2022-09-13 13:00:11 +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
sledgehammer999
cd405ffc32
Remove duplicate information
...
This information exists in git's commit history and in the AUTHORS file.
2022-09-12 02:26:35 +03:00
Chocobo1
5cfaaa5d1a
Add tooltips
2022-09-08 14:44:18 +08:00
Chocobo1
109c45bb95
Allow to use subnet notation in reverse proxy list
...
Closes #17475 .
2022-09-08 14:44:18 +08:00
Chocobo1
851374e517
Rename function
2022-09-07 14:11:23 +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
5cf6b1cbde
Handle more torrent conflicts
...
PR #17668 .
This is a continuation of #17576 .
Handles the case when you add hybrid torrent by v1-only magnet link and this torrent is already known by its full hybrid info hash (i.e. by both v1 and v2 info hashes).
2022-09-05 06:22:42 +03: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
Chocobo1
fb37b0c147
Suppress warning
...
Seems `lupdate` tool cannot correctly recognize the class/context of `tr()` here, so specify the
class/context manually.
2022-09-03 15:26:40 +08:00
Chocobo1
9877ff330e
Make strings translatable
2022-09-03 15:23:00 +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
ca897a8a35
Cache download/upload limit values
...
PR #17640 .
2022-09-01 06:54:51 +03:00
Vladimir Golovnev
77dd8bd27b
Parse torrent info separately from resume data
...
PR #17639 .
2022-09-01 06:54:12 +03:00
Vladimir Golovnev
fe34749cfe
Proactively append extension to incomplete files
...
PR #17631 .
2022-09-01 06:53:29 +03:00
Vladimir Golovnev
646322b2a2
Let Qt handle system tray icon availability
...
PR #17519 .
2022-08-31 08:02:44 +03:00
Chocobo1
670b381df7
Merge pull request #17616 from Chocobo1/webui
...
Make WebUI images self-contained
2022-08-29 13:09:21 +08:00
sledgehammer999
ddf4b94bc6
Sync translations from Transifex and run lupdate
2022-08-29 00:48:24 +03:00
Vladimir Golovnev
794a92f911
Make qBittorrent compatible with libtorrent master
...
PR #17604 .
2022-08-28 11:38:28 +03:00
Chocobo1
f6e2715f4a
Apply forward declaration
...
Follow up 525692759d
.
PR #17621 .
2022-08-28 13:25:38 +08:00
Chocobo1
082e6f8830
Apply i18n translation only to built-in WebUI
2022-08-27 13:55:05 +08:00
Chocobo1
ee38124db7
Optimize symbolic links checking
2022-08-27 13:55:04 +08:00
Chocobo1
e06e1d9911
Throw error exception properly
2022-08-27 13:55:04 +08:00
Chocobo1
3851e76179
Remove special handling of icons
2022-08-27 13:55:04 +08:00
Chocobo1
d693f97a46
Use natural sort in WebUI
2022-08-27 13:55:04 +08:00
Chocobo1
ca274635d5
Make WebUI images self-contained
2022-08-27 13:55:04 +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
9f511a47e8
Adjust Edit menu of WebUI to follow GUI
2022-08-25 13:32:07 +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
d173216941
Merge pull request #17578 from Chocobo1/webui
...
Fix icon in WebUI being trimmed
2022-08-23 10:54:02 +08: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
Chocobo1
04f6ee79c3
Improve icon readability at small size
...
https://github.com/qbittorrent/qBittorrent/pull/17578#pullrequestreview-1079562121
Co-authored-by: Nowshed H. Imran <nowshed.imran@gmail.com>
2022-08-21 20:47:07 +08:00
Chocobo1
b046b40668
Fix icon in WebUI being trimmed
2022-08-20 13:27:48 +08:00
Chocobo1
0a289e15b4
Merge pull request #17544 from Chocobo1/test
...
Add unit testing for Path class
2022-08-19 14:44:44 +08:00
Chocobo1
72941b10bb
Use proper request method
2022-08-16 11:26:47 +08:00
Chocobo1
d6c92704a1
Restrict more WebAPI endpoints to POST method only
2022-08-16 11:26:05 +08:00
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
Chocobo1
802ec5a14e
Use QString literals
...
This patch covers src/gui and some leftovers from previous commit.
2022-03-18 12:46:01 +08:00
Chocobo1
5341478036
Merge pull request #16647 from NotTsunami/hscroll
...
Add horizontal scrolling for tracker list and torrent content
2022-03-18 12:43:32 +08:00
Chocobo1
7694b21dff
Enlarge "speed limits" icons
...
And make use of QStyle pixelMetric().
PR #16630 .
2022-03-18 12:27:45 +08:00
Tyler Dunn
cf061b7d30
Allow buttons to be focusable
...
This improves accessibility.
PR #16648 .
2022-03-17 12:51:47 +08:00
Chocobo1
7fffb6526c
Remove redundant properties
...
And revise tooltip messages.
PR #16651 .
2022-03-17 12:50:08 +08:00
NotTsunami
dd5b16831c
Unify coding style
2022-03-16 21:45:24 -04: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
NotTsunami
b5d67f90e4
Add horizontal scrolling for tracker list and torrent content
2022-03-15 15:05:47 -04:00
Vladimir Golovnev (Glassez)
ce42f7c9f1
Properly handle metadata download for an existing torrent
2022-03-15 18:17:24 +03:00
Chocobo1
02869d7428
Avoid unnecessary lookups
...
Fix up 30319e51e5
.
PR #16629 .
2022-03-15 12:33:12 +08:00
Aleksandr Cupacenko
67b35b76ac
Fix C++ word breaking
...
Fixes #13805 .
PR #16636 .
2022-03-14 12:27:44 +08:00
Chocobo1
154ee1a73e
Use hashing helpers provided by Qt6
2022-03-13 17:37:54 +08:00
Chocobo1
b3fb6bd990
Avoid redundant hashing
...
The return type of `std::hash()` is larger (or equal) than what
`qHash()` requires so we can omit hashing it again.
2022-03-13 17:37:54 +08:00
Chocobo1
926d51839f
Update function signature for Qt6 qHash()
...
Since the `qhash()` signature has changed in Qt6.
2022-03-13 16:05:11 +08:00
Chocobo1
8de966ea88
Merge pull request #16585 from Chocobo1/qstring
...
Use QString literals
2022-03-12 12:49:08 +08:00
Chocobo1
85b0a40a0e
Merge pull request #16587 from jagannatharjun/tracker-filter
...
Optimize torrent filters in GUI
2022-03-12 12:48:49 +08:00
Chocobo1
88fe94bd6a
Remove obsoleted functions from Utils::Gui namespace
...
`widget` parameter is kept for now to avoid major disruption for other PR.
Also add comments for loading svg images.
PR #16613 .
2022-03-11 13:40:58 +08:00
Aleksandr Cupacenko
1b53c590f2
Allow blank lines in multipart form-data input
...
Fixes #11298 .
PR #16579 .
2022-03-11 13:40:22 +08:00
Chocobo1
2ee5b35f48
Use proper image loading path for SVG icons
2022-03-11 00:11:30 +08:00
Chocobo1
f0dd7b7dae
Use QString literals
...
This patch covers src/app and src/base folders.
Follow up of ab64ee872b
.
2022-03-11 00:11:30 +08:00
Chocobo1
9f32e6e50d
Fix wrong parentheses
...
Fix up 294ea17222
.
2022-03-08 13:58:02 +08:00
An0n
801cfdbc24
Allow setting the number of maximum active checking torrents
...
This is to allow re-checking of multiple torrents simultaneously. This will benefit users who
have multiple disks or SSD.
Closes #15296 .
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2022-03-08 13:24:12 +08:00
xavier2k6
889d994dbc
Remove unnecessary UI properties from "IP Filter Refresh" button
...
PR #16575 .
2022-03-08 13:22:23 +08:00
Chocobo1
97c28e1e51
Merge pull request #16594 from Chocobo1/alert
...
Add option for enable/disable performance warnings from libtorrent
2022-03-08 13:19:54 +08:00
Prince Gupta
ad6e2b4b94
Create hash string of Digest on demand
...
most of the time hash string is not needed and InfoHash is often used as
temporaries for torrent searching in handling of torrent alerts. This
improves the creation time of Infohash
2022-03-08 01:14:36 +05:30