13495 Commits

Author SHA1 Message Date
namoen0301
fec4e01aeb
NSIS: add ManifestDPIAwareness function
* This PR added an undocumented function `ManifestDPIAwareness` and enable `PerMonitorV2` support (requires Win10 1703+)
  691211035c/Docs/src/attributes.but (L290-L292)
* Remove `XPStyle` because this function do nothing on NSIS 3.x

PR #23426.
2025-11-14 21:09:12 +08:00
Chocobo1
4541044c42
GHA CI: ensure AppRun hook folder exists
Upstream made some changes and it won't create the AppRun hook folder
anymore, so we create it ourselves.
Upstream PR: https://github.com/linuxdeploy/linuxdeploy-plugin-qt/pull/206

PR #23474.
2025-11-11 15:02:54 +08:00
sledgehammer999
b819b9b7a6
Sync translations from Transifex and run lupdate 2025-11-08 00:29:09 +02:00
dependabot[bot]
6b3519f4eb
GHA CI: Bump Github Actions versions
PR #23444.
2025-11-03 13:35:20 +08:00
Chocobo1
33e7cff3b0
Update expected-lite to v0.9.0
* Update expected-lite to v0.9.0
  https://github.com/nonstd-lite/expected-lite/releases/tag/v0.9.0
* Add error messages for various RSS processing error
* Preserve CRLF endings for expected-lite
  So that we can verify the hash matches upstream easily.

PR #23440.
Closes #22950.
2025-11-03 13:03:41 +08:00
Halbast
516f2ef6ec
NSIS: Update Kurdish translation
PR #22801.
2025-11-03 12:53:30 +08:00
Vladimir Golovnev
85f1c774f6
Improve search results filtering implementation
PR #23430.
Closes #23396.
2025-11-02 14:47:39 +03:00
Vladimir Golovnev
1be4e646e1
WebAPI: Use native separators for path autofill suggestions
PR #23439.
Closes #23432.
2025-11-02 14:43:57 +03:00
Chocobo1
ee62dd3cda
Do not allow orphan processes
If a process is an orphan (without a parent) then the process won't exit when qbt exits and
the process will be still running. This is unwanted behavior.

PR #23422.
2025-10-31 14:19:52 +08:00
Vladimir Golovnev
bc22e8929c
Fix incorrect initial state of checkbox
PR #23428.
2025-10-28 17:08:25 +03:00
dyseg
e5026e4b19
WebUI: fix opening "Add torrent" window with double click on RSS feed item
Restores the ability to open the "Add torrent" dialogue, when double clicking on an RSS feed item.
Broke in: 02892d12501e9ba96cb5a0375da42d447bc5ece2 as part of #21645.

PR #23413.
2025-10-26 22:12:36 +08:00
Ramon López i Cros
f7fbd61db0
NSIS: Add Catalan translation
All strings have been translated by a native Catalan speaker.

PR #23346.
2025-10-26 21:55:17 +08:00
Chocobo1
0c17d91d63
Use Permanent Cookie
Previously, WebUI was using a HTTP Session Cookie. This type of cookie is tend to be dropped by
the browser on mobile platforms and gives a bad experience on the WebUI. Now the cookie is a
permanent one and is guaranteed to be persisted between browser restarts.

Closes #20993.
PR #23392.
2025-10-25 03:37:46 +08:00
Marcus Järrud
60feb3cce2
WebUI: Redesign login form
Make the Web UI login more mobile friendly.
The main action is moving to a column layout for the logo and form. This way it's easier for mobile to view the page but it doesn't affect the desktop experience much.

Secondary it set the input font size to be default text size, this in turn makes it so the mobile ui doesn't zoom in when you focus the inputs. [You can read more about it here](https://wsform.com/knowledgebase/why-forms-zoom-on-some-mobile-devices-and-browsers-and-how-to-control-it/).

