mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-09 14:27:56 +00:00
- When downloading a torrent from its URL in Web UI, the torrent addition dialog was not skipped and displayed on server side.
* Regression introduced in a recent release candidate
This commit is contained in:
parent
bce575ee68
commit
3ec118d59b
@ -198,11 +198,12 @@ void Bittorrent::setUploadLimit(QString hash, long val) {
|
||||
void Bittorrent::handleDownloadFailure(QString url, QString reason) {
|
||||
emit downloadFromUrlFailure(url, reason);
|
||||
// Clean up
|
||||
int index = url_skippingDlg.indexOf(url);
|
||||
QUrl qurl = QUrl::fromEncoded(url.toLocal8Bit());
|
||||
int index = url_skippingDlg.indexOf(qurl);
|
||||
if(index >= 0)
|
||||
url_skippingDlg.removeAt(index);
|
||||
if(savepath_fromurl.contains(url))
|
||||
savepath_fromurl.remove(url);
|
||||
if(savepath_fromurl.contains(qurl))
|
||||
savepath_fromurl.remove(qurl);
|
||||
}
|
||||
|
||||
void Bittorrent::startTorrentsInPause(bool b) {
|
||||
@ -842,9 +843,9 @@ QTorrentHandle Bittorrent::addTorrent(QString path, bool fromScanDir, QString fr
|
||||
}
|
||||
}
|
||||
QString savePath;
|
||||
if(!from_url.isEmpty() && savepath_fromurl.contains(from_url)) {
|
||||
if(!from_url.isEmpty() && savepath_fromurl.contains(QUrl::fromEncoded(from_url.toLocal8Bit()))) {
|
||||
// Enforcing the save path defined before URL download (from RSS for example)
|
||||
savePath = savepath_fromurl.take(from_url);
|
||||
savePath = savepath_fromurl.take(QUrl::fromEncoded(from_url.toLocal8Bit()));
|
||||
} else {
|
||||
savePath = getSavePath(hash);
|
||||
}
|
||||
@ -1702,16 +1703,17 @@ void Bittorrent::addMagnetSkipAddDlg(QString uri) {
|
||||
|
||||
void Bittorrent::downloadUrlAndSkipDialog(QString url, QString save_path) {
|
||||
//emit aboutToDownloadFromUrl(url);
|
||||
QUrl qurl = QUrl::fromEncoded(url.toLocal8Bit());
|
||||
if(!save_path.isEmpty())
|
||||
savepath_fromurl[url] = save_path;
|
||||
url_skippingDlg << url;
|
||||
savepath_fromurl[qurl] = save_path;
|
||||
url_skippingDlg << qurl;
|
||||
// Launch downloader thread
|
||||
downloader->downloadUrl(url);
|
||||
}
|
||||
|
||||
// Add to Bittorrent session the downloaded torrent file
|
||||
void Bittorrent::processDownloadedFile(QString url, QString file_path) {
|
||||
int index = url_skippingDlg.indexOf(url);
|
||||
int index = url_skippingDlg.indexOf(QUrl::fromEncoded(url.toLocal8Bit()));
|
||||
if(index < 0) {
|
||||
// Add file to torrent download list
|
||||
emit newDownloadedTorrent(file_path, url);
|
||||
|
@ -31,6 +31,8 @@
|
||||
#define __BITTORRENT_H__
|
||||
|
||||
#include <QHash>
|
||||
#include <QMap>
|
||||
#include <QUrl>
|
||||
#include <QStringList>
|
||||
#include <QApplication>
|
||||
#include <QPalette>
|
||||
@ -86,7 +88,7 @@ private:
|
||||
// Bittorrent
|
||||
session *s;
|
||||
QPointer<QTimer> timerAlerts;
|
||||
QHash<QString, QString> savepath_fromurl;
|
||||
QMap<QUrl, QString> savepath_fromurl;
|
||||
QHash<QString, QHash<QString, TrackerInfos> > trackersInfos;
|
||||
// Ratio
|
||||
QPointer<QTimer> BigRatioTimer;
|
||||
@ -119,7 +121,7 @@ private:
|
||||
QString filterPath;
|
||||
// Web UI
|
||||
QPointer<HttpServer> httpServer;
|
||||
QStringList url_skippingDlg;
|
||||
QList<QUrl> url_skippingDlg;
|
||||
// Fast exit (async)
|
||||
bool exiting;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user