Browse Source

Fix RSS items not being marked read when the item is a magnet link.

adaptive-webui-19844
Nick Tiskov 11 years ago
parent
commit
1341b7ea78
  1. 1
      src/qtlibtorrent/qbtsession.cpp
  2. 7
      src/rss/rssfeed.cpp

1
src/qtlibtorrent/qbtsession.cpp

@ -2744,6 +2744,7 @@ void QBtSession::addMagnetSkipAddDlg(const QString& uri, const QString& save_pat
if (!save_path.isEmpty() || !label.isEmpty()) if (!save_path.isEmpty() || !label.isEmpty())
savepathLabel_fromurl[uri] = qMakePair(save_path, label); savepathLabel_fromurl[uri] = qMakePair(save_path, label);
addMagnetUri(uri, false); addMagnetUri(uri, false);
emit newDownloadedTorrentFromRss(uri);
} }
void QBtSession::downloadUrlAndSkipDialog(QString url, QString save_path, QString label, const QList<QNetworkCookie>& cookies) { void QBtSession::downloadUrlAndSkipDialog(QString url, QString save_path, QString label, const QList<QNetworkCookie>& cookies) {

7
src/rss/rssfeed.cpp

@ -355,13 +355,12 @@ void RssFeed::downloadArticleTorrentIfMatching(RssDownloadRuleList* rules, const
// Download the torrent // Download the torrent
const QString& torrent_url = article->torrentUrl(); const QString& torrent_url = article->torrentUrl();
QBtSession::instance()->addConsoleMessage(tr("Automatically downloading %1 torrent from %2 RSS feed...").arg(article->title()).arg(displayName())); QBtSession::instance()->addConsoleMessage(tr("Automatically downloading %1 torrent from %2 RSS feed...").arg(article->title()).arg(displayName()));
connect(QBtSession::instance(), SIGNAL(newDownloadedTorrentFromRss(QString)), article.data(), SLOT(handleTorrentDownloadSuccess(const QString&)), Qt::UniqueConnection);
connect(article.data(), SIGNAL(articleWasRead()), SLOT(handleArticleStateChanged()), Qt::UniqueConnection);
if (torrent_url.startsWith("magnet:", Qt::CaseInsensitive)) if (torrent_url.startsWith("magnet:", Qt::CaseInsensitive))
QBtSession::instance()->addMagnetSkipAddDlg(torrent_url, matching_rule->savePath(), matching_rule->label()); QBtSession::instance()->addMagnetSkipAddDlg(torrent_url, matching_rule->savePath(), matching_rule->label());
else { else
connect(QBtSession::instance(), SIGNAL(newDownloadedTorrentFromRss(QString)), article.data(), SLOT(handleTorrentDownloadSuccess(const QString&)), Qt::UniqueConnection);
connect(article.data(), SIGNAL(articleWasRead()), SLOT(handleArticleStateChanged()), Qt::UniqueConnection);
QBtSession::instance()->downloadUrlAndSkipDialog(torrent_url, matching_rule->savePath(), matching_rule->label(), feedCookies()); QBtSession::instance()->downloadUrlAndSkipDialog(torrent_url, matching_rule->savePath(), matching_rule->label(), feedCookies());
}
} }
void RssFeed::recheckRssItemsForDownload() void RssFeed::recheckRssItemsForDownload()

Loading…
Cancel
Save