Commit Graph

1329 Commits

Author SHA1 Message Date
Chocobo1
eb82c9078d WebUI: always provide event variable
This is unifying coding style and avoid wrong usages.

PR #22676.
2025-05-13 00:11:00 +08:00
dezza
13f9c20a69 WebUI: Remove unselectable from General tab
Making General-tab text `unselectable` is not an improvement.

It begs to add a new `Copy -> Save path` feature, because using `Set location` to copy save path (*which requires a request*) is not faster than simply copying it from the `General` tab by double-left clicking and pressing `CTRL+C`.

I don't see a reason why its necessary to software-restrict people from copying details from the `General`-tab - there are several reasons why you would - incl. the above mentioned usecase for quickly copying save-path, but other than that its counterproductive to limit people from copying the details displayed.

PR #22663.
2025-05-10 16:48:05 +08:00
justusaac
86e4b662ce WebUI: Select multiple files to rename with Shift
Convenience feature in the "Rename Files" menu in the WebUI.
If you click one file's checkbox, and then click another with Shift held, all the checkboxes between those two will be selected/unselected based on the state of the first checkbox.
It's based on what the Windows file explorer does when holding Ctrl and Shift

Closes #22455.
PR #22610.
2025-05-10 16:08:19 +08:00
Chocobo1
0262faa915 Merge pull request #22650 from Chocobo1/webui_file_tree
* WebUI: migrate 'file tree' class to JS native class
* WebUI: avoid double lookup
2025-05-05 15:48:24 +08:00
Chocobo1
f1b7c4572b Revise labels for 'duplicate torrent' actions
PR #22645.
2025-05-05 15:38:12 +08:00
Chocobo1
559f47ab0c WebUI: avoid double lookup 2025-05-03 22:47:28 +08:00
Chocobo1
380b25e22f WebUI: migrate 'file tree' class to JS native class 2025-05-03 22:41:48 +08:00
Chocobo1
7745ac19d8 Merge pull request #22636 from skomerko/webui-dynamic-classes
Dynamic table classes are now created using modern class syntax (minimal changes to remove Mootools bits).
2025-05-03 22:19:01 +08:00
Vladimir Golovnev
6cd6267c26 Fix ratio handling
PR #22638.
2025-05-01 14:18:18 +03:00
Vladimir Golovnev
e7dee969e1 Remove dubious seeding time max value
PR #22624.
2025-05-01 08:57:10 +03:00
skomerko
bb68a39b53 WebUI: Prefix private properties with # in dynamic table classes 2025-04-29 21:08:26 +02:00
skomerko
4c91cd9372 WebUI: Use modern class syntax to create dynamic table classes 2025-04-29 21:08:17 +02:00
tehcneko
0791828b84 WebUI: fix virtual list defects
Fixes https://github.com/qbittorrent/qBittorrent/pull/22502#issuecomment-2822201721 and https://github.com/qbittorrent/qBittorrent/pull/22502#issuecomment-2822253388.

PR #22597.
2025-04-29 20:16:00 +08:00
Chocobo1
ad4bdc0653 Merge pull request #22615 from Chocobo1/webui_eslint
* WebUI: disallow unnecessary semicolons
* WebUI: ensure consistent shorthand syntax
* WebUI: disallow async functions which have no await expression
* WebUI: remove unused variable
2025-04-28 20:20:57 +08:00
Chocobo1
fdd17159eb WebUI: remove unused variable 2025-04-27 16:19:51 +08:00
Chocobo1
e9fee414df WebUI: disallow async functions which have no await expression 2025-04-27 16:19:51 +08:00
Chocobo1
1077cbba2b WebUI: ensure consistent shorthand syntax 2025-04-27 16:19:50 +08:00
Chocobo1
70dbe9468a WebUI: disallow unnecessary semicolons 2025-04-27 16:19:50 +08:00
skomerko
411ca0f668 WebUI: Use native function for selecting elements by ID 2025-04-23 19:55:04 +02:00
skomerko
7b3aa51bb1 WebUI: Eliminate redundant DOM element queries 2025-04-23 19:49:40 +02:00
sledgehammer999
0b3bce8993 Sync translations from Transifex and run lupdate 2025-04-21 12:30:57 +03:00
bolshoytoster
0160aa28b6 WebUI: Don't update UI if the page is hidden
Currently, there is unnecessary CPU/network usage by the web UI when it's running in the background, this PR prevents it from refreshing in the background.

Closes #22565.
PR #22567.
2025-04-21 17:23:09 +08:00
Chocobo1
0187f19f60 WebUI: migrate away from recursion calls
Browsers have limited recursion depth about ~10000.

