From b75c42f8507e372fec2813046cc429e01d5473c5 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Wed, 17 Jul 2024 14:09:37 +0800 Subject: [PATCH 1/2] WebUI: associate label to input fields --- src/webui/www/.htmlvalidate.json | 2 + src/webui/www/private/addpeers.html | 2 +- src/webui/www/private/addtrackers.html | 2 +- src/webui/www/private/confirmdeletion.html | 2 +- src/webui/www/private/download.html | 8 +- src/webui/www/private/downloadlimit.html | 6 +- src/webui/www/private/edittracker.html | 2 +- src/webui/www/private/index.html | 4 +- src/webui/www/private/newcategory.html | 4 +- src/webui/www/private/newfeed.html | 2 +- src/webui/www/private/newfolder.html | 2 +- src/webui/www/private/newrule.html | 2 +- src/webui/www/private/newtag.html | 2 +- src/webui/www/private/rename.html | 2 +- src/webui/www/private/rename_feed.html | 2 +- src/webui/www/private/rename_file.html | 2 +- src/webui/www/private/rename_files.html | 8 +- src/webui/www/private/rename_rule.html | 2 +- src/webui/www/private/setlocation.html | 2 +- src/webui/www/private/shareratio.html | 18 +-- src/webui/www/private/upload.html | 6 +- src/webui/www/private/uploadlimit.html | 6 +- .../private/views/installsearchplugin.html | 3 +- src/webui/www/private/views/log.html | 2 +- src/webui/www/private/views/preferences.html | 106 +++++++++--------- .../www/private/views/propertiesToolbar.html | 2 +- .../www/private/views/rssDownloader.html | 8 +- src/webui/www/private/views/search.html | 6 +- 28 files changed, 112 insertions(+), 103 deletions(-) diff --git a/src/webui/www/.htmlvalidate.json b/src/webui/www/.htmlvalidate.json index 6d89368ee..5dae7718d 100644 --- a/src/webui/www/.htmlvalidate.json +++ b/src/webui/www/.htmlvalidate.json @@ -3,8 +3,10 @@ "html-validate:recommended" ], "rules": { + "input-missing-label": "error", "long-title": "off", "no-inline-style": "off", + "no-missing-references": "error", "prefer-button": "off" } } diff --git a/src/webui/www/private/addpeers.html b/src/webui/www/private/addpeers.html index f7d0a1a27..e2b7de6ed 100644 --- a/src/webui/www/private/addpeers.html +++ b/src/webui/www/private/addpeers.html @@ -59,7 +59,7 @@
-

QBT_TR(List of peers to add (one IP per line):)QBT_TR[CONTEXT=PeersAdditionDialog]

+
diff --git a/src/webui/www/private/addtrackers.html b/src/webui/www/private/addtrackers.html index e2d5736e9..4be76ebef 100644 --- a/src/webui/www/private/addtrackers.html +++ b/src/webui/www/private/addtrackers.html @@ -48,7 +48,7 @@

-

QBT_TR(List of trackers to add (one per line):)QBT_TR[CONTEXT=TrackersAdditionDialog]

+
diff --git a/src/webui/www/private/confirmdeletion.html b/src/webui/www/private/confirmdeletion.html index ac83ed6a4..b5f02e0e9 100644 --- a/src/webui/www/private/confirmdeletion.html +++ b/src/webui/www/private/confirmdeletion.html @@ -89,7 +89,7 @@

  QBT_TR(Are you sure you want to remove the selected torrents from the transfer list?)QBT_TR[CONTEXT=HttpServer]

-      +     

     diff --git a/src/webui/www/private/download.html b/src/webui/www/private/download.html index 3d478050c..a9ae77030 100644 --- a/src/webui/www/private/download.html +++ b/src/webui/www/private/download.html @@ -18,9 +18,9 @@

-

QBT_TR(Download Torrents from their URLs or Magnet links)QBT_TR[CONTEXT=HttpServer]

+

-

QBT_TR(Only one link per line)QBT_TR[CONTEXT=HttpServer]

+

