Browse Source

Add confirmation to resume/pause all

This adds a confirmation dialog to Pause All and Resume All. First I wanted to only add it in Tray, but honestly, clicking around in the menu, using hotkeys might trigger it just as easy.

Closes #17683.
PR #17945.
adaptive-webui-19844
BallsOfSpaghetti 2 years ago committed by GitHub
parent
commit
162273da47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      src/gui/transferlistwidget.cpp
  2. 22
      src/webui/www/private/scripts/mocha-init.js

18
src/gui/transferlistwidget.cpp

@ -363,12 +363,30 @@ void TransferListWidget::setSelectedTorrentsLocation()
void TransferListWidget::pauseAllTorrents() void TransferListWidget::pauseAllTorrents()
{ {
// Show confirmation if user would really like to Pause All
const QMessageBox::StandardButton ret =
QMessageBox::question(this, tr("Confirm pause")
, tr("Would you like to pause all torrents?")
, (QMessageBox::Yes | QMessageBox::No));
if (ret != QMessageBox::Yes)
return;
for (BitTorrent::Torrent *const torrent : asConst(BitTorrent::Session::instance()->torrents())) for (BitTorrent::Torrent *const torrent : asConst(BitTorrent::Session::instance()->torrents()))
torrent->pause(); torrent->pause();
} }
void TransferListWidget::resumeAllTorrents() void TransferListWidget::resumeAllTorrents()
{ {
// Show confirmation if user would really like to Resume All
const QMessageBox::StandardButton ret =
QMessageBox::question(this, tr("Confirm resume")
, tr("Would you like to resume all torrents?")
, (QMessageBox::Yes | QMessageBox::No));
if (ret != QMessageBox::Yes)
return;
for (BitTorrent::Torrent *const torrent : asConst(BitTorrent::Session::instance()->torrents())) for (BitTorrent::Torrent *const torrent : asConst(BitTorrent::Session::instance()->torrents()))
torrent->resume(); torrent->resume();
} }

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

@ -979,18 +979,34 @@ const initializeWindows = function() {
} }
}; };
['pause', 'resume'].each(function(item) { addClickEvent('pauseAll', (e) => {
addClickEvent(item + 'All', function(e) {
new Event(e).stop(); new Event(e).stop();
if (confirm('QBT_TR(Would you like to pause all torrents?)QBT_TR[CONTEXT=MainWindow]')) {
new Request({ new Request({
url: 'api/v2/torrents/' + item, url: 'api/v2/torrents/pause',
method: 'post', method: 'post',
data: { data: {
hashes: "all" hashes: "all"
} }
}).send(); }).send();
updateMainData(); updateMainData();
}
}); });
addClickEvent('resumeAll', (e) => {
new Event(e).stop();
if (confirm('QBT_TR(Would you like to resume all torrents?)QBT_TR[CONTEXT=MainWindow]')) {
new Request({
url: 'api/v2/torrents/resume',
method: 'post',
data: {
hashes: "all"
}
}).send();
updateMainData();
}
}); });
['pause', 'resume', 'recheck'].each(function(item) { ['pause', 'resume', 'recheck'].each(function(item) {

Loading…
Cancel
Save