mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-22 16:37:21 -06:00
Merge pull request #10074 from Chocobo1/magneturi
Drop support for "BC Link" format
This commit is contained in:
@@ -227,11 +227,11 @@ void AddNewTorrentDialog::saveState()
|
||||
settings()->storeValue(KEY_EXPANDED, m_ui->toolButtonAdvanced->isChecked());
|
||||
}
|
||||
|
||||
void AddNewTorrentDialog::show(QString source, const BitTorrent::AddTorrentParams &inParams, QWidget *parent)
|
||||
void AddNewTorrentDialog::show(const QString &source, const BitTorrent::AddTorrentParams &inParams, QWidget *parent)
|
||||
{
|
||||
AddNewTorrentDialog *dlg = new AddNewTorrentDialog(inParams, parent);
|
||||
|
||||
if (Utils::Misc::isUrl(source)) {
|
||||
if (Net::DownloadManager::hasSupportedScheme(source)) {
|
||||
// Launch downloader
|
||||
// TODO: Don't save loaded torrent to file, just use downloaded data!
|
||||
Net::DownloadHandler *handler = Net::DownloadManager::instance()->download(
|
||||
@@ -240,27 +240,27 @@ void AddNewTorrentDialog::show(QString source, const BitTorrent::AddTorrentParam
|
||||
, dlg, &AddNewTorrentDialog::handleDownloadFinished);
|
||||
connect(handler, &Net::DownloadHandler::downloadFailed, dlg, &AddNewTorrentDialog::handleDownloadFailed);
|
||||
connect(handler, &Net::DownloadHandler::redirectedToMagnet, dlg, &AddNewTorrentDialog::handleRedirectedToMagnet);
|
||||
return;
|
||||
}
|
||||
|
||||
const BitTorrent::MagnetUri magnetUri(source);
|
||||
const bool isLoaded = magnetUri.isValid()
|
||||
? dlg->loadMagnet(magnetUri)
|
||||
: dlg->loadTorrent(source);
|
||||
|
||||
if (isLoaded) {
|
||||
#ifdef Q_OS_MAC
|
||||
dlg->exec();
|
||||
#else
|
||||
dlg->open();
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
bool ok = false;
|
||||
BitTorrent::MagnetUri magnetUri(source);
|
||||
if (magnetUri.isValid())
|
||||
ok = dlg->loadMagnet(magnetUri);
|
||||
else
|
||||
ok = dlg->loadTorrent(source);
|
||||
|
||||
if (ok)
|
||||
#ifdef Q_OS_MAC
|
||||
dlg->exec();
|
||||
#else
|
||||
dlg->open();
|
||||
#endif
|
||||
else
|
||||
delete dlg;
|
||||
delete dlg;
|
||||
}
|
||||
}
|
||||
|
||||
void AddNewTorrentDialog::show(QString source, QWidget *parent)
|
||||
void AddNewTorrentDialog::show(const QString &source, QWidget *parent)
|
||||
{
|
||||
show(source, BitTorrent::AddTorrentParams(), parent);
|
||||
}
|
||||
|
||||
@@ -68,8 +68,8 @@ public:
|
||||
static int savePathHistoryLength();
|
||||
static void setSavePathHistoryLength(int value);
|
||||
|
||||
static void show(QString source, const BitTorrent::AddTorrentParams &inParams, QWidget *parent);
|
||||
static void show(QString source, QWidget *parent);
|
||||
static void show(const QString &source, const BitTorrent::AddTorrentParams &inParams, QWidget *parent);
|
||||
static void show(const QString &source, QWidget *parent);
|
||||
|
||||
private slots:
|
||||
void showAdvancedSettings(bool show);
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#include <QMimeData>
|
||||
#include <QProcess>
|
||||
#include <QPushButton>
|
||||
#include <QRegularExpression>
|
||||
#include <QScrollBar>
|
||||
#include <QShortcut>
|
||||
#include <QSplitter>
|
||||
@@ -61,6 +60,7 @@
|
||||
#include "base/bittorrent/torrenthandle.h"
|
||||
#include "base/global.h"
|
||||
#include "base/logger.h"
|
||||
#include "base/net/downloadmanager.h"
|
||||
#include "base/preferences.h"
|
||||
#include "base/rss/rss_folder.h"
|
||||
#include "base/rss/rss_session.h"
|
||||
@@ -1296,7 +1296,7 @@ void MainWindow::dropEvent(QDropEvent *event)
|
||||
for (const QString &file : asConst(files)) {
|
||||
const bool isTorrentLink = (file.startsWith("magnet:", Qt::CaseInsensitive)
|
||||
|| file.endsWith(C_TORRENT_FILE_EXTENSION, Qt::CaseInsensitive)
|
||||
|| Utils::Misc::isUrl(file));
|
||||
|| Net::DownloadManager::hasSupportedScheme(file));
|
||||
if (isTorrentLink)
|
||||
torrentFiles << file;
|
||||
else
|
||||
@@ -1628,11 +1628,7 @@ void MainWindow::showNotificationBaloon(QString title, QString msg) const
|
||||
void MainWindow::downloadFromURLList(const QStringList &urlList)
|
||||
{
|
||||
const bool useTorrentAdditionDialog = AddNewTorrentDialog::isEnabled();
|
||||
for (QString url : urlList) {
|
||||
if (((url.size() == 40) && !url.contains(QRegularExpression("[^0-9A-Fa-f]")))
|
||||
|| ((url.size() == 32) && !url.contains(QRegularExpression("[^2-7A-Za-z]"))))
|
||||
url = "magnet:?xt=urn:btih:" + url;
|
||||
|
||||
for (const QString &url : urlList) {
|
||||
if (useTorrentAdditionDialog)
|
||||
AddNewTorrentDialog::show(url, this);
|
||||
else
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
#include "base/rss/rss_feed.h"
|
||||
#include "base/rss/rss_folder.h"
|
||||
#include "base/rss/rss_session.h"
|
||||
#include "base/utils/misc.h"
|
||||
#include "addnewtorrentdialog.h"
|
||||
#include "articlelistwidget.h"
|
||||
#include "autoexpandabledialog.h"
|
||||
@@ -249,7 +248,7 @@ void RSSWidget::on_newFeedButton_clicked()
|
||||
{
|
||||
// Ask for feed URL
|
||||
const QString clipText = qApp->clipboard()->text();
|
||||
const QString defaultURL = (Utils::Misc::isUrl(clipText) ? clipText : "http://");
|
||||
const QString defaultURL = Net::DownloadManager::hasSupportedScheme(clipText) ? clipText : "http://";
|
||||
|
||||
bool ok;
|
||||
QString newURL = AutoExpandableDialog::getText(
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
#include "base/net/downloadhandler.h"
|
||||
#include "base/net/downloadmanager.h"
|
||||
#include "base/utils/fs.h"
|
||||
#include "base/utils/misc.h"
|
||||
#include "autoexpandabledialog.h"
|
||||
#include "guiiconprovider.h"
|
||||
#include "pluginsourcedialog.h"
|
||||
@@ -337,7 +336,7 @@ void PluginSelectDialog::askForPluginUrl()
|
||||
bool ok = false;
|
||||
QString clipTxt = qApp->clipboard()->text();
|
||||
QString defaultUrl = "http://";
|
||||
if (Utils::Misc::isUrl(clipTxt) && clipTxt.endsWith(".py"))
|
||||
if (Net::DownloadManager::hasSupportedScheme(clipTxt) && clipTxt.endsWith(".py"))
|
||||
defaultUrl = clipTxt;
|
||||
QString url = AutoExpandableDialog::getText(
|
||||
this, tr("New search engine plugin URL"),
|
||||
|
||||
Reference in New Issue
Block a user