mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-14 02:27:09 -07:00
parent
9c26e5d4d6
commit
9feefc8144
27 changed files with 174 additions and 240 deletions
|
@ -28,10 +28,8 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Cache ??= (() => {
|
||||||
|
|
||||||
window.qBittorrent.Cache = (() => {
|
|
||||||
const exports = () => {
|
const exports = () => {
|
||||||
return {
|
return {
|
||||||
buildInfo: new BuildInfoCache(),
|
buildInfo: new BuildInfoCache(),
|
||||||
|
@ -170,5 +168,4 @@ window.qBittorrent.Cache = (() => {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Cache);
|
Object.freeze(window.qBittorrent.Cache);
|
||||||
|
|
|
@ -25,10 +25,8 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Client ??= (() => {
|
||||||
|
|
||||||
window.qBittorrent.Client = (() => {
|
|
||||||
const exports = () => {
|
const exports = () => {
|
||||||
return {
|
return {
|
||||||
closeWindows: closeWindows,
|
closeWindows: closeWindows,
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.ContextMenu ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.ContextMenu = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
ContextMenu: ContextMenu,
|
ContextMenu: ContextMenu,
|
||||||
TorrentsTableContextMenu: TorrentsTableContextMenu,
|
TorrentsTableContextMenu: TorrentsTableContextMenu,
|
||||||
|
@ -680,5 +678,4 @@ window.qBittorrent.ContextMenu = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.ContextMenu);
|
Object.freeze(window.qBittorrent.ContextMenu);
|
||||||
|
|
|
@ -23,11 +23,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Download ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.Download = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
changeCategorySelect: changeCategorySelect,
|
changeCategorySelect: changeCategorySelect,
|
||||||
changeTMM: changeTMM
|
changeTMM: changeTMM
|
||||||
|
@ -138,5 +136,4 @@ window.qBittorrent.Download = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Download);
|
Object.freeze(window.qBittorrent.Download);
|
||||||
|
|
|
@ -33,11 +33,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.DynamicTable ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.DynamicTable = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
TorrentsTable: TorrentsTable,
|
TorrentsTable: TorrentsTable,
|
||||||
TorrentPeersTable: TorrentPeersTable,
|
TorrentPeersTable: TorrentPeersTable,
|
||||||
|
@ -3279,7 +3277,6 @@ window.qBittorrent.DynamicTable = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.DynamicTable);
|
Object.freeze(window.qBittorrent.DynamicTable);
|
||||||
|
|
||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.FileTree ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.FileTree = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
FilePriority: FilePriority,
|
FilePriority: FilePriority,
|
||||||
TriState: TriState,
|
TriState: TriState,
|
||||||
|
@ -196,5 +194,4 @@ window.qBittorrent.FileTree = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.FileTree);
|
Object.freeze(window.qBittorrent.FileTree);
|
||||||
|
|
|
@ -30,11 +30,9 @@
|
||||||
|
|
||||||
// This file is the JavaScript implementation of base/utils/fs.cpp
|
// This file is the JavaScript implementation of base/utils/fs.cpp
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Filesystem ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.Filesystem = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
PathSeparator: PathSeparator,
|
PathSeparator: PathSeparator,
|
||||||
fileExtension: fileExtension,
|
fileExtension: fileExtension,
|
||||||
|
@ -71,5 +69,4 @@ window.qBittorrent.Filesystem = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Filesystem);
|
Object.freeze(window.qBittorrent.Filesystem);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.LocalPreferences ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.LocalPreferences = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
LocalPreferencesClass: LocalPreferencesClass
|
LocalPreferencesClass: LocalPreferencesClass
|
||||||
};
|
};
|
||||||
|
@ -67,5 +65,4 @@ window.qBittorrent.LocalPreferences = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.LocalPreferences);
|
Object.freeze(window.qBittorrent.LocalPreferences);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Misc ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.Misc = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
friendlyUnit: friendlyUnit,
|
friendlyUnit: friendlyUnit,
|
||||||
friendlyDuration: friendlyDuration,
|
friendlyDuration: friendlyDuration,
|
||||||
|
@ -230,5 +228,4 @@ window.qBittorrent.Misc = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Misc);
|
Object.freeze(window.qBittorrent.Misc);
|
||||||
|
|
|
@ -31,63 +31,59 @@
|
||||||
/*
|
/*
|
||||||
File implementing auto-fill for the path input field in the path dialogs.
|
File implementing auto-fill for the path input field in the path dialogs.
|
||||||
*/
|
*/
|
||||||
if (window.qBittorrent === undefined)
|
|
||||||
window.qBittorrent = {};
|
|
||||||
|
|
||||||
if (window.qBittorrent.pathAutofill === undefined) {
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent.pathAutofill = (() => {
|
window.qBittorrent.pathAutofill ??= (() => {
|
||||||
const exports = () => {
|
const exports = () => {
|
||||||
return {
|
return {
|
||||||
attachPathAutofill: attachPathAutofill
|
attachPathAutofill: attachPathAutofill
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
function showInputSuggestions(inputElement, names) {
|
function showInputSuggestions(inputElement, names) {
|
||||||
const datalist = document.createElement("datalist");
|
const datalist = document.createElement("datalist");
|
||||||
datalist.id = inputElement.id + "Suggestions";
|
datalist.id = inputElement.id + "Suggestions";
|
||||||
for (const name of names) {
|
for (const name of names) {
|
||||||
const option = document.createElement("option");
|
const option = document.createElement("option");
|
||||||
option.value = name;
|
option.value = name;
|
||||||
datalist.appendChild(option);
|
datalist.appendChild(option);
|
||||||
}
|
|
||||||
|
|
||||||
const oldDatalist = document.getElementById(`${inputElement.id}Suggestions`);
|
|
||||||
if (oldDatalist !== null) {
|
|
||||||
oldDatalist.replaceWith(datalist);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
inputElement.appendChild(datalist);
|
|
||||||
inputElement.setAttribute("list", datalist.id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function showPathSuggestions(element, mode) {
|
const oldDatalist = document.getElementById(`${inputElement.id}Suggestions`);
|
||||||
const partialPath = element.value;
|
if (oldDatalist !== null) {
|
||||||
if (partialPath === "")
|
oldDatalist.replaceWith(datalist);
|
||||||
return;
|
}
|
||||||
|
else {
|
||||||
|
inputElement.appendChild(datalist);
|
||||||
|
inputElement.setAttribute("list", datalist.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fetch(`api/v2/app/getDirectoryContent?dirPath=${partialPath}&mode=${mode}`)
|
function showPathSuggestions(element, mode) {
|
||||||
.then(response => response.json())
|
const partialPath = element.value;
|
||||||
.then(filesList => { showInputSuggestions(element, filesList); })
|
if (partialPath === "")
|
||||||
.catch(error => {});
|
return;
|
||||||
|
|
||||||
|
fetch(`api/v2/app/getDirectoryContent?dirPath=${partialPath}&mode=${mode}`)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(filesList => { showInputSuggestions(element, filesList); })
|
||||||
|
.catch(error => {});
|
||||||
|
}
|
||||||
|
|
||||||
|
function attachPathAutofill() {
|
||||||
|
const directoryInputs = document.querySelectorAll(".pathDirectory:not(.pathAutoFillInitialized)");
|
||||||
|
for (const input of directoryInputs) {
|
||||||
|
input.addEventListener("input", function() { showPathSuggestions(this, "dirs"); });
|
||||||
|
input.classList.add("pathAutoFillInitialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
function attachPathAutofill() {
|
const fileInputs = document.querySelectorAll(".pathFile:not(.pathAutoFillInitialized)");
|
||||||
const directoryInputs = document.querySelectorAll(".pathDirectory:not(.pathAutoFillInitialized)");
|
for (const input of fileInputs) {
|
||||||
for (const input of directoryInputs) {
|
input.addEventListener("input", function() { showPathSuggestions(this, "all"); });
|
||||||
input.addEventListener("input", function() { showPathSuggestions(this, "dirs"); });
|
input.classList.add("pathAutoFillInitialized");
|
||||||
input.classList.add("pathAutoFillInitialized");
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
const fileInputs = document.querySelectorAll(".pathFile:not(.pathAutoFillInitialized)");
|
return exports();
|
||||||
for (const input of fileInputs) {
|
})();
|
||||||
input.addEventListener("input", function() { showPathSuggestions(this, "all"); });
|
Object.freeze(window.qBittorrent.pathAutofill);
|
||||||
input.classList.add("pathAutoFillInitialized");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return exports();
|
|
||||||
})();
|
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.pathAutofill);
|
|
||||||
};
|
|
||||||
|
|
|
@ -28,10 +28,8 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.PiecesBar ??= (() => {
|
||||||
|
|
||||||
window.qBittorrent.PiecesBar = (() => {
|
|
||||||
const exports = () => {
|
const exports = () => {
|
||||||
return {
|
return {
|
||||||
PiecesBar: PiecesBar
|
PiecesBar: PiecesBar
|
||||||
|
@ -267,5 +265,4 @@ window.qBittorrent.PiecesBar = (() => {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.PiecesBar);
|
Object.freeze(window.qBittorrent.PiecesBar);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.ProgressBar ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.ProgressBar = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
ProgressBar: ProgressBar
|
ProgressBar: ProgressBar
|
||||||
};
|
};
|
||||||
|
@ -157,5 +155,4 @@ window.qBittorrent.ProgressBar = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.ProgressBar);
|
Object.freeze(window.qBittorrent.ProgressBar);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.PropFiles ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.PropFiles = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
normalizePriority: normalizePriority,
|
normalizePriority: normalizePriority,
|
||||||
isDownloadCheckboxExists: isDownloadCheckboxExists,
|
isDownloadCheckboxExists: isDownloadCheckboxExists,
|
||||||
|
@ -769,5 +767,4 @@ window.qBittorrent.PropFiles = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.PropFiles);
|
Object.freeze(window.qBittorrent.PropFiles);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.PropGeneral ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.PropGeneral = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
updateData: updateData
|
updateData: updateData
|
||||||
};
|
};
|
||||||
|
@ -257,5 +255,4 @@ window.qBittorrent.PropGeneral = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.PropGeneral);
|
Object.freeze(window.qBittorrent.PropGeneral);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.PropPeers ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.PropPeers = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
updateData: updateData
|
updateData: updateData
|
||||||
};
|
};
|
||||||
|
@ -182,5 +180,4 @@ window.qBittorrent.PropPeers = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.PropPeers);
|
Object.freeze(window.qBittorrent.PropPeers);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.PropTrackers ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.PropTrackers = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
updateData: updateData
|
updateData: updateData
|
||||||
};
|
};
|
||||||
|
@ -237,5 +235,4 @@ window.qBittorrent.PropTrackers = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.PropTrackers);
|
Object.freeze(window.qBittorrent.PropTrackers);
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.PropWebseeds ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.PropWebseeds = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
updateData: updateData
|
updateData: updateData
|
||||||
};
|
};
|
||||||
|
@ -148,5 +146,4 @@ window.qBittorrent.PropWebseeds = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.PropWebseeds);
|
Object.freeze(window.qBittorrent.PropWebseeds);
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.MultiRename ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.MultiRename = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
AppliesTo: AppliesTo,
|
AppliesTo: AppliesTo,
|
||||||
RenameFiles: RenameFiles
|
RenameFiles: RenameFiles
|
||||||
|
@ -282,5 +280,4 @@ window.qBittorrent.MultiRename = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.MultiRename);
|
Object.freeze(window.qBittorrent.MultiRename);
|
||||||
|
|
|
@ -23,11 +23,9 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Search ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.Search = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
startStopSearch: startStopSearch,
|
startStopSearch: startStopSearch,
|
||||||
manageSearchPlugins: manageSearchPlugins,
|
manageSearchPlugins: manageSearchPlugins,
|
||||||
|
@ -866,5 +864,4 @@ window.qBittorrent.Search = (function() {
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Search);
|
Object.freeze(window.qBittorrent.Search);
|
||||||
|
|
|
@ -44,11 +44,9 @@
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Filters ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.Filters = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
categoriesFilterContextMenu: categoriesFilterContextMenu,
|
categoriesFilterContextMenu: categoriesFilterContextMenu,
|
||||||
tagsFilterContextMenu: tagsFilterContextMenu,
|
tagsFilterContextMenu: tagsFilterContextMenu,
|
||||||
|
@ -163,6 +161,5 @@
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Filters);
|
Object.freeze(window.qBittorrent.Filters);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -29,17 +29,16 @@
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.InstallSearchPlugin ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.InstallSearchPlugin = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
|
setup: setup,
|
||||||
newPluginOk: newPluginOk
|
newPluginOk: newPluginOk
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
const init = function() {
|
const setup = function() {
|
||||||
new Keyboard({
|
new Keyboard({
|
||||||
defaultEventType: "keydown",
|
defaultEventType: "keydown",
|
||||||
events: {
|
events: {
|
||||||
|
@ -75,10 +74,9 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
init();
|
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.InstallSearchPlugin);
|
Object.freeze(window.qBittorrent.InstallSearchPlugin);
|
||||||
|
|
||||||
|
window.qBittorrent.InstallSearchPlugin.setup();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -148,10 +148,8 @@
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Log ??= (() => {
|
||||||
|
|
||||||
window.qBittorrent.Log = (() => {
|
|
||||||
const exports = () => {
|
const exports = () => {
|
||||||
return {
|
return {
|
||||||
init: init,
|
init: init,
|
||||||
|
@ -430,6 +428,5 @@
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Log);
|
Object.freeze(window.qBittorrent.Log);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1572,12 +1572,11 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Preferences ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.Preferences = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
|
setup: setup,
|
||||||
numberInputLimiter: numberInputLimiter,
|
numberInputLimiter: numberInputLimiter,
|
||||||
updateFileLogEnabled: updateFileLogEnabled,
|
updateFileLogEnabled: updateFileLogEnabled,
|
||||||
updateFileLogBackupEnabled: updateFileLogBackupEnabled,
|
updateFileLogBackupEnabled: updateFileLogBackupEnabled,
|
||||||
|
@ -1654,7 +1653,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
|
||||||
};
|
};
|
||||||
|
|
||||||
// Downloads tab
|
// Downloads tab
|
||||||
const watchedFoldersTable = new HtmlTable($("watched_folders_tab"));
|
let watchedFoldersTable;
|
||||||
|
|
||||||
const updateTempDirEnabled = function() {
|
const updateTempDirEnabled = function() {
|
||||||
const isTempDirEnabled = $("temppath_checkbox").checked;
|
const isTempDirEnabled = $("temppath_checkbox").checked;
|
||||||
|
@ -2886,44 +2885,49 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// hide entries
|
const setup = () => {
|
||||||
const buildInfo = window.qBittorrent.Cache.buildInfo.get();
|
watchedFoldersTable = new HtmlTable($("watched_folders_tab"));
|
||||||
|
|
||||||
const libtorrentVersion = window.qBittorrent.Misc.parseVersion(buildInfo.libtorrent);
|
const buildInfo = window.qBittorrent.Cache.buildInfo.get();
|
||||||
if (libtorrentVersion.valid) {
|
|
||||||
if (libtorrentVersion.major >= 2) {
|
// hide entries
|
||||||
$("rowDiskCache").style.display = "none";
|
const libtorrentVersion = window.qBittorrent.Misc.parseVersion(buildInfo.libtorrent);
|
||||||
$("rowDiskCacheExpiryInterval").style.display = "none";
|
if (libtorrentVersion.valid) {
|
||||||
$("rowCoalesceReadsAndWrites").style.display = "none";
|
if (libtorrentVersion.major >= 2) {
|
||||||
}
|
$("rowDiskCache").style.display = "none";
|
||||||
else {
|
$("rowDiskCacheExpiryInterval").style.display = "none";
|
||||||
$("fieldsetI2p").style.display = "none";
|
$("rowCoalesceReadsAndWrites").style.display = "none";
|
||||||
$("rowMemoryWorkingSetLimit").style.display = "none";
|
}
|
||||||
$("rowHashingThreads").style.display = "none";
|
else {
|
||||||
$("rowDiskIOType").style.display = "none";
|
$("fieldsetI2p").style.display = "none";
|
||||||
$("rowI2pInboundQuantity").style.display = "none";
|
$("rowMemoryWorkingSetLimit").style.display = "none";
|
||||||
$("rowI2pOutboundQuantity").style.display = "none";
|
$("rowHashingThreads").style.display = "none";
|
||||||
$("rowI2pInboundLength").style.display = "none";
|
$("rowDiskIOType").style.display = "none";
|
||||||
$("rowI2pOutboundLength").style.display = "none";
|
$("rowI2pInboundQuantity").style.display = "none";
|
||||||
|
$("rowI2pOutboundQuantity").style.display = "none";
|
||||||
|
$("rowI2pInboundLength").style.display = "none";
|
||||||
|
$("rowI2pOutboundLength").style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!((libtorrentVersion.major >= 2) && (libtorrentVersion.minor >= 0) && (libtorrentVersion.fix >= 6)))
|
||||||
|
$("diskIOWriteModeWriteThrough").style.display = "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!((libtorrentVersion.major >= 2) && (libtorrentVersion.minor >= 0) && (libtorrentVersion.fix >= 6)))
|
if ((buildInfo.platform !== "macos") && (buildInfo.platform !== "windows"))
|
||||||
$("diskIOWriteModeWriteThrough").style.display = "none";
|
$("rowMarkOfTheWeb").style.display = "none";
|
||||||
}
|
|
||||||
|
|
||||||
if ((buildInfo.platform !== "macos") && (buildInfo.platform !== "windows"))
|
$("networkInterface").addEvent("change", function() {
|
||||||
$("rowMarkOfTheWeb").style.display = "none";
|
updateInterfaceAddresses($(this).value, "");
|
||||||
|
});
|
||||||
|
|
||||||
$("networkInterface").addEvent("change", function() {
|
loadPreferences();
|
||||||
updateInterfaceAddresses($(this).value, "");
|
|
||||||
});
|
|
||||||
|
|
||||||
loadPreferences();
|
window.qBittorrent.pathAutofill.attachPathAutofill();
|
||||||
|
};
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Preferences);
|
Object.freeze(window.qBittorrent.Preferences);
|
||||||
|
|
||||||
window.qBittorrent.pathAutofill.attachPathAutofill();
|
window.qBittorrent.Preferences.setup();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -158,12 +158,8 @@
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.Rss ??= (() => {
|
||||||
|
|
||||||
const serverSyncRssDataInterval = 1500;
|
|
||||||
|
|
||||||
window.qBittorrent.Rss = (() => {
|
|
||||||
const exports = () => {
|
const exports = () => {
|
||||||
return {
|
return {
|
||||||
init: init,
|
init: init,
|
||||||
|
@ -181,6 +177,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const serverSyncRssDataInterval = 1500;
|
||||||
let feedData = {};
|
let feedData = {};
|
||||||
let pathByFeedId = new Map();
|
let pathByFeedId = new Map();
|
||||||
let feedRefreshTimer;
|
let feedRefreshTimer;
|
||||||
|
@ -828,6 +825,5 @@
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.Rss);
|
Object.freeze(window.qBittorrent.Rss);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -330,12 +330,11 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.RssDownloader ??= (() => {
|
||||||
|
|
||||||
window.qBittorrent.RssDownloader = (() => {
|
|
||||||
const exports = () => {
|
const exports = () => {
|
||||||
return {
|
return {
|
||||||
|
setup: setup,
|
||||||
updateRulesList: updateRulesList,
|
updateRulesList: updateRulesList,
|
||||||
showRule: showRule,
|
showRule: showRule,
|
||||||
renameRule: renameRule,
|
renameRule: renameRule,
|
||||||
|
@ -356,7 +355,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
||||||
let rulesList = {};
|
let rulesList = {};
|
||||||
let feedList = [];
|
let feedList = [];
|
||||||
|
|
||||||
const initRssDownloader = () => {
|
const setup = () => {
|
||||||
const pref = window.parent.qBittorrent.Cache.preferences.get();
|
const pref = window.parent.qBittorrent.Cache.preferences.get();
|
||||||
|
|
||||||
if (!pref.rss_auto_downloading_enabled)
|
if (!pref.rss_auto_downloading_enabled)
|
||||||
|
@ -808,9 +807,9 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
||||||
$("episodeFilterText").title = episodeFilterTitle;
|
$("episodeFilterText").title = episodeFilterTitle;
|
||||||
};
|
};
|
||||||
|
|
||||||
initRssDownloader();
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.RssDownloader);
|
Object.freeze(window.qBittorrent.RssDownloader);
|
||||||
|
|
||||||
|
window.qBittorrent.RssDownloader.setup();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -79,13 +79,12 @@
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.SearchPlugins ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.SearchPlugins = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
closeSearchWindow: closeSearchWindow,
|
closeSearchWindow: closeSearchWindow,
|
||||||
|
setup: setup,
|
||||||
installPlugin: installPlugin,
|
installPlugin: installPlugin,
|
||||||
checkForUpdates: checkForUpdates,
|
checkForUpdates: checkForUpdates,
|
||||||
updateTable: updateTable
|
updateTable: updateTable
|
||||||
|
@ -97,7 +96,7 @@
|
||||||
let prevOffsetLeft;
|
let prevOffsetLeft;
|
||||||
let prevOffsetTop;
|
let prevOffsetTop;
|
||||||
|
|
||||||
const initSearchPlugins = function() {
|
const setup = function() {
|
||||||
searchPluginsTable = new window.qBittorrent.DynamicTable.SearchPluginsTable();
|
searchPluginsTable = new window.qBittorrent.DynamicTable.SearchPluginsTable();
|
||||||
searchPluginsTableContextMenu = new window.qBittorrent.ContextMenu.SearchPluginsTableContextMenu({
|
searchPluginsTableContextMenu = new window.qBittorrent.ContextMenu.SearchPluginsTableContextMenu({
|
||||||
targets: ".searchPluginsTableRow",
|
targets: ".searchPluginsTableRow",
|
||||||
|
@ -230,10 +229,9 @@
|
||||||
setupSearchPluginTableEvents(true);
|
setupSearchPluginTableEvents(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
initSearchPlugins();
|
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.SearchPlugins);
|
Object.freeze(window.qBittorrent.SearchPlugins);
|
||||||
|
|
||||||
|
window.qBittorrent.SearchPlugins.setup();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -18,12 +18,11 @@
|
||||||
<script>
|
<script>
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
if (window.qBittorrent === undefined)
|
window.qBittorrent ??= {};
|
||||||
window.qBittorrent = {};
|
window.qBittorrent.TransferList ??= (() => {
|
||||||
|
const exports = () => {
|
||||||
window.qBittorrent.TransferList = (function() {
|
|
||||||
const exports = function() {
|
|
||||||
return {
|
return {
|
||||||
|
setup: setup,
|
||||||
contextMenu: contextMenu,
|
contextMenu: contextMenu,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -111,10 +110,13 @@
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
torrentsTable.setup("torrentsTableDiv", "torrentsTableFixedHeaderDiv", contextMenu);
|
const setup = () => {
|
||||||
|
torrentsTable.setup("torrentsTableDiv", "torrentsTableFixedHeaderDiv", contextMenu);
|
||||||
|
};
|
||||||
|
|
||||||
return exports();
|
return exports();
|
||||||
})();
|
})();
|
||||||
|
|
||||||
Object.freeze(window.qBittorrent.TransferList);
|
Object.freeze(window.qBittorrent.TransferList);
|
||||||
|
|
||||||
|
window.qBittorrent.TransferList.setup();
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue