Commit graph

12887 commits

Author SHA1 Message Date
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