From c779bcfef5792ab15ec02cf333c93f22dd17aaa5 Mon Sep 17 00:00:00 2001 From: Thomas Piccirello Date: Thu, 5 Jun 2025 20:47:58 -0700 Subject: [PATCH] Make filter double click action configurable --- src/webui/www/private/scripts/client.js | 2 +- src/webui/www/private/scripts/mocha-init.js | 10 +++++----- src/webui/www/private/views/filters.html | 11 +++++++++-- src/webui/www/private/views/preferences.html | 11 +++++++++++ 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index 09d43f9b5..a8286a6c3 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -490,7 +490,7 @@ window.addEventListener("DOMContentLoaded", (event) => { updateFilter("moving", "QBT_TR(Moving (%1))QBT_TR[CONTEXT=StatusFilterWidget]"); updateFilter("errored", "QBT_TR(Errored (%1))QBT_TR[CONTEXT=StatusFilterWidget]"); if (useAutoHideZeroStatusFilters && document.getElementById(`${selectedStatus}_filter`).classList.contains("invisible")) - setStatusFilter("all"); + window.qBittorrent.Filters.clearStatusFilter(); }; const highlightSelectedStatus = () => { diff --git a/src/webui/www/private/scripts/mocha-init.js b/src/webui/www/private/scripts/mocha-init.js index 4b6e9a28b..788a5d763 100644 --- a/src/webui/www/private/scripts/mocha-init.js +++ b/src/webui/www/private/scripts/mocha-init.js @@ -967,7 +967,7 @@ const initializeWindows = () => { if (!response.ok) return; - setCategoryFilter(CATEGORIES_ALL); + window.qBittorrent.Filters.clearCategoryFilter(); updateMainData(); }); }; @@ -988,7 +988,7 @@ const initializeWindows = () => { if (!response.ok) return; - setCategoryFilter(CATEGORIES_ALL); + window.qBittorrent.Filters.clearCategoryFilter(); updateMainData(); }); }; @@ -1074,7 +1074,7 @@ const initializeWindows = () => { tags: tag }) }); - setTagFilter(TAGS_ALL); + window.qBittorrent.Filters.clearTagFilter(); }; deleteUnusedTagsFN = () => { @@ -1089,7 +1089,7 @@ const initializeWindows = () => { tags: tags.join(",") }) }); - setTagFilter(TAGS_ALL); + window.qBittorrent.Filters.clearTagFilter(); }; deleteTrackerFN = (trackerHost) => { @@ -1118,7 +1118,7 @@ const initializeWindows = () => { height: 100, onCloseComplete: () => { updateMainData(); - setTrackerFilter(TRACKERS_ALL); + window.qBittorrent.Filters.clearTrackerFilter(); } }); }; diff --git a/src/webui/www/private/views/filters.html b/src/webui/www/private/views/filters.html index 422da254e..623990c1a 100644 --- a/src/webui/www/private/views/filters.html +++ b/src/webui/www/private/views/filters.html @@ -74,7 +74,11 @@ return { categoriesFilterContextMenu: categoriesFilterContextMenu, tagsFilterContextMenu: tagsFilterContextMenu, - trackersFilterContextMenu: trackersFilterContextMenu + trackersFilterContextMenu: trackersFilterContextMenu, + clearStatusFilter: clearStatusFilter, + clearCategoryFilter: clearCategoryFilter, + clearTagFilter: clearTagFilter, + clearTrackerFilter: clearTrackerFilter }; }; @@ -257,8 +261,11 @@ }); document.getElementById("Filters_pad").addEventListener("dblclick", (event) => { + if (LocalPreferences.get("dblclick_filter", "1") !== "1") + return; + const filterItem = event.target.closest("li"); - if (!filterItem) + if (filterItem === null) return; const { id: filterListID } = filterItem.closest("ul[id]"); diff --git a/src/webui/www/private/views/preferences.html b/src/webui/www/private/views/preferences.html index f6f2e97d4..26a5389ac 100644 --- a/src/webui/www/private/views/preferences.html +++ b/src/webui/www/private/views/preferences.html @@ -49,6 +49,15 @@ + + + + + + @@ -2230,6 +2239,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD document.getElementById("hideZeroFiltersCheckbox").checked = (LocalPreferences.get("hide_zero_status_filters", "false") === "true"); document.getElementById("dblclickDownloadSelect").value = LocalPreferences.get("dblclick_download", "1"); document.getElementById("dblclickCompleteSelect").value = LocalPreferences.get("dblclick_complete", "1"); + document.getElementById("dblclickFiltersSelect").value = LocalPreferences.get("dblclick_filter", "1"); document.getElementById("confirmTorrentDeletion").checked = pref.confirm_torrent_deletion; document.getElementById("useAltRowColorsInput").checked = (LocalPreferences.get("use_alt_row_colors", "true") === "true"); document.getElementById("filelog_checkbox").checked = pref.file_log_enabled; @@ -2663,6 +2673,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD LocalPreferences.set("hide_zero_status_filters", document.getElementById("hideZeroFiltersCheckbox").checked.toString()); LocalPreferences.set("dblclick_download", document.getElementById("dblclickDownloadSelect").value); LocalPreferences.set("dblclick_complete", document.getElementById("dblclickCompleteSelect").value); + LocalPreferences.set("dblclick_filter", document.getElementById("dblclickFiltersSelect").value); settings["confirm_torrent_deletion"] = document.getElementById("confirmTorrentDeletion").checked; LocalPreferences.set("use_alt_row_colors", document.getElementById("useAltRowColorsInput").checked.toString()); settings["file_log_enabled"] = document.getElementById("filelog_checkbox").checked;