QBT_TR(One link per line (HTTP links, Magnet links and info-hashes are supported))QBT_TR[CONTEXT=AddNewTorrentDialog]

QBT_TR(Torrent options)QBT_TR[CONTEXT=AddNewTorrentDialog] @@ -62,14 +62,14 @@ diff --git a/src/webui/www/private/downloadlimit.html b/src/webui/www/private/downloadlimit.html index ab4586f8a..d97ab78a4 100644 --- a/src/webui/www/private/downloadlimit.html +++ b/src/webui/www/private/downloadlimit.html @@ -14,7 +14,11 @@
-
QBT_TR(Download limit:)QBT_TR[CONTEXT=PropertiesWidget] QBT_TR(KiB/s)QBT_TR[CONTEXT=SpeedLimitDialog]
+
+ + + QBT_TR(KiB/s)QBT_TR[CONTEXT=SpeedLimitDialog] +
diff --git a/src/webui/www/private/edittracker.html b/src/webui/www/private/edittracker.html index 73de59d03..f08869c25 100644 --- a/src/webui/www/private/edittracker.html +++ b/src/webui/www/private/edittracker.html @@ -59,7 +59,7 @@

-

QBT_TR(Tracker URL:)QBT_TR[CONTEXT=TrackerListWidget]

+
diff --git a/src/webui/www/private/index.html b/src/webui/www/private/index.html index 43abb323e..4fb09c62b 100644 --- a/src/webui/www/private/index.html +++ b/src/webui/www/private/index.html @@ -130,9 +130,9 @@
- + - +
diff --git a/src/webui/www/private/newcategory.html b/src/webui/www/private/newcategory.html index 4edb689d6..692353d87 100644 --- a/src/webui/www/private/newcategory.html +++ b/src/webui/www/private/newcategory.html @@ -139,9 +139,9 @@
-

QBT_TR(Category)QBT_TR[CONTEXT=TransferListWidget]:

+ -

QBT_TR(Save path)QBT_TR[CONTEXT=TransferListWidget]:

+
diff --git a/src/webui/www/private/newfeed.html b/src/webui/www/private/newfeed.html index 30a20725d..9a24a88f0 100644 --- a/src/webui/www/private/newfeed.html +++ b/src/webui/www/private/newfeed.html @@ -66,7 +66,7 @@
-

QBT_TR(Feed URL:)QBT_TR[CONTEXT=RSSWidget]

+
diff --git a/src/webui/www/private/newfolder.html b/src/webui/www/private/newfolder.html index b614205c9..cd4c0a9e3 100644 --- a/src/webui/www/private/newfolder.html +++ b/src/webui/www/private/newfolder.html @@ -68,7 +68,7 @@
-

QBT_TR(Folder name:)QBT_TR[CONTEXT=RSSWidget]

+
diff --git a/src/webui/www/private/newrule.html b/src/webui/www/private/newrule.html index 134caa684..b372db7cc 100644 --- a/src/webui/www/private/newrule.html +++ b/src/webui/www/private/newrule.html @@ -58,7 +58,7 @@
-

QBT_TR(Please type the name of the new download rule.)QBT_TR[CONTEXT=AutomatedRssDownloader]

+
diff --git a/src/webui/www/private/newtag.html b/src/webui/www/private/newtag.html index d1d57f031..f1a14139c 100644 --- a/src/webui/www/private/newtag.html +++ b/src/webui/www/private/newtag.html @@ -94,7 +94,7 @@
-

QBT_TR(Comma-separated tags:)QBT_TR[CONTEXT=TransferListWidget]

+
diff --git a/src/webui/www/private/rename.html b/src/webui/www/private/rename.html index 0fd0908b8..514a6740a 100644 --- a/src/webui/www/private/rename.html +++ b/src/webui/www/private/rename.html @@ -64,7 +64,7 @@
-

QBT_TR(New name)QBT_TR[CONTEXT=TransferListWidget]:

