Browse Source

Move Utils::Misc::isUrl() function

All usage of this function gets to call Net::DownloadManager eventually.
adaptive-webui-19844
Chocobo1 6 years ago
parent
commit
2b903fc3d1
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 2
      src/base/bittorrent/session.cpp
  2. 11
      src/base/net/downloadmanager.cpp
  3. 2
      src/base/net/downloadmanager.h
  4. 3
      src/base/search/searchpluginmanager.cpp
  5. 8
      src/base/utils/misc.cpp
  6. 1
      src/base/utils/misc.h
  7. 2
      src/gui/addnewtorrentdialog.cpp
  8. 3
      src/gui/mainwindow.cpp
  9. 3
      src/gui/rss/rsswidget.cpp
  10. 3
      src/gui/search/pluginselectdialog.cpp

2
src/base/bittorrent/session.cpp

@ -2094,7 +2094,7 @@ bool Session::addTorrent(const QString &source, const AddTorrentParams &params) @@ -2094,7 +2094,7 @@ bool Session::addTorrent(const QString &source, const AddTorrentParams &params)
{
// `source`: .torrent file path/url or magnet uri
if (Utils::Misc::isUrl(source)) {
if (Net::DownloadManager::hasSupportedScheme(source)) {
LogMsg(tr("Downloading '%1', please wait...", "e.g: Downloading 'xxx.torrent', please wait...").arg(source));
// Launch downloader
Net::DownloadHandler *handler =

11
src/base/net/downloadmanager.cpp

@ -29,6 +29,8 @@ @@ -29,6 +29,8 @@
#include "downloadmanager.h"
#include <algorithm>
#include <QDateTime>
#include <QDebug>
#include <QNetworkCookie>
@ -210,6 +212,15 @@ bool Net::DownloadManager::deleteCookie(const QNetworkCookie &cookie) @@ -210,6 +212,15 @@ bool Net::DownloadManager::deleteCookie(const QNetworkCookie &cookie)
return static_cast<NetworkCookieJar *>(m_networkManager.cookieJar())->deleteCookie(cookie);
}
bool Net::DownloadManager::hasSupportedScheme(const QString &url)
{
const QStringList schemes = instance()->m_networkManager.supportedSchemes();
return std::any_of(schemes.cbegin(), schemes.cend(), [&url](const QString &scheme)
{
return url.startsWith((scheme + QLatin1Char(':')), Qt::CaseInsensitive);
});
}
void Net::DownloadManager::applyProxySettings()
{
auto proxyManager = ProxyConfigurationManager::instance();

2
src/base/net/downloadmanager.h

@ -103,6 +103,8 @@ namespace Net @@ -103,6 +103,8 @@ namespace Net
void setAllCookies(const QList<QNetworkCookie> &cookieList);
bool deleteCookie(const QNetworkCookie &cookie);
static bool hasSupportedScheme(const QString &url);
private slots:
#ifndef QT_NO_OPENSSL
void ignoreSslErrors(QNetworkReply *, const QList<QSslError> &);

3
src/base/search/searchpluginmanager.cpp

@ -50,7 +50,6 @@ @@ -50,7 +50,6 @@
#include "base/utils/bytearray.h"
#include "base/utils/foreignapps.h"
#include "base/utils/fs.h"
#include "base/utils/misc.h"
#include "searchdownloadhandler.h"
#include "searchhandler.h"
@ -198,7 +197,7 @@ void SearchPluginManager::installPlugin(const QString &source) @@ -198,7 +197,7 @@ void SearchPluginManager::installPlugin(const QString &source)
{
clearPythonCache(engineLocation());
if (Utils::Misc::isUrl(source)) {
if (Net::DownloadManager::hasSupportedScheme(source)) {
using namespace Net;
DownloadHandler *handler = DownloadManager::instance()->download(DownloadRequest(source).saveToFile(true));
connect(handler, static_cast<void (DownloadHandler::*)(const QString &, const QString &)>(&DownloadHandler::downloadFinished)

8
src/base/utils/misc.cpp

@ -414,14 +414,6 @@ QList<bool> Utils::Misc::boolListfromStringList(const QStringList &l) @@ -414,14 +414,6 @@ QList<bool> Utils::Misc::boolListfromStringList(const QStringList &l)
return ret;
}
bool Utils::Misc::isUrl(const QString &s)
{
static const QRegularExpression reURLScheme(
"http[s]?|ftp", QRegularExpression::CaseInsensitiveOption);
return reURLScheme.match(QUrl(s).scheme()).hasMatch();
}
QString Utils::Misc::parseHtmlLinks(const QString &rawText)
{
QString result = rawText;

1
src/base/utils/misc.h

@ -71,7 +71,6 @@ namespace Utils @@ -71,7 +71,6 @@ namespace Utils
};
QString parseHtmlLinks(const QString &rawText);
bool isUrl(const QString &s);
void shutdownComputer(const ShutdownDialogAction &action);

2
src/gui/addnewtorrentdialog.cpp

@ -231,7 +231,7 @@ void AddNewTorrentDialog::show(const QString &source, const BitTorrent::AddTorre @@ -231,7 +231,7 @@ void AddNewTorrentDialog::show(const QString &source, const BitTorrent::AddTorre
{
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(

3
src/gui/mainwindow.cpp

@ -60,6 +60,7 @@ @@ -60,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"
@ -1295,7 +1296,7 @@ void MainWindow::dropEvent(QDropEvent *event) @@ -1295,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

3
src/gui/rss/rsswidget.cpp

@ -48,7 +48,6 @@ @@ -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() @@ -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(

3
src/gui/search/pluginselectdialog.cpp

@ -43,7 +43,6 @@ @@ -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() @@ -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"),

Loading…
Cancel
Save