From 76f285f19c05a2bf6387c218fa783f41e73f31b4 Mon Sep 17 00:00:00 2001 From: thalieht Date: Sun, 25 Aug 2019 21:19:05 +0300 Subject: [PATCH] Convert existing speed dialog to global + alt global limits only --- src/gui/mainwindow.cpp | 41 ++------ src/gui/mainwindow.h | 3 +- src/gui/mainwindow.ui | 19 +--- src/gui/speedlimitdialog.cpp | 137 +++++++++++++++---------- src/gui/speedlimitdialog.h | 20 ++-- src/gui/speedlimitdialog.ui | 180 ++++++++++++++++++++++++++++----- src/gui/statusbar.cpp | 35 ++----- src/gui/statusbar.h | 3 +- src/gui/transferlistwidget.cpp | 76 +++++--------- src/gui/transferlistwidget.h | 3 +- 10 files changed, 293 insertions(+), 224 deletions(-) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 0b777301f..d7ab5332d 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -172,10 +172,7 @@ MainWindow::MainWindow(QWidget *parent) m_ui->actionOpen->setIcon(UIThemeManager::instance()->getIcon("list-add")); m_ui->actionDownloadFromURL->setIcon(UIThemeManager::instance()->getIcon("insert-link")); - m_ui->actionSetUploadLimit->setIcon(UIThemeManager::instance()->getIcon("kt-set-max-upload-speed")); - m_ui->actionSetDownloadLimit->setIcon(UIThemeManager::instance()->getIcon("kt-set-max-download-speed")); - m_ui->actionSetGlobalUploadLimit->setIcon(UIThemeManager::instance()->getIcon("kt-set-max-upload-speed")); - m_ui->actionSetGlobalDownloadLimit->setIcon(UIThemeManager::instance()->getIcon("kt-set-max-download-speed")); + m_ui->actionSetGlobalSpeedLimits->setIcon(UIThemeManager::instance()->getIcon("speedometer")); m_ui->actionCreateTorrent->setIcon(UIThemeManager::instance()->getIcon("document-edit")); m_ui->actionAbout->setIcon(UIThemeManager::instance()->getIcon("help-about")); m_ui->actionStatistics->setIcon(UIThemeManager::instance()->getIcon("view-statistics")); @@ -1008,36 +1005,11 @@ void MainWindow::handleDownloadFromUrlFailure(const QString &url, const QString , tr("Couldn't download file at URL '%1', reason: %2.").arg(url, reason)); } -void MainWindow::on_actionSetGlobalUploadLimit_triggered() +void MainWindow::on_actionSetGlobalSpeedLimits_triggered() { - qDebug() << Q_FUNC_INFO; - - BitTorrent::Session *const session = BitTorrent::Session::instance(); - bool ok = false; - const long newLimit = SpeedLimitDialog::askSpeedLimit( - this, &ok, tr("Global Upload Speed Limit"), session->uploadSpeedLimit()); - - if (ok) - { - qDebug("Setting global upload rate limit to %.1fKb/s", newLimit / 1024.); - session->setUploadSpeedLimit(newLimit); - } -} - -void MainWindow::on_actionSetGlobalDownloadLimit_triggered() -{ - qDebug() << Q_FUNC_INFO; - - BitTorrent::Session *const session = BitTorrent::Session::instance(); - bool ok = false; - const long newLimit = SpeedLimitDialog::askSpeedLimit( - this, &ok, tr("Global Download Speed Limit"), session->downloadSpeedLimit()); - - if (ok) - { - qDebug("Setting global download rate limit to %.1fKb/s", newLimit / 1024.); - session->setDownloadSpeedLimit(newLimit); - } + auto dialog = new SpeedLimitDialog {this}; + dialog->setAttribute(Qt::WA_DeleteOnClose); + dialog->open(); } // Necessary if we want to close the window @@ -1808,8 +1780,7 @@ QMenu *MainWindow::trayIconMenu() updateAltSpeedsBtn(isAltBWEnabled); m_ui->actionUseAlternativeSpeedLimits->setChecked(isAltBWEnabled); m_trayIconMenu->addAction(m_ui->actionUseAlternativeSpeedLimits); - m_trayIconMenu->addAction(m_ui->actionSetGlobalDownloadLimit); - m_trayIconMenu->addAction(m_ui->actionSetGlobalUploadLimit); + m_trayIconMenu->addAction(m_ui->actionSetGlobalSpeedLimits); m_trayIconMenu->addSeparator(); m_trayIconMenu->addAction(m_ui->actionStartAll); m_trayIconMenu->addAction(m_ui->actionPauseAll); diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index b646a6e17..41c852918 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -171,8 +171,7 @@ private slots: void on_actionStatistics_triggered(); void on_actionCreateTorrent_triggered(); void on_actionOptions_triggered(); - void on_actionSetGlobalUploadLimit_triggered(); - void on_actionSetGlobalDownloadLimit_triggered(); + void on_actionSetGlobalSpeedLimits_triggered(); void on_actionDocumentation_triggered() const; void on_actionOpen_triggered(); void on_actionDownloadFromURL_triggered(); diff --git a/src/gui/mainwindow.ui b/src/gui/mainwindow.ui index d59b1e689..12cfc3eee 100644 --- a/src/gui/mainwindow.ui +++ b/src/gui/mainwindow.ui @@ -223,29 +223,14 @@ Torrent &Creator - - - Set Upload Limit... - - - - - Set Download Limit... - - &Documentation - + - Set Global Download Limit... - - - - - Set Global Upload Limit... + Set Global Speed Limits... diff --git a/src/gui/speedlimitdialog.cpp b/src/gui/speedlimitdialog.cpp index 59058eca9..334dd75ac 100644 --- a/src/gui/speedlimitdialog.cpp +++ b/src/gui/speedlimitdialog.cpp @@ -28,19 +28,80 @@ #include "speedlimitdialog.h" +#include + +#include "base/bittorrent/session.h" #include "ui_speedlimitdialog.h" +#include "uithememanager.h" #include "utils.h" +namespace +{ + void updateSliderValue(QSlider *slider, const int value) + { + if (value > slider->maximum()) + slider->setMaximum(value); + slider->setValue(value); + } +} + SpeedLimitDialog::SpeedLimitDialog(QWidget *parent) - : QDialog(parent) - , m_ui(new Ui::SpeedLimitDialog) + : QDialog {parent} + , m_ui {new Ui::SpeedLimitDialog} { m_ui->setupUi(this); - // Connect to slots - connect(m_ui->bandwidthSlider, &QSlider::valueChanged, this, &SpeedLimitDialog::updateSpinValue); - connect(m_ui->spinBandwidth, qOverload(&QSpinBox::valueChanged) - , this, &SpeedLimitDialog::updateSliderValue); + m_ui->labelGlobalSpeedIcon->setPixmap(Utils::Gui::scaledPixmap(UIThemeManager::instance()->getIcon(QLatin1String("slow_off")) + , this, style()->pixelMetric(QStyle::PM_SmallIconSize, nullptr, this))); + m_ui->labelAltGlobalSpeedIcon->setPixmap(Utils::Gui::scaledPixmap(UIThemeManager::instance()->getIcon(QLatin1String("slow")) + , this, style()->pixelMetric(QStyle::PM_SmallIconSize, nullptr, this))); + + const auto initSlider = [](QSlider *slider, const int value, const int maximum) + { + slider->setMaximum(maximum); + slider->setValue(value); + }; + const auto *session = BitTorrent::Session::instance(); + const int uploadVal = qMax(0, (session->globalUploadSpeedLimit() / 1024)); + const int downloadVal = qMax(0, (session->globalDownloadSpeedLimit() / 1024)); + const int maxUpload = qMax(10000, (session->globalUploadSpeedLimit() / 1024)); + const int maxDownload = qMax(10000, (session->globalDownloadSpeedLimit() / 1024)); + initSlider(m_ui->sliderUploadLimit, uploadVal, maxUpload); + initSlider(m_ui->sliderDownloadLimit, downloadVal, maxDownload); + + const int altUploadVal = qMax(0, (session->altGlobalUploadSpeedLimit() / 1024)); + const int altDownloadVal = qMax(0, (session->altGlobalDownloadSpeedLimit() / 1024)); + const int altMaxUpload = qMax(10000, (session->altGlobalUploadSpeedLimit() / 1024)); + const int altMaxDownload = qMax(10000, (session->altGlobalDownloadSpeedLimit() / 1024)); + initSlider(m_ui->sliderAltUploadLimit, altUploadVal, altMaxUpload); + initSlider(m_ui->sliderAltDownloadLimit, altDownloadVal, altMaxDownload); + + m_ui->spinUploadLimit->setValue(uploadVal); + m_ui->spinDownloadLimit->setValue(downloadVal); + m_ui->spinAltUploadLimit->setValue(altUploadVal); + m_ui->spinAltDownloadLimit->setValue(altDownloadVal); + + m_initialValues = + { + m_ui->spinUploadLimit->value(), + m_ui->spinDownloadLimit->value(), + m_ui->spinAltUploadLimit->value(), + m_ui->spinAltDownloadLimit->value() + }; + + // Sync up/down speed limit sliders with their corresponding spinboxes + connect(m_ui->sliderUploadLimit, &QSlider::valueChanged, m_ui->spinUploadLimit, &QSpinBox::setValue); + connect(m_ui->sliderDownloadLimit, &QSlider::valueChanged, m_ui->spinDownloadLimit, &QSpinBox::setValue); + connect(m_ui->spinUploadLimit, qOverload(&QSpinBox::valueChanged) + , this, [this](const int value) { updateSliderValue(m_ui->sliderUploadLimit, value); }); + connect(m_ui->spinDownloadLimit, qOverload(&QSpinBox::valueChanged) + , this, [this](const int value) { updateSliderValue(m_ui->sliderDownloadLimit, value); }); + connect(m_ui->sliderAltUploadLimit, &QSlider::valueChanged, m_ui->spinAltUploadLimit, &QSpinBox::setValue); + connect(m_ui->sliderAltDownloadLimit, &QSlider::valueChanged, m_ui->spinAltDownloadLimit, &QSpinBox::setValue); + connect(m_ui->spinAltUploadLimit, qOverload(&QSpinBox::valueChanged) + , this, [this](const int value) { updateSliderValue(m_ui->sliderAltUploadLimit, value); }); + connect(m_ui->spinAltDownloadLimit, qOverload(&QSpinBox::valueChanged) + , this, [this](const int value) { updateSliderValue(m_ui->sliderAltDownloadLimit, value); }); Utils::Gui::resize(this); } @@ -50,58 +111,24 @@ SpeedLimitDialog::~SpeedLimitDialog() delete m_ui; } -// -2: if cancel -long SpeedLimitDialog::askSpeedLimit(QWidget *parent, bool *ok, const QString &title, const long defaultVal, const long maxVal) +void SpeedLimitDialog::accept() { - if (ok) *ok = false; + auto *session = BitTorrent::Session::instance(); + const int uploadLimit = (m_ui->spinUploadLimit->value() * 1024); + if (m_initialValues.uploadSpeedLimit != m_ui->spinUploadLimit->value()) + session->setGlobalUploadSpeedLimit(uploadLimit); - SpeedLimitDialog dlg(parent); - dlg.setWindowTitle(title); - dlg.setupDialog((maxVal / 1024.), (defaultVal / 1024.)); + const int downloadLimit = (m_ui->spinDownloadLimit->value() * 1024); + if (m_initialValues.downloadSpeedLimit != m_ui->spinDownloadLimit->value()) + session->setGlobalDownloadSpeedLimit(downloadLimit); - if (dlg.exec() == QDialog::Accepted) - { - if (ok) *ok = true; + const int altUploadLimit = (m_ui->spinAltUploadLimit->value() * 1024); + if (m_initialValues.altUploadSpeedLimit != m_ui->spinAltUploadLimit->value()) + session->setAltGlobalUploadSpeedLimit(altUploadLimit); - const int val = dlg.getSpeedLimit(); - if (val < 0) - return 0; - return (val * 1024); - } + const int altDownloadLimit = (m_ui->spinAltDownloadLimit->value() * 1024); + if (m_initialValues.altDownloadSpeedLimit != m_ui->spinAltDownloadLimit->value()) + session->setAltGlobalDownloadSpeedLimit(altDownloadLimit); - return -2; -} - -void SpeedLimitDialog::updateSpinValue(const int value) -{ - m_ui->spinBandwidth->setValue(value); -} - -void SpeedLimitDialog::updateSliderValue(const int value) -{ - if (value > m_ui->bandwidthSlider->maximum()) - m_ui->bandwidthSlider->setMaximum(value); - m_ui->bandwidthSlider->setValue(value); -} - -int SpeedLimitDialog::getSpeedLimit() const -{ - return m_ui->spinBandwidth->value(); -} - -void SpeedLimitDialog::setupDialog(long maxSlider, long val) -{ - val = qMax(0, val); - - if (maxSlider <= 0) - maxSlider = 10000; - - // This can happen for example if global rate limit is lower - // than torrent rate limit. - if (val > maxSlider) - maxSlider = val; - - m_ui->bandwidthSlider->setMaximum(maxSlider); - m_ui->bandwidthSlider->setValue(val); - updateSpinValue(val); + QDialog::accept(); } diff --git a/src/gui/speedlimitdialog.h b/src/gui/speedlimitdialog.h index b83702e02..1c3d77676 100644 --- a/src/gui/speedlimitdialog.h +++ b/src/gui/speedlimitdialog.h @@ -35,22 +35,24 @@ namespace Ui class SpeedLimitDialog; } -class SpeedLimitDialog : public QDialog +class SpeedLimitDialog final : public QDialog { Q_OBJECT public: explicit SpeedLimitDialog(QWidget *parent); - ~SpeedLimitDialog(); - static long askSpeedLimit(QWidget *parent, bool *ok, const QString &title, long defaultVal, long maxVal = 10240000); + ~SpeedLimitDialog() override; -private slots: - void updateSpinValue(int val); - void updateSliderValue(int val); +public slots: + void accept() override; private: - void setupDialog(long maxSlider, long val); - int getSpeedLimit() const; - Ui::SpeedLimitDialog *m_ui; + struct + { + int uploadSpeedLimit; + int downloadSpeedLimit; + int altUploadSpeedLimit; + int altDownloadSpeedLimit; + } m_initialValues; }; diff --git a/src/gui/speedlimitdialog.ui b/src/gui/speedlimitdialog.ui index 959676cc7..ea680b6a2 100644 --- a/src/gui/speedlimitdialog.ui +++ b/src/gui/speedlimitdialog.ui @@ -6,34 +6,166 @@ 0 0 - 338 - 83 + 481 + 272 + + Global Speed Limits + - - - - - Qt::Horizontal - - - - - - - - - - KiB/s - - - 65535 - - - - + + + Speed limits + + + + + + + + + + + + + Upload: + + + + + + + Qt::Horizontal + + + + + + + + + + KiB/s + + + 2000000 + + + + + + + Download: + + + + + + + Qt::Horizontal + + + + + + + + + + KiB/s + + + 2000000 + + + + + + + + + + Alternative speed limits + + + + + + + + + + + + + Upload: + + + + + + + Qt::Horizontal + + + + + + + + + + KiB/s + + + 2000000 + + + + + + + Download: + + + + + + + Qt::Horizontal + + + + + + + + + + KiB/s + + + 2000000 + + + + + + + + + + Qt::Vertical + + + + 20 + 0 + + + diff --git a/src/gui/statusbar.cpp b/src/gui/statusbar.cpp index 2554608b4..c990cca89 100644 --- a/src/gui/statusbar.cpp +++ b/src/gui/statusbar.cpp @@ -71,7 +71,7 @@ StatusBar::StatusBar(QWidget *parent) m_dlSpeedLbl = new QPushButton(this); m_dlSpeedLbl->setIcon(UIThemeManager::instance()->getIcon(QLatin1String("downloading_small"))); - connect(m_dlSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capDownloadSpeed); + connect(m_dlSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capSpeed); m_dlSpeedLbl->setFlat(true); m_dlSpeedLbl->setFocusPolicy(Qt::NoFocus); m_dlSpeedLbl->setCursor(Qt::PointingHandCursor); @@ -80,7 +80,7 @@ StatusBar::StatusBar(QWidget *parent) m_upSpeedLbl = new QPushButton(this); m_upSpeedLbl->setIcon(UIThemeManager::instance()->getIcon(QLatin1String("seeding"))); - connect(m_upSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capUploadSpeed); + connect(m_upSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capSpeed); m_upSpeedLbl->setFlat(true); m_upSpeedLbl->setFocusPolicy(Qt::NoFocus); m_upSpeedLbl->setCursor(Qt::PointingHandCursor); @@ -251,32 +251,9 @@ void StatusBar::updateAltSpeedsBtn(bool alternative) refresh(); } -void StatusBar::capDownloadSpeed() +void StatusBar::capSpeed() { - BitTorrent::Session *const session = BitTorrent::Session::instance(); - - bool ok = false; - const long newLimit = SpeedLimitDialog::askSpeedLimit( - parentWidget(), &ok, tr("Global Download Speed Limit"), session->downloadSpeedLimit()); - if (ok) - { - qDebug("Setting global download rate limit to %.1fKb/s", newLimit / 1024.); - session->setDownloadSpeedLimit(newLimit); - refresh(); - } -} - -void StatusBar::capUploadSpeed() -{ - BitTorrent::Session *const session = BitTorrent::Session::instance(); - - bool ok = false; - const long newLimit = SpeedLimitDialog::askSpeedLimit( - parentWidget(), &ok, tr("Global Upload Speed Limit"), session->uploadSpeedLimit()); - if (ok) - { - qDebug("Setting global upload rate limit to %.1fKb/s", newLimit / 1024.); - session->setUploadSpeedLimit(newLimit); - refresh(); - } + auto dialog = new SpeedLimitDialog {parentWidget()}; + dialog->setAttribute(Qt::WA_DeleteOnClose); + dialog->open(); } diff --git a/src/gui/statusbar.h b/src/gui/statusbar.h index 2bcebd1c7..8961385f7 100644 --- a/src/gui/statusbar.h +++ b/src/gui/statusbar.h @@ -57,8 +57,7 @@ public slots: private slots: void refresh(); void updateAltSpeedsBtn(bool alternative); - void capDownloadSpeed(); - void capUploadSpeed(); + void capSpeed(); private: void updateConnectionStatus(); diff --git a/src/gui/transferlistwidget.cpp b/src/gui/transferlistwidget.cpp index 4e17233cb..908732d42 100644 --- a/src/gui/transferlistwidget.cpp +++ b/src/gui/transferlistwidget.cpp @@ -551,65 +551,47 @@ void TransferListWidget::previewSelectedTorrents() } } -void TransferListWidget::setDlLimitSelectedTorrents() +void TransferListWidget::setSpeedLimitsSelectedTorrents() { - QVector torrentsList; - for (BitTorrent::TorrentHandle *const torrent : asConst(getSelectedTorrents())) - { - if (torrent->isSeed()) - continue; - torrentsList += torrent; - } + const QVector torrentsList = getSelectedTorrents(); if (torrentsList.empty()) return; - int oldLimit = torrentsList.first()->downloadLimit(); - for (BitTorrent::TorrentHandle *const torrent : asConst(torrentsList)) + int oldUploadLimit = torrentsList.first()->uploadLimit(); + int oldDownloadLimit = torrentsList.first()->downloadLimit(); + + for (const BitTorrent::TorrentHandle *torrent : torrentsList) { - if (torrent->downloadLimit() != oldLimit) + if (torrent->uploadLimit() != oldUploadLimit) { - oldLimit = -1; + oldUploadLimit = -1; break; } } - bool ok = false; - const long newLimit = SpeedLimitDialog::askSpeedLimit( - this, &ok, tr("Torrent Download Speed Limiting"), oldLimit - , BitTorrent::Session::instance()->globalDownloadSpeedLimit()); - if (!ok) return; - - for (BitTorrent::TorrentHandle *const torrent : asConst(torrentsList)) + for (const BitTorrent::TorrentHandle *torrent : torrentsList) { - qDebug("Applying download speed limit of %ld Kb/s to torrent %s", (newLimit / 1024l), qUtf8Printable(torrent->hash())); - torrent->setDownloadLimit(newLimit); - } -} - -void TransferListWidget::setUpLimitSelectedTorrents() -{ - QVector torrentsList = getSelectedTorrents(); - if (torrentsList.empty()) return; - - int oldLimit = torrentsList.first()->uploadLimit(); - for (BitTorrent::TorrentHandle *const torrent : asConst(torrentsList)) - { - if (torrent->uploadLimit() != oldLimit) + if (torrent->downloadLimit() != oldDownloadLimit) { - oldLimit = -1; + oldDownloadLimit = -1; break; } } - bool ok = false; - const long newLimit = SpeedLimitDialog::askSpeedLimit( - this, &ok, tr("Torrent Upload Speed Limiting"), oldLimit - , BitTorrent::Session::instance()->globalUploadSpeedLimit()); + const BitTorrent::Session *session = BitTorrent::Session::instance(); + const bool isAltLimitEnabled = session->isAltGlobalSpeedLimitEnabled(); + OldSpeedLimits oldSpeedLimits = { + oldUploadLimit, + oldDownloadLimit, + isAltLimitEnabled ? session->altGlobalUploadSpeedLimit() : session->globalUploadSpeedLimit(), + isAltLimitEnabled ? session->altGlobalDownloadSpeedLimit() : session->globalDownloadSpeedLimit(), + }; + NewSpeedLimits newSpeedLimits; + const bool ok = SpeedLimitDialog::askNewSpeedLimits(this, oldSpeedLimits, newSpeedLimits); if (!ok) return; - for (BitTorrent::TorrentHandle *const torrent : asConst(torrentsList)) - { - qDebug("Applying upload speed limit of %ld Kb/s to torrent %s", (newLimit / 1024l), qUtf8Printable(torrent->hash())); - torrent->setUploadLimit(newLimit); + for (BitTorrent::TorrentHandle *const torrent : torrentsList) { + torrent->setUploadLimit(newSpeedLimits.uploadLimit); + torrent->setDownloadLimit(newSpeedLimits.downloadLimit); } } @@ -899,10 +881,8 @@ void TransferListWidget::displayListMenu(const QPoint &) connect(actionPreviewFile, &QAction::triggered, this, &TransferListWidget::previewSelectedTorrents); auto *actionSetMaxRatio = new QAction(UIThemeManager::instance()->getIcon(QLatin1String("ratio")), tr("Limit share ratio..."), listMenu); connect(actionSetMaxRatio, &QAction::triggered, this, &TransferListWidget::setMaxRatioSelectedTorrents); - auto *actionSetUploadLimit = new QAction(UIThemeManager::instance()->getIcon("kt-set-max-upload-speed"), tr("Limit upload rate..."), listMenu); - connect(actionSetUploadLimit, &QAction::triggered, this, &TransferListWidget::setUpLimitSelectedTorrents); - auto *actionSetDownloadLimit = new QAction(UIThemeManager::instance()->getIcon("kt-set-max-download-speed"), tr("Limit download rate..."), listMenu); - connect(actionSetDownloadLimit, &QAction::triggered, this, &TransferListWidget::setDlLimitSelectedTorrents); + auto *actionSetSpeedLimits = new QAction(UIThemeManager::instance()->getIcon("speedometer"), tr("Limit speed rates..."), listMenu); + connect(actionSetSpeedLimits, &QAction::triggered, this, &TransferListWidget::setSpeedLimitsSelectedTorrents); auto *actionOpenDestinationFolder = new QAction(UIThemeManager::instance()->getIcon("inode-directory"), tr("Open destination folder"), listMenu); connect(actionOpenDestinationFolder, &QAction::triggered, this, &TransferListWidget::openSelectedTorrentsFolder); auto *actionIncreaseQueuePos = new QAction(UIThemeManager::instance()->getIcon("go-up"), tr("Move up", "i.e. move up in the queue"), listMenu); @@ -1132,9 +1112,7 @@ void TransferListWidget::displayListMenu(const QPoint &) listMenu->addAction(actionAutoTMM); listMenu->addSeparator(); - if (oneNotSeed) - listMenu->addAction(actionSetDownloadLimit); - listMenu->addAction(actionSetUploadLimit); + listMenu->addAction(actionSetSpeedLimits); listMenu->addAction(actionSetMaxRatio); if (!oneNotSeed && oneHasMetadata) { diff --git a/src/gui/transferlistwidget.h b/src/gui/transferlistwidget.h index b809f50eb..e9ae74db3 100644 --- a/src/gui/transferlistwidget.h +++ b/src/gui/transferlistwidget.h @@ -79,8 +79,7 @@ public slots: void openSelectedTorrentsFolder() const; void recheckSelectedTorrents(); void reannounceSelectedTorrents(); - void setDlLimitSelectedTorrents(); - void setUpLimitSelectedTorrents(); + void setSpeedLimitsSelectedTorrents(); void setMaxRatioSelectedTorrents(); void previewSelectedTorrents(); void hideQueuePosColumn(bool hide);