+
diff --git a/src/webui/www/private/rename_feed.html b/src/webui/www/private/rename_feed.html index 0ff46452a..f1fdf2138 100644 --- a/src/webui/www/private/rename_feed.html +++ b/src/webui/www/private/rename_feed.html @@ -75,7 +75,7 @@
-

QBT_TR(New feed name:)QBT_TR[CONTEXT=RSSWidget]

+
diff --git a/src/webui/www/private/rename_file.html b/src/webui/www/private/rename_file.html index eaaf4aee1..c00df06b6 100644 --- a/src/webui/www/private/rename_file.html +++ b/src/webui/www/private/rename_file.html @@ -84,7 +84,7 @@
-

QBT_TR(New name:)QBT_TR[CONTEXT=TorrentContentTreeView]

+
diff --git a/src/webui/www/private/rename_files.html b/src/webui/www/private/rename_files.html index ea4c4b5ea..1e23675ec 100644 --- a/src/webui/www/private/rename_files.html +++ b/src/webui/www/private/rename_files.html @@ -414,7 +414,7 @@

- +
@@ -428,8 +428,8 @@

- - + - diff --git a/src/webui/www/private/rename_rule.html b/src/webui/www/private/rename_rule.html index 94316836d..661524c73 100644 --- a/src/webui/www/private/rename_rule.html +++ b/src/webui/www/private/rename_rule.html @@ -69,7 +69,7 @@
-

QBT_TR(Please type the new rule name)QBT_TR[CONTEXT=AutomatedRssDownloader]

+
diff --git a/src/webui/www/private/setlocation.html b/src/webui/www/private/setlocation.html index 68fb9bf9f..25b42e55c 100644 --- a/src/webui/www/private/setlocation.html +++ b/src/webui/www/private/setlocation.html @@ -68,7 +68,7 @@
-

QBT_TR(Location)QBT_TR[CONTEXT=TransferListWidget]:

+
 
diff --git a/src/webui/www/private/shareratio.html b/src/webui/www/private/shareratio.html index 0921a9c3e..673f7cd62 100644 --- a/src/webui/www/private/shareratio.html +++ b/src/webui/www/private/shareratio.html @@ -166,24 +166,24 @@
- QBT_TR(Use global share limit)QBT_TR[CONTEXT=UpDownRatioDialog]
- QBT_TR(Set no share limit)QBT_TR[CONTEXT=UpDownRatioDialog]
- QBT_TR(Set share limit to)QBT_TR[CONTEXT=UpDownRatioDialog]
+
+
+
- - + +
- - + +
- - + +
diff --git a/src/webui/www/private/upload.html b/src/webui/www/private/upload.html index 0acb70289..87f03871d 100644 --- a/src/webui/www/private/upload.html +++ b/src/webui/www/private/upload.html @@ -15,7 +15,7 @@
- +
QBT_TR(Torrent options)QBT_TR[CONTEXT=AddNewTorrentDialog] @@ -50,14 +50,14 @@
diff --git a/src/webui/www/private/uploadlimit.html b/src/webui/www/private/uploadlimit.html index 8aa879a5f..44dc6a876 100644 --- a/src/webui/www/private/uploadlimit.html +++ b/src/webui/www/private/uploadlimit.html @@ -14,7 +14,11 @@
-
QBT_TR(Upload limit:)QBT_TR[CONTEXT=PropertiesWidget] QBT_TR(KiB/s)QBT_TR[CONTEXT=SpeedLimitDialog]
+
+ + + QBT_TR(KiB/s)QBT_TR[CONTEXT=SpeedLimitDialog] +
diff --git a/src/webui/www/private/views/installsearchplugin.html b/src/webui/www/private/views/installsearchplugin.html index 04a2ea655..3752eb2ce 100644 --- a/src/webui/www/private/views/installsearchplugin.html +++ b/src/webui/www/private/views/installsearchplugin.html @@ -9,13 +9,12 @@ #newPluginPath { width: 100%; - line-height: 2em; }
-

QBT_TR(Plugin path:)QBT_TR[CONTEXT=PluginSourceDlg]

