mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-02 05:38:06 -06:00
Compare commits
6 Commits
5abf458e69
...
260563d340
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
260563d340 | ||
|
|
b792ecede5 | ||
|
|
19ebf67c74 | ||
|
|
56cd98e06e | ||
|
|
c25bd6aaea | ||
|
|
26e42abf32 |
1
.github/workflows/ci_macos.yaml
vendored
1
.github/workflows/ci_macos.yaml
vendored
@@ -79,6 +79,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
version: ${{ matrix.qt_version }}
|
version: ${{ matrix.qt_version }}
|
||||||
archives: qtbase qtdeclarative qtsvg qttools
|
archives: qtbase qtdeclarative qtsvg qttools
|
||||||
|
modules: qtimageformats
|
||||||
# Not sure why Qt made a hard dependency on qtdeclarative, try removing it when Qt > 6.4.0
|
# Not sure why Qt made a hard dependency on qtdeclarative, try removing it when Qt > 6.4.0
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
|
|||||||
1
.github/workflows/ci_ubuntu.yaml
vendored
1
.github/workflows/ci_ubuntu.yaml
vendored
@@ -74,6 +74,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
version: ${{ matrix.qt_version }}
|
version: ${{ matrix.qt_version }}
|
||||||
archives: icu qtbase qtdeclarative qtsvg qttools
|
archives: icu qtbase qtdeclarative qtsvg qttools
|
||||||
|
modules: qtimageformats
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
- name: Install libtorrent
|
- name: Install libtorrent
|
||||||
|
|||||||
9
.github/workflows/ci_windows.yaml
vendored
9
.github/workflows/ci_windows.yaml
vendored
@@ -115,6 +115,7 @@ jobs:
|
|||||||
version: "6.10.1"
|
version: "6.10.1"
|
||||||
arch: ${{ matrix.config.qt_arch }}
|
arch: ${{ matrix.config.qt_arch }}
|
||||||
archives: qtbase qtsvg qttools
|
archives: qtbase qtsvg qttools
|
||||||
|
modules: qtimageformats
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
- name: Install libtorrent
|
- name: Install libtorrent
|
||||||
@@ -182,8 +183,16 @@ jobs:
|
|||||||
mkdir upload/qBittorrent/plugins/iconengines
|
mkdir upload/qBittorrent/plugins/iconengines
|
||||||
copy "${{ env.Qt_ROOT_DIR }}/plugins/iconengines/qsvgicon.dll" upload/qBittorrent/plugins/iconengines
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/iconengines/qsvgicon.dll" upload/qBittorrent/plugins/iconengines
|
||||||
mkdir upload/qBittorrent/plugins/imageformats
|
mkdir upload/qBittorrent/plugins/imageformats
|
||||||
|
# include all imageformats dlls since CI (dev) build links dynamically
|
||||||
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qgif.dll" upload/qBittorrent/plugins/imageformats
|
||||||
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qicns.dll" upload/qBittorrent/plugins/imageformats
|
||||||
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qico.dll" upload/qBittorrent/plugins/imageformats
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qico.dll" upload/qBittorrent/plugins/imageformats
|
||||||
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qjpeg.dll" upload/qBittorrent/plugins/imageformats
|
||||||
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qsvg.dll" upload/qBittorrent/plugins/imageformats
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qsvg.dll" upload/qBittorrent/plugins/imageformats
|
||||||
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qtga.dll" upload/qBittorrent/plugins/imageformats
|
||||||
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qtiff.dll" upload/qBittorrent/plugins/imageformats
|
||||||
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qwbmp.dll" upload/qBittorrent/plugins/imageformats
|
||||||
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/imageformats/qwebp.dll" upload/qBittorrent/plugins/imageformats
|
||||||
mkdir upload/qBittorrent/plugins/platforms
|
mkdir upload/qBittorrent/plugins/platforms
|
||||||
copy "${{ env.Qt_ROOT_DIR }}/plugins/platforms/qwindows.dll" upload/qBittorrent/plugins/platforms
|
copy "${{ env.Qt_ROOT_DIR }}/plugins/platforms/qwindows.dll" upload/qBittorrent/plugins/platforms
|
||||||
mkdir upload/qBittorrent/plugins/sqldrivers
|
mkdir upload/qBittorrent/plugins/sqldrivers
|
||||||
|
|||||||
2
.github/workflows/coverity-scan.yaml
vendored
2
.github/workflows/coverity-scan.yaml
vendored
@@ -39,7 +39,7 @@ jobs:
|
|||||||
- name: Install boost
|
- name: Install boost
|
||||||
env:
|
env:
|
||||||
BOOST_MAJOR_VERSION: "1"
|
BOOST_MAJOR_VERSION: "1"
|
||||||
BOOST_MINOR_VERSION: "88"
|
BOOST_MINOR_VERSION: "90"
|
||||||
BOOST_PATCH_VERSION: "0"
|
BOOST_PATCH_VERSION: "0"
|
||||||
run: |
|
run: |
|
||||||
boost_url="https://archives.boost.io/release/${{ env.BOOST_MAJOR_VERSION }}.${{ env.BOOST_MINOR_VERSION }}.${{ env.BOOST_PATCH_VERSION }}/source/boost_${{ env.BOOST_MAJOR_VERSION }}_${{ env.BOOST_MINOR_VERSION }}_${{ env.BOOST_PATCH_VERSION }}.tar.gz"
|
boost_url="https://archives.boost.io/release/${{ env.BOOST_MAJOR_VERSION }}.${{ env.BOOST_MINOR_VERSION }}.${{ env.BOOST_PATCH_VERSION }}/source/boost_${{ env.BOOST_MAJOR_VERSION }}_${{ env.BOOST_MINOR_VERSION }}_${{ env.BOOST_PATCH_VERSION }}.tar.gz"
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ LangString inst_requires_win10 ${LANG_RUSSIAN} "Для работы этого
|
|||||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||||
LangString inst_uninstall_link_description ${LANG_RUSSIAN} "Удалить qBittorrent"
|
LangString inst_uninstall_link_description ${LANG_RUSSIAN} "Удалить qBittorrent"
|
||||||
;LangString inst_arch_mismatch_x64_on_arm64 ${LANG_ENGLISH} "Error: This x64 version of qBittorrent cannot run on ARM64 systems. Please download the ARM64 installer."
|
;LangString inst_arch_mismatch_x64_on_arm64 ${LANG_ENGLISH} "Error: This x64 version of qBittorrent cannot run on ARM64 systems. Please download the ARM64 installer."
|
||||||
LangString inst_arch_mismatch_x64_on_arm64 ${LANG_RUSSIAN} "This x64 version of qBittorrent cannot run on ARM64 systems. Please download the ARM64 installer."
|
LangString inst_arch_mismatch_x64_on_arm64 ${LANG_RUSSIAN} "Эта версия qBittorrent для x64 не может работать на системах ARM64. Пожалуйста, скачайте установщик для ARM64."
|
||||||
;LangString inst_arch_mismatch_arm64_on_x64 ${LANG_ENGLISH} "Error: This ARM64 version of qBittorrent cannot run on x64 systems. Please download the x64 installer."
|
;LangString inst_arch_mismatch_arm64_on_x64 ${LANG_ENGLISH} "Error: This ARM64 version of qBittorrent cannot run on x64 systems. Please download the x64 installer."
|
||||||
LangString inst_arch_mismatch_arm64_on_x64 ${LANG_RUSSIAN} "This ARM64 version of qBittorrent cannot run on x64 systems. Please download the x64 installer."
|
LangString inst_arch_mismatch_arm64_on_x64 ${LANG_RUSSIAN} "Эта версия qBittorrent для ARM64 не может работать на системах x64. Пожалуйста, скачайте установщик для x64."
|
||||||
|
|
||||||
;------------------------------------
|
;------------------------------------
|
||||||
;Uninstaller strings
|
;Uninstaller strings
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ LangString inst_firewallinfo ${LANG_TURKISH} "Windows Güvenlik Duvarı kuralı
|
|||||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
||||||
LangString inst_warning ${LANG_TURKISH} "qBittorrent çalışıyor. Lütfen yüklemeden önce uygulamayı kapatın."
|
LangString inst_warning ${LANG_TURKISH} "qBittorrent çalışıyor. Lütfen yüklemeden önce uygulamayı kapatın."
|
||||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
|
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||||
LangString inst_uninstall_question ${LANG_TURKISH} "Şu anki sürüm kaldırılacaktır. Kullanıcı ayarları ve torrent'ler bozulmadan kalacaktır."
|
LangString inst_uninstall_question ${LANG_TURKISH} "Şu anki sürüm kaldırılacak. Kullanıcı ayarları ve torrent'ler bozulmadan kalacaktır."
|
||||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
|
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
|
||||||
LangString inst_unist ${LANG_TURKISH} "Önceki sürüm kaldırılıyor."
|
LangString inst_unist ${LANG_TURKISH} "Önceki sürüm kaldırılıyor."
|
||||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||||
@@ -33,9 +33,9 @@ LangString inst_requires_win10 ${LANG_TURKISH} "Bu yükleyici en az Windows 10
|
|||||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||||
LangString inst_uninstall_link_description ${LANG_TURKISH} "qBittorrent'i kaldır"
|
LangString inst_uninstall_link_description ${LANG_TURKISH} "qBittorrent'i kaldır"
|
||||||
;LangString inst_arch_mismatch_x64_on_arm64 ${LANG_ENGLISH} "Error: This x64 version of qBittorrent cannot run on ARM64 systems. Please download the ARM64 installer."
|
;LangString inst_arch_mismatch_x64_on_arm64 ${LANG_ENGLISH} "Error: This x64 version of qBittorrent cannot run on ARM64 systems. Please download the ARM64 installer."
|
||||||
LangString inst_arch_mismatch_x64_on_arm64 ${LANG_TURKISH} "This x64 version of qBittorrent cannot run on ARM64 systems. Please download the ARM64 installer."
|
LangString inst_arch_mismatch_x64_on_arm64 ${LANG_TURKISH} "qBittorrent'in bu x64 sürümü ARM64 sistemlerde çalışamaz. Lütfen ARM64 yükleyicisini indirin."
|
||||||
;LangString inst_arch_mismatch_arm64_on_x64 ${LANG_ENGLISH} "Error: This ARM64 version of qBittorrent cannot run on x64 systems. Please download the x64 installer."
|
;LangString inst_arch_mismatch_arm64_on_x64 ${LANG_ENGLISH} "Error: This ARM64 version of qBittorrent cannot run on x64 systems. Please download the x64 installer."
|
||||||
LangString inst_arch_mismatch_arm64_on_x64 ${LANG_TURKISH} "This ARM64 version of qBittorrent cannot run on x64 systems. Please download the x64 installer."
|
LangString inst_arch_mismatch_arm64_on_x64 ${LANG_TURKISH} "qBittorrent'in bu ARM64 sürümü x64 sistemlerde çalışamaz. Lütfen x64 yükleyicisini indirin."
|
||||||
|
|
||||||
;------------------------------------
|
;------------------------------------
|
||||||
;Uninstaller strings
|
;Uninstaller strings
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ QString TorrentContentModelItem::displayData(const int column) const
|
|||||||
case BitTorrent::DownloadPriority::Mixed:
|
case BitTorrent::DownloadPriority::Mixed:
|
||||||
return tr("Mixed", "Mixed (priorities");
|
return tr("Mixed", "Mixed (priorities");
|
||||||
case BitTorrent::DownloadPriority::Ignored:
|
case BitTorrent::DownloadPriority::Ignored:
|
||||||
return tr("Not downloaded");
|
return tr("Do not download", "Do not download (priority)");
|
||||||
case BitTorrent::DownloadPriority::High:
|
case BitTorrent::DownloadPriority::High:
|
||||||
return tr("High", "High (priority)");
|
return tr("High", "High (priority)");
|
||||||
case BitTorrent::DownloadPriority::Maximum:
|
case BitTorrent::DownloadPriority::Maximum:
|
||||||
|
|||||||
@@ -564,6 +564,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
column["force_hide"] = false;
|
column["force_hide"] = false;
|
||||||
column["caption"] = caption;
|
column["caption"] = caption;
|
||||||
column["style"] = style;
|
column["style"] = style;
|
||||||
|
if (defaultWidth !== -1)
|
||||||
column["width"] = localPreferences.get(`column_${name}_width_${this.dynamicTableDivId}`, defaultWidth);
|
column["width"] = localPreferences.get(`column_${name}_width_${this.dynamicTableDivId}`, defaultWidth);
|
||||||
column["dataProperties"] = [name];
|
column["dataProperties"] = [name];
|
||||||
column["getRowValue"] = function(row, pos) {
|
column["getRowValue"] = function(row, pos) {
|
||||||
@@ -3098,9 +3099,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
selectRow(rowId) {
|
selectRow(rowId) {
|
||||||
this.selectedRows.push(rowId);
|
super.selectRow(rowId);
|
||||||
this.setRowClass();
|
|
||||||
this.onSelectedRowChanged();
|
|
||||||
|
|
||||||
let path = "";
|
let path = "";
|
||||||
for (const row of this.getRowValues()) {
|
for (const row of this.getRowValues()) {
|
||||||
@@ -3177,42 +3176,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class RssArticleTable extends DynamicTable {
|
class RssArticleTable extends DynamicTable {
|
||||||
@@ -3225,9 +3188,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
selectRow(rowId) {
|
selectRow(rowId) {
|
||||||
this.selectedRows.push(rowId);
|
super.selectRow(rowId);
|
||||||
this.setRowClass();
|
|
||||||
this.onSelectedRowChanged();
|
|
||||||
|
|
||||||
let articleId = "";
|
let articleId = "";
|
||||||
let feedUid = "";
|
let feedUid = "";
|
||||||
@@ -3259,42 +3220,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
|
|
||||||
return super.updateRow(tr, fullUpdate);
|
return super.updateRow(tr, fullUpdate);
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class RssDownloaderRulesTable extends DynamicTable {
|
class RssDownloaderRulesTable extends DynamicTable {
|
||||||
@@ -3342,46 +3267,8 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
window.qBittorrent.RssDownloader.renameRule(this.getRow(tr.rowId).full_data.name);
|
window.qBittorrent.RssDownloader.renameRule(this.getRow(tr.rowId).full_data.name);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
selectRow(rowId) {
|
selectRow(rowId) {
|
||||||
this.selectedRows.push(rowId);
|
super.selectRow(rowId);
|
||||||
this.setRowClass();
|
|
||||||
this.onSelectedRowChanged();
|
|
||||||
|
|
||||||
let name = "";
|
let name = "";
|
||||||
for (const row of this.getRowValues()) {
|
for (const row of this.getRowValues()) {
|
||||||
@@ -3427,42 +3314,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
getFilteredAndSortedRows() {
|
getFilteredAndSortedRows() {
|
||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
selectRow() {}
|
selectRow() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3475,42 +3326,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
getFilteredAndSortedRows() {
|
getFilteredAndSortedRows() {
|
||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
selectRow() {}
|
selectRow() {}
|
||||||
updateRow(tr, fullUpdate) {
|
updateRow(tr, fullUpdate) {
|
||||||
const row = this.rows.get(tr.rowId);
|
const row = this.rows.get(tr.rowId);
|
||||||
|
|||||||
Reference in New Issue
Block a user