PR #23360.
2025-10-25 00:23:18 +08:00
Tom Piccirello
a8e9e800b3
Support deleting API key
PR #23388.
2025-10-22 11:05:51 +03:00
Chocobo1
9ce5463d9d
Avoid container detachments
PR #23393.
2025-10-20 17:20:42 +08:00
Vaida
5f9918cad4
Improve icons for macOS
macOS 26 uses new design for app icons, with a different corner radius for app icons, making the previous icon unfit for the new version. Hence I created a new icon with the project folder attached (AppIcon.icon).

I also updated the document icon to give it a more modern style. And an icon for temp files (!qB files), and I have edited the info.plist accordingly.

PR #23365.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2025-10-20 16:56:47 +08:00
namoen0301
df2998c7a9
NSIS: add support for Windows ARM64 build
Qt >=6.8 can native compile on Windows ARM64 machine, and GitHub also provides windows-11-arm runner. so I think It's time to add support.

I've tested from my branch and Snapdragon 8cx gen3 computer. all ci build passed.

Closes #11465
PR #23328.
2025-10-20 16:43:44 +08:00
Andrew Johnson
d67163269b
Improve tab key focus in hidable tab bar widget
PR #23379.
2025-10-19 10:08:28 +03:00
Tom Piccirello
312e914adb
WebAPI: Add support for authenticating via API key
PR #23212.
Closes #13201.
2025-10-16 14:50:59 +03:00
Andrew Johnson
bb97817f35
Fix screen reader accessibility in torrent list
PR #23359.
Closes #20393.
2025-10-15 11:10:53 +03:00
Vladimir Golovnev
d41012a285
Fix "Save as .torrent file" button is visible before metadata retrieved
PR #23375.
2025-10-14 13:02:53 +03:00
Vladimir Golovnev
fb71c814ca
Don't change the processing order of alerts of different types
PR #23373.
Closes #23319.
2025-10-14 13:00:48 +03:00
Chocobo1
62b5619bc1
Migrate away from deprecated Qt methods
PR #23370.
Closes #23354.
2025-10-13 06:57:58 +08:00
xavier2k6
518fd7cc1b
Use appropriate icon for "error" status in search tab
PR #23351.
2025-10-10 16:17:15 +03:00
Vladimir Golovnev
9a68a03f53
Make the Smart filter to reject articles with an unrecognized episode number
PR #23340.
Closes #23313.
2025-10-08 12:51:21 +03:00
tehcneko
d5c173be16
WebUI: Fix path input layout in torrent creator
PR #23345.
2025-10-07 02:35:47 +08:00
Chocobo1
e78b392c7b
Avoid spawning another temporary event loop
And redirect stderr messages to console.

PR #23344.
2025-10-07 02:27:19 +08:00
Chocobo1
34ad55bb29
Avoid duplicate lookup
In C++20 `std::views::transform()` followed by `std::views::filter()` has a nasty effect of
invoking transformation function twice.
Note that there will be a `std::views::cache_latest()` in C++26 to
address this issue.

Ref:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2760r1.html#cache_last
https://stackoverflow.com/questions/64199664/why-c-ranges-transform-filter-calls-transform-twice-for-values-that-match

PR #23343.
2025-10-07 02:12:27 +08:00
Chocobo1
d5d690cace
Utilize algorithms from std::ranges
The result is shorter code and improves readability.
Note that `asConst()` is still required for non-const containers, otherwise the container will
detach.

PR #23342.
2025-10-07 01:56:08 +08:00
dependabot[bot]
4181a10542
GHA CI: Bump Github Actions versions
PR #23332.

---

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-05 18:30:51 +08:00
Samuel Lachance
ee881d4889
Allow to filter RSS by simple string
Adds a search bar for RSS items. It supports plain text search (no regex), applies only to the selected tab, updates results as you type, and shows all items when the field is empty.

PR #23278.
Resolves #14719, resolves #15538, resolves #18444, resolves #18183, resolves #22570.

---------

Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2025-10-04 08:12:26 +08:00
Chocobo1
eed0e56d1a
Use proper return type
`count()`, `length()`, `size()`, `indexOf()` and `lastIndexOf()` were
returning `int` in Qt5. In Qt6 they return `qsizetype`.

