diff --git a/src/webui/www/private/css/style.css b/src/webui/www/private/css/style.css index 665300d91..f28e0a5cf 100644 --- a/src/webui/www/private/css/style.css +++ b/src/webui/www/private/css/style.css @@ -100,6 +100,7 @@ ol { .dynamicTableDiv, .mochaContentWrapper, .panel, + .scrollableMenu, #rssDetailsView { scrollbar-width: thin; } diff --git a/src/webui/www/private/rename_files.html b/src/webui/www/private/rename_files.html index 27310e0de..f8eefa009 100644 --- a/src/webui/www/private/rename_files.html +++ b/src/webui/www/private/rename_files.html @@ -21,7 +21,7 @@ } = window.MUI.Windows.instances["multiRenamePage"]; const bulkRenameFilesContextMenu = new window.qBittorrent.ContextMenu.ContextMenu({ - targets: "#bulkRenameFilesTableDiv tr", + targets: "#bulkRenameFilesTableDiv tbody tr", menu: "multiRenameFilesMenu", actions: { ToggleSelection: (element, ref) => { diff --git a/src/webui/www/private/scripts/dynamicTable.js b/src/webui/www/private/scripts/dynamicTable.js index bd7093718..c490f898c 100644 --- a/src/webui/www/private/scripts/dynamicTable.js +++ b/src/webui/www/private/scripts/dynamicTable.js @@ -1750,7 +1750,7 @@ window.qBittorrent.DynamicTable ??= (() => { td.append(span); } - span.style.backgroundImage = `url('images/flags/${country_code ?? "xx"}.svg')`; + span.style.backgroundImage = `url('images/flags/${country_code || "xx"}.svg')`; span.textContent = country; td.title = country; }; @@ -2053,7 +2053,11 @@ window.qBittorrent.DynamicTable ??= (() => { break; } - td.className = statusClass; + for (const c of [...td.classList]) { + if (c.startsWith("tracker")) + td.classList.remove(c); + } + td.classList.add(statusClass); td.textContent = status; td.title = status; }; diff --git a/src/webui/www/private/scripts/prop-files.js b/src/webui/www/private/scripts/prop-files.js index 7f9b1a57d..e5eaae54a 100644 --- a/src/webui/www/private/scripts/prop-files.js +++ b/src/webui/www/private/scripts/prop-files.js @@ -568,7 +568,7 @@ window.qBittorrent.PropFiles ??= (() => { }; const torrentFilesContextMenu = new window.qBittorrent.ContextMenu.ContextMenu({ - targets: "#torrentFilesTableDiv tr", + targets: "#torrentFilesTableDiv tbody tr", menu: "torrentFilesMenu", actions: { Rename: (element, ref) => { diff --git a/src/webui/www/private/scripts/search.js b/src/webui/www/private/scripts/search.js index cd97bde5d..3dc0b454b 100644 --- a/src/webui/www/private/scripts/search.js +++ b/src/webui/www/private/scripts/search.js @@ -97,8 +97,8 @@ window.qBittorrent.Search ??= (() => { } }, offsets: { - x: -15, - y: -53 + x: 2, + y: -60 }, onShow: function() { setActiveTab(this.options.element); @@ -109,7 +109,7 @@ window.qBittorrent.Search ??= (() => { // load "Search in" preference from local storage $("searchInTorrentName").value = (LocalPreferences.get("search_in_filter") === "names") ? "names" : "everywhere"; const searchResultsTableContextMenu = new window.qBittorrent.ContextMenu.ContextMenu({ - targets: "#searchResultsTableDiv tr", + targets: "#searchResultsTableDiv tbody tr", menu: "searchResultsTableMenu", actions: { Download: downloadSearchTorrent, @@ -184,7 +184,10 @@ window.qBittorrent.Search ??= (() => { closeTabElem.src = "images/application-exit.svg"; closeTabElem.width = "10"; closeTabElem.height = "10"; - closeTabElem.addEventListener("click", function(e) { qBittorrent.Search.closeSearchTab(this); }); + closeTabElem.addEventListener("click", function(e) { + e.stopPropagation(); + closeSearchTab(this); + }); tabElem.prepend(closeTabElem); tabElem.appendChild(getStatusIconElement("QBT_TR(Searching...)QBT_TR[CONTEXT=SearchJobWidget]", "images/queued.svg")); diff --git a/src/webui/www/private/views/filters.html b/src/webui/www/private/views/filters.html index 60eeb5c88..ef7bc88dc 100644 --- a/src/webui/www/private/views/filters.html +++ b/src/webui/www/private/views/filters.html @@ -98,7 +98,7 @@ } }, offsets: { - x: -15, + x: 0, y: 2 }, onShow: function() { diff --git a/src/webui/www/private/views/log.html b/src/webui/www/private/views/log.html index a988e5ba5..0790bc0bb 100644 --- a/src/webui/www/private/views/log.html +++ b/src/webui/www/private/views/log.html @@ -206,7 +206,7 @@ }); const logTableContextMenu = new window.qBittorrent.ContextMenu.ContextMenu({ - targets: ":is(#logMessageView, #logPeerView) tr", + targets: ":is(#logMessageTableDiv, #logPeerTableDiv) tbody tr", menu: "logTableMenu", actions: { Clear: () => { diff --git a/src/webui/www/private/views/rss.html b/src/webui/www/private/views/rss.html index e1aa96bf0..31d0b2561 100644 --- a/src/webui/www/private/views/rss.html +++ b/src/webui/www/private/views/rss.html @@ -218,7 +218,7 @@ $("rssFetchingDisabled").classList.remove("invisible"); const rssFeedContextMenu = new window.qBittorrent.ContextMenu.RssFeedContextMenu({ - targets: "#rssFeedTableDiv tr", + targets: "#rssFeedTableDiv tbody tr", menu: "rssFeedMenu", actions: { update: (el) => { @@ -288,7 +288,7 @@ rssFeedTable.setup("rssFeedTableDiv", "rssFeedFixedHeaderDiv", rssFeedContextMenu); const rssArticleContextMenu = new window.qBittorrent.ContextMenu.RssArticleContextMenu({ - targets: "#rssArticleTableDiv tr", + targets: "#rssArticleTableDiv tbody tr", menu: "rssArticleMenu", actions: { Download: (el) => { diff --git a/src/webui/www/private/views/searchplugins.html b/src/webui/www/private/views/searchplugins.html index e6a6b5bea..768b605fc 100644 --- a/src/webui/www/private/views/searchplugins.html +++ b/src/webui/www/private/views/searchplugins.html @@ -94,7 +94,7 @@ const setup = () => { searchPluginsTable = new window.qBittorrent.DynamicTable.SearchPluginsTable(); searchPluginsTableContextMenu = new window.qBittorrent.ContextMenu.SearchPluginsTableContextMenu({ - targets: "#searchPluginsTableDiv tr", + targets: "#searchPluginsTableDiv tbody tr", menu: "searchPluginsTableMenu", actions: { Enabled: enablePlugin, diff --git a/src/webui/www/private/views/transferlist.html b/src/webui/www/private/views/transferlist.html index 40dfdac7a..0692a06db 100644 --- a/src/webui/www/private/views/transferlist.html +++ b/src/webui/www/private/views/transferlist.html @@ -29,7 +29,7 @@ // create a context menu const contextMenu = new window.qBittorrent.ContextMenu.TorrentsTableContextMenu({ - targets: "#torrentsTableDiv tr", + targets: "#torrentsTableDiv tbody tr", menu: "torrentsTableMenu", actions: { start: (element, ref) => {