Problem
In the torrent table, select all mode stays on after a plain click on one row. The next action from the context menu then reaches every torrent, not the row that the user clicked.
- Press Ctrl/Cmd+A, or click the header checkbox. qui turns on select all mode.
- Click one torrent. The details panel opens for that torrent. All rows stay selected.
- Right-click the same torrent and click Delete. The dialog asks "Delete N torrents?", where N is every torrent that matches the filter, also the torrents on pages that are not loaded.
A user who expects the click to select one torrent deletes all of them. The rows stay highlighted and the dialog shows the count, but both are easy to miss when the user expects one torrent.
qBittorrent WebUI
In the qBittorrent WebUI, a plain click always clears the selection and selects the clicked row, also after Ctrl+A (src/webui/www/private/scripts/dynamicTable.js, the click handler in setupCommonEvents). The same three steps delete one torrent. A right-click on a selected row keeps the selection in both apps.
Users who come from the qBittorrent WebUI expect the click to reset the selection.
Cause
Code references are on develop at bf709cc3.
TorrentTableOptimized.tsx:1174: a plain click replaces the selection only when the row is not selected. In select all mode, every row that is not excluded counts as selected, so this branch never runs. The click only opens the details panel.TorrentContextMenu.tsx:138:useSelection = isSelected || isAllSelected. When select all is on, the menu acts on the whole selection, also for a row that the user excluded from select all.documentation/docs/features/torrent-management.md:104says that a click "selects the row". In select all mode, a click does not change the selection.
Open design questions
- Does a plain click in select all mode replace the selection with the clicked row, as in the qBittorrent WebUI? If yes, does the same rule apply to a plain click on a row inside a normal multi-selection, which also keeps the selection today?
- Some users click rows to read the details while they keep a selection for a bulk action. Do they need another way to open the details without a change to the selection?
- Does a right-click on a row that the user excluded from select all act on that row only?
- Does the mobile card view (
TorrentCardsMobile.tsx) follow the same rule?
Activity
0No activity yet.