Browse Source

Add WebUI Force Reannounce option

adaptive-webui-19844
Thomas Piccirello 6 years ago
parent
commit
cdad0dc7d3
  1. 8
      src/webui/api/torrentscontroller.cpp
  2. 1
      src/webui/api/torrentscontroller.h
  3. 1
      src/webui/www/private/index.html
  4. 14
      src/webui/www/private/scripts/mocha-init.js
  5. 3
      src/webui/www/private/transferlist.html

8
src/webui/api/torrentscontroller.cpp

@ -795,6 +795,14 @@ void TorrentsController::recheckAction()
applyToTorrents(hashes, [](BitTorrent::TorrentHandle *torrent) { torrent->forceRecheck(); }); applyToTorrents(hashes, [](BitTorrent::TorrentHandle *torrent) { torrent->forceRecheck(); });
} }
void TorrentsController::reannounceAction()
{
checkParams({"hashes"});
const QStringList hashes {params()["hashes"].split('|')};
applyToTorrents(hashes, [](BitTorrent::TorrentHandle *torrent) { torrent->forceReannounce(); });
}
void TorrentsController::setCategoryAction() void TorrentsController::setCategoryAction()
{ {
checkParams({"hashes", "category"}); checkParams({"hashes", "category"});

1
src/webui/api/torrentscontroller.h

@ -49,6 +49,7 @@ private slots:
void resumeAction(); void resumeAction();
void pauseAction(); void pauseAction();
void recheckAction(); void recheckAction();
void reannounceAction();
void renameAction(); void renameAction();
void setCategoryAction(); void setCategoryAction();
void createCategoryAction(); void createCategoryAction();

1
src/webui/www/private/index.html

@ -127,6 +127,7 @@
<li class="separator"><a href="#SequentialDownload"><img src="theme/checked" alt="QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]"/> QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]</a></li> <li class="separator"><a href="#SequentialDownload"><img src="theme/checked" alt="QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]"/> QBT_TR(Download in sequential order)QBT_TR[CONTEXT=TransferListWidget]</a></li>
<li><a href="#FirstLastPiecePrio"><img src="theme/checked" alt="QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]"/> QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]</a></li> <li><a href="#FirstLastPiecePrio"><img src="theme/checked" alt="QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]"/> QBT_TR(Download first and last pieces first)QBT_TR[CONTEXT=TransferListWidget]</a></li>
<li class="separator"><a href="#ForceRecheck"><img src="theme/document-edit-verify" alt="QBT_TR(Force recheck)QBT_TR[CONTEXT=TransferListWidget]"/> QBT_TR(Force recheck)QBT_TR[CONTEXT=TransferListWidget]</a></li> <li class="separator"><a href="#ForceRecheck"><img src="theme/document-edit-verify" alt="QBT_TR(Force recheck)QBT_TR[CONTEXT=TransferListWidget]"/> QBT_TR(Force recheck)QBT_TR[CONTEXT=TransferListWidget]</a></li>
<li><a href="#ForceReannounce"><img src="theme/document-edit-verify" alt="QBT_TR(Force reannounce)QBT_TR[CONTEXT=TransferListWidget]"/> QBT_TR(Force reannounce)QBT_TR[CONTEXT=TransferListWidget]</a></li>
<li id="queueingMenuItems" class="separator"> <li id="queueingMenuItems" class="separator">
<a href="#priority" class="arrow-right"><span style="display: inline-block; width:16px"></span> QBT_TR(Priority)QBT_TR[CONTEXT=TransferListWidget]</a> <a href="#priority" class="arrow-right"><span style="display: inline-block; width:16px"></span> QBT_TR(Priority)QBT_TR[CONTEXT=TransferListWidget]</a>
<ul> <ul>

14
src/webui/www/private/scripts/mocha-init.js

@ -400,6 +400,20 @@ initializeWindows = function() {
} }
}; };
reannounceFN = function() {
var hashes = torrentsTable.selectedRowsIds();
if (hashes.length) {
new Request({
url: 'api/v2/torrents/reannounce',
method: 'post',
data: {
hashes: hashes.join("|"),
}
}).send();
updateMainData();
}
};
setLocationFN = function() { setLocationFN = function() {
var hashes = torrentsTable.selectedRowsIds(); var hashes = torrentsTable.selectedRowsIds();
if (hashes.length) { if (hashes.length) {

3
src/webui/www/private/transferlist.html

@ -78,6 +78,9 @@
ForceRecheck: function(element, ref) { ForceRecheck: function(element, ref) {
recheckFN(); recheckFN();
}, },
ForceReannounce: function(element, ref) {
reannounceFN();
},
SuperSeeding: function(element, ref) { SuperSeeding: function(element, ref) {
setSuperSeedingFN(!ref.getItemChecked('SuperSeeding')); setSuperSeedingFN(!ref.getItemChecked('SuperSeeding'));

Loading…
Cancel
Save