From 56ca80eb78fc0d52cf8bfe6e945bd93be1d53507 Mon Sep 17 00:00:00 2001 From: sledgehammer999 Date: Thu, 31 Dec 2015 22:31:19 +0200 Subject: [PATCH] Support loading multiple magnets/hashes/urls per .magnet file in the watched folder(one per line). Closes #217. --- src/base/scanfoldersmodel.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/base/scanfoldersmodel.cpp b/src/base/scanfoldersmodel.cpp index 784077741..310e21eca 100644 --- a/src/base/scanfoldersmodel.cpp +++ b/src/base/scanfoldersmodel.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include "utils/misc.h" #include "utils/fs.h" @@ -321,9 +322,13 @@ void ScanFoldersModel::addTorrentsToSession(const QStringList &pathList) if (file.endsWith(".magnet")) { QFile f(file); - if (f.open(QIODevice::ReadOnly)) { - BitTorrent::Session::instance()->addTorrent(QString::fromLocal8Bit(f.readAll()), params); - f.remove(); + if (f.open(QIODevice::ReadOnly | QIODevice::Text)) { + QTextStream str(&f); + while (!str.atEnd()) + BitTorrent::Session::instance()->addTorrent(str.readLine(), params); + + f.close(); + Utils::Fs::forceRemove(file); } else { qDebug("Failed to open magnet file: %s", qPrintable(f.errorString()));