Commit Graph

13497 Commits

Author SHA1 Message Date
Orgad Shaneh
ffbd01eb81 Fix MinGW compiler warnings
Cross-compiling with mxe on linux.

PR #23470.
2025-11-14 21:26:35 +08:00
namoen0301
530c7d1bbd NSIS: Create a mutex to ensure only one installer is running
PR #23450.
2025-11-14 21:20:02 +08:00
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: 02892d1250 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