PR #22580.
2025-04-21 17:21:18 +08:00
sledgehammer999
e87dfe35f3 Bump copyright year 2025-04-20 23:38:34 +03:00
sledgehammer999
e51be45ce6 Sync translations from Transifex and run lupdate 2025-04-20 23:34:53 +03:00
tehcneko
b4a16f6464 WebUI: Optimize table performance with virtual list
Adding virtual list support to dynamic tables to improve performance on large lists, I observed a 100x performance improvement on rendering on a torrent table with 5000 torrents.
This optimization is disabled by default and can be enabled in options.

PR #22502.
2025-04-20 17:18:26 +08:00
Kostiantyn Chernenok
c878a09d27 Swap add file/link buttons on toolbar
Swap "Add torrent file" with "Add torrent link" button to be consistent with order in File menu.

Closes #22420.
PR #22557.

Signed-off-by: Kostiantyn <kos.chernenok@gmail.com>
2025-04-19 07:57:39 +08:00
Chocobo1
abafbc0685 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 17:59:42 +08:00
Chocobo1
5465605377 WebUI: fix dark mode in RSS entry viewer
Use `allow-same-origin` sandbox directive to allow fetching the parent CSS.

PR #22536.
2025-04-12 17:54:55 +08:00
Chocobo1
f0b9a17566 WebUI: add headers to RSS entry viewer
Introduced Author, 'Open link' headers.
Note that the Author and 'Open link' are not mandatory fields in RSS/Atom feeds. So these
headers will only be displayed when the feed includes them.

PR #22503.
2025-04-08 15:47:47 +08:00
skomerko
6c36830e5e 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-05 17:13:14 +08:00
Chocobo1
cdddaae939 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 13:51:08 +08:00
tehcneko
f540381caf WebUI: Support creating new torrents
Implemented the torrent creator using WebAPI from #20366 in WebUI, the interface is mostly inspired by GUI and VueTorrent.

Closes #5614.
PR #22459.
2025-04-03 17:16:12 +08:00
Chocobo1
ade39432be Revise wordings related to SOCKS4 proxy
The affected options are not really incompatible with SOCKS4 but it is due to Qt missing
implementation. Therefore 'unavailable' is more suitable.

PR #22483.
2025-03-29 21:09:49 +08:00
Chocobo1
97865545c3 WebUI: fix Tag counter counting wrong
Related: 73e9116d21 (r2014898781)

PR #22480.
2025-03-29 20:41:05 +08:00
Chocobo1
7b4a3fccc6 WebUI: replace deprecated data type
`Hash` is deprecated by mootools.
Also simplify related code.

PR #22458.
2025-03-23 15:01:39 +08:00
Chocobo1
b28c229f85 Add control for 'hostname resolver cache expiry interval'
Also add a few missing units in WebUI.

Closes #22267.
PR #22439.
2025-03-17 19:40:06 +08:00
skomerko
8f53fb8178 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-02 17:15:21 +08:00
skomerko
37eb80919c 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-02 17:08:04 +08:00
skomerko
f432c1e615 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-02-25 13:55:04 +08:00
Chocobo1
41d9ee91a1 WebUI: tell web crawlers do not index the WebUI
PR #22309.
2025-02-23 15:20:22 +08:00
skomerko
ba3d89b674 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-02-23 15:13:17 +08:00
skomerko
1ca33d45ba WebUI: Access element attribute/property natively in log tables
#21007 changed pretty much everything already but I spotted some leftovers and replaced them too.

PR #22294.
2025-02-21 20:54:26 +08:00
Chocobo1
a9b54d94a0 Merge pull request #22282 from skomerko/webui-v51-fixes
WebUI v5.1 fixes
2025-02-21 20:44:42 +08:00
Chocobo1
955688c125 WebUI: replace rounding function from MooTools
The `round()` returning floating point number is not a good idea. This is due to floating point
representation is imprecise and sometimes it cannot faithfully represent a number, for example
`0.09 + 0.01 !== 0.1 `. Therefore, it should be avoided and/or utilize other function
to achieve the goal.

Also, improve `window.qBittorrent.Misc.toFixedPointString()` and add test cases.

PR #22281.
2025-02-17 15:11:55 +08:00
skomerko
8c02bbb4bc WebUI: Select next available search tab after closing last active tab with X button 2025-02-15 10:59:56 +01:00
skomerko
7e95375cec WebUI: Fix unknown country flag path 2025-02-15 10:59:56 +01:00
skomerko
29201fa016 WebUI: Apply scrollbar style to context menu elements 2025-02-15 10:59:56 +01:00
skomerko
1a3d0f6fab WebUI: Adjust context menu offsets in Search tab & Status filter list 2025-02-15 10:59:56 +01:00
skomerko
f58d6ae984 WebUI: Make context menu target selectors more precise 2025-02-15 10:59:56 +01:00