Address PR comments.

This commit is contained in:
Stiliyan Tonev (Bark) 2025-03-31 14:07:01 +03:00
commit c194b4512d
5 changed files with 23 additions and 25 deletions

View file

@ -104,10 +104,10 @@ namespace Net
QString url; QString url;
DownloadStatus status = DownloadStatus::Failed; DownloadStatus status = DownloadStatus::Failed;
QString errorString; QString errorString;
QString contentType;
QByteArray data; QByteArray data;
Path filePath; Path filePath;
QString magnetURI; QString magnetURI;
QString contentType;
}; };
class DownloadHandler : public QObject class DownloadHandler : public QObject

View file

@ -53,7 +53,6 @@
#include "base/bittorrent/sharelimitaction.h" #include "base/bittorrent/sharelimitaction.h"
#include "base/exceptions.h" #include "base/exceptions.h"
#include "base/global.h" #include "base/global.h"
#include "base/net/downloadmanager.h"
#include "base/net/portforwarder.h" #include "base/net/portforwarder.h"
#include "base/net/proxyconfigurationmanager.h" #include "base/net/proxyconfigurationmanager.h"
#include "base/path.h" #include "base/path.h"
@ -1233,21 +1232,21 @@ void OptionsDialog::saveBittorrentTabOptions() const
session->setAddTrackersEnabled(m_ui->checkEnableAddTrackers->isChecked()); session->setAddTrackersEnabled(m_ui->checkEnableAddTrackers->isChecked());
session->setAdditionalTrackers(m_ui->textTrackers->toPlainText()); session->setAdditionalTrackers(m_ui->textTrackers->toPlainText());
auto enabledAddTrackers = m_ui->checkAddTrackersFromURL->isChecked(); const bool isAddTrackersEnabled = m_ui->checkAddTrackersFromURL->isChecked();
auto url = m_ui->textTrackersURL->text(); const QString url = m_ui->textTrackersURL->text();
if (!url.isEmpty() && enabledAddTrackers) if (isAddTrackersEnabled && !url.isEmpty())
{ {
Net::DownloadManager::instance()->download(url, Preferences::instance()->useProxyForGeneralPurposes() Net::DownloadManager::instance()->download(url, Preferences::instance()->useProxyForGeneralPurposes()
, this, &OptionsDialog::onAddTrackersDownload); , this, &OptionsDialog::onAdditionalTrackersDownload);
} }
else else
{ {
session->setAddTrackersFromURLEnabled(enabledAddTrackers); session->setAddTrackersFromURLEnabled(isAddTrackersEnabled);
session->setAdditionalTrackersURL(url); session->setAdditionalTrackersURL(url);
} }
} }
void OptionsDialog::onAddTrackersDownload(const Net::DownloadResult &result) void OptionsDialog::onAdditionalTrackersDownload(const Net::DownloadResult &result)
{ {
if (result.status != Net::DownloadStatus::Success) if (result.status != Net::DownloadStatus::Success)
{ {
@ -1267,8 +1266,6 @@ void OptionsDialog::onAddTrackersDownload(const Net::DownloadResult &result)
session->setAddTrackersFromURLEnabled(m_ui->checkAddTrackersFromURL->isChecked()); session->setAddTrackersFromURLEnabled(m_ui->checkAddTrackersFromURL->isChecked());
session->setAdditionalTrackersURL(m_ui->textTrackersURL->text()); session->setAdditionalTrackersURL(m_ui->textTrackersURL->text());
return;
} }
void OptionsDialog::loadRSSTabOptions() void OptionsDialog::loadRSSTabOptions()

View file

@ -31,10 +31,10 @@
#include <QDialog> #include <QDialog>
#include "base/net/downloadmanager.h"
#include "base/pathfwd.h" #include "base/pathfwd.h"
#include "base/settingvalue.h" #include "base/settingvalue.h"
#include "guiapplicationcomponent.h" #include "guiapplicationcomponent.h"
#include "base/net/downloadmanager.h"
class QListWidgetItem; class QListWidgetItem;
@ -138,6 +138,8 @@ private:
void loadRSSTabOptions(); void loadRSSTabOptions();
void saveRSSTabOptions() const; void saveRSSTabOptions() const;
void onAdditionalTrackersDownload(const Net::DownloadResult &result);
void loadSearchTabOptions(); void loadSearchTabOptions();
void saveSearchTabOptions() const; void saveSearchTabOptions() const;

View file

@ -74,31 +74,31 @@ TrackersAdditionDialog::~TrackersAdditionDialog()
delete m_ui; delete m_ui;
} }
int TrackersAdditionDialog::isValidEndpoint(const QStringView &endpoint) const bool isValidEndpoint(const QStringView endpoint)
{ {
if (endpoint.isEmpty()) if (endpoint.isEmpty())
return 0; return false;
QUrl url(endpoint.toString()); const QUrl url {endpoint.toString()};
if (!url.isValid()) if (!url.isValid())
return 0; return false;
if (url.scheme().isEmpty()) if (url.scheme().isEmpty())
return 0; return false;
if (url.host().isEmpty()) if (url.host().isEmpty())
return 0; return false;
return 1; return true;
} }
void TrackersAdditionDialog::onAccepted() const void TrackersAdditionDialog::onAccepted()
{ {
const QList<BitTorrent::TrackerEntryStatus> currentTrackers = m_torrent->trackers(); const QList<BitTorrent::TrackerEntryStatus> currentTrackers = m_torrent->trackers();
const int baseTier = !currentTrackers.isEmpty() ? (currentTrackers.last().tier + 1) : 0; const int baseTier = !currentTrackers.isEmpty() ? (currentTrackers.last().tier + 1) : 0;
QList<BitTorrent::TrackerEntry> entries = BitTorrent::parseTrackerEntries(m_ui->textEditTrackersList->toPlainText()); QList<BitTorrent::TrackerEntry> entries = BitTorrent::parseTrackerEntries(m_ui->textEditTrackersList->toPlainText());
for (BitTorrent::TrackerEntry &entry : entries) { for (BitTorrent::TrackerEntry &entry : entries)
auto isValid = isValidEndpoint(entry.url); {
if (!isValid) if (!isValidEndpoint(entry.url))
{ {
QMessageBox::warning(const_cast<TrackersAdditionDialog *>(this), tr("Invalid tracker URL"), tr("The tracker URL \"%1\" is invalid").arg(entry.url)); QMessageBox::warning(this, tr("Invalid tracker URL"), tr("The tracker URL \"%1\" is invalid").arg(entry.url));
return; return;
} }
entry.tier = Utils::Number::clampingAdd(entry.tier, baseTier); entry.tier = Utils::Number::clampingAdd(entry.tier, baseTier);

View file

@ -58,14 +58,13 @@ public:
~TrackersAdditionDialog(); ~TrackersAdditionDialog();
private slots: private slots:
void onAccepted() const; void onAccepted();
void onDownloadButtonClicked(); void onDownloadButtonClicked();
void onTorrentListDownloadFinished(const Net::DownloadResult &result); void onTorrentListDownloadFinished(const Net::DownloadResult &result);
private: private:
void saveSettings(); void saveSettings();
void loadSettings(); void loadSettings();
int isValidEndpoint(const QStringView &endpoint) const;
Ui::TrackersAdditionDialog *m_ui = nullptr; Ui::TrackersAdditionDialog *m_ui = nullptr;
BitTorrent::Torrent *const m_torrent = nullptr; BitTorrent::Torrent *const m_torrent = nullptr;