PR #23317.
2025-09-29 03:08:02 +08:00
Chocobo1
01ac8c012c
Improve parsing HTTP request line
Now the parsing is done with Views and the conversion to `QString` is
only done in the last step.

PR #23316.
2025-09-29 02:56:09 +08:00
cocopaw
2d6d9ab792
Add Torrent Creator toolbar button
PR #23305.
Closes #21489.
2025-09-29 02:36:30 +08:00
Tom Piccirello
4fb54d3da0
WebUI: fix adding torrent when using virtual tables
When using virtual tables we can't rely on fetching the values from the DOM. We should always fetch values directly from the file tree.

PR #23263.
Closes #23241.
2025-09-29 02:19:07 +08:00
Vladimir Golovnev
84224c1bbf
Don't fail because of existing files when exporting torrent files
PR #23315.
Closes #23017.
2025-09-28 21:08:00 +03:00
nn
42786b2afc
Restore default drag behavior in Torrent Content widget
Multi-selection for default LMB action, as before 5.1 update.
Adds option to select grab as the default behavior, for users who don't have the Alt key available.
Holding the Alt key toggles between grab/multi-selection.

PR #23180.
Closes #22686.
2025-09-29 01:58:46 +08:00
Vladimir Golovnev
222d265eec
Log a critical error before aborting the app
PR #23303.
2025-09-27 20:22:38 +03:00
Chocobo1
d02b01c733
WebUI: don't send HTTP Referer header to other servers
`same-origin`
> Sends the full URL (stripped of parameters) for same-origin requests. Cross-origin requests will contain no referrer header.

This would be helpful for 3rd party WebUI that were forked from the
official one. The official WebUI is not affect by this change since the
request is blocked by CSP.

PR #23294.
2025-09-27 15:54:49 +08:00
Chocobo1
10b879bdaf
Propagate error messages from search engine
This will be useful for development and debugging issues. The messages will be outputted to both console and qbt logger.
Note that having stderr messages does not always mean the operation failed but there might be some (non-fatal) issues.

PR #23293.
Closes #6553. Closes #22381. Closes #23052.
2025-09-27 15:42:51 +08:00
Vladimir Golovnev
3de2a9f486
Don't create lock file in internal data folders
PR #23279.
2025-09-22 20:09:21 +03:00
Tom Piccirello
3b744c3dba
WebUI: fix lint errors
PR #23277.
2025-09-22 10:35:21 +08:00
cocopaw
9696c99dbd
Block invalid file names when renaming torrent content
Relevant issues: #22426, #21899,#16906,#16834, #16271, #11276, #9085, #11340, #14728, #20412, #20337, #17049, #17752, #17469, #15378, #15227, #14908.
PR #23060.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2025-09-20 14:42:30 +08:00
Tom Piccirello
753fb80e9b
WebAPI: Append port to session cookie name
PR #23228.
Closes #21651.
2025-09-19 08:29:46 +03:00
Chocobo1
c075097acd
Allow to run CI checks locally
Now the developer is able to run the checks easily and locally (by
following the instructions in nova3/README.md).

PR #23262.
2025-09-14 22:17:23 +08:00
Chocobo1
b0148ef36c
WebUI: enforce coding style
* WebUI: prefer `classList.toggle()` over other pattern
  Addresses: https://github.com/qbittorrent/qBittorrent/pull/23231#discussion_r2328647152
* WebUI: prefer using built-in objects Constructor
* WebUI: combine function calls

PR #23261.
2025-09-14 22:11:23 +08:00
Mark Yu
5edaf2cf10
Use class instead of struct
PR #23255.
2025-09-14 17:18:44 +08:00
Mark Yu
fcaa95101d
Allow equals character in the command line value
The CLI options should allow the `=` (equals) char as value so doing `--save-path="/home/test/mydir = somedir"` should parse properly with the `value` method returning `"/home/test/mydir = somedir"`.

Closes #23248.
PR #23251.

---------

Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2025-09-14 16:54:14 +08:00
Mark Yu
8e14541236
Allow to copy content paths of selected torrents
Closes #23227.
PR #23239.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2025-09-14 16:42:59 +08:00