+
diff --git a/src/webui/www/private/views/log.html b/src/webui/www/private/views/log.html index 61608fbeb..f77d7b751 100644 --- a/src/webui/www/private/views/log.html +++ b/src/webui/www/private/views/log.html @@ -93,7 +93,7 @@ - +
diff --git a/src/webui/www/private/views/preferences.html b/src/webui/www/private/views/preferences.html index 3188cc897..f795ee8f1 100644 --- a/src/webui/www/private/views/preferences.html +++ b/src/webui/www/private/views/preferences.html @@ -46,15 +46,15 @@
- - + + - + @@ -232,9 +232,9 @@
- + - +
@@ -310,13 +310,13 @@
- - + +
- - + +
QBT_TR(Supported parameters (case sensitive):)QBT_TR[CONTEXT=OptionsDialog]
    @@ -340,7 +340,7 @@
- + - + - + - +
- +
- +
- +
- +
QBT_TR(KiB)QBT_TR[CONTEXT=OptionsDialog]QBT_TR(KiB)QBT_TR[CONTEXT=OptionsDialog]
- - +
- +
- +
- +
- +
- + - +
- + - +
- + - +
- +
- +
- +
- +
@@ -518,8 +518,8 @@
- - + +
@@ -527,8 +527,8 @@
- QBT_TR(Manually banned IP addresses...)QBT_TR[CONTEXT=OptionsDialog] - + QBT_TR(Manually banned IP addresses...)QBT_TR[CONTEXT=OptionsDialog] +
@@ -580,13 +580,13 @@
- QBT_TR(From:)QBT_TR[CONTEXT=OptionsDialog] - : - QBT_TR(To:)QBT_TR[CONTEXT=OptionsDialog] - : + + : + + :
- QBT_TR(When:)QBT_TR[CONTEXT=OptionsDialog] + - + - + - + - QBT_TR(minutes)QBT_TR[CONTEXT=OptionsDialog] + QBT_TR(minutes)QBT_TR[CONTEXT=OptionsDialog] - + - QBT_TR(minutes)QBT_TR[CONTEXT=OptionsDialog] + QBT_TR(minutes)QBT_TR[CONTEXT=OptionsDialog] @@ -772,9 +772,9 @@
- + - +
@@ -913,10 +913,10 @@
- +
- +
@@ -992,9 +992,9 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
- + - +
@@ -1013,9 +1013,9 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
- + - diff --git a/src/webui/www/private/views/propertiesToolbar.html b/src/webui/www/private/views/propertiesToolbar.html index 771c6ff47..f143301dc 100644 --- a/src/webui/www/private/views/propertiesToolbar.html +++ b/src/webui/www/private/views/propertiesToolbar.html @@ -1,6 +1,6 @@
    diff --git a/src/webui/www/private/views/rssDownloader.html b/src/webui/www/private/views/rssDownloader.html index 82f5ba101..4271da911 100644 --- a/src/webui/www/private/views/rssDownloader.html +++ b/src/webui/www/private/views/rssDownloader.html @@ -206,7 +206,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
- +
- + @@ -256,7 +256,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
- +
- + - - + + + From 8e9680bf6917ba1a4ab3815a7e46a3bec3a775c9 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Fri, 19 Jul 2024 14:32:05 +0800 Subject: [PATCH 2/2] WebUI: simplify code --- src/webui/www/private/scripts/misc.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/webui/www/private/scripts/misc.js b/src/webui/www/private/scripts/misc.js index b148ec006..0dd3bb901 100644 --- a/src/webui/www/private/scripts/misc.js +++ b/src/webui/www/private/scripts/misc.js @@ -168,13 +168,13 @@ window.qBittorrent.Misc ??= (() => { }; }; - const escapeHtml = function(str) { + const escapeHtml = (() => { const div = document.createElement("div"); - div.appendChild(document.createTextNode(str)); - const escapedString = div.innerHTML; - div.remove(); - return escapedString; - }; + return (str) => { + div.textContent = str; + return div.innerHTML; + }; + })(); // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Collator/Collator#parameters const naturalSortCollator = new Intl.Collator(undefined, { numeric: true, usage: "sort" });