mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-01 05:08:05 -06:00
Add ability to display torrent "privateness" in UI
PR #20951. --------- Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com> Co-authored-by: Vladimir Golovnev <glassez@yandex.ru> Co-authored-by: thalieht <thalieht@users.noreply.github.com>
This commit is contained in:
@@ -163,7 +163,8 @@ QVariantMap serialize(const BitTorrent::Torrent &torrent)
|
||||
{KEY_TORRENT_AVAILABILITY, torrent.distributedCopies()},
|
||||
{KEY_TORRENT_REANNOUNCE, torrent.nextAnnounce()},
|
||||
{KEY_TORRENT_COMMENT, torrent.comment()},
|
||||
{KEY_TORRENT_PRIVATE, torrent.isPrivate()},
|
||||
{KEY_TORRENT_TOTAL_SIZE, torrent.totalSize()}
|
||||
{KEY_TORRENT_PRIVATE, (torrent.hasMetadata() ? torrent.isPrivate() : QVariant())},
|
||||
{KEY_TORRENT_TOTAL_SIZE, torrent.totalSize()},
|
||||
{KEY_TORRENT_HAS_METADATA, torrent.hasMetadata()}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -94,5 +94,6 @@ inline const QString KEY_TORRENT_AVAILABILITY = u"availability"_s;
|
||||
inline const QString KEY_TORRENT_REANNOUNCE = u"reannounce"_s;
|
||||
inline const QString KEY_TORRENT_COMMENT = u"comment"_s;
|
||||
inline const QString KEY_TORRENT_PRIVATE = u"private"_s;
|
||||
inline const QString KEY_TORRENT_HAS_METADATA = u"has_metadata"_s;
|
||||
|
||||
QVariantMap serialize(const BitTorrent::Torrent &torrent);
|
||||
|
||||
@@ -116,6 +116,8 @@ const QString KEY_PROP_PRIVATE = u"private"_s;
|
||||
const QString KEY_PROP_SSL_CERTIFICATE = u"ssl_certificate"_s;
|
||||
const QString KEY_PROP_SSL_PRIVATEKEY = u"ssl_private_key"_s;
|
||||
const QString KEY_PROP_SSL_DHPARAMS = u"ssl_dh_params"_s;
|
||||
const QString KEY_PROP_HAS_METADATA = u"has_metadata"_s;
|
||||
|
||||
|
||||
// File keys
|
||||
const QString KEY_FILE_INDEX = u"index"_s;
|
||||
@@ -438,6 +440,8 @@ void TorrentsController::propertiesAction()
|
||||
const int uploadLimit = torrent->uploadLimit();
|
||||
const qreal ratio = torrent->realRatio();
|
||||
const qreal popularity = torrent->popularity();
|
||||
const bool hasMetadata = torrent->hasMetadata();
|
||||
const bool isPrivate = torrent->isPrivate();
|
||||
|
||||
const QJsonObject ret
|
||||
{
|
||||
@@ -474,14 +478,15 @@ void TorrentsController::propertiesAction()
|
||||
{KEY_PROP_PIECES_HAVE, torrent->piecesHave()},
|
||||
{KEY_PROP_CREATED_BY, torrent->creator()},
|
||||
{KEY_PROP_IS_PRIVATE, torrent->isPrivate()}, // used for maintaining backward compatibility
|
||||
{KEY_PROP_PRIVATE, torrent->isPrivate()},
|
||||
{KEY_PROP_PRIVATE, (hasMetadata ? isPrivate : QJsonValue())},
|
||||
{KEY_PROP_ADDITION_DATE, Utils::DateTime::toSecsSinceEpoch(torrent->addedTime())},
|
||||
{KEY_PROP_LAST_SEEN, Utils::DateTime::toSecsSinceEpoch(torrent->lastSeenComplete())},
|
||||
{KEY_PROP_COMPLETION_DATE, Utils::DateTime::toSecsSinceEpoch(torrent->completedTime())},
|
||||
{KEY_PROP_CREATION_DATE, Utils::DateTime::toSecsSinceEpoch(torrent->creationDate())},
|
||||
{KEY_PROP_SAVE_PATH, torrent->savePath().toString()},
|
||||
{KEY_PROP_DOWNLOAD_PATH, torrent->downloadPath().toString()},
|
||||
{KEY_PROP_COMMENT, torrent->comment()}
|
||||
{KEY_PROP_COMMENT, torrent->comment()},
|
||||
{KEY_PROP_HAS_METADATA, torrent->hasMetadata()}
|
||||
};
|
||||
|
||||
setResult(ret);
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
#include "base/utils/version.h"
|
||||
#include "api/isessionmanager.h"
|
||||
|
||||
inline const Utils::Version<3, 2> API_VERSION {2, 11, 1};
|
||||
inline const Utils::Version<3, 2> API_VERSION {2, 11, 2};
|
||||
|
||||
class QTimer;
|
||||
|
||||
|
||||
@@ -948,6 +948,7 @@ window.qBittorrent.DynamicTable = (function() {
|
||||
this.newColumn("last_activity", "", "QBT_TR(Last Activity)QBT_TR[CONTEXT=TransferListModel]", 100, false);
|
||||
this.newColumn("availability", "", "QBT_TR(Availability)QBT_TR[CONTEXT=TransferListModel]", 100, false);
|
||||
this.newColumn("reannounce", "", "QBT_TR(Reannounce In)QBT_TR[CONTEXT=TransferListModel]", 100, false);
|
||||
this.newColumn("private", "", "QBT_TR(Private)QBT_TR[CONTEXT=TransferListModel]", 100, false);
|
||||
|
||||
this.columns["state_icon"].onclick = "";
|
||||
this.columns["state_icon"].dataProperties[0] = "state";
|
||||
@@ -1331,6 +1332,19 @@ window.qBittorrent.DynamicTable = (function() {
|
||||
td.set("text", time);
|
||||
td.set("title", time);
|
||||
};
|
||||
|
||||
// private
|
||||
this.columns["private"].updateTd = function(td, row) {
|
||||
const hasMetadata = row["full_data"].has_metadata;
|
||||
const isPrivate = this.getRowValue(row);
|
||||
const string = hasMetadata
|
||||
? (isPrivate
|
||||
? "QBT_TR(Yes)QBT_TR[CONTEXT=PropertiesWidget]"
|
||||
: "QBT_TR(No)QBT_TR[CONTEXT=PropertiesWidget]")
|
||||
: "QBT_TR(N/A)QBT_TR[CONTEXT=PropertiesWidget]";
|
||||
td.set("text", string);
|
||||
td.set("title", string);
|
||||
};
|
||||
},
|
||||
|
||||
applyFilter: function(row, filterName, categoryHash, tagHash, trackerHash, filterTerms) {
|
||||
|
||||
@@ -70,6 +70,7 @@ window.qBittorrent.PropGeneral = (function() {
|
||||
$("torrent_hash_v2").set("html", "");
|
||||
$("save_path").set("html", "");
|
||||
$("comment").set("html", "");
|
||||
$("private").set("html", "");
|
||||
piecesBar.clear();
|
||||
};
|
||||
|
||||
@@ -210,6 +211,15 @@ window.qBittorrent.PropGeneral = (function() {
|
||||
$("save_path").set("html", data.save_path);
|
||||
|
||||
$("comment").set("html", window.qBittorrent.Misc.parseHtmlLinks(window.qBittorrent.Misc.escapeHtml(data.comment)));
|
||||
|
||||
if (data.has_metadata) {
|
||||
$("private").set("text", (data.private
|
||||
? "QBT_TR(Yes)QBT_TR[CONTEXT=PropertiesWidget]"
|
||||
: "QBT_TR(No)QBT_TR[CONTEXT=PropertiesWidget]"));
|
||||
}
|
||||
else {
|
||||
$("private").set("text", "QBT_TR(N/A)QBT_TR[CONTEXT=PropertiesWidget]");
|
||||
}
|
||||
}
|
||||
else {
|
||||
clearData();
|
||||
|
||||
@@ -74,6 +74,10 @@
|
||||
<td class="generalLabel">QBT_TR(Created On:)QBT_TR[CONTEXT=PropertiesWidget]</td>
|
||||
<td id="creation_date"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="generalLabel">QBT_TR(Private:)QBT_TR[CONTEXT=PropertiesWidget]</td>
|
||||
<td id="private"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="generalLabel">QBT_TR(Info Hash v1:)QBT_TR[CONTEXT=PropertiesWidget]</td>
|
||||
<td colspan="5" id="torrent_hash_v1"></td>
|
||||
|
||||
Reference in New Issue
Block a user