sledgehammer999
da87be2b12
Bump to 5.1.0
2025-04-27 11:53:39 +03:00
sledgehammer999
891265b390
Update Changelog
2025-04-27 11:53:25 +03:00
sledgehammer999
f46e44d3ed
Sync translations from Transifex and run lupdate
2025-04-27 11:52:43 +03:00
sledgehammer999
a4094a440d
Bump copyright year
2025-04-20 23:26:52 +03:00
sledgehammer999
46c3da21e1
Sync translations from Transifex and run lupdate
2025-04-20 23:23:23 +03:00
Vladimir Golovnev
2f06ea2587
Backport changes to v5.1.x branch
...
PR #22490 .
2025-04-17 20:54:03 +03:00
Vladimir Golovnev
cfbf6b73ff
Prevent crash due to corrupted resume data
...
PR #22569 .
Closes #22540 .
2025-04-17 11:17:19 +03:00
Vladimir Golovnev
c687a7d0d3
Fix the torrent relocates files when switching to "manual" mode
...
PR #22564 .
Closes #22283 .
Closes #22546 .
2025-04-16 10:24:34 +03:00
Vladimir Golovnev
009cc71f9b
Explicitly reject opened Add torrent dialogs when exiting app
...
PR #22535 .
Closes #19933 .
Supercedes #22533 .
2025-04-14 09:53:07 +03:00
Chocobo1
de1cf208ce
WebUI: avoid saving invalid size
...
Don't save the wrong size when the tab is collapsed.
Reported in: https://github.com/qbittorrent/qBittorrent/pull/21215/files#r1966052959
PR #22537 .
2025-04-12 15:13:47 +03:00
skomerko
5f49472fa4
WebUI: Set status filter to 'All' if selected filter is no longer visible
...
Fixup for #21145
To reproduce:
1. Select status filter with 0 torrents
2. Enable 'Auto hide zero status filters' and save settings. Hidden filter is still selected:
PR #22487 .
2025-04-12 07:12:23 +03:00
skomerko
2076302170
WebUI: Show 'Edit tracker URL...' only when one tracker is selected
...
We can only edit one URL through the dialog, so there's no point in showing this context option when more than one tracker is selected in trackers table.
PR #22311 .
2025-04-12 07:11:41 +03:00
skomerko
2a33e187eb
WebUI: Update sort icon after changing column order
...
This PR fixes a bug where the sort icon did not update correctly after reordering columns.
Steps to reproduce:
1. Sort a column
2. Move it to a different position
3. The sort icon remains in its original location
PR #22299 .
2025-04-12 07:10:59 +03:00
FredBill1
00149e03c0
Migrate socks.py from SocksiPy to PySocks 1.7.1
...
Migrate `socks.py` from SocksiPy 1.01 to [PySocks 1.7.1](c2fa43cbe1/socks.py
), allowing python 3+ compatibility, [details](https://github.com/qbittorrent/qBittorrent/issues/16447#issuecomment-2776894026 ).
The content of the `socks.py` is entirely copied from the [PySocks repository](c2fa43cbe1/socks.py
), the only modification is the license header at the top of the file and trimming trail whitespaces.
Closes #16447 .
PR #22507 .
2025-04-09 12:57:05 +03:00
Chocobo1
57d529c17a
WebUI: fix preferences not applied in magnet handler
...
Thanks for the diagnosis in this [post](https://github.com/qbittorrent/qBittorrent/issues/22495#issue-2958553624 ).
Closes #21486 .
Closes #22495 .
PR #22504 .
2025-04-05 08:58:38 +03:00
Vladimir Golovnev
d492fcf29a
Add option to enable previous Add new torrent dialog behavior
...
Some people are still unhappy with "standalone window mode" of "Add new torrent dialog" so just provide them with an option to use old "modal dialog mode" in all the current qBittorrent branches.
PR #22492 (based on original PR #19874 ).
2025-03-31 09:19:03 +03:00
Chocobo1
d0caa35b39
WebUI: fix Tag counter counting wrong
...
Related: 73e9116d21 (r2014898781)
PR #22480 .
2025-03-29 16:02:47 +03:00
Vladimir Golovnev
ec7a00af92
Restore ability to use server-side translation by custom WebUI
...
PR #20968 .
2025-03-28 09:08:56 +03:00
Vladimir Golovnev
76a3aba7e0
Backport changes to v5.1.x branch
...
PR #22268 .
2025-03-16 10:39:31 +03:00
Chocobo1
7003ac3f4d
WebUI v5.1 fixes
...
PR #22282 .
2025-03-15 14:52:48 +03:00
skomerko
964be0fa1c
WebUI: Maintain row highlight after rearranging table columns
...
This PR fixes a bug where row highlight effect would be lost after reordering columns.
PR #22339 .
2025-03-15 12:47:11 +03:00
skomerko
c1defceccf
WebUI: Fix bug where the 'Tracker editing' dialog displays incorrect data
...
In Trackers table, moving the 'URL' column from its default (2) position caused the 'Tracker editing' dialog to display incorrect data.
Steps to reproduce:
1. Move 'URL' column in Trackers table to any position from default
2. Choose tracker URL and click 'Edit tracker URL'
PR #22338 .
2025-03-15 12:46:17 +03:00
Vladimir Golovnev
260394623d
Add missing includes
...
PR #22362 .
2025-03-05 09:07:47 +03:00
Vladimir Golovnev
478c2d5b12
Don't miss to declare some of the color IDs
...
PR #22330 .
Closes #22326 .
2025-02-25 18:57:22 +03:00
Vladimir Golovnev
49cfbd9a49
Improve command line parameters serialization
...
PR #22319 .
Closes #22306 .
2025-02-25 09:12:26 +03:00
Luke Memet
d028f46fab
Fix shift-click selection on macOS
...
PR #22284 .
Closes #16818 .
2025-02-19 13:53:49 +03:00
Daniel Nylander
57b24a200e
NSIS: Update Swedish translation
...
PR #22046 .
2025-02-19 13:49:25 +03:00
Chocobo1
269dfe87e0
GHA CI: fix AppImage building
...
Upstream now defaults to static runtime and the previous URL is invalid now.
Upstream commits:
* c28054bab6
* ce5291e259
Also fuse2 is not needed now as stated on:
https://github.com/AppImage/type2-runtime?tab=readme-ov-file#type2-runtime-
PR #22286 .
2025-02-16 08:22:26 +03:00
Vladimir Golovnev
6a1c465d85
WebAPI: Don't trim string parameters
...
PR #22266 .
Closes #19485 .
Closes #22254 .
2025-02-12 09:35:29 +03:00
sledgehammer999
bc7d5c1f8f
Bump to 5.1.0rc1
2025-02-11 02:01:34 +02:00
sledgehammer999
8aabef423c
Create new resources for this branch for Transifex
2025-02-11 01:59:07 +02:00
sledgehammer999
bd564a99a3
Sync translations from Transifex and run lupdate
2025-02-11 01:56:49 +02:00
Chocobo1
b052ad0923
WebUI: inline redundant function
...
This also fix share ratio dialog which had been broken in recent cleanup.
PR #22252 .
2025-02-09 16:03:01 +08:00
Chocobo1
c65a68251e
WebUI: use native function when converting to numbers
...
PR #22246 .
2025-02-08 17:58:48 +08:00
skomerko
93925042dd
WebUI: Fix memory leak in context menus
...
This PR fixes a memory leak in context menus. Previously, for some reason, each menu retained references to its target elements without utilizing them further. Since the targets property was accessible/reachable from the root (window object), these references persisted even after the elements were removed from the DOM, preventing them from being garbage collected.
It's easily reproducible - just add a decent amount of torrents, switch between categories multiple times, then capture heap/detached elements snapshot in the Memory tab (Chrome dev tools). The number of detached elements will continue to increase after each category switch and they won't be cleaned up.
[More context](https://github.com/qbittorrent/qBittorrent/pull/22220/files#r1941137796 )
PR #22234 .
2025-02-08 17:51:21 +08:00
Chocobo1
e55b59d9ca
Use switch statement
...
PR #22247 .
2025-02-08 17:39:10 +08:00
xavier2k6
f8469d02f7
GHA CI: Bump FORTIFY_SOURCE
hardening flag to 3
...
PR #22248 .
2025-02-08 17:00:10 +08:00
Chocobo1
dc10b88cec
GHA CI: explicitly set C++20 mode for libtorrent
...
Bump Boost version. Boost::asio 1.76 has a bug that prevents compiling in C++20 mode.
PR #22245 .
2025-02-08 16:30:36 +08:00
Maxime Thiebaut
4406a3f173
Add announce_port support
...
The `announce_port` setting permits to overwrite the port passed along to trackers as the `&port=` parameter. If left as the default, the listening port is used. This setting is only meant for very special cases where a seed's listening port differs from the effectively exposed port (e.g., through external NAT-PMP). See https://github.com/arvidn/libtorrent/pull/7771 for an example use-case.
This PR adds the relevant setting alongside the existing `announce_ip` setting.
PR #21692 .
2025-02-08 16:12:50 +08:00
skomerko
9c2e698514
WebUI: Replace getElements
& getChildren
...
This PR further reduces Mootools usage.
PR #22220 .
2025-02-04 17:08:18 +08:00
xavier2k6
463700b76d
GHA CI: Bump libtorrent versions
...
PR #22217 .
2025-02-03 09:07:35 +03:00
Vladimir Golovnev
86387fbe49
Return first tracker as fallback for "current tracker"
...
PR #22224 .
Closes #20415 .
2025-02-01 14:58:12 +03:00
Vladimir Golovnev
a018cfa56c
Remove stopped torrent from "error" tracker filter
...
PR #22219 .
2025-01-31 06:23:04 +03:00
Vladimir Golovnev
b76054beba
Store search history
...
PR #22208 .
2025-01-30 08:59:10 +03:00
Chocobo1
f8536162f2
Use compact format for JSON files
...
It saves a bit of space on disk and deters novice users from tampering them.
PR #22211 .
2025-01-29 15:31:06 +08:00
skomerko
af65ddd012
WebUI: Allow to move state icon to name column in torrents table
...
PR #22118 .
2025-01-28 14:46:09 +08:00
Chocobo1
fe9dc131bc
WebUI: don't wrap regex literal in regex constructor
...
PR #22206 .
2025-01-28 00:33:04 +08:00
thalieht
bb4a668ddd
Hide zero and infinity values in peer list only when that setting is set to Always
...
PR #22205 .
Closes #21998 .
2025-01-27 09:40:44 +03:00
Vladimir Golovnev
3978137534
Store opened search tabs
...
PR #22163 .
Closes #167 .
2025-01-26 17:12:50 +03:00
Chocobo1
3ef4d0d798
GHA CI: add checking for GHA workflows
...
PR #22200 .
---------
Co-authored-by: userdocs <16525024+userdocs@users.noreply.github.com >
2025-01-26 03:44:59 +08:00
Chocobo1
e2341f5217
Merge pull request #22199 from Chocobo1/webui_eslint
...
WebUI: improve lint checks
2025-01-26 03:34:34 +08:00
xavier2k6
abd3cd54bc
GHA CI: Bump numerous hook revs
...
PR #22193 .
2025-01-26 03:26:27 +08:00
Chocobo1
dc8ac38494
WebUI: revise lint rules for css
...
Some rules are already covered by other tools, so remove them.
2025-01-24 23:58:13 +08:00
Chocobo1
e3eacf2bf7
WebUI: migrate stylelint config file format
...
From https://stylelint.io/user-guide/configure :
>Stylelint currently supports other configuration locations and formats, but we may remove these
>in the future:
>...
>.stylelintrc.json file
2025-01-24 22:26:36 +08:00
Chocobo1
5098519d46
WebUI: enable cache for lint checks
...
Also, WebUI gets its own .gitignore file.
2025-01-24 22:26:35 +08:00
ze0s
82c36aea89
WebAPI: add new method setTags to upsert tags on torrents
...
This is another optimization for torrent management on large scale instances with the goal to minimize the amount of required API calls. Ref #22128 .
This new function and endpoint torrents/setTags does an upsert to replace the torrent tags and handles the removal and add internally, instead of doing multiple calls to add and remove tags on torrents from the client.
PR #22156 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
2025-01-24 22:24:35 +08:00
thalieht
05787d94ec
Fix torrent content checkbox state under certain conditions
...
PR #22190 .
Closes #22189 .
2025-01-24 12:11:19 +03:00
Chocobo1
f8c48349a1
WebUI: use native function for selecting elements
...
PR #22179 .
2025-01-20 23:36:11 +08:00
Chocobo1
1ee84033ec
WebUI: use template literals instead of string concatenation
...
PR #22177 .
2025-01-18 20:51:47 +08:00
Chocobo1
f2eecf8a4e
Avoid memory leak on macOS
...
Only Mark-of-the-Web and Power Management are affected.
PR #22176 .
2025-01-18 20:30:14 +08:00
ze0s
76e1040232
WebAPI: optionally include trackers list in torrent info response
...
This PR adds an optional parameter includeTrackers to the Torrent info endpoint /torrents/info to include the trackers list of each torrent in the response under the key trackers.
PR #22128 .
2025-01-17 17:10:25 +08:00
Chocobo1
4686d6709e
GHA CI: show installed version
...
Before this change, it wasn't clear which exact version were installed.
PR #22155 .
2025-01-13 17:24:08 +08:00
Chocobo1
2cc7ec90a8
WebUI: add percentage sign for hsl components
...
This is a workaround to avoid confusing the stylelint checker (and probably some other checker
internally). They cannot accept the fact that the component can be `<number>` but instead
insist it should be `<percentage>`
Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl#formal_syntax
Also, MDN recommended to use `hsl()` instead of `hsla()`.
From https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl :
> Note: The hsla() functional notation is an alias for hsl(). They are
> exactly equivalent. It is recommended to use hsl().
PR #22154 .
2025-01-13 17:13:20 +08:00
Vladimir Golovnev
99adb16090
Allow to reuse existing search term
...
PR #22148 .
2025-01-13 10:21:40 +03:00
Chocobo1
c622d50814
WebUI: use native API for accessing query string
...
PR #22141 .
2025-01-12 21:36:59 +08:00
Chocobo1
11991e62f5
WebUI: fix error when opening the same dialog twice
...
PR #22139 .
2025-01-12 21:18:41 +08:00
Chocobo1
82d90e599c
Preserve allocated buffer capacity
...
PR #22138 .
2025-01-12 21:01:39 +08:00
xavier2k6
45b7947cd0
GHA CI: Update Boost URL
...
The agreement between Boost & JFrog came to an end in December 2024.
Reference: https://github.com/boostorg/boost/issues/924
PR #22125 .
2025-01-11 21:33:51 +08:00
Chocobo1
2e21cf76de
WebUI: temporarily pin dependency
...
The plugin was causing problems in new versions so pin it with an older
version and look into it later.
Upstream issue: https://github.com/JamieMason/eslint-plugin-prefer-arrow-functions/issues/50
PR #22140 .
2025-01-11 16:28:56 +08:00
Vladimir Golovnev
76151110e5
Handle Qt style options uniformly
...
PR #22133 .
Closes #22061 .
2025-01-11 10:17:38 +03:00
Vladimir Golovnev
5875d8bff3
Allow multiple simultaneous searches
...
PR #22127 .
2025-01-11 09:53:40 +03:00
Hanabishi
68ecb13d14
Change URL seed error message
...
Current URL seed error message assumes that only possible error is DNS lookup failure, which is not true.
So replace it with a more generic message. Real reason is provided by the 'Error:' part.
PR #22119 .
2025-01-10 08:31:28 +03:00
Vladimir Golovnev
f9f4b60b83
Allow to refresh existing search
...
PR #22122 .
Closes #17184 .
2025-01-08 17:03:32 +03:00
Thomas Piccirello
4fc36b9e99
Support fetching tracker list from URL
...
Trackers specified at the URL will be added to newly added public torrents.
This feature is adapted from qBittorrent-Enhanced-Edition to allow for automatically adding trackers retrieved from a URL. @ngosang's trackerlist repo is a good example, however I've opted not to include a default URL.
Partially addresses #14535 .
PR #21828 .
2025-01-08 14:51:09 +08:00
Chocobo1
4f3d77963f
Add parameter to control whether to unescape HTML entities
...
Some plugin needed the raw data for further processing.
Related: #22074 .
PR #22106 .
2025-01-06 19:05:57 +08:00
Chocobo1
d911928c59
WebUI: Remove unnecessary hashing
...
Now the containers support using string as key so the intermediate hashing/mapping to number
isn't needed now.
PR #22103 .
2025-01-06 18:53:18 +08:00
Chocobo1
22e156e0af
Simplify captured variable type
...
By capturing the specific data instead of torrent handle the lambda can become non-mutable.
PR #22102 .
2025-01-06 18:22:43 +08:00
skomerko
6fe02895a8
WebUI: Remove redundant event listener
...
This PR removes broken event listener attached to RSS Rules table.
PR #22083 .
2024-12-31 21:43:39 +08:00
skomerko
395dbaa5c6
WebUI: Replace getElement with querySelector
...
All `getElement` instances (Mootools) were changed to `querySelector`.
PR #22082 .
2024-12-31 21:31:46 +08:00
Chocobo1
efe06f133d
Revise DHT bootstrap node list
...
Discussion:
https://github.com/qbittorrent/qBittorrent/pull/21296#issuecomment-2562341328
https://github.com/qbittorrent/qBittorrent/pull/21296#issuecomment-2561373010
PR #22081 .
2024-12-31 13:34:08 +08:00
Chocobo1
9c0475ebfa
WebUI: migrate to fetch API
...
This is the final part of it.
PR #22072 .
2024-12-29 15:44:28 +08:00
Chocobo1
e740a42366
Merge pull request #22070 from Chocobo1/py_html_decode
...
Improve Search engine
2024-12-29 14:39:11 +08:00
Chocobo1
cc31a90931
Provide SSL context field
...
The allows the caller to provide proper SSL parameters and avoid dirty monkey patching to
suppress SSL errors.
2024-12-27 03:53:46 +08:00
Chocobo1
90e457a671
Use built-in method for decoding HTML entities
2024-12-27 03:52:50 +08:00
Chocobo1
7487cd7e6d
WebUI: disallow unnecessary quotes in property name
...
Those two forms are the same and from now on we enforce to one style.
PR #22051 .
2024-12-24 22:25:18 +08:00
skomerko
bbc3c2832f
WebUI: Use closest()
to get parent element
...
All `getParent()` instances (Mootools) were changed to use `closest()` method:
https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
PR #22048 .
2024-12-23 23:07:17 +08:00
Chocobo1
879c6bf9ff
Simplify conversion to string
...
PR #22036 .
2024-12-23 22:59:01 +08:00
Chocobo1
f2097dc4b5
Avoid redundant copy
...
PR #22035 .
2024-12-23 22:43:23 +08:00
Hugo Carvalho
166feb5bdf
NSIS: Update Portuguese translation
...
PR #21632 .
2024-12-23 22:37:46 +08:00
Chocobo1
a841fe9320
WebUI: migrate to fetch API
...
And away from mootools.
PR #22037 .
2024-12-22 17:51:19 +08:00
Patrik Elfström
9709672b34
WebUI: Change filter inputs to type search
...
Changing input type from text to search for all search and filter inputs
to enable user to easily clear input.
This feature is yet to be implemented in Firefox.
See tracking bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1654288
Also fix search icon horizontal positioning and minor input box paddings.
Closes #15481 .
PR #22033 .
2024-12-22 17:19:03 +08:00
xavier2k6
e2db0bc866
GHA CI: Update pandoc
to latest
...
* Bumped `pandoc` -> 3.6
PR #22021 .
2024-12-20 18:27:05 +08:00
xavier2k6
fee45e4ba6
GHA CI: Bump some pre-commit hook revs
...
* Bumped `pre-commit-hooks` -> v5.0.0
* Bumped `typos` -> v1.28.4
PR #22020 .
2024-12-20 18:16:43 +08:00
Zentino
257d928ab3
Resolve relative URLs within RSS article description
...
PR #21943 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
2024-12-20 10:19:34 +03:00
Chocobo1
34c8849f22
Fix tab order in RSS widget
...
Related: https://github.com/qbittorrent/qBittorrent/pull/21996#issuecomment-2543127251
PR #21999 .
2024-12-18 02:29:51 +08:00
Chocobo1
1c82eb3dff
Merge pull request #21996 from Chocobo1/check_ui
...
Sort grid items properly
2024-12-18 02:19:34 +08:00
sledgehammer999
d96ab6ba84
Bump to v5.1.0beta1
2024-12-16 21:56:08 +02:00
Chocobo1
7886ca65f9
Make tab key switch focus
...
These fields do not expect tab characters.
2024-12-16 01:30:47 +08:00
Chocobo1
85c4ddf616
Make links accessible by keyboard
2024-12-16 01:30:47 +08:00
Chocobo1
0a36171999
Sort grid items properly
...
Supersedes #21856 .
2024-12-16 01:30:47 +08:00
Vladimir Golovnev
eb2eea8d34
Avoid race condition when update tracker entries
...
PR #21995 .
2024-12-15 14:07:36 +03:00
skomerko
14684c8c83
WebUI: Use vanilla JS to create elements
...
All elements are now created using createElement() method:
https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement
PR #21975 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-12-15 03:31:44 +08:00
Chocobo1
c887a6f7d8
GHA CI: add checks for grid items order
...
Now all items under `QGridLayout` are required to be sorted. This allow
us to omit tabstop order. The tabstop order will follow the layout order.
The script can be invoked to fix wrong grid items order in .ui files:
```console
python check_grid_items_order.py file.ui
```
2024-12-14 17:08:18 +08:00
Chocobo1
4c6dd8e68d
Remove wrong conditional in Origin trustworthy check
...
It might block WebUI from logging in under specific network configurations.
Fix up 130c0d8487
.
PR #21972 .
2024-12-13 16:12:29 +08:00
antanilol
27451469fa
Add eXact Length parameter when creating magnet URI
...
Include the `xl` (eXact Length) parameter in the magnet URI string inside the function `TorrentImpl::createMagnetURI()`.
Closes #20752 .
PR #21958 .
2024-12-09 03:29:41 +08:00
Chocobo1
a311c259cc
Use proper data type for elapsed time
...
PR #21963 .
2024-12-08 17:02:20 +08:00
Chocobo1
0ad65ceef6
Remove unused variable
...
PR #21962 .
2024-12-08 16:44:47 +08:00
Chocobo1
cbf7c09bf4
Use built-in method for setting header
...
PR #21961 .
2024-12-08 16:33:35 +08:00
skomerko
3fcc298539
WebUI: Add missing icon to 'Queue' context menu item
...
PR #21948 .
2024-12-08 16:27:14 +08:00
skomerko
7080f85b59
WebUI: Replace Mootools class list manipulation methods
...
All `addClass()`, `removeClass()` and `hasClass()` instances were changed to use `classList` equivalent:
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
PR #21946 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-12-08 16:12:57 +08:00
Giacomo411
9f0fa4c215
NSIS: Update Italian translation
...
PR #21920 .
2024-12-07 20:44:20 +08:00
Chocobo1
6f31a13f22
Don't follow symlink when creating torrents on Windows
...
Now on Windows, it won't follow/include .lnk files when creating torrents.
Note that libtorrent will throw errors if we force adding .lnk files.
Non-Windows OS will still follow symlinks.
Closes #13286 .
PR #21944 .
2024-12-07 20:43:16 +08:00
Vladimir Golovnev
200f7fc628
Use cached current time when parse RSS feed
...
PR #21959 .
2024-12-07 11:10:53 +03:00
Vladimir Golovnev
a180162405
Avoid redundant requests of announce entries from libtorrent
...
PR #21949 .
2024-12-06 19:59:45 +03:00
Chocobo1
2d1c4fc809
WebUI: use native event listeners for keyboard events
...
PR #21924 .
2024-12-02 13:41:19 +08:00
Chocobo1
e8d8de8f19
WebUI: fix window can not close regression
...
Fix up 1cd3c586c1
.
Fix up e1bd1038c0
.
PR #21919 .
2024-11-29 23:59:58 +08:00
Chocobo1
90aecfea02
WebUI improvements
...
WebUI improvements
2024-11-29 23:52:55 +08:00
skomerko
a85736fd27
WebUI: Set base background color
...
This PR ensures that the same base background color is used across different browsers (more consistent styling).
Context: https://github.com/qbittorrent/qBittorrent/pull/21498#issuecomment-2399929576
Used default Chrome colors: https://github.com/qbittorrent/qBittorrent/issues/21894#issuecomment-2494253459
PR #21914 .
2024-11-29 23:44:53 +08:00
skomerko
dafbcf8709
WebUI: Add colors to 'Status' column in Trackers table
...
PR #21820 .
2024-11-29 23:36:08 +08:00
wavygecko
d11622e3c0
Don't add duplicate episodes to previously matched
...
PR #21917 .
2024-11-28 11:37:05 +03:00
Vladimir Golovnev
d90a9d15ac
Avoid using QDateTime for announce timestamps
...
PR #21906 .
2024-11-27 21:03:54 +03:00
Chocobo1
f8aaea3476
WebUI: locate element faster
2024-11-27 16:17:57 +08:00
Chocobo1
b84a51c76d
WebUI: revise Edit Category dialog button text
...
The generic "OK" is suitable for more scenarios.
2024-11-27 01:22:58 +08:00
Chocobo1
83b0dd3026
WebUI: fix checkbox initialization
...
Previously the checkbox had all options checked regardless of the stored
setting.
2024-11-27 01:12:13 +08:00
Chocobo1
ef5506321a
WebUI: fix invalid style
...
`initial` isn't applicable to `borderLeft`/`borderRight`.
2024-11-27 01:12:13 +08:00
Chocobo1
24d349ffba
WebUI: fix wrong event property
2024-11-27 01:12:13 +08:00
Chocobo1
2109e13746
WebUI: use proper event for handling text changes
2024-11-27 01:12:13 +08:00
Chocobo1
5eec0c0213
WebUI: use idiomatic string methods
2024-11-27 01:12:13 +08:00
Chocobo1
f34787e6ba
WebUI: use correct property for selecting child elements
...
`firstChild` will select the first `Node` which is often not intended (it should be
`Element` instead).
2024-11-27 01:12:12 +08:00
Vladimir Golovnev
15ea836bb9
Avoid repeatedly creating the same QDateTime values
...
PR #21904 .
2024-11-26 09:04:59 +03:00
Chocobo1
72e033db79
WebUI: remove child elements directly
2024-11-26 00:43:58 +08:00
Chocobo1
e1bd1038c0
WebUI: simplify close window implementation
...
The caller site now take the responsibility to ensure the element is valid.
PR #21892 .
2024-11-26 00:40:05 +08:00
Chocobo1
3ebdb50457
Verify hash of Python installer
...
PR #21877 .
2024-11-26 00:29:11 +08:00
Chocobo1
b0fe6e6c59
WebUI: ensure cached info are initialized properly
...
PR #21893 .
2024-11-25 14:04:28 +08:00
Chocobo1
8d847eeb18
WebUI: clean up fetch API usage
...
The `Content-type` header isn't required since `URLSearchParams` is present.
The `method` property is preferred to be always specified for clarity.
The `cache: "no-store"` is preferred for most GET requests to avoid caching.
PR #21891 .
2024-11-25 13:49:35 +08:00
Chris B
f022ce8f84
WebAPI: Add forced
parameter to torrents/add
...
Adds the parameter `addForced` to the `/api/v2/torrents/add` API call. Defaults to false if not provided.
PR #21864 .
2024-11-23 16:19:19 +08:00
Thomas Piccirello
78a5e4ff3e
WebUI: Display error when download fails
...
Previously we would still download the file but it would contain the error response, resulting in an invalid file.
To test: export a .torrent file for a torrent that hasn't yet downloaded metadata
PR #21696 .
Signed-off-by: Thomas Piccirello <thomas@piccirello.com >
2024-11-23 16:03:43 +08:00
tinyboxvk
61ff683f11
Update link to news
...
Change `https://www.qbittorrent.org/news.php ` to `https://www.qbittorrent.org/news ` to avoid redirect.
PR #21872 .
2024-11-22 21:05:39 +08:00
skomerko
7300b9f759
WebUI: Eliminate unnecessary Status filter list updates
...
Only update the Status filter list when torrents are removed, added or their state changed.
PR #21866 .
2024-11-22 20:59:23 +08:00
Bartu Özen
6ce2869108
WebAPI: Fix incorrect key in torrent creator
...
PR #21879 .
2024-11-21 13:59:20 +03:00
Vladimir Golovnev
0eba285ff1
Fix incorrect SQL column definition
...
PR #21874 .
2024-11-21 13:57:37 +03:00
Vladimir Golovnev
88161a6467
Discard obsolete "state update" events after torrent is reloaded
...
PR #21873 .
Closes #21827 .
2024-11-21 13:56:22 +03:00
Chocobo1
7f901a812d
Improve Python installation process
...
Instead of waiting it to complete, now it will react on installation process finish.
Also add more logging.
PR #21863 .
2024-11-19 18:57:44 +08:00
Chocobo1
6578fd06fd
WebUI: fix failed conversion to number
...
The value has unit suffix (`px`) and require using `parseInt()` for conversion.
Fix up f73f31619d
.
PR #21862 .
2024-11-19 03:12:50 +08:00
Chocobo1
6ddde3f4b6
Avoid redundant string length function calls
...
Also switch to `std::string_view` as it is more generic and can handle more types (including
view types).
PR #21861 .
2024-11-19 02:53:16 +08:00
Patrik Elfström
530631322d
WebUI: Fix bug where you can't select RSS rules
...
Fixes bug caused by #21731 .
PR #21857 .
2024-11-19 02:40:22 +08:00
Mahdi Hosseinzadeh
928de36093
Improve the speed icons in the status bar
...
The speed icons in the status bar look weird. Whenever I look at them, there seems to be something off with them. The circle seems to have been stretched. Also, the gap between the needle and the circle is not big enough to be clearly visible (at least on my display).
PR #21853 .
2024-11-19 02:29:17 +08:00
Evgenii Ryshkov
1e851b3637
WebUI: Fix reloading page after login
...
PR #21832 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-11-19 02:20:04 +08:00
skomerko
c9c85eeb95
WebUI: Use event delegation to handle common table events
...
Event delegation is now used to handle basic table events.
2 minor fixes were added to match GUI behavior:
* Clicking on the table body deselects everything
* Table rows are now scrolled into view when using up/down arrows
PR #21829 .
2024-11-19 02:12:26 +08:00
Vladimir Golovnev
ea35aa45d6
Remove wrong dependency on Main Window
...
Don't depend on upper level widget (Main Window) state.
PR #21816 .
2024-11-18 19:13:43 +03:00
skomerko
e51fcc6ea0
WebUI: Show 'Rename...' context menu item only when one torrent is selected
...
'Rename...' item in torrents table menu is displayed only when exactly one torrent is selected.
PR #21843 .
2024-11-17 15:31:30 +08:00
Chocobo1
f4eec75488
Don't apply Mark-of-the-Web on existing files
...
`TorrentImpl::isDownloading()` was excessively broad which included unexpected events for the
case here. So use the underlying state directly.
Closes #21788 .
PR #21836 .
2024-11-16 15:57:55 +08:00
Chocobo1
f73f31619d
WebUI: use native function to convert to numbers
...
Also replace `parseInt()` since `Number()` behavior is more intuitive.
PR #21831 .
2024-11-16 15:41:20 +08:00
Chocobo1
ede08f3845
WebUI: fetch cached info early
...
The cached info doesn't need to wait until the DOM is loaded. They can be fetched far earlier.
PR #21830 .
2024-11-16 15:34:35 +08:00
Patrik Elfström
c9a55fce95
WebUI: Fix wrong log levels
...
Fixes bug where the first time visiting Execution Log view all log levels are deselected but log items with all levels are still displayed.
This requires you to select a log level and then deselect it to hide that log level.
PR #21812 .
2024-11-16 15:22:26 +08:00
Thomas Piccirello
1cd3c586c1
WebUI: Always close one window
...
Closing all windows is overly broad and never the intention.
PR #21804 .
2024-11-16 15:12:35 +08:00
Chocobo1
0f12d077c8
Avoid reapplying Mark-of-the-Web when it already exists
...
Also use scope guards to handle resources.
Related #21788 .
PR #21806 .
2024-11-14 15:06:33 +08:00
Chocobo1
92daca1fef
Avoid redundant string length scan
...
PR #21807 .
2024-11-11 19:19:10 +08:00
skomerko
889df72ab3
WebUI: Use thin scrollbars
...
Thin scrollbars are now used if they are supported by user's browser. The main goal was to make them less intrusive in Chrome-likes on some platforms.
PR #21763 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-11-11 19:05:42 +08:00
Hanabishi
631e873ff2
WebUI: fix preferences class name
...
Fixup for #21780 . Account for changed preferences class name in the color scheme logic.
PR #21809 .
2024-11-11 18:53:06 +08:00
Vladimir Golovnev
69f19d4a0b
Preserve initial torrent progress while checking resume data
...
PR #21784 .
2024-11-10 12:01:12 +03:00
skomerko
3ec645674a
WebUI: Use modern class syntax to create LocalPreferences class
...
LocalPreferences class is now created using modern class syntax (minimal changes to remove Mootools bits). In addition, I removed redundant suffix from class name.
PR #21780 .
2024-11-09 16:40:25 +08:00
skomerko
71f83cf9ba
WebUI: Display torrent progress percentage in General tab
...
This PR adds torrent progress percentage next to pieces bar in General tab, as in the GUI.
PR #21756 .
2024-11-09 16:03:20 +08:00
Hanabishi
06fe3e5fb0
WebUI: fix color scheme for iframes
...
Applies the color scheme for iframe dialogs.
Fixup for #21613 .
PR #21750 .
2024-11-09 16:02:28 +08:00
3gf8jv4dv
fe153f8919
NSIS: Update Traditional Chinese translation
...
PR #21694 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-11-09 16:01:02 +08:00
3gf8jv4dv
568de90923
NSIS: Update Simplified Chinese translation
...
PR #21693 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-11-09 16:00:31 +08:00
Thomas Piccirello
f89c4c32ed
Display External IP Address in status bar
...
This change displays the last detected IPv4 and/or IPv6 address(es) in the GUI and WebUI's status bar. This does not yet handle systems with multiple addresses of the same type (e.g. multiple IPv6 addresses).
PR #21383 .
---------
Co-authored-by: Odin Vex <44311901+OdinVex@users.noreply.github.com >
2024-11-09 15:58:13 +08:00
Chocobo1
fb9b3c0f34
WebUI: use Fetch API to login
...
Fetch API is the modern replacement for XMLHttpRequest.
Also show more detailed error messages.
Closes #21739 .
PR #21744 .
2024-11-09 14:08:03 +08:00
Vladimir Golovnev
33e3fb2f46
Correctly handle "torrent finished" events
...
PR #21786 .
Closes #21699 .
2024-11-08 11:45:57 +03:00
Vladimir Golovnev
4bec9b90c4
Check real palette darkness to detect "dark theme"
...
`QStyleHints::colorScheme()` returns chosen color scheme even if current style doesn't support it and uses different palette.
PR #21771 .
2024-11-08 11:45:16 +03:00
Vladimir Golovnev
a6c7aef6c1
Optimize checking for outdated tracker endpoints
...
PR #21768 .
2024-11-07 09:40:33 +03:00
Vladimir Golovnev
4527536858
Optimize converting TCP endpoints to strings
...
There may be quite a few endpoint names (one for each available network card), and they usually remain unchanged throughout the session, while previously producing such names was performed every time they were accessed. Now they are retrieved from the cache.
PR #21770 .
2024-11-07 09:39:33 +03:00
Chocobo1
3da9444688
Reduce dependency on Main Window
...
PR #21753 .
2024-11-06 13:45:14 +08:00
Vladimir Golovnev
75d1ac8889
Optimize conversion of time points from libtorrent to Qt clocks
...
Obtain current date time of Qt and libtorrent clocks only once
for processing entire current libtorrent alerts bunch.
PR #21764 .
2024-11-05 16:43:43 +03:00
Chocobo1
051d7137ea
Use proper macro for unreachable switch cases
...
Those are the `default` cases which are not expected to hit (nor reachable) normally.
When the code is compiled with release mode and it reaches `Q_UNREACHABLE()`, it becomes
undefined behavior. So it rely on the developers to catch the errors in debug mode.
The upside of this is that the `switch` statement will be more optimized than not using it.
This also means the statements after `Q_UNREACHABLE()` isn't important. It allow anything to
preserve the intention of the code.
This macro is preferred over C++23 `std::unreachable` because it will automatically insert a
`Q_ASSERT(false)` with it.
PR #21752 .
2024-11-05 11:55:55 +08:00
Vladimir Golovnev
b462a2bf0c
Reset tracker entries when pause the session
...
PR #21738 .
2024-11-04 16:27:21 +03:00
Patrik Elfström
c02f80cec5
WebUI: Hide context menu when clicking on a table row
...
This fixes a bug where the torrents table header menu
could not be closed by clicking on a table row.
This also fixes the same bug for other context menus.
PR #21731 .
2024-11-04 19:09:51 +08:00
Patrik Elfström
3bb1e34233
WebUI: Add tooltip to regex filter button
...
Add a tooltip to indicate the button's function.
And change the cursor to a pointer since label is used as a button.
PR #21695 .
2024-11-03 15:35:28 +08:00
Thomas Piccirello
dc30b9c2ec
WebUI: Improve table overflow handling
...
This PR relies on flexbox to ensure all WebUI tables are the correct height without overflowing. Table headers are now always visible and JS-based dynamic resizing is no longer needed.
PR #21652 .
2024-11-03 15:11:30 +08:00
Vladimir Golovnev
b083029841
Handle Qt style names in a case insensitive way
...
PR #21720 .
Closes #21716 .
2024-11-03 09:54:57 +03:00
Chocobo1
6f642776b6
Simplify tab handling in Search widget
...
PR #21729 .
2024-11-03 14:43:23 +08:00
Jack Moran
1a7ebfc8f0
Create SECURITY.md
...
* Create SECURITY.md
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
PR #21589
2024-11-02 22:03:38 +02:00
sledgehammer999
0771970627
Merge pull request #21613 from sledgehammer999/webui_color_switcher
...
WebUI: Add color scheme switcher
2024-11-02 16:30:01 +02:00
Vladimir Golovnev
0f18e80154
Fix .torrent file could not be deleted when torrent is canceled
...
PR #21735 .
Closes #21723 .
2024-11-02 16:41:05 +03:00
Vladimir Golovnev
08b51fc869
Remove trackers from previous category when moved to new one
...
PR #21717 .
Closes #21637 .
2024-11-02 16:40:27 +03:00
sledgehammer999
13e3192444
Reorder code to match UI
2024-11-02 13:11:05 +02:00
sledgehammer999
3aefc16c57
Webui: Add color scheme switcher
...
Closes #21600
2024-11-02 13:11:05 +02:00
sledgehammer999
7b0b3a1522
Merge pull request #21722 from sledgehammer999/changelog_upkeep
...
Changelog upkeep
2024-11-01 21:48:12 +02:00
Thomas Piccirello
8991d994c2
WebUI: Eliminate unnecessary torrents table updates
...
Only update the torrents table when torrents are added, edited, or removed.
PR #21656 .
2024-11-01 04:34:17 +08:00
Chocobo1
72cbc83569
WebUI: prefer arrow functions whenever applicable
...
Compared to plain function, arrow function is simpler to understand (without bindings to `this`, `arguments`, `super`) and to read.
Now, plain function will only be used when this object is required.
PR #21691 .
2024-11-01 04:17:41 +08:00
Chocobo1
7af6ac18aa
Merge pull request #21658 from Chocobo1/ssl_setup
...
Simplify SSL parameters setup
2024-11-01 04:03:51 +08:00
sledgehammer999
41236d8e58
Consolidate all the Changelog entries into master
2024-10-30 22:50:46 +02:00
sledgehammer999
03dfd983d0
Add new version in Changelog
...
Closes #21718
2024-10-30 22:50:26 +02:00
Vladimir Golovnev
84d895231c
Correctly delete the moved search tab
...
PR #21687 .
Closes #21675 .
2024-10-28 09:41:09 +03:00
Vladimir Golovnev
91b2687032
WebAPI: Prevent producing empty sync data
...
PR #21688 .
2024-10-28 09:40:13 +03:00
Thomas Piccirello
be3eefd8de
WebUI: Fix displaying RSS panel on load
...
The required JS may not yet be loaded, resulting in an error when calling `window.qBittorrent.Rss.init()`.
Signed-off-by: Thomas Piccirello <thomas@piccirello.com >
PR #21689 .
2024-10-28 14:06:52 +08:00
Thomas Piccirello
e0e61ffd02
WebUI: Support auto resizing table columns
...
Auto resize can be triggered by:
1. Double clicking the column's resize handle (its rightmost edge)
2. The table header's context menu
Closes #21627 .
PR #21655 .
2024-10-28 13:59:13 +08:00
Thomas Piccirello
c3c91be578
WebUI: Clear properties panel when torrent no longer selected
...
PR #21654 .
2024-10-28 13:53:24 +08:00
xavier2k6
e0431e3ffb
Update python installer version for Windows
...
PR #21643 .
2024-10-27 15:05:05 +08:00
skomerko
67b6cf5a6f
WebUI: Don't sort rows with static trackers in Trackers table
...
Static trackers come before anything else so in this PR I made sure they are not moved when sorting Trackers table columns.
PR #21609 .
2024-10-27 14:54:33 +08:00
Thomas Piccirello
e8dc6b3f73
WebUI: Show file filter when Content tab selected on load
...
This fixes a bug where the file filter is only shown when the Content tab is switched to. The filter is not being shown if the Content tab is already selected on page load (due to being previously selected).
PR #21657 .
2024-10-26 03:28:01 +08:00
Hanabishi
dfe9daf25d
WebUI: restore arrow keys table navigation
...
Fixup for #21007 and #21147 . Table navigation with arrows (#15186 ) has been broken by that changes.
See https://github.com/qbittorrent/qBittorrent/pull/21007#discussion_r1807326166 and https://github.com/qbittorrent/qBittorrent/pull/21147#discussion_r1807361385 for details.
This PR restores the functionally.
PR #21640 .
2024-10-26 03:14:36 +08:00
Tyler True
ca933c60a1
Update GPLv2 license to reflect latest version
...
The license text and terms do not change, but the document has been
updated, to reflect the FSF's current contact points, and to change
the example name, under the "How to apply..." part, to "Moe Ghoul".
This reflects the FSF's own change, in the www.gnu.org CVS repo, at
https://web.cvs.savannah.gnu.org/viewvc/www/www/licenses/old-licenses/gpl-2.0.txt?annotate=1.5
Related #7749 .
PR #21626 .
2024-10-26 03:04:02 +08:00
DoubleSpicy
c080fc3aa0
Fix filesize sorting in preview dialog
...
PR #21563 .
Closes #21510 .
2024-10-23 09:03:25 +03:00
Chocobo1
5dd41f506e
Fix button state for SSL certificate check
...
A copy paste error was introduced in PR #20338 .
PR #21659 .
2024-10-23 13:04:16 +08:00
sledgehammer999
a3ac692c25
Allow to use Qt's default QStyle
...
Relevant prior PR #21553
PR #21605 .
2024-10-21 19:59:55 +03:00
Chocobo1
e91412ec8b
Use default secure protocol list from Qt
...
In Qt 6.5, `QSsl::SecureProtocols` is the same as `QSsl::TlsV1_2OrLater`. And by using
`QSsl::SecureProtocols` we won't need to worry it being outdated since Qt will regularly adjust
it.
https://github.com/qt/qtbase/blob/v6.5.0/src/plugins/tls/openssl/qsslcontext_openssl.cpp#L425-L429
2024-10-22 00:27:01 +08:00
Chocobo1
337730ddef
Simplify SSL parameters setup
...
Simplify code by utilizing QSslConfiguration object.
Also don't mess with global default value via `QSslConfiguration::setDefaultConfiguration`. It
should not be done at such local class.
2024-10-21 16:22:45 +08:00
Vladimir Golovnev
3ab9fe55e5
Improve color scheme change detection
...
* Fix pieces bars won't correctly detect color scheme change with Qt 6.8.
* Update RSS article content view on color scheme changed.
PR #21625 .
Closes #21327 .
2024-10-21 09:50:53 +03:00
dyseg
ab8d0d1dae
Free resources allocated by web session once it is destructed
...
PR #21618 .
Closes #20873 .
2024-10-21 09:23:08 +03:00
Chocobo1
25dbea1388
WebUI: fix 'rename files' dialog cannot be opened more than once
...
Added an IIFE around the whole script to suppress variable redeclaration errors.
Closes #21614 .
PR #21620 .
2024-10-20 16:01:57 +08:00
Vladimir Golovnev
a47e1cdb48
Allow to choose color scheme on Windows
...
PR #21615 .
2024-10-19 13:37:51 +03:00
Vladimir Golovnev
4805afc1a2
Correctly apply filename filter when !qB extension is enabled
...
PR #21628 .
Closes #21624 .
2024-10-19 13:36:03 +03:00
skomerko
5a0914e333
WebUI: Use modern class syntax in context menu classes
...
Context menu classes are now created using vanilla JS syntax (minimal changes to reduce MooTools bits).
PR #21598 .
2024-10-19 16:32:20 +08:00
skomerko
7031c52d16
WebUI: Improve sort order in Status column
...
This commit adds custom compare function to Status column (same sort order as in the GUI).
Closes #15499 .
PR #21570 .
2024-10-19 16:25:30 +08:00
Vladimir Golovnev
8e941a06f1
Correctly handle "torrent finished after move" event
...
PR #21596 .
Closes #21576 .
2024-10-14 11:51:30 +03:00
Vladimir Golovnev
966387859a
Always notify user about duplicate torrent
...
PR #21480 .
Closes #21475 .
2024-10-14 11:50:20 +03:00
Chocobo1
fb40275507
Don't change combobox index after selection
...
Also keep the list sorted.
PR #21599 .
2024-10-14 14:39:54 +08:00
sledgehammer999
3d9e9715b4
Merge pull request #21364 from sledgehammer999/dont_ignore_ssl_errors
...
Don't ignore SSL errors
2024-10-12 10:37:48 +03:00
Chocobo1
21b0367629
Avoid heavy weight function object
...
Also, by switching to template we can avoid the cost of converting to some specific type and
perfectly forward the parameter to the final function.
PR #21572 .
2024-10-12 15:15:39 +08:00
Chocobo1
ac646f47a2
Avoid shadowing function parameter
...
The function already has a parameter named `result`.
Also remove a duplicate variable since it already has a pref pointer at the start of the function.
PR #21571 .
2024-10-12 15:04:47 +08:00
Chocobo1
c4eeb4a14a
Add drag support to torrent content widget
...
Now qbt supports dragging items from torrent content widget to another app.
Closes #5860 .
PR #21569 .
2024-10-12 14:49:17 +08:00
algebnaly
6418033cc8
Add support for Thunar file manager
...
PR #21531 .
Co-authored-by: yalikes <algebnaly@qq.com >
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-10-12 14:41:05 +08:00
skomerko
cbcb46bcfb
WebUI: Setup copy events only once
...
It is enough to set them up just once during initial load. Number of elements with copyToClipboard class is fixed - they are context menu items.
PR #21558 .
2024-10-12 14:29:54 +08:00
skomerko
0704049026
WebUI: Apply box-sizing reset
...
Box-sizing: border-box is now applied globally. A lot of tiny changes were made but they were necessary to correct resulting inconsistencies. Everything should be pretty much as it was with just some minor exceptions.
Looks like this PR also indirectly fixed #21414 .
PR #21464 .
2024-10-12 14:22:07 +08:00
skomerko
81509dfb65
WebUI: Improve filter lists
...
This PR adds following improvements:
* Remove unused tracker entries while processing sync data
* Take into account filter selection & terms when performing 'Start/stop/delete' context actions in filter lists
Now, only filtered torrents will be affected by them, just like in the GUI.
* Provide better feedback when performing 'Start/stop/delete' context actions in filter lists
Small improvement over GUI - now these actions will be disabled if it's not possible to use them.
* Add context menu to status filter list
* Fix error when toggling filter title
Fixup for small bug introduced in https://github.com/qbittorrent/qBittorrent/pull/21269
PR #21438 .
2024-10-12 13:40:18 +08:00
Thomas Piccirello
b1fd61af3a
WebUI: Handle folders when updating RSS feed url
...
Follow up to #21371 ([context](https://github.com/qbittorrent/qBittorrent/pull/21371#discussion_r1780908605 )).
PR #21437 .
2024-10-12 13:30:24 +08:00
Vladimir Golovnev
2d185dc1c7
Allow to choose Qt style
...
PR #21553 .
2024-10-11 16:04:57 +03:00
Vladimir Golovnev
2d857b6200
Disable "Move to trash" option by default
...
PR #21528 .
2024-10-10 14:13:40 +03:00
Chocobo1
871438f557
Bump search engine components version
...
The master branch should have version larger than stable branch.
https://github.com/qbittorrent/qBittorrent/pull/21539/files#r1790078486
PR #21542 .
2024-10-10 16:30:45 +08:00
skomerko
87644441ad
WebUI: Add context menu to search tabs
...
PR #21516 .
2024-10-07 22:04:29 +08:00
thalieht
d73201c098
Fix the tab order in dialogs
...
* Torrent options
* Torrent creator
* Preferences
Closes #21387 .
PR #21395 .
2024-10-07 21:51:56 +08:00
stalkerok
3ea2be41e7
Disable the ability to create torrents with a piece size of 256MiB
...
Disabling will reduce the number of users experiencing this issue.
https://github.com/qbittorrent/qBittorrent/issues/21011
PR #21295 .
2024-10-07 21:40:02 +08:00
Chocobo1
6bbedbea8a
WebUI: remove unused variable
...
PR #21500 .
2024-10-06 16:54:42 +08:00
xavier2k6
56a0692b68
GHA CI: Update pre-commit-config workflow
...
* Bumped numerous revisions
* Removed obsolete exclusions (files/folders were removed previously)
* Implement fix/workaround for "false positives" (typos/codespell)
PR #21460 .
2024-10-06 16:49:30 +08:00
xavier2k6
dfa4eebbce
GHA CI: Bump pandoc to latest version
...
PR #21458 .
2024-10-06 16:41:38 +08:00
Chocobo1
6ed662c68b
CI: turn on assertion checks
...
This turn on assertions from qbt codebase so that testers can verify the assertions really hold.
PR #21499 .
2024-10-06 16:13:14 +08:00
Ikko Eltociear Ashimine
f81d8a85e9
NSIS: update luxembourgish
...
PR #21456 .
2024-10-06 15:43:43 +08:00
Chocobo1
9e5433bcf8
Add name to threads
...
This help identifying threads when debugging.
The naming scheme is using 'class/function name + variable name'.
Note that the length limitaion is 16 chars on linux. On Windows, the limit is 32767 chars.
PR #21403 .
2024-10-06 15:23:50 +08:00
Vladimir Golovnev
3fb5d7764c
Don't try to apply Mark-of-the-Web to nonexistent files
...
Trying to apply it to a nonexistent file is unacceptable, as it may unexpectedly create such a file.
PR #21488 .
Closes #21440 .
2024-10-05 12:27:03 +03:00
stalkerok
e75bcbed6d
Remove non-working DHT bootstrap nodes
...
router.utorrent.com has been dead for a long time. router.bittorrent.com died about a month or two ago. dht.aelitis.com doesn't work either. It is no longer possible to get DHT nodes from them.
Added router.silotis.us. Only ipv6!
PR #21296 .
2024-10-05 16:45:29 +08:00
thalieht
7f38216d22
Regenerate .ui files
...
PR #21411 .
2024-10-05 16:42:03 +08:00
sledgehammer999
e309148147
Reorder code to match UI
2024-10-04 22:48:46 +03:00
sledgehammer999
6981217369
Don't ignore SSL errors
2024-10-04 22:48:46 +03:00
skomerko
4ff0687b94
WebUI: Add confirm dialog for Auto TMM
...
Just like in GUI, confirmation dialog shows up if it's possible to enable Auto TMM for any selected torrent. Right now it's not possible to properly test all cases in the WebUI because context menu completely hides TMM option when some torrents have it enabled and some not (no tri-state) - but that's something to add in another PR.
PR #21378 .
2024-10-04 22:39:08 +08:00
Chocobo1
dc02a0fc56
WebUI: remove unused variables
...
PR #21432 .
2024-10-04 22:23:04 +08:00
Vladimir Golovnev
c48d2c1dde
WebUI: Fix incorrect row ID
...
Incorrect row ID prevented the "Torrent content removing mode" option from being displayed on some platforms.
PR #21481 .
2024-10-04 14:06:51 +03:00
Hanabishi
b5b34c9ff4
Add "Simple pread/pwrite" disk IO type
...
PR #21300 .
2024-10-01 19:58:35 +03:00
Chocobo1
7b45566efc
Migrate away from deprecated functions in Qt 6.9
...
Closes #21412 .
PR #21415 .
2024-09-30 18:31:17 +08:00
xavier2k6
c30a07702d
Replace QVector with QList
...
Migrated last remnants of QVector to Qlist, reference https://github.com/qbittorrent/qBittorrent/pull/21016#issuecomment-2212403741 onward.
PR #21407 .
2024-09-30 18:20:58 +08:00
skomerko
d8e24314ec
WebUI: Improve lookup performance when filtering by tracker
...
Torrent hashes in tracker list are now kept in sets instead of arrays.
PR #21405 .
2024-09-30 18:13:45 +08:00
skomerko
449ca96e28
WebUI: Add 'Engine' column to Search table
...
This PR adds 'Engine' column to Search table.
I also fixed inconsistent naming and renamed 'Search engine' column to 'Engine URL'.
PR #21397 .
2024-09-30 18:05:17 +08:00
Chocobo1
cebaedf485
WebUI: CSS/styling improvements
...
WebUI: CSS/styling improvements
2024-09-30 17:57:42 +08:00
Chocobo1
fd311fd5ff
Reduce sensitive data instances
...
There is no reason for `WebUI` class to retain this information.
PR #21373 .
2024-09-30 17:45:28 +08:00
Thomas Piccirello
50acb670b0
WebUI: Support updating RSS feed URL
...
PR #21371 .
Signed-off-by: Thomas Piccirello <thomas@piccirello.com >
2024-09-30 17:34:37 +08:00
xavier2k6
3888b465d8
Revise bug_report
template
...
PR #21343 .
2024-09-30 17:24:57 +08:00
Thomas Piccirello
6bbb7b71cd
Add WebAPI/WebUI for managing cookies
...
Closes #21125 .
PR #21340 .
2024-09-30 17:13:25 +08:00
Chocobo1
10eb921d70
Allow drop action only on transfer list
...
Now drop action is only allowed on transfer list, previously it was on main window.
Having drop action on the whole main window is not preferred because it could allow drop action
on other unrelated widgets, such as execution log or RSS widget which is unexpected behavior.
PR #21332 .
2024-09-30 16:59:57 +08:00
skomerko
5e3161a3f9
WebUI: Improve statistics window
2024-09-28 17:49:52 +02:00
skomerko
4cc3fedf37
WebUI: Reduce padding in torrents table
2024-09-28 17:49:52 +02:00
skomerko
2952480f37
WebUI: Use correct text and background colors in RSS details view
2024-09-28 17:49:52 +02:00
skomerko
6bfabad92f
WebUI: Prevent text selection within tabs, menu items
2024-09-28 17:49:52 +02:00
skomerko
0e03e4f8a7
WebUI: Add colors to log table rows
2024-09-28 13:33:14 +02:00
skomerko
10149de205
WebUI: Define global CSS variables in root selector
2024-09-28 13:33:14 +02:00
skomerko
960edd95cc
WebUI: Remove redundant imports
2024-09-28 13:33:14 +02:00
skomerko
8b2d8f3afd
WebUI: Use Map instead of Mootools Hash in all dynamic tables
...
PR #21358 .
2024-09-28 15:46:16 +08:00
Thomas Piccirello
81def39d8c
WebUI: Support managing web seeds
...
Closes #8475 .
PR #21055 .
2024-09-28 15:37:36 +08:00
Chocobo1
a23f45cc70
Split platform specific code to its own file
...
PR #21368 .
2024-09-22 14:28:40 +08:00
Thomas Piccirello
8a6207d3fc
WebUI: Fix removing tracker URL with '|' character
...
Closes #19074 .
PR #21346 .
2024-09-22 14:22:52 +08:00
skomerko
c3224459db
WebUI: Add 'Confirm torrent recheck' option
...
This PR adds setting & confirmation dialog for torrent recheck.
Closes #19557 .
PR #21348 .
2024-09-22 14:12:44 +08:00
skomerko
183c7c75b1
WebUI: Display DHT information in the Status bar only when DHT is enabled
...
GUI completely hides DHT information when DHT is disabled - now WebUI does the same thing.
Closes #18417 .
PR #21339 .
2024-09-22 14:06:25 +08:00
sledgehammer999
1c43286616
Make Program Updater choose the same build for download
...
We're probably stuck offering the duo of RC_1_2 and RC_2_0 for some
time in the future. So hardcode the choices and make the Program Updater
choose the variant the user currently uses.
2024-09-16 22:26:57 +03:00
Chocobo1
4555a46e5d
Remove unused function
...
PR #21334 .
2024-09-16 18:10:13 +08:00
Chocobo1
23f7275bd5
Merge pull request #21333 from Chocobo1/random
...
Improve PRNG functions
2024-09-16 17:56:19 +08:00
Thomas Piccirello
d2b2afad23
Support removing tracker from all torrents in WebUI/WebAPI
...
Closes #20661 .
PR #21056 .
2024-09-16 17:47:10 +08:00
skomerko
d19f7b12d9
WebUI: Improve hash copy actions in context menu
...
This PR provides better feedback for hash context menu actions and now it is clearly shown if there is anything to copy.
PR #21321 .
2024-09-16 17:41:14 +08:00
skomerko
6df1f68ead
WebUI: Use Map instead of Mootools Hash in Torrents table
...
PR #21308 .
2024-09-16 17:34:49 +08:00
Burnerelu
e06b7f8f4d
Enable customizing the save statistics time interval
...
This change extends the Advanced section of the Preferences menu with a new field, allowing changing the time statistics save interval. A zero value will prevent recurrent saving.
This aims to provide the feature requested in issue #21285 .
PR #21291 .
2024-09-16 17:16:59 +08:00
Chocobo1
3058158b69
Use modern function for getting random numbers on Windows
...
The previous `RtlGenRandom()` just redirects to `ProcessPrng()` according to "The Windows 10
random number generation infrastructure" whitepaper from MS.
`ProcessPrng()` is also the de facto PRNG for Rust lang:
aa13fa5882/src/windows.rs (L3C1-L22C81)
And for golang:
https://go-review.googlesource.com/c/go/+/536235
2024-09-14 23:20:07 +08:00
skomerko
0ea35c54a3
WebUI: Improve torrent deletion
...
* Added 'Confirm when deleting torrents' option to the WebUI
* Confirm deletion dialog now uses MUI.Modal
PR #21289 .
Closes #18345 .
2024-09-13 22:28:02 +08:00
Chocobo1
dbef6da544
Use modern function for getting random numbers on Linux
...
Now we don't need a file handle anymore and there is no initialization involved in this new
implementation.
2024-09-13 22:27:42 +08:00
Chocobo1
a0c32110f1
Add URL link for reverse proxy setup examples
...
The link is helpful for users whom needs to setup reverse proxy.
PR #21305 .
2024-09-13 22:18:31 +08:00
skomerko
435385816a
WebUI: Provide 'Merge trackers to existing torrent' option
...
PR #21302 .
2024-09-10 11:12:30 +03:00
skomerko
1b53fdf9ee
WebUI: Improve subcategories
...
Now they should fully match GUI behavior, please let me know if I missed something.
Still plenty of room to improve them further (e.g styling/CSS) but for now I wanted to keep the changes to the minimum.
Also included small tweaks to category context menu actions.
PR #21269 .
2024-09-08 15:21:11 +08:00
Andarwinux
f00c5c9fa3
Opt into Windows SegmentHeap
...
SegmentHeap provides a faster malloc implementation that only available with Dynamic UCRT in Windows 10, version 2004 (build 19041) and later.
PR #21263 .
2024-09-08 15:09:34 +08:00
Chocobo1
130c0d8487
Revise cookie 'secure flag' enable condition
...
The localhost is 'potentially trustworthy' and RFC 6265 allows setting secure flag in this case.
Also check `X-Forwarded-Proto` header value to support reverse proxy usage.
Note: for reverse proxy users, now the `X-Forwarded-Proto` header is expected to be sent to qbt
otherwise the `secure` flag might be set erroneously.
https://datatracker.ietf.org/doc/html/rfc6265#section-4.1.2.5
https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy
Closes #21250 .
PR #21260 .
2024-09-07 21:38:27 +08:00
Vladimir Golovnev
d9bc7935eb
Apply "merge trackers" logic regardless of way the torrent is added
...
PR #21299 .
2024-09-06 16:28:22 +03:00
Chocobo1
944499814b
Revert "Use client side translation for public login page"
...
This reverts #20520 .
PR #21290 .
2024-09-06 15:38:31 +08:00
Chocobo1
0e63b83aed
WebUI: do not follow anchor URL
...
Fix up 5afeecbf18
.
PR #21283 .
2024-09-06 15:31:26 +08:00
skomerko
f681e954c7
WebUI: Show country/region name next to its flag when 'Resolve peer countries' is enabled
...
PR #21278 .
2024-09-06 15:23:11 +08:00
Prince Gupta
a7f7c5fb73
Fix highlighted piece color
...
PR #20971 .
2024-09-02 08:11:35 +03:00
skomerko
9d0fa213be
WebUI: Allow to display only hostname in the Tracker column
...
It is now possible to display only hostname in the Tracker column.
Closes #11357 .
PR #21243 .
2024-09-01 16:34:49 +08:00
Chocobo1
fc82abe7f6
Remove 'loopback address detection' helper function
...
It is not needed since `QHostAddress::isLoopback()` can do the job.
PR #21259 .
2024-08-31 15:53:39 +08:00
sledgehammer999
72feee6fdd
Fix version bump
...
Closes #21265
2024-08-26 09:46:27 +03:00
skomerko
58eab8d453
WebUI: Don't apply hover/selection styles to flag, highlighted category icons
...
Related: https://github.com/qbittorrent/qBittorrent/pull/21162#discussion_r1721799836
Fix up: #21162 .
PR #21236 .
2024-08-25 15:29:05 +08:00
skomerko
7ab4758279
WebUI: Provide 'Use Category paths in Manual Mode' option
...
This PR adds 'Use Category paths in Manual Mode' option to WebUI.
PR #21223 .
2024-08-25 14:51:59 +08:00
xavier2k6
e6cd9b90d2
Sync flag icons with upstream
...
* Release: 7.2.3
* Contains bug fixes & additional flags
PR #21220 .
2024-08-25 14:46:15 +08:00
skomerko
5b7c9d5725
WebUI: Filter list improvements
...
A couple of tweaks to make them a little bit better:
1. Make highlighting functions more consistent (this also fixes minuscule bug when no filter item in tracker list is highlighted due to a type mismatch)
2. Use [event delegation](https://javascript.info/event-delegation ) to handle filter toggling & item selection
3. Other minor improvements (everything should work like it was previously)
PR #21191 .
2024-08-25 14:23:35 +08:00
skomerko
39dd415d43
WebUI: Improve torrent deletion dialog
...
This PR improves torrent deletion dialog.
1. Now shows different message depending on the number of selected torrents
2. Visually pretty much inline with the GUI
3. Adjusts to content on load
4. Now uses XHR load method. Panels / windows loaded using this method become part of the current document so there is no need to import styles or scripts (they should load marginally faster now).
PR #21185 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-08-25 14:11:36 +08:00
sledgehammer999
9a9c375b9d
Bump to v5.1.0alpha1
2024-08-24 21:49:49 +03:00
skomerko
fda797cb76
WebUI: Improve properties panel
...
It is now possible to expand & collapse it by clicking directly on tabs, just like in GUI.
In addition, collapse state is saved and applied on page load.
Fixed one minor bug and now files search input is properly hidden even when panel is collapsed.
PR #21209 .
2024-08-24 14:09:10 +08:00
Chocobo1
a91bac8aa0
Add link to 'List of alternative WebUI' wiki page in Options
...
PR #21224 .
2024-08-23 02:27:24 +08:00
Vladimir Golovnev
0904f4a89b
Refresh search results colors once color scheme is changed
...
* Refresh search results colors once color scheme is changed
* Improve color of visited search result items
PR #21189 .
Closes #21187 .
2024-08-21 15:08:14 +03:00
Chocobo1
9c370bf391
Merge pull request #21215 from Chocobo1/webui_event_param
...
WebUI: improve event handlers
2024-08-19 16:11:38 +08:00
xavier2k6
f09d43d073
GHA CI: Bump boost dependency
...
PR #21214 .
2024-08-19 15:59:09 +08:00
xavier2k6
f818d0dbe0
Sync "expected lite" with upstream
...
* Release 0.8.0
PR #21213 .
2024-08-19 15:32:01 +08:00
Chocobo1
98623b2cf7
WebUI: use passive event handlers
...
These kind of event handlers can be asynchronously dispatched, freeing up the main thread for
lag-free operation.
2024-08-17 14:03:51 +08:00
Chocobo1
29379232aa
WebUI: implement debounce behavior for resize events
2024-08-17 14:02:15 +08:00
Chocobo1
0c580c3174
WebUI: remove redundant events
...
The base class already handle them.
Also optimize the base implementation a bit.
2024-08-17 14:02:15 +08:00
Chocobo1
1179fc3de3
WebUI: prevent passing wrong parameter
...
The `event` object will be passed as the first parameter to the event handler. So wrap the
event handler with a closure to prevent `event` leaking to other functions.
2024-08-17 14:02:13 +08:00
skomerko
e069fbc37f
WebUI: Add missing icons
...
This adds missing icons to WebUI (in tabs, buttons, etc.).
PR #21162 .
2024-08-17 13:38:44 +08:00
ducalex
efdc4af448
Search helpers: Add POST support to retrieve_url
...
This allows passing request_data to retrieve_url in order to create a post request.
PR #21184 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-08-17 13:32:57 +08:00
Russell Martin
0535993e41
Bump WebAPI version
...
Accounts for the addition of webseed modification endpoints.
PR #21205 .
2024-08-16 07:19:53 +03:00
skomerko
f5aa0bb126
WebUI: Always create generic filter items
...
PR #21188 .
2024-08-15 20:36:38 +03:00
stalkerok
0da383e7b6
Add a flag about the connection peers are using NAT hole punching
...
PR #21052 .
2024-08-15 20:27:19 +03:00
Vladimir Golovnev
c5b7c82344
Refresh pieces bar colors once color scheme is changed
...
PR #21183 .
Closes #21155 .
2024-08-13 09:11:21 +03:00
Chocobo1
b1d2b9d02b
WebUI: fix wrong property for keyboard keys
...
Fix up 2d9e3b3330
.
PR #21182 .
2024-08-12 15:14:17 +08:00
Chocobo1
d9667b5221
Merge pull request #21179 from Chocobo1/webui_style
...
WebUI: use native property to set styles
2024-08-12 15:08:26 +08:00
Chocobo1
155fe96bdd
Revise quote escaping for translated strings in WebUI
...
qbt only need to escape double quotes for the sake of HTML attributes. As for single quotes it
can leave them as-is since WebUI enforce using double quotes for strings.
PR #21180 .
2024-08-12 14:59:30 +08:00
HamletDuFromage
9a8572bd21
WebUI: Handle regex syntax error for torrent filtering
...
https://github.com/qbittorrent/qBittorrent/pull/20566#discussion_r1704548226
PR #21173 .
2024-08-12 14:54:37 +08:00
skomerko
04eb40376e
WebUI: Allow to filter torrent list by save path
...
This PR adds ability to filter torrent list by save path. Everything should work exactly like in GUI.
Closes #19393 .
PR #21175 .
2024-08-11 16:08:13 +08:00
Thomas Piccirello
ea06eb9fe6
Add WebAPI for managing torrent webseeds
...
Closes #18465 .
PR #21043 .
2024-08-11 15:58:56 +08:00
Chocobo1
3e18b1d30c
WebUI: remove outdated CSS property
...
WebUI already has the standard counterparts.
2024-08-10 14:26:10 +08:00
Chocobo1
9df3ee0de8
WebUI: use native property to set styles
2024-08-10 14:26:10 +08:00
Chocobo1
0c7045042d
WebUI: replace deprecated property
2024-08-10 13:01:26 +08:00
Chocobo1
5afeecbf18
WebUI: migrate away from inline HTML code
...
`innerHTML` & `outerHTML` setter will more or less evaluate the value which could be used to
inject malicious code. So replace them with safer alternatives.
PR #21163 .
2024-08-10 12:55:48 +08:00
skomerko
4570c0ef9e
WebUI: Clear trackerList on full update
...
Like other similar data structures, trackerList also need to be cleared in the event of a full sync update.
PR #21148 .
2024-08-10 12:49:00 +08:00
thalieht
d0af02cc17
WebUI: Add missing columns in transfer list
...
* Incomplete Save Path
* Info Hash v1
* Info Hash v2
PR #21158 .
2024-08-09 14:48:22 +08:00
skomerko
62c5f41f39
WebUI: Implement 'Auto hide zero status filters'
...
PR #21145 .
2024-08-09 14:38:53 +08:00
Vladimir Golovnev
bee56f2567
Fix Incomplete Save Path cannot be changed for torrents without metadata
...
PR #21152 .
Closes #21140 .
2024-08-08 08:20:26 +03:00
Vladimir Golovnev
cbabe56fcf
Hide zero status filters when torrents removed
...
PR #21150 .
Closes #21146 .
2024-08-08 08:19:53 +03:00
Chocobo1
2d9e3b3330
WebUI: use native functions for event handling
...
PR #21147 .
2024-08-07 22:00:54 +08:00
Harald Nordgren
989b1d176d
Enable adaptive step size for upload and download limits
...
PR #21138 .
2024-08-07 21:51:06 +08:00
skomerko
142780b863
WebUI: Highlight torrent category in context menu
...
This PR makes it possible to see common category of selected torrents in context menu. Everything should behave exactly like in GUI.
Closes #12701 .
PR #21136 .
2024-08-07 21:40:21 +08:00
Chocobo1
7b2886e477
Revise label text
...
PR #21118 .
2024-08-05 21:01:49 +08:00
Thomas Piccirello
66c1acbce2
Don't reannounce when removing tracker via WebAPI
...
Discussion: https://github.com/qbittorrent/qBittorrent/pull/21056#discussion_r1674632942
PR #21077 .
2024-08-04 17:21:15 +08:00
Chocobo1
49507ad670
Merge pull request #21123 from skomerko/webui-use-alternating-row-colors
...
WebUI: Add ability to toggle alternating row colors in tables
2024-08-04 17:16:01 +08:00
Chocobo1
d74f49111b
WebUI: fix accessing wrong variable
...
Fix up 7131d1bd6b
.
PR #21129 .
2024-07-30 20:25:19 +08:00
Carmelo Scandaliato
642a9c29eb
WebUI: remove deleted torrents even if they are currently filtered out
...
Remove the torrent row regardless of it being visible.
I've also removed the return value because:
* it doesn't appear to be used by any caller;
* other functions (e.g. updateRowData) do not return any value;
* it's not clear whether true refers to the torrent being removed from the list of all torrents or just the visible ones.
Closes #21070 .
PR #21071 .
2024-07-29 16:20:21 +08:00
Chocobo1
9d494e84bf
Merge pull request #21117 from Chocobo1/webui_interval
...
WebUI: timer related clean ups
2024-07-29 15:06:48 +08:00
skomerko
aed103d06e
WebUI: Improve visibility of unread RSS articles
2024-07-28 11:35:01 +02:00
skomerko
b67495464d
WebUI: Add ability to toggle alternating row colors in tables
2024-07-28 11:34:52 +02:00
Chocobo1
bf7e1516d5
WebUI: clear timer variable properly
...
In JS the timer handle pool is reused and therefore require careful handling of it.
2024-07-26 05:08:40 +08:00
Chocobo1
7131d1bd6b
WebUI: listen to resize events properly
...
The workaround is not needed now.
Also added a debouncer to avoid too many transient resizing events.
2024-07-26 03:19:58 +08:00
Chocobo1
062904c2bd
WebUI: avoid excessive checking
2024-07-25 14:20:57 +08:00
Chocobo1
6b52a04ff1
WebUI: avoid queuing up requests
...
`setInterval()` will always fire a new timeout regardless previous `updateRssFeedList()` has
completed or not. This patch will now wait for previous request to complete before another
timeout.
2024-07-25 14:20:57 +08:00
Chocobo1
69a829dfb0
Clean up search engine
...
Notable changes:
1. Prevent excessive engine module imports.
2. Replace trivial usage of `join()`.
3. Keep the output text sorted whenever possible.
4. Close handles properly.
5. Print error to stderr, not stdout.
6. Report search job exit code.
7. Print exception message to stderr if exception was thrown when
running a search job.
8. Utilize XML library to build XML data
And use 2 spaces as indentation.
PR #21098 .
2024-07-22 16:51:57 +08:00
Chocobo1
3c5baac150
Merge pull request #21097 from Chocobo1/webui_a11y
...
WebUI: Improve accessibility
2024-07-22 16:44:52 +08:00
Chocobo1
8e9680bf69
WebUI: simplify code
2024-07-19 17:47:34 +08:00
Chocobo1
b75c42f850
WebUI: associate label to input fields
2024-07-19 17:47:34 +08:00
Vladimir Golovnev
3b38d0de7f
Represent by TorrentInfo only info-section related metadata
...
PR #21084 .
2024-07-19 06:25:41 +03:00
Chocobo1
8b7fdf0f22
Bump Python version minimum requirement
...
The new minimum version is Python 3.9.
Debian Buster (oldoldstable) support ends at [2024.06.30](https://www.debian.org/releases/buster/ ).
Ubuntu Focal (20.04LTS) support ends at [2025.04](https://ubuntu.com/about/release-cycle ).
By the time qbt v5.1 is released, Buster and Focal would have become EOL.
https://packages.debian.org/search?keywords=python3
https://packages.ubuntu.com/search?keywords=python3
PR #21064 .
2024-07-17 12:13:58 +08:00
Chocobo1
83d730ffda
Merge pull request #21074 from Chocobo1/webui_html5
...
WebUI improvements
2024-07-17 12:06:08 +08:00
Hanabishi
3acd5409a6
WebUI: Fix Torrent Management Mode selector
...
PR #21053 .
2024-07-15 18:33:51 +08:00
Chocobo1
a61df019b3
WebUI: provide legend text
...
It provides semantic meanings for the option group.
2024-07-15 18:27:53 +08:00
Chocobo1
7df98e1c9a
WebUI: specify scope of table header
...
This may help screen readers.
2024-07-15 18:26:59 +08:00
Chocobo1
c3b7dfa918
WebUI: omit closing on HTML void elements
...
https://developer.mozilla.org/en-US/docs/Glossary/Void_element#self-closing_tags :
>Self-closing tags (<tag />) do not exist in HTML.
2024-07-15 17:46:33 +08:00
Chocobo1
0fd24358ce
WebUI: check buttons to have valid text (or assistive text)
...
It helps people using assistive technology.
https://stackoverflow.com/a/22040485
2024-07-15 17:25:27 +08:00
Chocobo1
7e8e6269d0
WebUI: drop unused lint rule
2024-07-15 17:12:20 +08:00
Chocobo1
25dd6c72f7
WebUI: use the correct property for accessing text
...
In these instances we don't need the rendered result. So use the most efficient
property to access it: `.textContent`.
2024-07-15 17:09:16 +08:00
Chocobo1
adde3c3f65
WebUI: check headings to have textual content
2024-07-15 17:03:21 +08:00
Chocobo1
7119de9b8d
WebUI: provide semantic information of table body
...
From https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody#usage_notes :
>Specifying such table content groups also provides valuable contextual
>information for assistive technologies
2024-07-15 16:59:05 +08:00
David Newhall
3999b9a4f9
add root_path to torrent/info api output ( #21066 )
...
WebAPI: Add root_path to torrent/info result
PR #21066 .
Closes #21057 .
2024-07-15 08:44:26 +03:00
Vladimir Golovnev
7f4cb43a33
Fix incorrect sorting by "private" column
...
PR #21041 .
2024-07-15 08:42:02 +03:00
Chocobo1
9feefc8144
WebUI: avoid redundant re-initialization
...
PR #21012 .
2024-07-12 15:00:36 +08:00
Chocobo1
9c26e5d4d6
WebUI: access attribute/property natively
...
It is now clearer to see what property is being accessed.
Previously mootools library would re-map attribute/property to another.
PR #21007 .
2024-07-12 14:06:59 +08:00
Vladimir Golovnev
815ab180c1
Prevent incorrect size from being used for creating array
...
PR #21050 .
2024-07-12 08:49:45 +03:00
Vladimir Golovnev
eba5cbb803
WebUI: Correctly apply changed "save path" of RSS rules
...
PR #21030 .
Closes #20141 .
2024-07-08 10:08:28 +03:00
ManiMatter
87a202c71e
Add ability to display torrent "privateness" in UI
...
PR #20951 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
Co-authored-by: thalieht <thalieht@users.noreply.github.com >
2024-07-07 19:09:57 +03:00
Vladimir Golovnev
a4f63a5c30
Show scroll bar in Torrent Tags dialog
...
PR #21026 .
Closes #21022 .
2024-07-07 08:25:31 +03:00
Vladimir Golovnev
ccdf178ee7
Fix handling of tags containing '&' character
...
PR #21024 .
Closes #20773 .
2024-07-07 08:24:30 +03:00
Hanabishi
b52fa98a02
WebUI: Implement double-click behavior controls
...
PR #21000 .
2024-07-05 14:34:05 +08:00
Paweł Kotiuk
d87533bf4c
WebUI: Implement path autocompletion
...
PR #20906 .
2024-07-05 14:24:02 +08:00
Vladimir Golovnev
5ef2a1df07
Use QList explicitly
...
PR #21016 .
2024-07-04 08:30:39 +03:00
Vladimir Golovnev
d2fceaa228
Apply bulk changes to correct content widget items
...
PR #21006 .
Closes #21001 .
2024-06-29 21:57:59 +03:00
Vladimir Golovnev
4e27e88f6a
Allow to move content files to Trash instead of deleting them
...
PR #20252 .
2024-06-29 08:21:35 +03:00
Thomas Piccirello
c5fa05299b
WebUI: Fix preference name conflict
...
PR #20990 .
2024-06-28 16:46:21 +08:00
Vladimir Golovnev
0cbe4882c3
Use custom storage when reloading torrent
...
PR #20998 .
2024-06-28 07:14:19 +03:00
Chocobo1
610d5ef5ff
GHA CI: use static versions of AppImage builder
...
It does not affect the produced artifacts. The only difference is the
tool itself won't depend on some specific OS image or library version.
PR #20983 .
2024-06-25 13:11:32 +08:00
Thomas Piccirello
9d87a813b2
Use enabled search plugins by default in WebUI
...
PR #20969 .
Closes #20558 .
2024-06-24 20:45:14 +03:00
Chocobo1
5740238933
Use proper casting
...
Previously `m_shutdownTimeout * 1000` was calculated in `int` and now it
is `qint64`.
PR #20982 .
2024-06-24 15:02:48 +08:00
Chocobo1
ea918da931
Allow numeric types
...
The canonical type for `size_string` is `str`. However numeric types are also accepted in order
to accommodate poorly written plugins.
PR #20976 .
2024-06-23 12:43:35 +08:00
vikas_c
9317c25ecb
Show download progress for folders with zero byte size as 100 instead of 0
...
Fixes the download progress calculation for folders with zero size.
Previously, the progress would be Zero. Now, folders with zero size
show 100% progress.
PR #20567 .
2024-06-20 08:08:55 +03:00
Chocobo1
7a2bfae5e4
Improve connection handling
...
1. Previously unhandled connections will stay in pending state. It won't
be closed until timeout happened. This may lead to wasting system
resources. Now the (over-limit) connection is actively rejected.
2. When out-of-memory occurs here, reject the new connection instead of
throwing exception and crash.
3. Also clean up some unused bits.
PR #20961 .
2024-06-20 12:13:27 +08:00
Vladimir Golovnev
9894f654cf
Allow to use regular expression to filter torrent content
...
PR #20944 .
Closes #19934 .
2024-06-19 15:25:48 +03:00
Chocobo1
d71086e400
Add type annotations
...
A few code are revised because the type checker (mypy) doesn't allow
changing types on a variable.
PR #20935 .
2024-06-17 13:18:32 +08:00
Chocobo1
2000be12ba
Merge pull request #20928 from Chocobo1/webui_curly
...
WebUI: unify coding style
2024-06-17 13:09:18 +08:00
ManiMatter
914728d9a1
WebAPI: Add "private" filter for 'info' endpoint
...
PR #20833 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-06-16 10:57:12 +03:00
Vladimir Golovnev
c36100fa85
Don't use custom "file icon provider" on Windows
...
PR #20936 .
Closes #20908 .
2024-06-14 22:39:42 +03:00
Chocobo1
1c49e0973c
Revise Protocol column
...
Add "BT" (BitTorrent) to avoid confusion about which protocol it is referring to.
Also its value doesn't need to be translated.
PR #20897 .
2024-06-12 15:20:37 +08:00
Vladimir Golovnev
65d143d4c4
Apply share limits when torrent downloading is finished
...
PR #20917 .
Closes #20874 .
2024-06-12 09:03:07 +03:00
Vladimir Golovnev
d89f289f82
Apply filename filter to subfolder names as well
...
PR #20902 .
Closes #14480 .
2024-06-12 09:02:10 +03:00
Chocobo1
648dd9988d
WebUI: unify comment format
2024-06-11 02:17:10 +08:00
BurningMop
dd34c85884
Add optional headers to search request
...
PR #20923 .
2024-06-09 14:03:39 +08:00
Chocobo1
1903ddada1
Add required manifest field
...
https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests#assemblyidentity
PR #20907 .
2024-06-09 14:02:53 +08:00
Chocobo1
bf4e0df386
WebUI: unify curly bracket usage
2024-06-07 02:51:35 +08:00
dependabot[bot]
b9a1bbbb8a
GHA CI: Bump Github Actions versions
...
PR #20913 .
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-06-04 14:15:44 +08:00
Chocobo1
41d8f473b7
Avoid redundant lookup
...
PR #20890 .
2024-05-30 19:35:58 +08:00
Chocobo1
4155d4660f
Merge pull request #20888 from Chocobo1/cookie
...
Simplify HTTP cookie code
2024-05-30 19:35:40 +08:00
thalieht
455a04b68e
Increase default height of 'Share ratio limit' dialog in WebUI
...
PR #20866 .
2024-05-29 12:30:28 +08:00
Chocobo1
4c57318e89
Avoid creating redundant temporary file list
...
PR #20863 .
2024-05-29 12:29:48 +08:00
Chocobo1
d52995015e
Merge pull request #20828 from Chocobo1/js_quotes
...
WebUI: enforce coding styles
2024-05-29 01:39:13 +08:00
Chocobo1
b1b6685663
Use Qt built-in methods
2024-05-27 23:52:39 +08:00
Chocobo1
534615373e
Use simpler conversion
...
The cookie value can only contain ASCII characters.
2024-05-27 23:40:40 +08:00
Chocobo1
1ba69be869
WebUI: add missing break
2024-05-27 23:02:19 +08:00
Chocobo1
c54750469e
WebUI: don't auto infer radix
parameter
2024-05-27 23:00:51 +08:00
Chocobo1
3ebd15d408
WebUI: simplify code
2024-05-27 23:00:30 +08:00
Chocobo1
64dfb7e122
WebUI: iterate over own properties only
2024-05-27 23:00:03 +08:00
Chocobo1
b07afa3ea9
WebUI: use assignment operator shorthand
2024-05-27 22:58:47 +08:00
Chocobo1
24a1537cdd
WebUI: prefer arrow function in callbacks
2024-05-27 22:57:28 +08:00
Chocobo1
55bff4f07a
WebUI: enforce usage of const
whenever possible
2024-05-27 22:56:51 +08:00
Chocobo1
cb90b6769c
WebUI: enforce string quotes coding style
2024-05-27 22:50:17 +08:00
Thomas Piccirello
6d073771ca
WebUI: Restore previously used tab on load
...
This PR restores the users previously used tab (Transfer, Search, RSS, etc.) when the WebUI is reloaded.
PR #20705 .
2024-05-27 20:51:02 +08:00
Chocobo1
a126a7b493
Adjust user agent version automatically
...
The version calculation is an estimation and it will drift off after some time. Hopefully the
drift offset won't be noticeable within a few years.
Also switched the user agent to Windows 10 which has the largest portion of users to avoid
standing out from the crowd.
PR #20864 .
2024-05-20 13:50:18 +08:00
Vladimir Golovnev
b8a774f1fb
Improve structure of AddNewTorrentDialog code
...
Restructures the code to separate the basic logic from the logic that depends on the parameters and properties of the torrent being added.
Also fixes "Never show again" checkbox functionality.
PR #20848 .
2024-05-18 10:38:49 +03:00
Vladimir Golovnev
e09a871ca3
Revamp alerts handling
...
PR #20854 .
2024-05-18 10:36:08 +03:00
Chocobo1
04154ebb76
GHA CI: don't use hardcoded path
...
PR #20763 .
2024-05-17 01:44:43 +08:00
Vladimir Golovnev
fb796ec595
Don't hide member variables when storing current speeds
...
PR #20847 .
Closes #20843 .
2024-05-16 08:17:51 +03:00
Vladimir Golovnev
00ca209ab9
Allow to rearrange search tabs
...
PR #20842 .
Closes #20841 .
2024-05-16 08:16:54 +03:00
Vladimir Golovnev
4d8713ce11
WebAPI: Add a way to download .torrent file using search plugin
...
* Simplify nova2dl script
* Use search engine name instead of site URL (like nova2 does)
* Add a way to download torrent using search plugin
PR #20824 .
2024-05-15 08:47:40 +03:00
Hanabishi
2c47f09d7a
Sanitize peer client names
...
PR #20788 .
Closes #20010 .
2024-05-11 18:46:11 +03:00
Chocobo1
a19ef58400
Merge pull request #20800 from Chocobo1/eslint_v9
...
WebUI: migrate to ESLint v9
2024-05-11 13:56:08 +08:00
cayenne17
21a4ab6bac
Update User-Agent
...
PR #20801 .
2024-05-10 21:47:55 +03:00
Vladimir Golovnev
2b728b3bc0
Add an option to set BitTorrent session shutdown timeout
...
PR #20797 .
2024-05-07 13:15:39 +03:00
Chocobo1
6231208ddf
WebUI: add linting for regular expressions
...
And applies to following suggestions:
* Use case-insensitive flag `i`
* Use `\w` for matching characters
* Sort the regex flags
2024-05-04 15:01:03 +08:00
Chocobo1
e2d6cd31b2
WebUI: migrate to ESLint v9
2024-05-04 14:59:45 +08:00
Chocobo1
79eb7b8e38
WebUI: migrate ESLint rules
...
https://eslint.style/guide/migration
PR #20727 .
2024-05-03 21:03:08 +08:00
Vladimir Golovnev
8ef7d3ec9a
Add ability to pause/resume entire BitTorrent session
...
PR #20757 .
Closes #18993 .
2024-05-03 09:02:50 +03:00
ManiMatter
05416458db
WebAPI: Provide "isPrivate" flag via "torrents/info" endpoint
...
PR #20686 .
2024-05-02 13:04:03 +03:00
Vladislav Grechannik
cd3982cf3c
Include missing header
...
PR #20776 .
Closes #20774 .
2024-05-01 12:37:22 +03:00
Paweł Kotiuk
a1af077889
Add API for listing directory content
...
PR #20314 .
2024-04-29 21:13:32 +03:00
ducalex
42b87963fd
Add date column to the built-in search engine
...
Adds a date column to the built-in search engine to show when a torrent was published/uploaded on the engine site.
When a plugin wants to show a date, it can now add a `pub_date` entry to its result dict. The value format is a unix timestamp (an integer representing seconds since epoch).
Plugins with no date support will keep working.
PR #20703 .
2024-04-29 21:10:24 +03:00
Chocobo1
775b38079f
Avoid repetitive function calls
...
PR #20764 .
2024-04-29 13:05:05 +08:00
Chocobo1
d65d8558d6
Merge pull request #20728 from Chocobo1/webui_state
...
WebUI: clean up code
2024-04-29 12:58:14 +08:00
Chocobo1
b1175b60e1
Use proper comparison for None
...
PR #20762 .
2024-04-29 12:47:27 +08:00
luzpaz
d3315f7cc7
WebUI: Fix inconsistent naming between (Done/Progress) column
...
Closes #20602 .
PR #20700 .
2024-04-27 14:43:47 +08:00
Chocobo1
321d7e5b17
Adjust tracker tier when adding additional trackers
...
Closes #20102 .
PR #20729 .
2024-04-25 12:18:30 +08:00
milahu
4ac586c896
Lazy load search plugins
...
PR #20553 .
2024-04-24 22:15:22 +03:00
Vladimir Golovnev
ca71c186e0
Don't forget to resume "missing files" torrent when rechecking
...
PR #20747 .
2024-04-24 09:15:19 +03:00
xavier2k6
ddb0ff29e2
GHA CI: Use Qt 6.7.0 on Windows and macOS
...
PR #20431 .
2024-04-22 15:21:16 +03:00
xavier2k6
6c57fad0cd
GHA CI: Bump Boost version to 1.85.0
...
PR #20723 .
2024-04-22 13:39:58 +08:00
Chocobo1
1c7ecb7371
WebUI: migrate away from MooTools deprecated functions
...
https://mootools.net/core/docs/1.6.0/Core/Core#Deprecated-Functions
2024-04-21 16:55:30 +08:00
Chocobo1
4945ed576a
WebUI: enforce strict comparison operators
2024-04-21 16:44:15 +08:00
xavier2k6
c6f4e95b7d
Raise minimum libtorrent 2 version to 2.0.10
...
PR #20447 .
2024-04-21 09:52:51 +03:00
Vladimir Golovnev
fc3953dbaa
Don't overwrite stored layout of main window with incorrect one
...
Prevents overwriting of the stored layout in case the main window was hidden at startup and
has not been shown since, because incorrect dimensions can be provided by it in this case.
PR #20725 .
Closes #20720 .
2024-04-20 11:10:31 +03:00
Chocobo1
75e2ae2fa0
WebUI: clean up code
...
Use proper function for finding match.
Use strict comparison operators.
2024-04-19 16:13:27 +08:00
Vladimir Golovnev
7310eec74e
Focus on Download button if torrent link retrieved from the clipboard
...
PR #20716 .
Closes #20682 .
2024-04-19 09:21:52 +03:00
Vladimir Golovnev
3e0fd01604
Add extra offset for dialog frame
...
PR #20715 .
Closes #20609 .
2024-04-18 09:04:06 +03:00
Vladimir Golovnev
ace5286402
Prevent invalid status filter index from being used
...
PR #20714 .
Closes #20701 .
2024-04-18 07:59:24 +03:00
Chocobo1
d7cded54e4
WebUI: enforce parentheses around operators
...
PR #20696 .
2024-04-15 12:50:07 +08:00
Chocobo1
6c82d5e305
WebUI: fix wrong peer number
...
PR #20695 .
2024-04-15 12:42:47 +08:00
Chocobo1
c036313adf
Update screenshot URL in appstream metadata
...
Those URL are pointing to our git repo:
723c0df824/src/img/screenshots/linux
PR #20694 .
2024-04-15 12:17:40 +08:00
Thomas Piccirello
29f0adf215
WebUI: Restore search tabs on load
...
This PR restores searches previously performed in the same browser (via local storage).
PR #20637 .
2024-04-15 12:07:15 +08:00
Thomas Piccirello
e697d40382
WebUI: Improve table scrolling and selection on mobile
...
This PR improves touch interaction with table rows that have a context menu. Previously, those rows couldn't be selected or scrolled on mobile. Additionally, this PR modifies the context menu to appear when the user removes their finger/touch, rather than the current behavior of appearing mid-touch. This allows us to only display the context menu if the user's finger remains on the same element, which should significantly reduce erroneous context menu triggering.
Closes #19819 .
Closes #19820 ,
Closes #19823 .
PR #20639 .
2024-04-09 14:33:10 +08:00
Chocobo1
01cc4ea90b
GHA CI: revise packaging failure detection
...
Fix up 1d221c22e4
.
PR #20664 .
2024-04-09 14:22:05 +08:00
Chocobo1
d407e954d1
GHA CI: lock to ESLint v8
...
For unknown reasons, ESLint v9 doesn't work correctly. Migration to ESLint v9 will be done
later when it is stable enough.
PR #20665 .
2024-04-09 14:12:30 +08:00
Vladimir Golovnev
f085f8c076
Fix Enter key behavior in Add new torrent dialog
...
Prevent inappropriate default completer from being used by path edit.
PR #20670 .
Closes #20663 .
2024-04-08 16:02:26 +03:00
Chocobo1
92ce507151
WebUI: Allow to specify login page language via query parameter
...
There were a few reports that the user has messed up their browser's language and this PR gives an escape hatch in case the user is unable to configure the browser's language for various reasons.
Example for choosing French: http://127.0.0.1:8080/?lang=fr
PR #20591 .
2024-04-06 15:13:58 +08:00
Vladimir Golovnev
67dfce7437
WebAPI: return correct value for queued uploading state
...
PR #20651 .
Closes #20648 .
2024-04-04 08:41:25 +03:00
dependabot[bot]
e4aad461c7
GHA CI: Bump Github Actions versions
...
PR #20652 .
---
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 13:00:50 +08:00
Aliaksei Urbanski
f37d0c486c
Add the Popularity metric
...
PR #20180 .
2024-04-01 21:23:08 +03:00
Thomas Piccirello
8e6515be2c
WebUI: Fix error when category doesn't exist
...
This prevents hitting a TypeError when the category stored in localstorage does not exist. The behavior for a nonexistent category now mirrors that of a nonexistent tag or filter - no option is selected and no torrents are shown.
Closes #20623 .
PR #20638 .
2024-04-01 20:15:30 +08:00
Chocobo1
1d221c22e4
GHA CI: retry action on failure
...
PR #20641 .
2024-04-01 19:59:26 +08:00
Chocobo1
2fe91a6c8f
GHA CI: only store cache for master branch
...
Also set a lower cache limit for macOS to prevent cache thrashing. Previously the default was 5G.
PR #20640 .
2024-04-01 19:36:45 +08:00
Chocobo1
90383567b2
Revise Tracker related classes
...
And also rename them.
PR #20489 .
2024-04-01 19:17:35 +08:00
Thomas Piccirello
4967f977c5
WebUI: Improve accuracy of trackers list
...
This PR fixes various accounting issues with the trackers list. Removing a torrent would not update the trackers list, nor would removing a tracker from a torrent. And removing a tracker with a shared host but unique url (e.g. example.com/1 and example.com/2) would erroneously remove the tracker's host from the list.
Closes #20053 .
Closes #20054 .
PR #20601 .
2024-03-29 15:43:49 +08:00
Thomas Piccirello
eb9e98a4b3
WebUI: Add support for running concurrent searches
...
This PR adds support for running multiple concurrent searches in the Web UI. This is already supported in the GUI as well as by the Web API. Behavior mimics the GUI as closely as possible.
All filters and sorting are preserved per-tab, allowing you to apply unique filters and sorts to each of your searches. Row selection is also preserved across tab navigation.
Closes #12840 .
PR #20593 .
2024-03-29 15:05:43 +08:00
Vladimir Golovnev
f5cac13979
Prevent app from being closed when disabling system tray icon
...
PR #20627 .
Closes #20604 .
2024-03-29 09:38:54 +03:00
Chocobo1
f20467889d
Improve AppStream metadata
...
PR #20606 .
2024-03-26 22:06:57 +08:00
Vladimir Golovnev
5e8b9df859
Revamp system tray icon menu handling
...
Update system tray icon menu without re-create it.
PR #20597 .
Closes #20516 .
2024-03-26 15:24:43 +03:00
Thomas Piccirello
489bacd766
WebUI: Conditionally show filters sidebar
...
This fixes a bug where the filters sidebar would always be displayed when switching back to the Transfers tab.
Closes #19257 .
PR #20600 .
2024-03-26 12:41:47 +08:00
thalieht
5d1c249606
Use Start/Stop instead of Resume/Pause
...
PR #20532 .
---------
Co-authored-by: Vladimir Golovnev (Glassez) <glassez@yandex.ru >
2024-03-25 19:11:04 +03:00
Chocobo1
f2d6129db3
Merge pull request #20590 from Chocobo1/py
...
GHA CI: check python scripts
2024-03-25 13:42:09 +08:00
HamletDuFromage
5c67c5a77d
Add regex toggle for WebUI torrent filtering
...
PR #20566 .
2024-03-24 13:44:57 +08:00
Vladimir Golovnev
ce013f132f
Refresh custom colors once color scheme is changed
...
PR #20588 .
2024-03-23 11:32:07 +03:00
Chocobo1
abcf1e076e
Remove unused script
2024-03-23 13:55:58 +08:00
Chocobo1
47c38e8d91
Apply formatting
2024-03-23 13:55:58 +08:00
Chocobo1
34d19e5714
GHA CI: check python scripts
2024-03-23 13:54:57 +08:00
Vladimir Golovnev
25b7972f88
Initialize completer for file system path widget on demand
...
PR #20586 .
2024-03-23 08:18:36 +03:00
Vladimir Golovnev
845f9a821e
Use better icons for RSS articles ( #20587 )
2024-03-22 18:46:25 +03:00
Vladimir Golovnev
b489262f51
Add workaround to refresh styled controls once color scheme is changed
...
PR #20569 .
2024-03-21 11:14:41 +03:00
sledgehammer999
a5681f72bc
Bump to v5.0.0beta1
2024-03-19 02:44:55 +02:00
sledgehammer999
9e569f1a70
Update Changelog
2024-03-19 02:23:13 +02:00
foxi69
9d3c314ac0
NSIS: Update Hungarian translation
...
PR #20565
2024-03-19 01:56:05 +02:00
Chocobo1
931de85ab5
Merge pull request #20520 from Chocobo1/i18n
...
Use client side translation for public login page
2024-03-18 13:23:44 +08:00
sledgehammer999
6a82cb1af6
Update WebUI translations from old format
2024-03-16 01:20:11 +08:00
sledgehammer999
f8ae8f419d
Add helper scripts to manage WebUI translations
2024-03-16 01:20:11 +08:00
Chocobo1
ac91c1348b
Use client side translation for public login page
...
The translation strings are meant to be synced from Transifex.
2024-03-16 01:20:11 +08:00
MarcDrieu
d7aaf80744
Update french.nsh ( #20545 )
...
Updated a couple of strings with more accurate wording.
PR #20545
2024-03-14 22:46:51 +02:00
tehcneko
50caa231f7
Fix invisible tray icon on Plasma 6 in Linux
...
PR #20529 .
Closes #20367 .
---------
Co-authored-by: thalieht <thalieht@users.noreply.github.com >
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
2024-03-13 10:24:08 +03:00
Vladimir Golovnev
d5e41bf679
Allow torrents to override default share limit action
...
PR #20528 .
2024-03-12 14:08:59 +03:00
Chocobo1
773cb1e55d
Ensure the profile path is pointing to a directory
...
Closes #20513 .
PR #20519 .
2024-03-11 13:02:51 +08:00
Chocobo1
0967bdc715
Switch to lightweight function for filtering data
...
We can use this function since the columns doesn't change.
PR #20518 .
2024-03-11 12:54:38 +08:00
Thomas Piccirello
c06817f4eb
Add button for sending test email
...
This allows for easily testing whether the provided email configuration is correct.
PR #20488 .
2024-03-08 21:51:44 +08:00
Vladimir Golovnev
1702b6c891
Correctly handle share limits in torrent options dialog
...
PR #20485 .
2024-03-04 11:54:10 +03:00
Loris Laera
f65af03c67
NSIS: Add Luxembourgish translation
...
PR #19943
---------
Co-authored-by: sledgehammer999 <hammered999@gmail.com >
2024-03-04 09:04:48 +02:00
sledgehammer999
a567f8b600
Update gitignore for vscode ( #20494 )
...
PR #20494
2024-03-03 13:51:06 +02:00
Chocobo1
71f1e6df59
GHA CI: disable security hardening flag
...
OpenSSL isn't compatible with `/guard:cf` flag so we omit it for now.
Related: https://github.com/openssl/openssl/issues/22554
Closes #20479 .
PR #20487 .
2024-03-03 13:49:07 +08:00
dependabot[bot]
896f5fe729
GHA CI: Bump action version
...
PR #20486 .
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-03 13:33:07 +08:00
sledgehammer999
8a1bc8e5fd
Bump copyright year
2024-03-03 06:02:40 +02:00
sledgehammer999
6964132475
Sync translations from Transifex and run lupdate
2024-03-03 05:53:09 +02:00
JayRet
f265eb0166
Improve WebUI login behavior
...
Closes #20441 .
PR #20442 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-03-02 14:47:02 +08:00
Vladimir Golovnev
0114610a40
Provide torrent creation feature via WebAPI
...
PR #20366 .
Closes #5614 .
Co-authored-by: Radu Carpa <radu.carpa@cern.ch >
2024-02-27 15:57:16 +03:00
Chocobo1
15697f904d
Add a small delay before processing the key input of search boxes
...
PR #20465 .
Closes #20025 .
Closes #20235 .
2024-02-27 12:57:55 +08:00
Chocobo1
46e8ee50c8
Allow to set custom suffix to window title
...
This is to allow users to differentiate qbt instances when there are multiple running.
PR #20429 .
Closes #17905 .
2024-02-27 12:41:12 +08:00
Chocobo1
364bcf73ee
Write format result directly to file
...
And not print to stdout.
2024-02-25 20:17:56 +08:00
Chocobo1
031fa6183c
Add viewport meta tag
...
This helps displaying WebUI on mobile devices. Note that WebUI aren't
optimized for mobile yet.
2024-02-25 20:17:56 +08:00
Chocobo1
66c34ddb6e
Avoid leaking user locale preference to the web
2024-02-25 20:17:56 +08:00
Chocobo1
3f2b4afc21
Add description meta tag
2024-02-25 20:17:56 +08:00
Chocobo1
e1fa7e01c6
Remove unneeded polyfill
...
All browsers already have native support for it.
2024-02-25 20:17:56 +08:00
Chocobo1
9192c988ed
Warp script in anonymous scope (IIFE)
...
It was erroneously removed in 9b64d50660
.
2024-02-25 20:17:56 +08:00
Chocobo1
cffd74b62a
Add support for SSL torrents
...
The 'SSL torrent' feature is not standardized. I.e. there are no BEP (BitTorrent Enhancement Proposals) associated with it, so we do not greatly encourage its usage as it will only work with libtorrent clients and derivatives. It will not work with other torrent clients that do not support the libtorrent specific implementation.
This PR aims to provide minimal support for those who need SSL torrents. Furthermore, it is intended that there will be no UI support (nor indication) of adding/creating SSL torrents.
* Prerequisites:
I omit the instructions of creating those files as the intended audience (experts & advanced users) should have no problem with it. All files are as follow:
1. Root (torrent publisher) certificate
2. Root private key
3. A .torrent file created with root certificate
5. Peer certificate (signed by the root certificate)
6. Peer private key
7. Diffie-Hellman parameters file
All files are stored in .pem format.
* Enable SSL torrent protocol in qbt
There are 2 hidden keys to put in qbt config file, under `[BitTorrent]` section:
1. `Session\SSL\Enabled`: set it to `true`.
2. `Session\SSL\Port`: set it to some unused port or omit the key entirely to let qbt pick one for you.
* Add an SSL torrent to qbt
The only way of adding an SSL torrent is via WebAPI. The `/api/v2/torrents/add` endpoint will support 3 additional parameters. You must provide them for an SSL torrent.
1. `ssl_certificate`: Contents of the peer certificate file (in PEM format).
2. `ssl_private_key`: Contents of the peer private key file.
3. `ssl_dh_params`: Contents of the Diffie-Hellman parameters file.
* Change the SSL parameters to a torrent
In case you provided wrong SSL parameters when adding a torrent, there is a new endpoint `/api/v2/torrents/setSSLParameters` that you can update the SSL parameters. The parameters (`ssl_*`) are the same as `/api/v2/torrents/add` endpoint.
* Query the SSL parameters of a torrent
There is a new endpoint `/api/v2/torrents/SSLParameters` that you can query the SSL parameters of a torrent.
References:
* https://www.libtorrent.org/manual-ref.html#ssl-torrents
* https://blog.libtorrent.org/2012/01/bittorrent-over-ssl/
PR #20338 .
---------
Co-authored-by: Radu Carpa <radu.carpa@cern.ch >
2024-02-25 19:58:58 +08:00
xavier2k6
c6ee0ff017
GHA CI: Bump libtorrent 2 version to 2.0.10
...
PR #20455 .
2024-02-25 19:30:20 +08:00
sledgehammer999
dc501c39be
Merge pull request #20444 from sledgehammer999/sync_changelog
...
Consolidate all the Changelog entries into master
2024-02-24 13:31:32 +02:00
Vladimir Golovnev
7786e1b084
Improve received metadata handling
...
Avoid blocking call to libtorrent when accessing underlying torrent_info object.
PR #20424 .
2024-02-21 17:25:54 +03:00
sledgehammer999
80dea08328
Consolidate all the Changelog entries into master
2024-02-18 20:26:10 +02:00
Chocobo1
bb8a012b1c
Revise cache internals
...
Now cache initialization and `get()` is less costly to use and it shifts the weight to `set()`.
PR #20430 .
2024-02-18 14:16:00 +08:00
Chocobo1
63c9b6388e
Rename to WebUI
...
PR #20428 .
2024-02-18 13:58:44 +08:00
Chocobo1
3d24a4e0f7
Specify standards conformance mode to MSVC
...
https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170
PR #20427 .
2024-02-18 13:03:00 +08:00
Vladimir Golovnev
f04edd555f
Open "lock" files for the same folder only once
...
PR #20414 .
Closes #12203 .
2024-02-15 08:42:44 +03:00
Chocobo1
e31b553807
Stop sync requests after qbt has been shutdown
2024-02-14 03:38:09 +08:00
Chocobo1
a9741bb203
Defer loading of js code on landing pages
...
So that DOM tree can be processed earlier.
2024-02-14 03:38:09 +08:00
Chocobo1
67e0a2de44
Combine script tags
2024-02-14 03:38:09 +08:00
Chocobo1
1afb3ff433
Add support for dark theme
2024-02-14 03:38:09 +08:00
Chocobo1
16a91f26fb
Simplify code
2024-02-14 03:38:09 +08:00
Chocobo1
963a7faab8
Migrate to Cache for commonly used data
...
Previously it was abusing the `localStorage` and now it is storing data in memory (per session).
2024-02-14 03:38:09 +08:00
Chocobo1
d06d5b923a
Cache program preferences
...
So that qbt can just use the data from memory which is vastly faster than waiting for a response
over the net.
2024-02-14 03:38:09 +08:00
xavier2k6
6d68ab4dae
GHA CI: Bump boost dependency and revise install method
...
PR #20371 .
2024-02-14 03:36:47 +08:00
Vladimir Golovnev
60bb819e2e
Allow WebAPI to specify filename and mime type for result data
...
PR #20377 .
2024-02-12 09:07:09 +03:00
Chocobo1
8ef99b336c
Remove 'no cache' directive for POST requests
...
The response for POST request is only cachable under a specific condition and
qbt doesn't use it.
https://developer.mozilla.org/en-US/docs/Glossary/Cacheable
2024-02-11 23:28:44 +08:00
Chocobo1
f7e9ff0fb0
Clean up functions in global scope
2024-02-11 23:28:44 +08:00
Chocobo1
9b64d50660
Conditionally hide settings in Advanced Options
2024-02-11 23:28:44 +08:00
Chocobo1
5fe5c333b5
Rename file
2024-02-11 23:28:44 +08:00
Chocobo1
49f819ef78
Use correct type for each option
2024-02-11 23:28:44 +08:00
Vladimir Golovnev
2755190d8e
Link PowrProf library to qBittorrent base
...
PR #20387 .
2024-02-10 11:59:14 +03:00
Chocobo1
f87ea1b5d3
Sort languages combobox by language code
...
* Avoid creating redundant file lists
* Sort languages combobox by language code
PR #20365 .
2024-02-05 13:44:18 +08:00
Vladimir Golovnev
88a4990435
Don't use iterator after erase
...
PR #20357 .
Closes #20356 .
2024-02-03 08:10:14 +03:00
Chocobo1
9bfb447dd3
Improve WebUI responsiveness
...
This migrates Category and Tag to `Map` type from `Object` type. And done some algorithm and data structure optimization.
PR #20297 .
2024-01-27 22:04:39 +08:00
Vladimir Golovnev
d652a10495
Add seeding limits to RSS and Watched folders options UI
...
PR #20324 .
Closes #19605 .
2024-01-27 14:30:27 +03:00
jNullj
df41940ebc
Fix typo in preferences.html
...
PR #20326 .
2024-01-26 10:58:57 +03:00
Chocobo1
94e80d01a8
Clean up code
...
* Use compiler generated comparison function
* Use designated initializers
* Convert to proper type
* Use reference
* Remove redundant text
The `msg` already contain the text `Reason:` so it isn't needed.
PR #20312 .
2024-01-25 02:56:12 +08:00
Vladimir Golovnev
bab9c15913
Revamp handling of getting resume data from libtorrent
...
PR #20310 .
2024-01-24 15:40:08 +03:00
Chocobo1
31d456c43b
Set specific exit codes when NSIS installer failed in silent mode
...
* Set specific exit codes when NSIS installer failed in silent mode
Related: https://github.com/qbittorrent/qBittorrent/issues/18115#issuecomment-1789404780
* GHA CI: treat NSIS warnings as errors
PR #20296 .
2024-01-22 14:01:15 +08:00
jNullj
c5d7b62473
Delay subsequent requests to the same host
...
PR #19801 .
Closes #8350 .
2024-01-19 20:38:16 +03:00
Vladimir Golovnev
8ec3db1807
Change "metadata received" stop condition behavior
...
PR #20283 .
Closes #20122 .
2024-01-19 20:34:40 +03:00
Vladimir Golovnev
05572a7317
Add missing comparison case
...
Closes #20290 .
2024-01-19 10:13:34 +03:00
Chocobo1
00372dd559
Use natural sorting in WebUI
...
Also change case sensitivity to the default of 'sort' mode.
PR #20264 .
2024-01-15 13:12:36 +08:00
Chocobo1
6918316a3d
Switch to new method for checking own properties
...
The new method is an intended replacement for previous one as suggested by MDN:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn
2024-01-15 13:12:12 +08:00
Chocobo1
2edb1a0765
Improve WebUI responsiveness
...
Related: #20249 .
2024-01-15 13:12:12 +08:00
sledgehammer999
582e4dcb59
Sync translations from Transifex and run lupdate
2024-01-15 00:28:06 +02:00
Vladimir Golovnev
14513d051d
Don't stuck loading on mismatching info-hashes in resume data
...
PR #20262 .
Closes #20251 .
2024-01-13 18:08:16 +03:00
Vladimir Golovnev
97c0abcbf0
Improve Download Manager subsystem
...
PR #20257 .
2024-01-13 08:55:40 +03:00
Chocobo1
ad22237a2f
Provide safe helper for converting to 'seconds since epoch'
2024-01-08 15:13:02 +08:00
Chocobo1
8bdb83d973
Use initialization form for variable
2024-01-08 15:13:02 +08:00
Chocobo1
54bcabeca4
Leave the fields empty when value is invalid
...
This follows GUI behavior.
2024-01-08 15:13:02 +08:00
Chocobo1
114652205c
Fix wrong time stamp values in WebAPI
...
The wrong values are observed when encountered an invalid QDateTime data.
2024-01-08 15:13:02 +08:00
Chocobo1
5b3b56c918
Improve natural sort algorithm
...
1. Use proper case folding function instead of `toLower()`.
2. Use locale aware comparison instead of comparing unicode code points.
Now `a` comes before `A` which is the same as the result from QCollator. A nice side effect
is now it properly compares locale specific characters (for example `C`, `Č`).
3. Improve testing. Now the test is runnable and stable on all platforms.
PR #20208 .
2024-01-08 14:47:00 +08:00
David
e69f857828
Allow to remember torrent content files deletion in WebUI
...
Add a 'remember choice' button to the WebUI Torrent Deletion dialog that sets the default file deletion setting. The setting is shared with GUI, so if you set it in WebUI and open the Qt app, the 'delete files' checkbox will match WebUI (checked or unchecked).
PR #20150 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-01-08 14:39:51 +08:00
Vladimir Golovnev
0b6d785e87
Show URL seeds for torrents that have no metadata
...
PR #20233 .
Closes #20198 .
2024-01-06 15:51:19 +03:00
Vladimir Golovnev
f3d45327e1
Apply inactive seeding time limit set on new torrents
...
PR #20231 .
Closes #20224 .
2024-01-05 18:25:29 +03:00
Vladimir Golovnev
9bf7f3b181
Show correctly decoded filename in log
...
PR #20214 .
Closes #20186 .
2024-01-02 16:03:12 +03:00
Chocobo1
d5bf0358cb
Revise conditional for when to use QCollator
...
According to https://doc.qt.io/qt-6/qcollator.html#posix-fallback-implementation
The 'POSIX fallback implementation' is only used when ICU is not available. So the correct way is to detect ICU directly and not depend on the OS. The exceptions are macOS and Windows since they support the required functionalities natively.
Closes #20205 .
PR #20207 .
2024-01-02 16:58:12 +08:00
Chocobo1
fc56fdade7
Specify a locale if none is set
...
Sometimes users had not properly configured their system locale and thus
qbt will specify a default locale just in case.
Closes #16127 .
Closes #19609 .
Closes #19834 .
PR #20203 .
2024-01-02 16:49:40 +08:00
dependabot[bot]
293a2efca7
GHA CI: Bump Github Actions versions
...
PR #20220 .
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 16:23:09 +08:00
Chocobo1
8bd604f633
GHA CI: add fallback URL for boost library
...
Boost main download site jfrog is unavailable at the time of writing.
Related: https://github.com/boostorg/boost/issues/842
PR #20218 .
2024-01-02 15:54:49 +08:00
Allan Laal
fcd16d56e2
Remove old build instructions from README.md
...
PR #20200 .
2024-01-01 14:15:16 +03:00
Chocobo1
be5bf9a138
GHA CI: ditch unusable build step
...
lukka/run-vcpkg v11.3 has deliberately changed to avoid writing outside of `GITHUB_WORKSPACE`
directory and this conflict with our usage. So ditch it and invoke vcpkg directly.
https://github.com/lukka/run-vcpkg/releases/tag/v11.3
PR #20202 .
2023-12-31 14:03:42 +08:00
thalieht
8dcc734df5
Enable Ctrl+F hotkey for more inputs
...
PR #20131 .
2023-12-19 20:52:47 +03:00
Chocobo1
4057972b2d
GHA CI: fix coverity build failure
...
PR #20129 .
2023-12-19 00:30:36 +08:00
Chocobo1
073ca4267c
Introduce helper function to join values as string
...
PR #20130 .
2023-12-19 00:08:37 +08:00
d47081
9d90141c29
Add dark theme for WebUI
...
Closes #19844 .
PR #19901 .
---------
Co-authored-by: d47081 <localhost>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2023-12-12 12:23:40 +08:00
Chocobo1
cc563d9f78
Fix incorrect usage of translation functions
...
PR #20107 .
2023-12-10 23:07:29 +08:00
Chocobo1
88ef8a51dd
Move local functions into anonymous namespace
...
PR #20106 .
2023-12-10 22:51:33 +08:00
Victor Chernyakin
0297f0f34b
Allow relative profile paths
...
PR #19558 .
2023-12-07 09:20:37 +03:00
Vladimir Golovnev
7a41192597
Add a class to represent a tag
...
PR #20028 .
Closes #19744 .
2023-12-05 17:01:09 +03:00
Chocobo1
65771d66fc
Update Readme for WebUI
...
PR #20077 .
2023-12-05 03:34:40 +08:00
Chocobo1
0dbac78e17
Revise legal notice
...
For GUI and non-daemon console, the legal notice won't ask for user acceptance anymore and only
provide an OK button (or Enter key in console) from now on.
For daemon mode, qbt will print the legal notice and continue to run. It will also notify user
to use command line option `--confirm-legal-notice` to suppress the message. The message will be
printed on every start up unless user specify the command line option once.
PR #20080 .
2023-12-05 03:13:37 +08:00
Chocobo1
608efc77e8
GHA CI: put libtorrent into its own directory
...
Previously it was rooted within qbt project and it caused some issues when running
'update translations' command.
2023-12-05 02:39:24 +08:00
Chocobo1
9ecb3874d8
GHA CI: use parallel downloading
...
Also clean up other commands.
2023-12-05 02:39:24 +08:00
Vladimir Golovnev
4ba8eaf4b4
Don't forget to store Stop condition
...
PR #20045 .
Closes #20043 .
2023-11-30 08:58:41 +03:00
Vladimir Golovnev
bfd3ce2fca
Don't forget to update filter items
...
PR #20030 .
Closes #19905 .
2023-11-29 07:05:46 +03:00
Chocobo1
86d5d13ce6
Migrate away from deprecated functions
...
Those functions are deprecated in mootools.
2023-11-27 13:29:54 +08:00
Chocobo1
8f230bc2e6
Remove unused icon provider singleton
2023-11-27 13:29:54 +08:00
Chocobo1
6d0ad62632
Remove Qt5 remnants
...
The env variable was added in 51cf05c1bd
And `QNetworkConfigurationManager` is deprecated in Qt5 and not available in Qt6.
https://doc.qt.io/qt-5.15/qnetworkconfigurationmanager.html
2023-11-27 13:29:54 +08:00
Chocobo1
c165131c3f
Disable stdout buffering for qbt-nox
...
The messages printed out via stdout is usually important and short so
there is no reason to buffer them.
Closes #19984 .
PR #20018 .
2023-11-26 15:36:50 +08:00
brvphoenix
9fde5634f1
Fix JS memory leak
...
The memory leak can be reproduced easily by opening two web pages of qbittorrent so that the WebUI pages are updated with full_update = true. If you have a large number of torrents, such as 100 torrents, you can observe a rapid increase in memory usage.
This is caused by the incorrect usage of dispose and empty methods in the js codes and none of them garbage collect the elements. If event listeners are added to the DOM elements, those DOM elements will not be garbage collected at all event if they are not referenced or out of the scope, which will cause memory leaks. If some elements are expected to be removed, the correct way is to use destroy method instead.
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-dispose-elementdispose
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-empty-elementempty
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-destroy-elementdestroy
Closes #19034 .
PR #19969 .
2023-11-25 13:50:45 +08:00
xavier2k6
19b88b7f4a
NSIS: Display correct Minimum Windows OS requirement
...
PR #20001 .
2023-11-24 11:43:18 +03:00
Vladimir Golovnev
60eaff9fcb
Simplify share ratio limits processing code
...
PR #19971 .
2023-11-21 22:14:27 +03:00
Vladimir Golovnev
c3adc90f7e
Show Add new torrent dialog on main window screen
...
PR #19963 .
Closes #19774 .
2023-11-21 22:13:22 +03:00
Chocobo1
6f7f418ec1
Improve error message when daemonizing failed
...
PR #19959 .
2023-11-21 14:05:32 +08:00
Chocobo1
137df132e8
GHA CI: link to C libraries dynamically
...
The C libraries is now updated by the OS and therefore there is no
reason to bundle static versions which might be outdated later.
Also enable Control Flow Guard for 3rd party libraries.
2023-11-21 13:49:10 +08:00
Chocobo1
b2c51a5b9e
GHA CI: use built-in ninja
...
`choco install` is slow: A basically simple download and extract operation takes 20sec compared to ~3sec
when done manually. So we add a conditional for it.
2023-11-21 13:49:10 +08:00
Chocobo1
e99a012bb4
GHA CI: only store compile cache on stable branches
...
Given the amount of PR and compile matrix, the CI cache size limit is
easy to hit. So for now on, only store compile cache for stable branches
to avoid cache thrashing.
2023-11-21 13:49:10 +08:00
Chocobo1
75feacb213
GHA CI: enable caching for Qt library
2023-11-21 13:49:10 +08:00
Vlad Zahorodnii
ce34245aaf
Fix parent widget of "Lock qBittorrent" submenu
...
The parent widget of lockMenu is going to be used to derive the
transient parent window. Currently the parent widget of lockMenu is
the main window, therefore the main window is also going to be the
transient parent for lockMenu's window handle.
In other words, the "View" menu and "Lock qBittorrent" menu are
going to be considered as siblings by the window manager even though
the latter is nested inside the former.
On platforms like wayland, such popup hierarchies are illegal, popups
must be properly nested. qtwayland works around it, but it also prints
warning messages.
This change makes lockMenu a child of the view menu so they are
properly nested from the window manager point of view.
PR #19967 .
Closes #19955 .
2023-11-20 20:39:21 +03:00
Vladimir Golovnev
ef06be63bf
Remove incorrect assertions
...
PR #19964 .
2023-11-20 20:37:55 +03:00
Vladimir Golovnev
a1c78a0455
Follow the parent category options
...
PR #19957 .
Closes #19941 .
2023-11-20 20:37:17 +03:00
avivmu
32fbacf615
NSIS: Add Hebrew translation
...
PR #19929 .
2023-11-20 12:07:26 +03:00
Vladimir Golovnev
75c638e2f8
Add timeouts to network requests
...
PR #19947 .
2023-11-18 09:55:33 +03:00
Chocobo1
298e4ba852
Revert "Set symbol visibility to hidden"
...
This negatively affect stacktrace functionality.
This reverts commit 50680a3d9b
.
PR #19942 .
2023-11-15 21:25:45 +08:00
Chocobo1
50680a3d9b
Set symbol visibility to hidden
...
This suppresses compiler warnings in GHA CI:
>ld: warning: direct access in function 'std::__1::__function::__func<libtorrent::storage_interface* (*)(libtorrent::storage_params const&, libtorrent::file_pool&), std::__1::allocator<libtorrent::storage_interface* (*)(libtorrent::storage_params const&, libtorrent::file_pool&)>, libtorrent::storage_interface* (libtorrent::storage_params const&, libtorrent::file_pool&)>::target(std::type_info const&) const' from file '/usr/local/lib/libtorrent-rasterbar.a(create_torrent.cpp.o)' to global weak symbol 'typeinfo name for libtorrent::storage_interface* (*)(libtorrent::storage_params const&, libtorrent::file_pool&)' from file 'src/base/libqbt_base.a(mocs_compilation.cpp.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
And also makes the binary a bit smaller.
https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/Code-Gen-Options.html#index-fvisibility
PR #19921 .
2023-11-14 14:07:04 +08:00
sledgehammer999
20bfd392ff
Sync translations from Transifex and run lupdate
2023-11-14 03:05:55 +02:00
Vladimir Golovnev
8cc8ffabb0
Improve Torrent files watcher internals
...
PR #19924 .
2023-11-13 14:27:04 +03:00
Vladimir Golovnev
2a20764d39
Add option to enable ".unwanted" folder
...
PR #19926 .
2023-11-13 14:25:27 +03:00
Chocobo1
9d6d3a30eb
Improve performance of getting torrent numbers via WebAPI
...
PR #19919 .
2023-11-12 17:12:02 +08:00
Chocobo1
b67da4bebe
Use natural sort for categories
...
PR #19920 .
2023-11-12 17:11:39 +08:00
sledgehammer999
8e39ac7efd
Merge pull request #19918 from sledgehammer999/webui_opt
...
WebUI: Minor optimizations to the login page
2023-11-11 16:00:26 +02:00
Vladimir Golovnev
fb497f3410
WebUI: Correctly set save path in RSS rules
...
PR #19916 .
Closes #19915 .
2023-11-11 16:04:13 +03:00
sledgehammer999
5d1d3fcf57
WebUI: Minor optimizations to the login page
2023-11-10 16:22:52 +02:00
Vladimir Golovnev
0f40fad74d
Drop WebUI default credentials
...
PR #19777 .
2023-11-10 07:18:42 +03:00
vik
28b5d7230c
WebUI: Remove extra ')' in QBT_TR macro
...
PR #19894 .
2023-11-08 08:32:25 +03:00
Vladimir Golovnev
c88bd7cb3f
Improve free disk space checking for WebAPI
...
Use single free disk space checker instance for all the web sessions.
PR #19855 .
Closes #19732 .
2023-11-07 12:44:27 +03:00
thalieht
30d9978c97
Add copy comment functionality to the torrent list's context menu
...
PR #19846 .
Closes #18890 .
2023-11-07 12:42:31 +03:00
xavier2k6
f067ab1692
WebUI: Add "Moving" filter to side panel
...
PR #19870 .
2023-11-06 16:23:59 +03:00
Chocobo1
bcfa251290
GHA CI: speed up boost installation
...
Here is some benchmark for various archive formats:
```
gz
0m11.384s
0m11.495s
0m11.193s
zip
0m14.159s
0m14.416s
0m13.917s
7z
0m17.569s
0m17.295s
0m18.496s
bz2
0m31.519s
0m28.885s
0m29.510s
```
Looking by compressed size, bz2 is the best. However its decompressing
speed is the slowest. bz2 and gz file size only differs by ~20MB
and this difference is neglectable given the network speed on
Github. So switch to gz format to speed up CI build time.
PR #19867 .
2023-11-06 14:10:51 +08:00
Chocobo1
f49507cb58
Exclude identical strings
...
This gives slightly smaller final binary.
https://doc.qt.io/qt-6/linguist-lrelease.html#lrelease-options
>If the translated text is the same as the source text, exclude the
>message.
2023-11-06 14:10:27 +08:00
Chocobo1
606c23d1a4
Use highest compression algorithm & level
...
https://doc.qt.io/qt-6/resources.html#compression
2023-11-06 14:10:27 +08:00
Chocobo1
7c0e3baf5f
Drop support for 32-bit Windows
...
PR #19865 .
2023-11-06 14:10:01 +08:00
Chocobo1
6cfbc02d8f
Expose Mark-of-the-Web setting in Options
2023-11-06 14:09:34 +08:00
Chocobo1
794cce38f3
Move some functions into Utils::OS namespace
...
Also remove `Utils::Misc::getUserIDString()` since there are no use of
it.
2023-11-06 14:09:34 +08:00
sledgehammer999
f20f009b78
Sync translations from Transifex and run lupdate
2023-11-05 21:57:07 +02:00
Vladimir Golovnev
e216a9cf53
Keep unwanted files in separate folder
...
PR #19842 .
Closes #13531 .
2023-11-05 11:00:06 +03:00
dependabot[bot]
7f57324655
GHA CI: Bump github actions versions
...
PR #19784
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2023-11-05 13:31:06 +08:00
xavier2k6
0186f44bf4
Use appropriate icon for "moving" torrents in transfer list
...
PR #19821 .
2023-11-04 12:09:47 +03:00
MartinKing01
6b53c57157
Fixed typo in the installer's hungarian translation
...
PR #19830 .
2023-11-03 10:30:50 +03:00
Bartu Özen
5db2c2c2be
WebUI: Fix incorrect subcategory sorting
...
PR #19833 .
Closes #19756 .
2023-11-02 11:35:42 +03:00
Vladimir Golovnev
cecbb44a03
Allow to request torrents count via WebAPI
...
PR #19831 .
Closes #19731 .
2023-11-02 11:12:32 +03:00
Vladimir Golovnev
4a20a1660e
Correctly handle changing save path of torrent w/o metadata
...
PR #19829 .
Closes #19824 .
2023-11-01 09:22:32 +03:00
Vladimir Golovnev
eddfaedc4d
Update size of selected files when selection is changed
...
PR #19827 .
Closes #19818 .
2023-11-01 09:21:39 +03:00
Vitaly Cheptsov
e42d3f38cc
Fix .torrent file upload on iPadOS
...
Mobile Safari on iOS does report `ios` platform, but iPadOS reports `mac`
instead. It is common sense to check for touch points when this happens
to differentiate Mac and iPad.
PR #19822 .
Closes #19057 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
2023-11-01 09:19:52 +03:00
Vladimir Golovnev
e7f38ec6ce
Don't forget to delete TorrentContentAdaptor instance
...
PR #19825 .
Closes #19816 .
2023-10-31 10:20:23 +03:00
iomezk
a689ccf798
Add missing main window icon
...
PR #19815 .
---
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
2023-10-31 10:18:35 +03:00
Chocobo1
7bd8f262db
Disable "limit virtual memory" routine on macOS
...
This has no effect on macOS.
https://stackoverflow.com/questions/3274385/how-to-limit-memory-of-a-os-x-program-ulimit-v-neither-m-are-working
Closes #18656 .
PR #19805 .
2023-10-29 17:41:38 +08:00
Chocobo1
98576dacae
Add support for quarantine on macOS
2023-10-29 17:41:08 +08:00
Chocobo1
b4642ca9d3
Use proper fallback value for Mark-of-the-Web URL
...
References:
https://chromium.googlesource.com/chromium/src.git/+/refs/heads/main/components/services/quarantine/quarantine_win.cc#211
https://hg.mozilla.org/mozilla-central/file/bd568ad893882d37f094d43cba3f62c78982cd05/toolkit/components/downloads/DownloadIntegration.sys.mjs#l537
2023-10-29 17:41:08 +08:00
Chocobo1
9b924c1931
Drop support for Windows < 10
2023-10-29 17:40:02 +08:00
Chocobo1
de2ba53f08
GHA CI: don't override cmake default CXXFLAGS
2023-10-29 17:40:02 +08:00
Chocobo1
031be41491
Bump Windows macro versions
2023-10-29 17:40:02 +08:00
Chocobo1
c671b7059e
Drop unsupported keys
2023-10-29 17:40:02 +08:00
Chocobo1
347124812e
Migrate away from deprecated functions
2023-10-29 17:40:02 +08:00
AgentConDier
bf95eb50da
WebUI: Fix duplicate scrollbar on Transfer List
...
The overlay scrollbars introduced in Firefox 100 take up no space,
breaking the existing overflow detection.
Add an extra check for `scrollHeight != clientHeight` which is able to
detect an overflow independent of scrollbar style.
PR #19779 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2023-10-29 17:39:30 +08:00
Vladimir Golovnev
ee9390fecd
Fix Enter key behavior when add new torrent
...
PR #19787 .
Closes #19760 .
2023-10-28 10:42:37 +03:00
Vladimir Golovnev
12674d2990
Prevent crash due to race condition when adding magnet link
...
PR #19792 .
2023-10-28 10:41:53 +03:00
Hanabishi
35e4b35d12
Make WebUI error non-fatal
...
* Do not exit the app when WebUI is failed for start.
* Print the error to stdout.
PR #19697 .
Closes #19695 .
Closes #19469 .
2023-10-24 13:32:21 +03:00
Vladimir Golovnev
6860c0d60d
Allow to set qBittorrent as default program
...
Register qBittorrent as possible default program for .torrent files and
magnet links during install.
PR #19446 .
2023-10-24 13:31:01 +03:00
Vladimir Golovnev
9de32a78f1
Improve NSIS scripts
...
* Improve NSIS scripts
* CI: Create installer for Windows build artifacts
PR #19728 .
2023-10-20 09:04:56 +03:00
Chocobo1
8d5022c715
Combine CSS properties
...
PR #19730 .
2023-10-19 12:07:36 +08:00
Vladimir Golovnev
921be09d8f
Git: Ignore all compiled translation files (*.qm) and DLLs
...
PR #19726 .
2023-10-18 10:53:55 +03:00
Vladimir Golovnev
116b05009d
CI: Use dynamic MSVC run-time library
...
Otherwise, there is a conflict of run-time libraries used (since Qt DLLs are still use dynamic MSVCRT) that leads to strange errors.
PR #19718 .
Closes #19701 .
2023-10-17 21:31:55 +03:00
Chocobo1
63499511cb
Forward declare "Add torrent manager" type
...
PR #19713 .
2023-10-16 14:52:09 +08:00
Chocobo1
413e7dd3c4
GHA CI: use proper git URL
...
The `repo` value will be used by `git clone` command and therefore the
URL should end with `.git` for repos on Github.
https://pre-commit.com/#repos-repo
PR #19710 .
2023-10-16 14:51:43 +08:00
Chocobo1
cba433823f
Improve .torrent associate handling
...
* Use correct pointer type in NSIS scripts
* Only remove qbt specific registry keys when uninstalling or disassociating
* Set .torrent Content Type when associating .torrent format
* Move ".torrent association" functions to Utils::OS class
PR #19709 .
2023-10-16 14:51:17 +08:00
Hanabishi
90e023f138
Fix WebUI greeting for qbittorrent-nox
...
* Check if WebUI is enabled and print an appropriate message otherwise.
* Print an actual runtime server scheme, address and port.
PR #19696 .
2023-10-16 14:48:32 +08:00
Nick Korotysh
e6ec3d0c2b
Display download/upload speed in dock icon
...
Implementation is based on Transmission sources.
Closes #2761
Closes #3671
Closes #7098
Closes #11350
Closes #18527
PR #19595
2023-10-16 14:45:24 +08:00
xavier2k6
d60f9c6142
GHA CI: Update numerous pre-commit revisions and fixed typo
...
Updated:
* pre-commit-hooks -> 4.5.0
* codespell -> 2.2.6
* typos -> 1.16.18
Note:
fixed a typo from previous "test run" of codespell 2.2.6 (L151) `dist\windows\config.nsi` - `unistaller` -> `uninstaller`
PR #19699 .
2023-10-14 03:57:08 +08:00
thalieht
a3888811f6
Add I2P settings to WebUI
...
PR #19700 .
2023-10-13 21:30:25 +03:00
Vladimir Golovnev
30189ae943
Allow to remove tracker from tracker filter widget menu
...
PR #19681 .
Closes #11100 .
2023-10-11 21:58:05 +03:00
Urek Mazino
ec90d169c0
Change author name
...
PR #19682 .
2023-10-09 10:21:29 +03:00
Vladimir Golovnev
3ca0939411
Add separate filter item for tracker errors
...
* Add separate filter item for tracker errors
* Rename "Error" filter item to "Other error"
PR #19672 .
2023-10-07 15:41:05 +03:00
Chocobo1
34f7b75f12
Add support for Mark-of-the-Web
...
https://redcanary.com/threat-detection-report/techniques/mark-of-the-web-bypass/
https://mikehadlow.blogspot.com/2011/07/detecting-and-changing-files-internet.html
https://textslashplain.com/2016/04/04/downloads-and-the-mark-of-the-web/
Closes #19648 .
PR #19675 .
2023-10-07 12:28:07 +08:00
Vladimir Golovnev
c051ee9409
Revamp tracker list widget
...
Internally redesign tracker list widget using Qt Model/View architecture.
Make tracker list sortable by any column.
PR #19633 .
Closes #261 .
2023-10-03 08:42:05 +03:00
Vladimir Golovnev
70b438e6d9
Improve GUI behavior when adding multiple torrents
...
Allows you to bring the main window to the front when one or more "Add new torrent" dialogs are open.
Also allows you to minimize/maximize the "Add new torrent" dialog.
PR #19670 .
Closes #17919 .
2023-10-03 08:40:25 +03:00
Vladimir Golovnev
73028f9930
Double check whether database needs to be updated
...
Prevents qBittorrent from being failed to start after torrents database metadata is corrupted by one of the first releases of v4.5.x series.
PR #19668 .
Closes #19622 .
2023-10-01 20:59:27 +03:00
Chocobo1
bda18ad29b
Add logging for some alerts
...
Specifically these alerts:
* i2p_alert
* session_error_alert
PR #19662 .
2023-09-30 11:43:44 +08:00
Chocobo1
0404ff9fb3
Migrate away from deprecated function
...
`QStyle::standardPixmap()` is deprecated.
PR #19660 .
2023-09-30 11:43:11 +08:00
Chocobo1
47439a7efd
Use reference when parsing URL query
...
PR #19659 .
2023-09-30 11:42:35 +08:00
Vladimir Golovnev
16111496ca
Improve handling the case when torrent enters/leaves trackerless state
...
PR #19658 .
2023-09-29 07:34:21 +03:00
Vladimir Golovnev
43e9403a4c
Filter out duplicate trackers when replacing
...
PR #19656 .
2023-09-29 07:33:19 +03:00
Vladimir Golovnev
7ab90cfc40
Don't forget to delete worker thread object
...
PR #19655 .
2023-09-29 07:32:09 +03:00
Chocobo1
b3fda76027
Allow users to specify Python executable path
...
Closes #19195 .
PR #19644 .
2023-09-28 01:27:48 +08:00
Chocobo1
529e49aea7
Fix performance regression
...
Follow up #19417 .
PR #19652 .
2023-09-28 01:26:57 +08:00
Vladimir Golovnev
46c1c9de65
Fix memory leaks
...
* Fixes a couple of memory leaks (although not dangerous in practice, since we are talking about objects with a lifetime up to the end of the application)
* Fixes heap use after free
PR #19650 .
Closes #19632 .
2023-09-27 08:00:20 +03:00
xavier2k6
cacae42e5e
Bump OpenSSL requirement to 3.0.2
...
Addresses:
* [CVE-2022-0778](https://github.com/advisories/GHSA-x3mh-jvjw-3xwx )
* [OpenSSL 1.1.1 End of Life](https://www.openssl.org/blog/blog/2023/09/11/eol-111/ )
PR #19638 .
2023-09-26 06:51:53 +03:00
Jay
f3b688217e
Show RSS feed title in HTML browser
...
RSS feed title will be displayed on top of the HTML browser when 'Unread' is selected in feed list.
PR #19604 .
2023-09-20 13:15:08 +03:00
Vladimir Golovnev
5e5c6aa7d8
Don't show outdated tracker message
...
PR #19616 .
Closes #19612 .
2023-09-20 13:12:54 +03:00
Chocobo1
88d32d57ab
GHA CI: enable run-time checks in C++ library
...
Those have minimal impact on run-time:
https://www.gnu.org/software/libc/manual/html_node/Source-Fortification.html
https://bugs.launchpad.net/kicad/+bug/1838448/comments/40
PR #19608 .
2023-09-19 00:25:02 +08:00
Priit Uring
1537f1e703
Sync flag icons with upstream
...
* Includes all 268 flags.
* Upstream commit `a7b7c3c55560cb39d96e70324876e1bb5b1c625b` - (Release v6.11.0)
* Flags source from (zip): https://github.com/lipis/flag-icons/releases/tag/v6.11.0
PR #19518 .
2023-09-18 19:13:16 +03:00
Trim21
30badbf36e
WebUI: fix missing error icon
...
PR #19610 .
Closes #18737 .
2023-09-18 16:42:03 +03:00
Vladimir Golovnev
5a334175a8
Use Fusion style on Windows 10+
...
PR #19051 .
2023-09-18 08:38:35 +03:00
Chocobo1
dcba9eda00
Expose 'DHT bootstrap nodes' setting
...
This allows user to select DHT bootstrap nodes. Or even use their own bootstrap nodes.
PR #19594 .
2023-09-14 13:57:34 +08:00
Vladimir Golovnev
633167a6da
Prevent torrent from being started unexpectedly
...
Improves "Metadata received" stop condition handling by "Add new torrent" dialog.
The problem is when "Metadata received" stop condition is set the metadata can still be received 0.1 sec before clicking the "OK" button so torrent is actually added with metadata and therefore it cannot respect "Metadata received" stop condition.
The solution is to uncheck "Start torrent" checkbox once metadata is received.
PR #19597 .
Closes #19583 .
2023-09-13 15:48:13 +03:00
Hanabishi
c394868f87
Implement Reannounce In
column
...
PR #19571 .
2023-09-09 08:12:43 +03:00
Vladimir Golovnev
2deb7eb3d9
Don't limit max RSS feed file size
...
PR #19576 .
2023-09-08 09:19:16 +03:00
Chocobo1
d19f4c2e1f
GHA CI: bump versions
2023-09-07 15:30:01 +08:00
Chocobo1
22f63468a2
GHA CI: introduce dependabot updates
...
https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
2023-09-07 15:30:01 +08:00
Chocobo1
479639162d
GHA CI: simplify vcpkg commands
2023-09-07 15:30:01 +08:00
Chocobo1
5b57abc7d8
GHA CI: add checking for doc
...
And also regenerate man pages with latest pandoc
2023-09-07 15:28:43 +08:00
Chocobo1
d841dda654
Make the AUTHORS
strings translatable
2023-09-07 15:28:43 +08:00
Chocobo1
4cf933b4fc
Update URL
2023-09-07 15:28:43 +08:00
Vladimir Golovnev
7cd2445a49
Improve tracker entries handling
...
PR #19496 .
* Add torrent entry status to represent tracker error
* Add torrent entry status to represent unreachable endpoint
* Display tracker entry next/min announce time
* Reset tracker entries when torrent is stopped
2023-09-07 08:58:13 +03:00
yuri@FreeBSD
2f94c92df9
Enable DBUS cmake option on FreeBSD
...
PR #19559 .
2023-09-05 11:23:50 +03:00
Chocobo1
39efd0e9ff
Remove thin space
...
Generally qbt doesn't put a space before percentage symbol.
This change makes the UI elements consistent.
2023-09-04 13:10:12 +08:00
Chocobo1
ff80e0ce66
Use Qt built-in non-breaking space variable
2023-09-04 13:10:12 +08:00
Victor Chernyakin
65930ddf94
Use std::pair
instead of QPair
...
PR #19548 .
2023-09-03 09:39:34 +03:00
Chocobo1
4d2015cfed
Support creating .torrent with larger piece size
...
Warning: users are at their own discretion to create .torrent with >= 64 MiB piece size as not
every torrent client supports it.
Larger piece sizes are only available when using libtorrent 2.x. libtorrent 1.x is not
efficient with memory usage and in order to avoid user complaints it is limited to 128 MiB.
Also note that, as of this writing, libtorrent 2.0.9 has an internal limitation that only
allows loading maximum 256 MiB piece size. And therefore > 256 MiB size options are forbidden
for now.
Closes #19527 .
PR #19535 .
2023-09-03 14:31:32 +08:00
Victor Chernyakin
2dc1a7d66f
Set up infrastructure for localized man pages
...
PR #19515 .
2023-09-02 21:38:37 +03:00
Matic Babnik
145971b915
Add "Add Tags" field for RSS rules in WebUI
...
PR #19519 .
2023-09-02 21:37:53 +03:00
Chocobo1
43e3d0b4b2
Make the title label selectable
...
And therefore its text is copyable.
2023-09-01 00:18:25 +08:00
Chocobo1
0fdb1b3f53
Add button to copy library versions to clipboard
...
Closes #18702 .
2023-09-01 00:18:25 +08:00
Chocobo1
24da51ffa0
Perform type conversion properly
...
Closes #19521 .
PR #19525 .
2023-09-01 00:18:03 +08:00
sledgehammer999
e434812cda
Bump copyright year
2023-08-29 00:17:23 +03:00
sledgehammer999
9a1df0c595
Pull translations from Transifex
2023-08-29 00:05:14 +03:00
Victor Chernyakin
44763d3e15
Fix duplicated text in GitHub's SUPPORT.md
...
PR #19508 .
2023-08-28 13:52:34 +03:00
Xu Chao
9a73a21f3f
Don't set parent of "Add new torrent dialog" on macOS
...
PR #19494 .
Closes #12849 .
Closes #12852 .
Closes #19072 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
2023-08-28 13:50:36 +03:00
Victor Chernyakin
e045b4678d
Use std::clamp()
instead of various custom implementations
...
PR #19501 .
2023-08-27 21:55:08 +03:00
Chocobo1
d8a03cd8d8
Use atomic primitives from standard library
...
QAtomicInteger underlying is using std::atomic structures, so
using std::atomic directly should not be a problem for us.
PR #19507 .
2023-08-28 02:08:40 +08:00
Xu Chao
270c63d64c
Open "Save path" if torrent has no metadata
...
PR #19495 .
Closes #18738 .
2023-08-27 08:38:59 +03:00
rcarpa
bbac94cc95
Use QThreadPool for torrent creation
...
The change is in preparation for adding the possibility to create
torrent files via the API.
Rework TorrentCreatorThread to be a more lightweight QRunnable class.
The parameters are now defined on construction time and are fixed
throughout the lifecycle of the TorrentCreator. The lifecycle of the
object is not bound to the one of QDialog anymore; it is now handled
by the QThreadPool. This will enable easier queueing of multiple torrent
creation jobs without risk of spawning many threads.
PR #19500 .
2023-08-27 00:27:11 +08:00
Vladimir Golovnev
9ab8203c8a
Don't overwrite tracker entry of unrelated protocol
...
PR #19493 .
2023-08-23 12:38:18 +03:00
Vladimir Golovnev
c805606524
Improve tracker entries handling
...
PR #19468 .
* Use QHash to map tracker endpoints
* Don't clear numPeers unexpectedly
* Remove outdated tracker entry endpoints
* Move presentation logic from Core to GUI code
* Show all endpoints per tracker in tree structure
---------
Co-authored-by: Kacper Michajłow <kasper93@gmail.com >
2023-08-21 10:27:19 +03:00
Victor Chernyakin
34d30ed031
Replace Q_UNUSED
with [[maybe_unused]]
attribute
...
PR #19471 .
2023-08-18 07:09:40 +03:00
Victor Chernyakin
f3f4610ba4
Convert Windows header names to lowercase
...
PR #19465 .
2023-08-16 10:29:13 +03:00
xavier2k6
21b77cb4f8
GHA CI: Bump Windows/macOS Boost version to 1.83.0
...
PR #19453 .
2023-08-15 14:04:44 +03:00
Vladimir Golovnev
dcf3e97291
Implement gateway for adding new torrents
...
PR #19355 .
2023-08-14 18:17:56 +03:00
Victor Chernyakin
e4313d6651
Use using declarations instead of typedef
...
PR #19458 .
2023-08-14 18:14:36 +03:00
Victor Chernyakin
52fbb774a2
Disable clang-tidy for 3rd-party code
...
PR #19459 .
2023-08-14 18:13:28 +03:00
Vladimir Golovnev
a0e41a11de
Display error message when unrecoverable error occurred
...
PR #19462 .
2023-08-14 16:03:57 +03:00
Vladimir Golovnev
cab5edb721
Add more precondition checks when handle async operation result
...
PR #19460 .
2023-08-14 16:02:50 +03:00
Vladimir Golovnev
7a9a102b6f
Check returned Bundle ID for NULL
...
PR #19463 .
2023-08-14 16:01:54 +03:00
Omar Abdul Azeez
6ba561dea2
Fix overwriting feeds.json with an incomplete load of it
...
PR #19444 .
Closes #19439 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru >
2023-08-12 18:59:24 +03:00
Vladimir Golovnev
56ba5e5182
Correctly load colors from custom themes
...
PR #19448 .
Closes #19447 .
2023-08-12 18:57:34 +03:00
Chocobo1
69d60b5f1c
Specify interface requirements as an C++ concept
...
PR #19440 .
2023-08-12 20:53:03 +08:00
Victor Chernyakin
850da9dd83
Replace Q_UNLIKELY with [[unlikely]] attribute
...
PR #19445 .
2023-08-11 08:54:26 +03:00
Chocobo1
502b3d3228
Merge pull request #19427 from Chocobo1/cleanup
...
Remove unused include
2023-08-11 13:49:35 +08:00
Victor Chernyakin
c25d14b1d0
Specify charset and end_of_line in .editorconfig
...
Additionally, changes the link to the EditorConfig website
from http to https.
PR #19437 .
2023-08-11 13:49:07 +08:00
Chocobo1
31fe327763
Move to separate headers
...
Hopefully this can speed up compilation times.
https://doc.qt.io/qt-6/qtglobal.html#details
PR #19430 .
2023-08-11 13:47:55 +08:00
Chocobo1
870bcc7a19
Switch to QHash
2023-08-09 20:36:41 +08:00
Chocobo1
44f0a63354
Remove unused include
2023-08-09 20:36:39 +08:00
Chocobo1
9fa48a375d
Merge pull request #19428 from Chocobo1/boost
...
Bump boost requirement to 1.76
2023-08-09 20:34:43 +08:00
Victor Chernyakin
f2b4aa6570
Remove unused parameter in Utils::Gui::scaledPixmap()
...
PR #19426 .
2023-08-09 20:34:12 +08:00
Chocobo1
5c06d0aa75
Replace template conditionals with C++20 requires
clause
...
Related: https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-constraints.html
PR #19424 .
2023-08-09 20:33:19 +08:00
Chocobo1
4d98761e99
GHA CI: remove redundant conditionals
2023-08-08 23:56:04 +08:00
Chocobo1
180e708f3c
Bump boost requirement to 1.76
...
std::hash specialisations for boost::asio structures is required.
2023-08-08 23:56:03 +08:00
Chocobo1
da4f2c2439
GHA CI: install boost from upstream
2023-08-08 23:55:30 +08:00
Vladimir Golovnev
33d767b765
Disable using Qt functions deprecated up to Qt 6.5
...
* Disable using Qt functions deprecated up to Qt 6.5
* Utilize QSet::removeIf()
PR #19419 .
2023-08-08 08:52:13 +03:00
Vladimir Golovnev
06581636a1
Utilize QByteArrayView
...
PR #19417 .
2023-08-07 11:21:32 +03:00
Vladimir Golovnev
a0fa1709d5
Raise minimum supported Qt version to 6.5
...
PR #19394 .
2023-08-07 07:19:43 +03:00
Chocobo1
699dc1689a
Remove column span
...
The property widget already has scroll bars and thus we don't need this span.
Closes #15000 .
PR #19404 .
2023-08-04 13:01:08 +08:00
Chocobo1
a427b9228d
Ensure file name is valid when exporting torrents
...
Closes #19275 .
Closes #19329 .
PR #19403 .
2023-08-04 13:00:48 +08:00
Jimmy Axenhus
c4ed40b82f
Set property instead of set attribute
...
This commit resolves an issue with Safari not properly selecting an `<option>`.
Closes #17866 .
PR #19024 .
2023-08-03 13:34:24 +08:00
Chocobo1
e68cf87f05
Merge pull request #19396 from Chocobo1/ci
...
GHA CI: specify a category for CodeQL analysis
2023-08-03 11:41:40 +08:00
Vladimir Golovnev
fccdeb4e78
Don't use variable after it is moved
...
PR #19397 .
2023-08-02 15:04:15 +03:00
Chocobo1
431860482c
GHA CI: specify a category for CodeQL analysis
2023-08-01 15:27:04 +08:00
Chocobo1
d554db4f4e
Revise wording
2023-08-01 15:27:04 +08:00
Chocobo1
6c16a09385
Guard against potential negative number
2023-08-01 15:27:04 +08:00
Chocobo1
b35c2bca5d
Merge pull request #19390 from Chocobo1/openssl
...
Remove unused conditional
2023-08-01 12:57:12 +08:00
Chocobo1
852927bf50
Use qreal
type whenever feasible
...
The idea is follow Qt and use `qreal` instead of `double` for generic code.
2023-07-31 03:50:49 +08:00
Chocobo1
a5a4ea9ba0
Remove unused conditional
2023-07-31 03:03:02 +08:00
MarcDrieu
45ca5d31c9
NSIS: Update French translation
...
PR #19284 .
2023-07-28 10:36:26 +03:00
rusu-afanasie
b14740aeac
NSIS: Add Romanian translation
...
PR #19377 .
2023-07-28 10:34:48 +03:00
xavier2k6
5b0706df65
GHA CI: Bump Qt version to 6.5.2
...
PR #19378 .
2023-07-27 17:45:26 +03:00
Vladimir Golovnev
11efd26acc
Fix crash on application exit (Qt 6.5)
...
PR #19169 .
2023-07-27 15:09:14 +03:00
Vladimir Golovnev
006ad23d0d
Map selected indexes to source before modify the data
...
Changing the data may affect the layout of the sort/filter model, which in turn may invalidate the indexes previously obtained from selection model before we process them all. Therefore, we must map all the selected indexes to source before start processing them.
PR #19372 .
Closes #19359 .
2023-07-26 18:19:32 +03:00
Peter Dave Hello
9975230dea
Update Transifex link in TRANSLATION_INSTRUCTIONS
...
PR #19366 .
2023-07-25 15:28:56 +03:00
Chocobo1
e31c3376bd
Use library provided erase_if()
...
`Algorithm::removeIf()` is still valuable as `QHash::removeIf()` predicate require an
iterator or a `std::pair`, which both require more code to unpack the variable and therefore
cumbersome to use.
PR #19353 .
2023-07-24 20:29:02 +08:00
Chocobo1
9898901236
Merge pull request #19349 from Chocobo1/c++20
...
Use default operators generated/synthesized by compiler
2023-07-23 12:54:44 +08:00
Chocobo1
56c52af124
Mark override
for virtual destructors
...
PR #19348 .
2023-07-22 12:46:21 +08:00
Chocobo1
c20a77aa77
Merge pull request #19346 from Chocobo1/powerMgt
...
Avoid excessive power management updates
2023-07-22 12:45:55 +08:00
Chocobo1
d6adebe4c0
Switch to efficient algorithm
2023-07-22 04:11:39 +08:00
Chocobo1
c58aa58cba
Use C++20 designated initializers
2023-07-22 02:25:44 +08:00
Chocobo1
7612d5d0ef
Use default operators generated/synthesized by compiler
2023-07-22 02:25:44 +08:00
Chocobo1
1874fd7f93
Fix incorrect state
...
Fix up f3f9cfe44e
.
2023-07-22 01:59:36 +08:00
Chocobo1
0bcc1cf4a0
Fix indentation
2023-07-21 20:41:00 +08:00
Chocobo1
cffcf5783f
Avoid excessive power management updates
2023-07-21 20:39:25 +08:00
Vladimir Golovnev
10ee1ab7a2
Switch to C++20
...
PR #19336 .
2023-07-21 15:38:49 +03:00
Vladimir Golovnev
f27f2c20e0
Add unified class to represent parsed torrent metadata
...
* Add unified class to represent parsed torrent metadata
* Unify startup logic of "Add new torrent dialog"
PR #19301 .
2023-07-21 08:40:16 +03:00
Vladimir Golovnev
d554f4d44a
Always use QStyledItemDelegate as base of delegate classes
...
PR #19340 .
2023-07-21 08:37:11 +03:00
Chocobo1
d357cdd5f9
Set power state to idle when deconstructing class
2023-07-21 12:19:29 +08:00
Chocobo1
0f862fcf9f
Use efficient algorithm for removing entries
...
PR #19345 .
2023-07-21 12:18:26 +08:00
Chocobo1
6bd56478fd
Merge pull request #19344 from Chocobo1/systemd
...
Add support for systemd power management
2023-07-21 12:17:49 +08:00
Chocobo1
76b5ca6b8b
Remove debugging messages
...
As requested in https://github.com/qbittorrent/qBittorrent/pull/19344#discussion_r1269156895
2023-07-20 18:05:40 +08:00
Chocobo1
dbb1b1e9bb
Use default timeout
2023-07-20 18:05:39 +08:00
Chocobo1
b5fbfdf106
Use correct type
...
https://doc.qt.io/qt-6/qdbustypesystem.html
https://dbus.freedesktop.org/doc/dbus-specification.html#id-1.3.8
2023-07-20 18:05:39 +08:00
Chocobo1
f3f9cfe44e
Add support for systemd power management
2023-07-20 18:05:39 +08:00
Vladimir Golovnev
dbe79484d2
Drop support of Qt 5
...
Also remove usage of some deprecated stuff.
PR #19338 .
2023-07-20 11:17:27 +03:00
Vladimir Golovnev
5e610cfdcf
Drop support of Autoconf/Automake and QMake
...
PR #19335 .
2023-07-20 11:15:46 +03:00
Chocobo1
2c08dc9dad
Merge pull request #19333 from Chocobo1/clean
...
Change default power management to Gnome Session Manager
2023-07-20 13:04:13 +08:00
Chocobo1
15b46259f3
Add logging
2023-07-19 00:50:01 +08:00
Chocobo1
d569eaa991
Revise message
2023-07-19 00:49:58 +08:00
Chocobo1
64c3845a7c
Detect D-Bus interface
2023-07-18 22:31:52 +08:00
Chocobo1
79afa0b84d
Clean up coding style
2023-07-18 20:41:21 +08:00
Chocobo1
38d773ca46
Change default power management to Gnome Session Manager
...
As seen on https://www.freedesktop.org/wiki/Specifications/power-management-spec/ ,
the `org.freedesktop.PowerManagement` is obsolete.
2023-07-18 20:41:19 +08:00
axet
9194f60ac0
Inhibit suspend instead of screen idle
...
PR #19316 .
Closes #19312 .
2023-07-18 15:40:17 +03:00
Vladimir Golovnev
4a217dc42f
Don't initialize Properties widget size until window is shown
...
PR #19328 .
Closes #19322 .
2023-07-18 15:06:27 +03:00
Vladimir Golovnev
9171b73edb
WebUI: use new format of RSS rules
...
PR #19326 .
Fixes regression of #18824 .
Closes #19323 .
2023-07-18 15:05:17 +03:00
sledgehammer999
0f0de5e4f8
Bump to v5.0.0alpha1
2023-07-17 09:25:50 +03:00
sledgehammer999
c1d64cc3ea
Sync translations from Transifex and run lupdate
2023-07-17 09:14:36 +03:00
Vladimir Golovnev
57085ca126
Use previous approach of deducing favicon URL
...
PR #19325 .
Fixes regression of #19062 .
Closes #19307 .
2023-07-17 08:11:07 +03:00
Vladimir Golovnev
7b4b7c2b81
Always honor the configured behavior for merging trackers
...
PR #19305 .
* Always honor the configured behavior for merging trackers
* Clarify merging trackers related options
2023-07-16 20:59:18 +03:00
Vladimir Golovnev
6a3a5fac83
Correctly add new column to existing database
...
PR #19321 .
2023-07-15 20:49:51 +03:00
Christopher
35e18498d9
Add option to stop seeding when torrent has been inactive
...
PR #19294 .
Closes #533 .
Closes #8073 .
Closes #15939 .
2023-07-15 13:14:42 +03:00
Vladimir Golovnev
f99a98306d
Log when duplicate torrents are being added
...
PR #19306 .
Closes #18458 .
2023-07-14 15:33:06 +03:00
Chocobo1
b0cfe53329
Merge pull request #19302 from Chocobo1/connection
...
Move signal/slot connections out of .ui files
2023-07-13 13:27:14 +08:00
Chocobo1
060466e326
GHA CI: fix environment variable not being used
...
Related issue: https://github.com/Wandalen/wretry.action/issues/106
A workaround was suggested in https://github.com/Wandalen/wretry.action/issues/106#issuecomment-1631860467
PR #19303 .
2023-07-13 13:26:47 +08:00
Chocobo1
392949b313
Rename variable to avoid name clash
2023-07-13 00:34:33 +08:00
Chocobo1
b17307f283
Move signal/slot connections out of .ui files
...
This unify the place (.cpp file) where we handle signal/slot connections.
2023-07-13 00:34:33 +08:00
sledgehammer999
e739d38061
Sync translations from Transifex and run lupdate
2023-07-12 01:50:01 +03:00
Chocobo1
20f4d0c4e3
Merge pull request #19292 from Chocobo1/head
...
Fix response for HTTP HEAD method
2023-07-11 11:24:28 +08:00
Chocobo1
4f6038c350
Merge pull request #19291 from Chocobo1/limits
...
Expose 'bdecode limits' settings
2023-07-11 11:24:09 +08:00
Fabricio Silva
f08556be30
WebUI: Preserve the network interfaces when down
...
PR #19286 .
2023-07-11 11:23:37 +08:00
Chocobo1
543745b3f2
Avoid stuffing the log via junk requests
2023-07-09 21:23:09 +08:00
Chocobo1
cb0c09769f
Response proper error status for invalid request methods
2023-07-09 21:23:09 +08:00
Chocobo1
e8f5a3b44e
Fix response for HTTP HEAD method
...
Closes #19288 .
2023-07-09 21:23:08 +08:00
Chocobo1
5a660fc8a9
Expose 'bdecode limits' settings
...
This includes:
* Bdecode depth limit
* Bdecode token limit
2023-07-09 15:36:13 +08:00
stalkerok
488464731d
Change some default settings
...
* Reduce default file pool size to 100
* Reduce default stop tracker timeout to 2 seconds
PR #19171 .
2023-07-06 14:25:53 +03:00
xavier2k6
fb68604ee7
Display correct Minimum Python requirement
...
PR #19281 .
2023-07-06 10:43:35 +03:00
Vladimir Golovnev
4ef9a6444a
Add options to adjust behavior of merging trackers to existing torrent
...
PR #19278 .
Closes #19251 .
2023-07-06 07:55:59 +03:00
Chocobo1
66dfe8545d
Expose 'max torrent file size' setting
2023-07-06 12:45:09 +08:00
Chocobo1
fff7b1dcbd
Merge pull request #19277 from Chocobo1/ctor
...
Don't update settings when it hasn't changed
2023-07-06 12:41:45 +08:00
Burak Yavuz
b5b1f51cee
NSIS: Update Turkish translation
...
Corrected and updated some strings
PR #19242 .
2023-07-05 09:49:00 +03:00
Chocobo1
33875aa70a
Mark singleton class as final
2023-07-05 03:32:54 +08:00
Chocobo1
9d7dad4a61
Don't unnecessarily restart Web server
...
When related settings hasn't changed.
2023-07-05 03:32:53 +08:00
Chocobo1
213b6e316c
Don't emit superfluous signal
...
`Preferences::apply()` might emit superfluous changed signal even when the settings hasn't
changed (e.g. not dirty), this commit fixes it.
2023-07-05 03:32:53 +08:00
Chocobo1
ffc3d8d345
Don't update settings when it hasn't changed
...
So when a setting is the same as the default, it won't write an entry to config file on disk.
2023-07-05 03:32:53 +08:00
Vladimir Golovnev
7ec80263e1
Allow to globally disable the use of proxy
...
PR #19273 .
Closes #19141 .
2023-07-04 09:27:46 +03:00
Chocobo1
66e533f505
Avoid redundant buffer copying
...
PR #19272 .
2023-07-04 14:04:41 +08:00
Chocobo1
045b4f0a06
GHA CI: retry flaky steps automatically
...
PR #19270 .
2023-07-03 21:19:01 +08:00
Vladimir Golovnev
80c637bf99
Always use the same limits when parse bencoded data
...
PR #19263 .
2023-07-02 11:37:37 +03:00
gdim47
48d5e3326b
Improve performance when scrolling large torrents
...
PR #19255 .
2023-07-02 11:36:42 +03:00
Chocobo1
80791e328d
Fix wrong behavior when reading text
...
Also add another 'file read error' status.
Closes #19254 .
PR #19262 .
2023-07-02 13:23:20 +08:00
Chocobo1
08a771468d
Merge pull request #19260 from Chocobo1/func
...
Fix code defects
2023-07-02 12:57:15 +08:00
Chocobo1
c3fc96dfe6
Visually validate input path in torrent creator dialog
...
PR #19245 .
2023-07-02 12:56:41 +08:00
Chocobo1
715a4f3eb6
Use move construct for large data
2023-07-01 16:28:15 +08:00
Chocobo1
8655e48336
Use move construct for shared pointers
2023-07-01 16:28:13 +08:00
Chocobo1
3c139ca333
Fix potential use-after-move
...
The evaluation order for function parameters is unspecified in C++.
https://stackoverflow.com/questions/2934904/order-of-evaluation-in-c-function-parameters
Fix up 1b2ff0f6f8
.
2023-07-01 14:38:50 +08:00
Ignat Loskutov
f4deb1050f
Disable symlink resolving in Torrent creator
...
PR #19199 .
2023-06-28 14:27:24 +03:00
Chocobo1
889ed5bce9
Merge pull request #19238 from Chocobo1/spelling
...
GHA CI: add spelling check
2023-06-27 12:26:10 +08:00
Chocobo1
6680fdda18
Fix typos
2023-06-26 16:45:44 +08:00
Chocobo1
88bd4f270f
GHA CI: add spelling check (typos)
2023-06-26 16:45:41 +08:00
Chocobo1
86a5ad3241
GHA CI: add spelling check (codespell)
2023-06-26 13:44:01 +08:00
Vladimir Golovnev
1c654d8f47
Immediately update torrent status on moving files
...
PR #19220 .
2023-06-25 12:45:58 +03:00
Vladimir Golovnev
c90863f217
Don't miss to enable Apply button
...
PR #19221 .
Closes #19082 .
2023-06-25 12:44:33 +03:00
luzpaz
deec2ae1b1
Fix various typos
...
PR #19213 .
2023-06-24 16:04:04 +03:00
sledgehammer999
f37fff31ae
NSIS: Fix missing slash in Qt translations script
...
PR #19196 .
2023-06-24 13:10:00 +08:00
Chocobo1
dffb93a6aa
Merge pull request #19208 from Chocobo1/buffer
...
Avoid unnecessary memory allocation/relocation
2023-06-24 13:03:00 +08:00
Vladimir Golovnev
3b948b0130
Drop I2P support with libtorrent 1.2
...
PR #19207 .
Closes #19152 .
2023-06-23 16:24:34 +03:00
Chocobo1
b3d2ba7d07
Initialize regex only once
...
This code path is commonly used so let it initialize only once.
2023-06-23 14:49:22 +08:00
Chocobo1
03d3552ee0
Avoid unnecessary memory allocation/relocation
2023-06-23 14:49:22 +08:00
Luka Čelebić
379b0dbe40
Add alternative shortcut CTRL+E for CTRL+F
...
PR #19190 .
2023-06-20 11:52:09 +03:00
thalieht
f213f81727
Fix transfer list tab hotkey
...
PR #19200 .
2023-06-20 07:45:17 +03:00
Chocobo1
1f2a6455b6
Merge pull request #19188 from Chocobo1/literalOperator
...
Rename literal operator
2023-06-19 12:45:20 +08:00
sledgehammer999
fc8c74989b
Bump to 4.6.0beta2
2023-06-18 21:27:12 +03:00
Chocobo1
b01a48879a
Add missing header
2023-06-18 13:51:19 +08:00
Chocobo1
e780b3a9b7
Add unit test for string literal helper
2023-06-18 13:51:19 +08:00
sledgehammer999
2bbfd317ce
Sync translations from Transifex and run lupdate
2023-06-18 01:37:12 +03:00
Chocobo1
e6d85a468b
Rename literal operator
...
Qt 6.4 introduced `QString operator""_s()` and the previous `""_qs` is
deprecated since Qt 6.8.
2023-06-18 03:32:44 +08:00
Chocobo1
f6b58f36e2
WebUI: set Cross Origin Opener Policy to same-origin
...
This separates browsing context for different origin sites and prevents
leaking data from it.
This header is only present when using built-in WebUI. Alternative WebUI
is not affected.
https://web.dev/why-coop-coep/#coop
PR #19157 .
2023-06-14 13:38:48 +08:00
Chocobo1
79ca2e145f
Don't read unlimited data from files
...
It now guards against reading infinite files such as `/dev/zero`.
And most readings are bound with a (lax) limit.
As a side effect, more checking are done when reading a file and
overall the reading procedure is more robust.
PR #19095 .
2023-06-14 13:38:19 +08:00
Chocobo1
81bc910d68
Provide context to translation strings
...
PR #19120 .
2023-06-12 14:03:12 +08:00
Vort
ff5d02bcf2
Make I2P session options configurable
...
PR #19079 .
Closes #18980 .
2023-06-06 08:35:40 +03:00
tearfur
2e87e6e0df
Use hostname instead of domain name in tracker filter list
...
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
PR #19062 .
Closes #19035 .
2023-06-05 14:57:37 +03:00
Vladimir Golovnev
a5e8af5070
Allow to assign priority to RSS download rule
...
PR #19000 .
2023-06-05 14:55:41 +03:00
Vladimir Golovnev
cf415dd7fe
Allow to disable confirmation of Pause/Resume All
...
PR #19067 .
Closes #18155 .
2023-06-04 08:57:14 +03:00
Chocobo1
83e6afcb71
Merge pull request #19069 from Chocobo1/sort
...
WebUI: use natural sort on tracker list
2023-06-04 12:52:29 +08:00
Chocobo1
62d96c068a
Remove SGML parser
...
This library is unmaintained, outdated and plugin authors are encouraged to use html.parser
from Python Standard Library instead.
https://docs.python.org/3/library/html.parser.html
PR #19068 .
2023-06-04 12:52:06 +08:00
xavier2k6
040c3c7ef8
Sync "expected lite" with upstream
...
PR #19049 .
2023-06-03 17:42:57 +03:00
Raymond Ha
3ef8726083
WebUI: Set Connection status and Speed limits tooltips
...
PR #19052 .
Fixes #18958 .
2023-06-03 17:39:58 +03:00
Chocobo1
dad9157d84
Don't overwrite original variable
2023-06-02 18:12:01 +08:00
Chocobo1
5cea69472f
Use natural sort
2023-06-02 17:44:17 +08:00
ttys3
b1492bcd7d
WebUI: Show only hosts in tracker filter list
...
PR #18190 .
2023-06-02 17:36:33 +08:00
sledgehammer999
d571ab2be1
Update AppVeyor config
...
The config needs some updating to accommodate the new structure.
PR #19030 .
2023-06-02 17:02:31 +08:00
Vladimir Golovnev
4550469bb9
Fix incorrect height of Filter line edit
...
PR #19058 .
2023-06-02 11:47:53 +03:00
Vladimir Golovnev
160af4feef
Show I2P peer addresses
...
PR #18845 .
2023-06-01 17:16:03 +03:00
Priit Uring
b27e839405
Sync flag icons with upstream
...
PR #19027 .
2023-06-01 06:49:09 +03:00
sledgehammer999
ecc08dee09
Bump to 4.6.0beta1
2023-05-29 16:03:44 +03:00
Chocobo1
11ac4e7620
GHA CI: upload macOS bundles
...
Hopefully those bundles will be runnable on users machine.
PR #19023 .
2023-05-29 12:24:12 +08:00
Chocobo1
fbe93f0c47
Improve "apply memory working set" routine
...
Now it will try to raise the hard limit.
And also the log shows a more specific message when the new limit is not
applicable.
PR #19022 .
2023-05-28 13:41:44 +08:00
sledgehammer999
11945eef3f
Sync translations from Transifex and run lupdate
2023-05-28 01:40:37 +03:00
Raymond Ha
a35dbc6df7
WebUI: Fix category save path
...
PR #19008 .
2023-05-26 11:52:37 +03:00
Chocobo1
3fb4e4d293
GHA CI: build libtorrent as a static library
...
Since appimage is bundling the libraries it make sense to embed libtorrent statically into qbt binary.
Another side effect is now qbt binary includes debug symbols from libtorrent too (which I consider a good thing for debugging). Previously appimage seems to (unnecessarily) strip the libtorrent debug symbols.
PR #19014 .
2023-05-25 13:08:53 +08:00
Vladimir Golovnev
f5a4065101
Raise minimum libtorrent versions
...
PR #19011 .
2023-05-25 06:31:28 +03:00
xavier2k6
ba93d55a6d
GHA CI: Bump libtorrent version(s)
...
PR #19006 .
2023-05-24 05:10:57 +03:00
Vladimir Golovnev
a59301712e
Avoid race condition when waking worker thread
...
PR #19005 .
2023-05-23 02:22:16 +03:00
Chocobo1
b406d669b3
Bump python version minimum requirement
...
PR #18996 .
2023-05-22 12:37:02 +08:00
Chocobo1
4ef8f39f23
Use python isolate mode
...
This (more or less) avoids user's environment variables tampering the
search process.
And also remove usages of `eval()` and `exec()`.
PR #18995 .
2023-05-21 14:04:44 +08:00
Vladimir Golovnev
34802362ad
Fix inconsistent background of filters widget
...
PR #18956 .
Fixes regression of #18918 .
2023-05-11 09:11:11 +03:00
Vladimir Golovnev
c10f1f0ad2
Consider explicitly specified parameters when resolving optional ones
...
PR #18955 .
Closes #18951 .
2023-05-11 09:09:57 +03:00
Vladimir Golovnev
58ae98026b
Try to detect system wake-up event
...
PR #18934 .
Closes #17898 .
2023-05-10 15:02:15 +03:00
Chocobo1
32a55551fe
Merge pull request #18936 from Chocobo1/tidy
...
Code clean up
2023-05-08 13:11:11 +08:00
Vladimir Golovnev
7880fe8440
Merge pull request #18824 from glassez/atp-edit
...
Unify/improve "add torrent parameters" template editing UI
2023-05-07 19:38:35 +03:00
Vladimir Golovnev (Glassez)
bb959bda8c
Add helpers for suggesting torrent paths
2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
d629c77184
Improve FlowLayout to support vertical alignment
2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
b953d223e4
Use check box to represent "Skip checking"
2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
6fa53b5ed8
Override add torrent params in a more comprehensible way
2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
c777ed3299
Correctly use fallback value for "Add to top of queue" option
2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
341b2f345a
Use FlowLayout in AddTorrentParamsWidget
2023-05-07 16:34:55 +03:00
Vladimir Golovnev (Glassez)
905f141657
Revamp "Automated RSS downloader" dialog
2023-05-07 16:34:52 +03:00
Vladimir Golovnev (Glassez)
0a87bb368f
Extract "add torrent params" serialization code
2023-05-07 16:33:32 +03:00
Vladimir Golovnev (Glassez)
93a1e58554
Revamp "Watched folder options" dialog
2023-05-07 16:33:32 +03:00
Vladimir Golovnev (Glassez)
0cc29f1851
Implement "Add torrent params" editing widget
2023-05-07 16:33:20 +03:00
Chocobo1
81daad92ec
Combine identical branches
2023-05-07 19:41:55 +08:00
Chocobo1
41be7e9bbe
Make function const
2023-05-07 19:41:55 +08:00
Chocobo1
179a61d75e
Add curly braces
2023-05-07 19:41:55 +08:00
Chocobo1
73134d5f4d
Initialize member variables
2023-05-07 16:30:56 +08:00
Chocobo1
29c05ed3e8
Use std::make_unique
2023-05-07 14:38:03 +08:00
Chocobo1
e375f3ee0b
Use reference
2023-05-07 14:38:02 +08:00
Chocobo1
b185153254
Merge pull request #18931 from Chocobo1/tidy
...
Clean up code
2023-05-07 14:20:47 +08:00
Chocobo1
e7e5c38384
Remove superfluous header include
2023-05-06 16:48:49 +08:00
Chocobo1
9a00839a75
Simplify code
2023-05-06 16:35:13 +08:00
Chocobo1
79e85d01fa
Mark move functions as noexcept
2023-05-06 16:35:13 +08:00
Chocobo1
e408973ee6
Add pointer qualifications to auto
-typed variables
2023-05-06 16:35:13 +08:00
Chocobo1
8c9b6e2f2d
Use reference whenever possible
2023-05-06 16:35:13 +08:00
Chocobo1
5b43782f58
Remove redundant virtual
specifier
2023-05-06 16:35:12 +08:00
Chocobo1
2059825597
Don't use instance for accessing static functions
2023-05-06 16:35:12 +08:00
Chocobo1
e1be46820b
Remove redundant initialization
2023-05-06 16:35:12 +08:00
Chocobo1
8219b1f695
Use default constructor, destructor
2023-05-06 16:35:12 +08:00
Chocobo1
3fbe380582
Remove redundant function declaration
2023-05-05 14:51:02 +08:00
Chocobo1
5f00d42a49
Drop superfluous const
2023-05-05 14:51:02 +08:00
Chocobo1
15de7aed9a
Use perfect forwarding
2023-05-05 14:51:02 +08:00
Chocobo1
5c38cc00d9
Add support for clang-tidy
2023-05-05 14:51:02 +08:00
Vladimir Golovnev
5a1dcbae9c
Don't make assertion about 3rd party logic
...
PR #18913 .
2023-05-03 07:24:52 +03:00
Vladimir Golovnev
7c6a852f85
Revamp TransferListFiltersWidget implementation
...
Avoid using style sheets to better support color mode switching.
PR #18918 .
2023-05-03 07:24:03 +03:00
Vladimir Golovnev
147b22ddd3
Revamp LineEdit implementation
...
PR #18917 .
2023-05-03 07:23:19 +03:00
Vladimir Golovnev
d83b2a6131
Make sure ResumeSessionContext is destroyed before start processing
...
PR #18912 .
2023-05-02 09:48:49 +03:00
Vladimir Golovnev
821e946bbe
Remove outdated code
...
PR #18908 .
2023-05-01 08:29:35 +03:00
Deltadroid
634eb4a183
Replace status_t with disk_status
...
libtorrent 2.1 has made the following change:
"make status_t a proper flag type, to clean up oversized_file indication
from disk subsystem"
PR #18879 .
2023-04-30 10:12:15 +03:00
Vladimir Golovnev
758ea7edca
Improve logging of running external program
...
PR #18901 .
2023-04-30 10:10:03 +03:00
Vladimir Golovnev
1bd499565e
Completely initialize native status on torrent creation
...
PR #18900 .
2023-04-30 10:09:09 +03:00
Chocobo1
be9ec5a329
Merge pull request #18877 from Chocobo1/ci
...
Clean up CI scripts
2023-04-29 13:36:41 +08:00
Chocobo1
df895cb2a7
Improve script compatibility
...
Now the script is conforms to POSIX shell script which is universal on
all linux.
Also make it executable.
2023-04-24 13:31:19 +08:00
Chocobo1
3b72859980
Bump various action versions
2023-04-24 13:18:17 +08:00
Chocobo1
69df85f564
Move script into its own subfolder
2023-04-24 13:18:10 +08:00
Chocobo1
1f1da32371
Rename CI script
...
See: https://stackoverflow.com/questions/22268952/what-is-the-difference-between-yaml-and-yml-extension
2023-04-24 13:18:08 +08:00
xavier2k6
cddf8c199c
GHA CI: Update some dependencies
...
PR #18870 .
2023-04-24 13:15:46 +08:00
Chocobo1
bbd5ed1142
Switch URLs to https
...
PR #18876 .
2023-04-23 15:09:58 +08:00
sledgehammer999
0f033ec9c8
Regenerate translation files
2023-04-20 03:34:29 +03:00
Chocobo1
7397c80837
WebUI: improve 'exporting torrent' behavior
...
Don't stop the whole operation when a torrent doesn't exists and try to export the remaining
existing ones.
PR #18858 .
2023-04-18 13:59:55 +08:00
Vladimir Golovnev
51132c817b
Improve move storage handling
...
PR #18857 .
Closes #18795 .
2023-04-18 08:06:18 +03:00
Chocobo1
1fe006d16f
Merge pull request #18853 from Chocobo1/exportTorrent
...
Work around Chrome download limit
2023-04-17 00:12:30 +08:00
Sentox6
bd31eddb94
Inhibit system sleep while torrents are moving
...
PR #18783 .
2023-04-16 18:09:34 +03:00
DivineHawk
0defb7d79d
WebUI: Use workaround for IOS file picker
...
PR #18837 .
Fixes #18683 .
2023-04-16 14:30:30 +03:00
七海千秋
1e400df324
Set "SameSite=None" if CSRF Protection is disabled
...
PR #18843 .
2023-04-16 14:27:49 +03:00
Chocobo1
9ea48539b4
Inline variable declared in header
2023-04-15 14:53:13 +08:00
Chocobo1
d63e0ad78f
Work around Chrome download limit
...
Closes #18775 .
2023-04-15 14:51:27 +08:00
Vladimir Golovnev
eaee38a19e
Disable UPnP for web UI by default
...
PR #18832 .
2023-04-13 06:22:18 +03:00
Vladimir Golovnev
b3e9c46eff
Don't miss saving "download path" in SQLite storage
...
PR #18844 .
Closes #18842 .
2023-04-13 06:18:09 +03:00
Chocobo1
5dcc14153f
Move feature macro declaration to build scripts
...
PR #18825 .
2023-04-10 13:38:00 +08:00
Chocobo1
4a66d705b8
Merge pull request #18812 from Chocobo1/buf
...
Use KiB unit for socket buffer sizes
2023-04-09 22:17:39 +08:00
Chocobo1
9d7fcea5d6
Describe special values in label
...
https://github.com/qbittorrent/qBittorrent/pull/18806#discussion_r1158346210
https://github.com/qbittorrent/qBittorrent/pull/18812#issuecomment-1500303976
2023-04-08 15:46:02 +08:00
Vladimir Golovnev
b8cd614775
Allow to edit RSS feed URL
...
PR #18807 .
Closes #5489 .
2023-04-07 14:22:50 +03:00
Chocobo1
a9ab2d9b9e
Use KiB unit for socket buffer sizes
...
https://github.com/qbittorrent/qBittorrent/pull/18806#issuecomment-1499894871
2023-04-07 18:33:24 +08:00
Chocobo1
cecf2d28e6
Merge pull request #18806 from Chocobo1/buf
...
Expose 'socket send/receive buffer size' options
2023-04-07 18:19:46 +08:00
Chocobo1
a01f1014b9
Inline variable defined in header
2023-04-05 18:32:18 +08:00
Chocobo1
77411760a0
Expose 'socket send/receive buffer size' options
...
Closes #18794 .
2023-04-05 18:11:13 +08:00
Vladimir Golovnev
0dcb65bb7c
Add option to auto hide zero status filters
...
* Extract transfer list filter classes into separate files
* Add option to auto hide zero status filters
PR #18801 .
Closes #13996 .
2023-04-03 10:38:08 +03:00
Vladimir Golovnev
d40be79c69
Implement torrent tags editing dialog
...
PR #18797 .
2023-04-03 10:36:28 +03:00
Bartu Özen
b55d4b1733
WebUI: Implement subcategories
...
PR #18740 .
2023-04-02 11:02:22 +03:00
Chocobo1
40e28930a4
GHA CI: add missing dll
...
Closes #18383 .
PR #18792 .
2023-04-02 13:30:26 +08:00
Chocobo1
5a3579a3f9
Merge pull request #18779 from Chocobo1/webui
...
WebUI: Add checker for html
2023-03-30 13:24:21 +08:00
Chocobo1
9de8abadb6
Fix wrong end tag
2023-03-28 22:26:11 +08:00
Chocobo1
05c5cdab96
Add alternative text for images
2023-03-28 22:20:37 +08:00
Chocobo1
1e1c1725ab
Always use quotes for attributes
...
This is to unify coding style.
2023-03-28 22:20:37 +08:00
Chocobo1
b5c57af869
Escape special characters properly
2023-03-28 22:20:37 +08:00
Chocobo1
eb875ac8c1
Add attributes explicitly
2023-03-28 22:20:37 +08:00
Chocobo1
a36358d7d0
Remove deprecated rules
2023-03-28 22:20:37 +08:00
Chocobo1
679e592a5c
Add checker for html
2023-03-28 22:20:33 +08:00
Vladimir Golovnev
b922441a7c
Correctly handle redirections
...
PR #18771 .
Fixes regression introduced by #18528 .
Closes #18764 .
2023-03-28 06:26:40 +03:00
Vladimir Golovnev
941c587c68
Don't forget to clear I2P peer items
...
PR #18753 .
2023-03-24 14:06:46 +03:00
Vladimir Golovnev
77bd09bb8b
Use tray icon from system theme only if option is set
...
PR #18733 .
2023-03-22 13:51:39 +03:00
Vladimir Golovnev
8bcac1bed2
Reduce default file pool size
...
PR #18734 .
2023-03-21 08:39:06 +03:00
Vladimir Golovnev
cdded6cef7
Add (experimental) I2P support
...
PR #18717 .
Closes #16257 .
2023-03-21 08:33:46 +03:00
thalieht
8cbe4a571c
Initialize a few groupboxes' check state after their children
...
PR #18727 .
2023-03-20 10:49:25 +03:00
Vladimir Golovnev
ee9d2173e0
Combine all the column filter related widgets
...
PR #18726 .
2023-03-20 08:23:41 +03:00
Chocobo1
a450a7c6e1
Delegate string hashing to standard library
...
Since standard library could have platform dependent specialized hashing functions.
Also the main idea is to let `qHash` handle whatever integer type `std::hash` returns and mix it with `seed` accordingly.
PR #18715 .
2023-03-18 14:09:35 +08:00
thalieht
d41a77841d
Save UI Theme Dialog size
...
PR #18709 .
2023-03-17 22:15:56 +03:00
thalieht
ae06daba6a
Correctly initialize group box children as disabled
...
PR #18710 .
2023-03-17 22:13:19 +03:00
Vladimir Golovnev
77aa85fbd3
Provide UI Theme editor
...
PR #18655 .
2023-03-16 10:03:05 +03:00
Vladimir Golovnev
989b1e6c2c
Improve finished torrent handling
...
PR #18704 .
Closes #18694 .
2023-03-16 09:45:49 +03:00
Vladimir Golovnev
9ef23d524d
Prevent incorrect log message about torrent content deletion
...
PR #18692 .
Closes #18689 .
2023-03-16 09:40:21 +03:00
Chocobo1
f16e903623
Merge pull request #18687 from Chocobo1/codeql
...
GHA CI: add CodeQL scanning
2023-03-15 15:21:27 +08:00
Tom
0bb0829a9a
Allow to filter torrent list by save path
...
PR #18600 .
2023-03-15 09:46:22 +03:00
Chocobo1
fa30b70453
Fix code defects
2023-03-14 15:04:54 +08:00
Christian Danížek
e4f90730b2
NSIS: Add Slovak translation
...
PR #18676 .
2023-03-13 12:04:47 +03:00
Chocobo1
6fd522472c
GHA CI: drop needless syntax
...
https://docs.github.com/en/actions/learn-github-actions/expressions#about-expressions
>When you use expressions in an if conditional, you may omit the
>expression syntax (${{ }}) because GitHub automatically evaluates the if conditional as an expression.
2023-03-12 14:27:10 +08:00
Chocobo1
0f32de9d8c
GHA CI: add CodeQL scanning
...
This enable codebase scanning for C++ and JavaScript languages.
https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql
https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning
2023-03-12 14:27:10 +08:00
thalieht
f630d84858
WebUI: Add "Add to top of queue" option
...
PR #18660 .
2023-03-08 18:58:42 +03:00
Vladimir Golovnev
ee6f699b48
Apply adjacent changes within single transaction
...
PR #18635 .
2023-03-04 08:46:19 +03:00
Vladimir Golovnev
ce9bdaef5c
Correctly check for database needs to be updated
...
* Correctly check for database needs to be updated
* Create index only if not exists
* Double check whether database needs to be updated
PR #18638 .
2023-03-02 20:31:38 +03:00
Vladimir Golovnev
37c04fdeed
Prevent possible problem of using incomplete type
...
PR #18639 .
2023-03-02 06:18:51 +03:00
Vladimir Golovnev
c51aa2d573
Index torrents table by queue position
...
PR #18623 .
2023-02-28 08:57:51 +03:00
sledgehammer999
b922e1ae73
Sync translations from Transifex and run lupdate
2023-02-28 00:20:58 +02:00
sledgehammer999
dd48f62d66
Migrate transifex tool config to new version
2023-02-28 00:10:16 +02:00
Vladimir Golovnev
f5b5312cf0
Merge pull request #18528 from glassez/proxy
...
Allow to use proxy per subsystem
2023-02-27 20:34:51 +03:00
Vladimir Golovnev
58a654a70f
Reject requests that contain backslash in path
...
PR #18626 .
Closes #18618 .
2023-02-27 16:50:50 +03:00
Vladimir Golovnev
ff0f3b4975
WebAPI: Allow to set read-only directory as torrent location
...
PR #18613 .
Closes #18480 .
2023-02-27 09:09:33 +03:00
Vladimir Golovnev
8df68ac878
Prevent RSS folder from being moved into itself
...
PR #18619 .
Closes #18446 .
2023-02-27 09:08:18 +03:00
Vladimir Golovnev
2f9b313287
Perform own tracking of files progress
...
PR #18597 .
2023-02-26 14:44:58 +03:00
Vladimir Golovnev (Glassez)
cbf591a8b5
Improve SOCKS5 error messages
2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
96da685e5d
Expand the scope of "Proxy hostname lookup" option
2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
6ac14d0c57
Allow to use proxy per subsystem
2023-02-26 14:27:41 +03:00
Vladimir Golovnev (Glassez)
4745a40f0b
Allow to specify proxy option per request
2023-02-25 17:30:26 +03:00
Vladimir Golovnev (Glassez)
8993d87b32
Let Search Engine handle its proxy usage
2023-02-25 17:25:41 +03:00
brvphoenix
8df80b67f9
GHA CI: Add missing dependencies
...
PR #18596 .
2023-02-19 17:02:59 +03:00
loligans
466314675c
WebUI: Add multi-file renaming
...
PR #18287 .
Closes #16239 .
2023-02-19 14:07:55 +03:00
Hanabishi
d75fd3fcde
Show filtered port numbers in logs
...
PR #18544 .
2023-02-18 08:14:27 +03:00
Chocobo1
7ae83df5a5
GHA CI: compress debug symbols
...
The result binary is smaller.
2023-02-17 13:00:10 +08:00
Chocobo1
19f55512c1
GHA CI: don't overwrite system default compile flags
...
System might have some default compile flags which are crucial for security hardening so we
should append our flags instead of overwriting them.
2023-02-17 13:00:10 +08:00
Chocobo1
6e25db444e
GHA CI: revert "[CI Ubuntu] Strip installed components"
...
For tester convenience, the binaries should ship with debug symbols.
This reverts commit b8aa9e5609
.
2023-02-17 13:00:10 +08:00
Chocobo1
d2c4b69f47
GHA CI: use least permission level
...
`actions: write` is required by Chocobo1/setup-ccache-action.
`pull-requests: write` is required by actions/stale.
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
2023-02-17 13:00:10 +08:00
Chocobo1
4170b4e21b
GHA CI: speed up package installation on macOS
...
Setup time is shortened by cutting down unnecessary operations.
https://docs.brew.sh/Manpage#environment
2023-02-17 13:00:10 +08:00
Vladimir Golovnev
9fb9ca47f6
Update the cached state once recheck is started
...
We have to force update the cached state, otherwise someone will be able to get an incorrect one during the interval until the cached state is updated in a regular way.
PR #18579 .
Closes #18559 .
2023-02-17 07:12:56 +03:00
Luka Čelebić
917190d936
Add shortcut for "Ban peer permanently" function
...
PR #18576 .
2023-02-17 07:09:23 +03:00
Vladimir Golovnev
1e913f46f0
Rename isSeed to isFinished to correctly represent its meaning
...
PR #18580 .
2023-02-17 07:08:00 +03:00
Vladimir Golovnev
4c0ebc0e0f
Access some more data in a non-blocking manner
...
* Cache URL seeds to access in a non-blocking manner
* Provide non-blocking way to create magnet URI for torrent
PR #18572 .
2023-02-16 08:49:16 +03:00
shitcod3r
1b0f5b8567
NSIS: Add Uzbek translation
...
PR #18568 .
2023-02-15 11:58:06 +03:00
Chocobo1
6a4bb5c1b7
Migrate away from unsafe function
...
MooTools More has CVE-2021-20088 and qbt is affected by it by using the
unsafe function call `String.parseQueryString()`, so migrate away from
it.
PR #18554 .
2023-02-15 13:59:21 +08:00
Burak Yavuz
3fea9f5a33
NSIS: Update Turkish translation
...
PR #18552 .
2023-02-14 08:30:46 +03:00
Vladimir Golovnev
7600f59f3a
Prevent precise timers from being used when unnecessary
...
The implementation of QTimer::singleShot() uses Qt::PreciseTimer if interval is less than 2 seconds. This isn't mentioned in the docs.
Qt::PreciseTimer increases the system's timer resolution which negatively affects power consumption.
PR #18555 .
Closes #18350 .
2023-02-14 08:26:08 +03:00
sledgehammer999
915121a0dd
Sync translations from Transifex and run lupdate
2023-02-12 01:09:18 +02:00
Vladimir Golovnev
1be5b3abd8
Revamp torrent content widget
...
PR #18162 .
2023-02-11 15:22:01 +03:00
brvphoenix
e37661d53a
WebUI: Add filelog settings
...
PR #18506 .
Closes #17421 .
2023-02-10 20:12:22 +03:00
Vladimir Golovnev
d06f78dbbd
Improve sync API performance
...
PR #18394 .
2023-02-10 17:16:46 +03:00
Vladimir Golovnev
5d4766edbe
Allow to add new torrents to queue top
...
PR #18518 .
Closes #11599 .
2023-02-10 17:15:41 +03:00
Vladimir Golovnev
72ac92ec68
Allow to use another icons in dark mode
...
PR #18435 .
2023-02-07 22:07:15 +03:00
sledgehammer999
22ea508ff6
Merge pull request #18500 from sledgehammer999/tls_webui
...
Harden the SSL/TLS web server
2023-02-06 22:40:44 +02:00
sledgehammer999
b2213ded6d
Support TLS 1.2+ only in the server
...
Closes #18122
2023-02-06 10:32:01 +02:00
sledgehammer999
1ea2fe5b8d
Blacklist bad ciphers for TLS in the server
...
Prevents the ROBOT attack.
Closes #18483
2023-02-06 10:32:01 +02:00
Vladimir Golovnev
7227d2b2b2
Revert changes of conflict resolution strategy on automatic move
...
PR #18516 .
Closes #18297 .
Closes #18495 .
2023-02-05 09:29:43 +03:00
Vladimir Golovnev
0dcbf9f698
Improve command line parameters dispatching
...
Encapsulate parameters dispatching in Application class.
Avoid serializing parameters when it is not necessary.
PR #18469 .
2023-02-02 10:02:51 +03:00
Vladimir Golovnev
09e58df03f
Don't increase limits when prefetching metadata for added magnets
...
Adjusting limits was made based on the belief that "forced" torrents (internally used for prefetching metadata)
are still under limits, but ignore only the queue. This is not really the case. "Forced" torrents ignore the limits
like "maximum active torrents/downloads", so adjusting limits is not required, and what's more, it really causes the
problem of unexpectedly activated previously queued torrents when adding some magnet using "Add new torrent" dialog.
PR #18503 .
Fixes #18490 .
2023-02-02 06:16:32 +03:00
sledgehammer999
d256db5072
Merge pull request #18466 from sledgehammer999/icon_for_status_pause
...
Use previous color for pause icon for indicating status
2023-01-27 20:27:48 +02:00
sledgehammer999
10153f0063
Use previous color for pause icon for indicating status
...
Affects transfer list and status filters
Related to PR #18110
2023-01-27 18:45:07 +02:00
sledgehammer999
c6a1b977b3
Merge pull request #18456 from sledgehammer999/win_shorcut_cwd
...
Fix PDB loading for valid stacktraces
2023-01-27 17:52:39 +02:00
sledgehammer999
870bb42e4f
[WebUI] Use new pause icon color for toolbar/menu
...
This the webui part of PR #18110
2023-01-27 17:42:48 +02:00
sledgehammer999
b61c7b7220
Adjust env variable for PDB discovery
2023-01-26 13:42:09 +02:00
Vladimir Golovnev
c58fb92365
Suppress warning when session cookie name isn't overridden
...
PR #18455 .
2023-01-26 07:00:20 +03:00
sledgehammer999
5e952a561b
NSIS: Set shortcut's workind dir to install path
2023-01-25 20:35:21 +02:00
sledgehammer999
ca72360b6f
Merge pull request #18432 from sledgehammer999/chinese_fix
...
Migrate setting about Simplified Chinese locale
2023-01-25 01:17:54 +02:00
sledgehammer999
630b4ed3b9
Migrate settings much earlier
2023-01-24 10:23:12 +02:00
Deividas
cba9680ef9
NSIS: Update Lithuanian translation
...
PR #18434 .
2023-01-23 14:34:36 +03:00
Vladimir Golovnev
2310dcd136
Reload system tray icon to replace menu
...
PR #18250 .
Closes #18074 .
2023-01-22 16:48:58 +03:00
Nick Korotysh
ee00a80796
Drop extra semicolon
...
Fixes build with -pedantic flag.
PR #18431 .
2023-01-22 14:47:19 +03:00
sledgehammer999
051bac5e59
Migrate setting about Simplified Chinese locale
...
Related to PR #17978
2023-01-22 02:31:58 +02:00
Vladimir Golovnev
771c58d000
WebAPI: Allow to specify session cookie name
...
PR #18384 .
Closes #18329 .
2023-01-17 09:31:17 +03:00
Vladimir Golovnev
53cec6db09
Provide scaled pixmaps by UIThemeManager
...
Avoid leaking the paths of the theme resource files outside of the theme support implementation.
PR #18269 .
2023-01-17 09:29:00 +03:00
Midhun V Nadh
43e059801e
Remove suggestions while searching for torrents
...
Don't want torrent search history to pop up next time you try to search for torrents, right?
There are people who would search for 18+ content and what they searched would load up next time they are about to search.
PR #18285 .
2023-01-16 15:12:35 +03:00
Nowshed H. Imran
ce35a06ec3
Fix Pause icon
...
PR #18110 .
2023-01-16 15:01:20 +03:00
Vladimir Golovnev
32e4371208
Improve startup window state handling
...
Replace current "Start qBittorrent minimized" option with "Initial window state" that allows to start qBittorrent as "hidden in system tray" while retaining regular "minimize to panel" functionality.
PR #18252 .
Closes #487 .
2023-01-16 14:57:56 +03:00
brvphoenix
0d376e7fd6
WebUI: Add log viewer
...
The javascript implementation of multi-select menu is from the source
https://github.com/PhilippeMarcMeyer/vanillaSelectBox . It is licensed
under the MIT License. Some minor fixes is made to pass the lint.
Co-authored-by: brvphoenix <30111323+brvphoenix@users.noreply.github.com >
Co-authored-by: ttyS3 <ttys3.rust@gmail.com >
PR #18290 .
2023-01-16 14:55:44 +03:00
Vladimir Golovnev
2b20d5b260
Fix startup performance on Qt5
...
Use more appropriate container (QList) for resume data queue buffer.
QVector in Qt5 has poor performance of the first element taking operation,
which is used to process the resume data queue. In Qt6, QVector is just an
alias for QList, so there was no problem there.
PR #18387 .
Fixes #18341 .
2023-01-16 14:45:12 +03:00
Vladimir Golovnev
719e4afd8c
Remove confusing helpers from Session interface
...
Such helpers do not make practical sense, since they can be trivially implemented on top of the base interface, but at the same time they can lead to undesirable consequences when some calling code requires slightly different behavior than another.
PR #18367 .
Fixes #18338 .
2023-01-16 14:43:36 +03:00
Vladimir Golovnev
9cdf660ddb
Use QThreadPool to invoke free disk space checking jobs
...
Prevent the creation of an excessive number of threads.
PR #18347 .
Closes #18202 .
2023-01-16 14:31:49 +03:00
Vladimir Golovnev
5dbccf3473
Add all torrents passed via the command line
...
PR #18296 .
Closes #18289 .
2023-01-16 06:54:02 +03:00
Vladimir Golovnev
8db2d04dbb
Allow to modify default UI theme
...
PR #18214 .
2023-01-14 14:02:20 +03:00
thalieht
209850064a
WebUI: Add "Resume data storage type" option
...
PR #18357 .
2023-01-13 10:58:46 +03:00
brvphoenix
e628b7d527
WebUI: Add missing icons
...
PR #18380 .
2023-01-13 10:52:53 +03:00
Fidel Selva
61dbb211c0
WebUI: Improve hotkeys
...
PR #18326 .
Fixes #18325 .
Fixes #14033 .
2023-01-06 22:17:15 +03:00
Jason Carr
71f4a5667c
WebUI: change order of accepted types of file input
...
PR #18286 .
2022-12-28 13:20:02 +03:00
brvphoenix
b33dc7d831
Unify the way to generate the language list in WebUI and GUI
...
PR #17994 .
2022-12-25 16:44:37 +03:00
qbittorrentfan
c5a4a0db2c
properties endpoint returns name/torrentID
...
PR #18218 .
2022-12-25 16:41:55 +03:00
sotiris-bos
b9e045e80b
WebAPI: Expose "IS PRIVATE" flag
...
PR #18227 .
Closes #16052 .
2022-12-25 16:41:00 +03:00
Vladimir Golovnev
cfd0c5433e
Re-allow to use icons from system theme
...
PR #18195 .
2022-12-25 16:25:56 +03:00
Vladimir Golovnev
ebad387c1a
Apply correct tab order to Category options dialog
...
Also pre-select (sub)category name for editing when dialog is opened for creating new (sub)category.
PR #18270 .
Closes #18265 .
2022-12-25 16:14:59 +03:00
xavier2k6
3f39bd9f35
GHA CI: Bump Boost version to 1.81.0 on Windows/macOS
...
PR #18279 .
2022-12-24 20:03:12 +03:00
Jonatan
f8236eb397
NSIS: Update Swedish translation
...
PR #18240 .
2022-12-22 15:01:23 +03:00
David Xuang
23a56c95e3
Prevent incorrect line breaking
...
PR #18236 .
2022-12-22 14:58:26 +03:00
Nowshed H. Imran
6f8aa07a10
Fix icon colors inconsistencies
...
PR #18226 .
Fixes #18163 .
Fixes #18222 .
2022-12-22 14:14:29 +03:00
Vladimir Golovnev
594f9e8632
Use "additional trackers" when metadata retrieving
...
This can help when the DHT nodes are few.
PR #18251 .
Closes #18244 .
2022-12-22 08:21:29 +03:00
Vladimir Golovnev
aeae065007
Correctly count the number of torrents in subcategories
...
PR #18261 .
Closes #18137 .
2022-12-22 08:19:33 +03:00
Vladimir Golovnev
b12fdcf018
Correctly detect drive letter in path
...
PR #18258 .
Closes #18224 .
2022-12-20 07:14:31 +03:00
Vladimir Golovnev
84fabf14c8
Merge pull request #18034 from glassez/fetch-async
...
Fetch data asynchronously
2022-12-15 06:59:29 +03:00
Vladimir Golovnev
0ec47db9cd
Don't drop !qB extension when rename incomplete file
...
PR #18186 .
Closes #18181 .
2022-12-15 06:57:07 +03:00
sledgehammer999
3cf0004665
Merge pull request #18200 from sledgehammer999/ci_appimage
...
CI: Build AppImage
2022-12-14 10:17:43 +02:00
Vladimir Golovnev (Glassez)
40258f6a2f
Stop async worker at correct place
2022-12-14 10:42:40 +03:00
Vladimir Golovnev (Glassez)
b335114219
Use better method to set bit
2022-12-14 10:41:04 +03:00
Vladimir Golovnev (Glassez)
998b08f5d8
Set metadata asynchronously
2022-12-14 10:41:04 +03:00
Vladimir Golovnev (Glassez)
991c30943a
Allow to fetch data asynchronously
2022-12-14 10:41:04 +03:00
sledgehammer999
ad2be39c33
[CI Ubuntu] Build AppImage
...
Upload an AppImage artifact on CI builds. This AppImage is a
simplified version of the official one. It is meant to help
with debugging PRs that fix issues.
2022-12-14 03:28:05 +02:00
BallsOfSpaghetti
c3936cd4b6
Add "Rename rule" button to RSS Downloader
...
PR #18141 .
2022-12-11 11:18:40 +03:00
Chocobo1
d2e595aac3
Remove docker information
...
It has been moved to its own repo: https://github.com/qbittorrent/docker-qbittorrent-nox
PR #18199 .
2022-12-11 11:24:13 +08:00
sledgehammer999
b8aa9e5609
[CI Ubuntu] Strip installed components
2022-12-10 16:53:42 +02:00
Torsten Schwarz
2109c4e1ae
WebUI: Make rename file dialog resizable
...
PR #18154 .
2022-12-10 10:17:21 +03:00
Vladimir Golovnev
ac3ad17a9e
Ensure thread is stopped before deleting QThread
...
PR #18037 .
2022-12-08 08:37:14 +03:00
Vladimir Golovnev
31c7306bd2
Correctly load folder based UI theme
...
PR #18173 .
2022-12-08 08:33:55 +03:00
Chocobo1
4741aab7a3
Merge pull request #18094 from Chocobo1/color
...
Revise text color for completed status
2022-12-02 13:17:00 +08:00
Vladimir Golovnev
679e3b8bea
WebAPI: return paths using platform-independent separator format
...
PR #18118 .
Closes #18096 .
2022-12-01 08:16:43 +03:00
Vladimir Golovnev
25ea0d274b
Destroy desktop integration at correct place
...
Otherwise it is destructed in QObject destructor, i.e. after GUI application is already destructed.
This can be related to some problems with system tray icon.
PR #18108 .
Closes #18093 .
2022-11-30 20:09:51 +03:00
sledgehammer999
12b58be8c2
Merge pull request #18104 from sledgehammer999/remove_dead_code
...
Remove dead code
2022-11-30 15:19:54 +02:00
Chocobo1
e4f1485c82
Fix wrong color code
...
Must have been a copy-paste error...
2022-11-30 15:23:49 +08:00
Vladimir Golovnev
1b2ff0f6f8
Handle tracker status updates asynchronously
...
* Add a helper for performing jobs in Session context
* Handle tracker status updates asynchronously
PR #18010 .
2022-11-30 09:54:30 +03:00
Vladimir Golovnev
a31755bbc8
Switch SQLite to use WAL journaling mode
...
PR #18048 .
2022-11-30 09:50:26 +03:00
sledgehammer999
311e0f21eb
Remove dead code
...
Leftover from the system tray code refactoring.
2022-11-29 21:30:26 +02:00
sledgehammer999
b86366f243
Merge pull request #18083 from now-im/patch-1
...
Fix Speed limit icon size
2022-11-29 17:27:16 +02:00
sledgehammer999
58d1c80b12
Merge pull request #18076 from thalieht/iconqueued
...
WebUI: Fix missing "queued" icon
2022-11-29 17:26:38 +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
sledgehammer999
50c08e55cd
Merge pull request #18086 from sledgehammer999/translation_fix
...
Remove trailing newline from translation file
2022-11-28 21:05:09 +02:00
sledgehammer999
4307a09621
Remove trailing newline from translation file
...
I also fixed it on Transifex.
2022-11-28 18:41:26 +02:00
Nowshed H. Imran
d531d6d221
Fix Speed limit icon size
...
Fixes #18067 .
2022-11-28 19:59:09 +06:00
thalieht
4cf94a6fa0
WebUI: Fix missing "queued" icon
2022-11-28 01:45:41 +02:00
sledgehammer999
4cb60f4870
Sync translations from Transifex and run lupdate
2022-11-23 21:22:54 +02:00
Vladimir Golovnev
d82edb2838
Bump to 4.6.0alpha1
2022-11-21 22:54:37 +03:00
sledgehammer999
c91eefe469
Update Changelog
2022-11-21 01:13:29 +02:00
sledgehammer999
327affa340
Merge pull request #18002 from sledgehammer999/v450_changelog
...
Update Changelog
2022-11-20 22:11:01 +02:00
sledgehammer999
4e7c2589e4
Update Changelog
2022-11-20 21:01:54 +02:00
sledgehammer999
17ce07230d
Merge pull request #18038 from glassez/tree-update
...
Revert "Use another workaround to update files tree view"
2022-11-20 20:57:27 +02:00
Vladimir Golovnev
fda6c9a3d9
Prevent object from being used after destruction
...
PR #18031 .
2022-11-20 15:03:36 +03: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
1cee69da6c
Don't miss to store metadata of new torrent
...
PR #18033 .
2022-11-19 13:33:38 +03:00
Vladimir Golovnev
f54b66eb75
Merge pull request #17996 from glassez/non-blocking
...
Perform some unavoidable blocking calls asynchronously
2022-11-14 20:55:12 +03:00
Vladimir Golovnev (Glassez)
3563bad5fc
Revamp implementation of port forwarder
2022-11-14 08:28:35 +03:00
Vladimir Golovnev (Glassez)
1f3f96f7aa
Set metadata asynchronously
2022-11-14 08:27:01 +03:00
Vladimir Golovnev (Glassez)
7022adb89b
Change current IP filter asynchronously
2022-11-14 08:26:49 +03:00
Vladimir Golovnev (Glassez)
bac57de5f5
Update listening status using native session extension
2022-11-14 08:22:12 +03:00
Vladimir Golovnev
bdd56a52d3
Destroy object within appropriate thread
...
PR #18008 .
2022-11-13 08:28:33 +03:00
Vladimir Golovnev
dcdbd02102
Delete database file only after it is released
...
PR #18005 .
2022-11-13 08:27:48 +03:00
Vladimir Golovnev
b68c4e2106
Save correct resume data when added new torrent
...
PR #18003 .
2022-11-13 08:26:25 +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
f9eefe866c
Merge pull request #17992 from glassez/preloading-magnet
...
Improve handling of preloading metadata.
This also allows to avoid blocking calls when performing some actions.
2022-11-10 19:22:20 +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
d328eeb5be
Merge pull request #17980 from Chocobo1/model
...
Reserve space before appending elements
2022-11-10 17:24:17 +08:00
Chocobo1
d90ea0d3be
Move increment out of loop
2022-11-10 17:18:28 +08:00
Chocobo1
e7ece66717
Clean up code
2022-11-09 23:17:22 +08:00
Vladimir Golovnev
6c9c40fd7c
Avoid blocking call when changing libtorrent session settings
...
We don't really need to get currently used settings pack in order to apply changes to session settings. It is enough to apply settings pack that contains only updated settings.
PR #17989 .
2022-11-09 08:02:34 +03: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
Vladimir Golovnev (Glassez)
6aee7f95b7
Add torrent for preloading magnet asynchronously
2022-11-08 08:29:16 +03:00
Vladimir Golovnev (Glassez)
0b70ccf9e9
Cache torrent handles of preloading magnets
2022-11-08 08:29:15 +03:00
Vladimir Golovnev (Glassez)
da586828be
Don't perform unnecessary actions with preloading magnets
2022-11-08 08:29:10 +03:00
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
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
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