mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-17 06:01:33 -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:
|
||||
version: ${{ matrix.qt_version }}
|
||||
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
|
||||
cache: true
|
||||
|
||||
|
||||
1
.github/workflows/ci_ubuntu.yaml
vendored
1
.github/workflows/ci_ubuntu.yaml
vendored
@@ -74,6 +74,7 @@ jobs:
|
||||
with:
|
||||
version: ${{ matrix.qt_version }}
|
||||
archives: icu qtbase qtdeclarative qtsvg qttools
|
||||
modules: qtimageformats
|
||||
cache: true
|
||||
|
||||
- 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"
|
||||
arch: ${{ matrix.config.qt_arch }}
|
||||
archives: qtbase qtsvg qttools
|
||||
modules: qtimageformats
|
||||
cache: true
|
||||
|
||||
- name: Install libtorrent
|
||||
@@ -182,8 +183,16 @@ jobs:
|
||||
mkdir upload/qBittorrent/plugins/iconengines
|
||||
copy "${{ env.Qt_ROOT_DIR }}/plugins/iconengines/qsvgicon.dll" upload/qBittorrent/plugins/iconengines
|
||||
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/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/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
|
||||
copy "${{ env.Qt_ROOT_DIR }}/plugins/platforms/qwindows.dll" upload/qBittorrent/plugins/platforms
|
||||
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
|
||||
env:
|
||||
BOOST_MAJOR_VERSION: "1"
|
||||
BOOST_MINOR_VERSION: "88"
|
||||
BOOST_MINOR_VERSION: "90"
|
||||
BOOST_PATCH_VERSION: "0"
|
||||
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"
|
||||
|
||||
@@ -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_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_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_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
|
||||
|
||||
@@ -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_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_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_TURKISH} "Önceki sürüm kaldırılıyor."
|
||||
;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_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_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_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
|
||||
|
||||
@@ -112,7 +112,7 @@ QString TorrentContentModelItem::displayData(const int column) const
|
||||
case BitTorrent::DownloadPriority::Mixed:
|
||||
return tr("Mixed", "Mixed (priorities");
|
||||
case BitTorrent::DownloadPriority::Ignored:
|
||||
return tr("Not downloaded");
|
||||
return tr("Do not download", "Do not download (priority)");
|
||||
case BitTorrent::DownloadPriority::High:
|
||||
return tr("High", "High (priority)");
|
||||
case BitTorrent::DownloadPriority::Maximum:
|
||||
|
||||
@@ -564,7 +564,8 @@ window.qBittorrent.DynamicTable ??= (() => {
|
||||
column["force_hide"] = false;
|
||||
column["caption"] = caption;
|
||||
column["style"] = style;
|
||||
column["width"] = localPreferences.get(`column_${name}_width_${this.dynamicTableDivId}`, defaultWidth);
|
||||
if (defaultWidth !== -1)
|
||||
column["width"] = localPreferences.get(`column_${name}_width_${this.dynamicTableDivId}`, defaultWidth);
|
||||
column["dataProperties"] = [name];
|
||||
column["getRowValue"] = function(row, pos) {
|
||||
if (pos === undefined)
|
||||
@@ -3098,9 +3099,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
||||
return [...this.getRowValues()];
|
||||
}
|
||||
selectRow(rowId) {
|
||||
this.selectedRows.push(rowId);
|
||||
this.setRowClass();
|
||||
this.onSelectedRowChanged();
|
||||
super.selectRow(rowId);
|
||||
|
||||
let path = "";
|
||||
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 {
|
||||
@@ -3225,9 +3188,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
||||
return [...this.getRowValues()];
|
||||
}
|
||||
selectRow(rowId) {
|
||||
this.selectedRows.push(rowId);
|
||||
this.setRowClass();
|
||||
this.onSelectedRowChanged();
|
||||
super.selectRow(rowId);
|
||||
|
||||
let articleId = "";
|
||||
let feedUid = "";
|
||||
@@ -3259,42 +3220,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
||||
|
||||
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 {
|
||||
@@ -3342,46 +3267,8 @@ window.qBittorrent.DynamicTable ??= (() => {
|
||||
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) {
|
||||
this.selectedRows.push(rowId);
|
||||
this.setRowClass();
|
||||
this.onSelectedRowChanged();
|
||||
super.selectRow(rowId);
|
||||
|
||||
let name = "";
|
||||
for (const row of this.getRowValues()) {
|
||||
@@ -3427,42 +3314,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
||||
getFilteredAndSortedRows() {
|
||||
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() {}
|
||||
}
|
||||
|
||||
@@ -3475,42 +3326,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
||||
getFilteredAndSortedRows() {
|
||||
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() {}
|
||||
updateRow(tr, fullUpdate) {
|
||||
const row = this.rows.get(tr.rowId);
|
||||
|
||||
Reference in New Issue
Block a user