diff --git a/src/Icons/oxygen/application-x-kgetlist-no.png b/src/Icons/oxygen/application-x-kgetlist-no.png
deleted file mode 100644
index 0db2ebd84..000000000
Binary files a/src/Icons/oxygen/application-x-kgetlist-no.png and /dev/null differ
diff --git a/src/Icons/oxygen/application-x-kgetlist.png b/src/Icons/oxygen/application-x-kgetlist.png
deleted file mode 100644
index 55c04aa98..000000000
Binary files a/src/Icons/oxygen/application-x-kgetlist.png and /dev/null differ
diff --git a/src/icons.qrc b/src/icons.qrc
index 939eecb01..6cadc6a6f 100644
--- a/src/icons.qrc
+++ b/src/icons.qrc
@@ -144,7 +144,6 @@
Icons/oxygen/encrypted.png
Icons/oxygen/edit_clear.png
Icons/oxygen/download.png
- Icons/oxygen/application-x-kgetlist-no.png
Icons/oxygen/gear.png
Icons/oxygen/remove.png
Icons/oxygen/dialog-warning.png
@@ -165,7 +164,6 @@
Icons/oxygen/help-about.png
Icons/oxygen/list-add.png
Icons/oxygen/network-server.png
- Icons/oxygen/application-x-kgetlist.png
Icons/oxygen/folder.png
Icons/oxygen/urlseed.png
Icons/oxygen/edit-cut.png
diff --git a/src/rss.cpp b/src/rss.cpp
index bc539a19b..9b2b6fd92 100644
--- a/src/rss.cpp
+++ b/src/rss.cpp
@@ -376,7 +376,6 @@ void RssManager::saveStreamList(){
/** RssStream **/
RssStream::RssStream(RssFolder* parent, RssManager *rssmanager, Bittorrent *BTSession, QString _url): parent(parent), rssmanager(rssmanager), BTSession(BTSession), alias(""), iconPath(":/Icons/rss16.png"), refreshed(false), downloadFailure(false), currently_loading(false) {
- has_attachments = false;
qDebug("RSSStream constructed");
QSettings qBTRSS("qBittorrent", "qBittorrent-rss");
url = QUrl(_url).toString();
@@ -388,8 +387,6 @@ RssStream::RssStream(RssFolder* parent, RssManager *rssmanager, Bittorrent *BTSe
RssItem *rss_item = RssItem::fromHash(this, item);
if(rss_item->isValid()) {
(*this)[rss_item->getTitle()] = rss_item;
- if(rss_item->has_attachment())
- has_attachments = true;
}
}
}
@@ -584,29 +581,31 @@ short RssStream::readDoc(const QDomDocument& doc) {
delete item;
item = this->value(title);
}
- if(item->has_attachment()) {
- has_attachments = true;
- // Check if the item should be automatically downloaded
- if(!already_exists || !(*this)[item->getTitle()]->isRead()) {
- FeedFilter * matching_filter = FeedFilters::getFeedFilters(url).matches(item->getTitle());
- if(matching_filter != 0) {
- // Download the torrent
- BTSession->addConsoleMessage(tr("Automatically downloading %1 torrent from %2 RSS feed...").arg(item->getTitle()).arg(getName()));
- if(matching_filter->isValid()) {
- QString save_path = matching_filter->getSavePath();
- if(save_path.isEmpty())
- BTSession->downloadUrlAndSkipDialog(item->getTorrentUrl());
- else
- BTSession->downloadUrlAndSkipDialog(item->getTorrentUrl(), save_path);
- } else {
- // All torrents are downloaded from this feed
- BTSession->downloadUrlAndSkipDialog(item->getTorrentUrl());
- }
- // Item was downloaded, consider it as Read
- (*this)[item->getTitle()]->setRead();
- // Clean up
- delete matching_filter;
+ QString torrent_url;
+ if(item->has_attachment())
+ torrent_url = item->getTorrentUrl();
+ else
+ torrent_url = item->getLink();
+ // Check if the item should be automatically downloaded
+ if(!already_exists || !(*this)[item->getTitle()]->isRead()) {
+ FeedFilter * matching_filter = FeedFilters::getFeedFilters(url).matches(item->getTitle());
+ if(matching_filter != 0) {
+ // Download the torrent
+ BTSession->addConsoleMessage(tr("Automatically downloading %1 torrent from %2 RSS feed...").arg(item->getTitle()).arg(getName()));
+ if(matching_filter->isValid()) {
+ QString save_path = matching_filter->getSavePath();
+ if(save_path.isEmpty())
+ BTSession->downloadUrlAndSkipDialog(torrent_url);
+ else
+ BTSession->downloadUrlAndSkipDialog(torrent_url, save_path);
+ } else {
+ // All torrents are downloaded from this feed
+ BTSession->downloadUrlAndSkipDialog(torrent_url);
}
+ // Item was downloaded, consider it as Read
+ (*this)[item->getTitle()]->setRead();
+ // Clean up
+ delete matching_filter;
}
}
diff --git a/src/rss.h b/src/rss.h
index 2d68dff9f..9cf1167d5 100644
--- a/src/rss.h
+++ b/src/rss.h
@@ -394,7 +394,6 @@ private:
bool refreshed;
bool downloadFailure;
bool currently_loading;
- bool has_attachments;
public slots:
void processDownloadedFile(QString file_path);
@@ -430,7 +429,6 @@ public:
QList getNewsList() const;
QList getUnreadNewsList() const;
QString getIconUrl();
- bool hasAttachments() const { return has_attachments; }
private:
short readDoc(const QDomDocument& doc);
diff --git a/src/rss_imp.cpp b/src/rss_imp.cpp
index 3c77edcc7..c74420032 100644
--- a/src/rss_imp.cpp
+++ b/src/rss_imp.cpp
@@ -71,10 +71,8 @@ void RSSImp::displayRSSListMenu(const QPoint& pos){
myRSSListMenu.addSeparator();
myRSSListMenu.addAction(actionCopy_feed_URL);
if(selectedItems.size() == 1) {
- if(((RssStream*)listStreams->getRSSItem(selectedItems.first()))->hasAttachments()) {
- myRSSListMenu.addSeparator();
- myRSSListMenu.addAction(actionRSS_feed_downloader);
- }
+ myRSSListMenu.addSeparator();
+ myRSSListMenu.addAction(actionRSS_feed_downloader);
}
}
}else{
@@ -293,9 +291,7 @@ void RSSImp::downloadTorrent() {
if(article->has_attachment()) {
BTSession->downloadFromUrl(article->getTorrentUrl());
} else {
- QString link = article->getLink();
- if(!link.isEmpty())
- QDesktopServices::openUrl(QUrl(link));
+ BTSession->downloadFromUrl(article->getLink());
}
}
}
@@ -444,10 +440,6 @@ void RSSImp::refreshNewsList(QTreeWidgetItem* item) {
foreach(RssItem* article, news){
QTreeWidgetItem* it = new QTreeWidgetItem(listNews);
it->setText(NEWS_TITLE_COL, article->getTitle());
- if(article->has_attachment())
- it->setData(NEWS_TITLE_COL, Qt::DecorationRole, QVariant(QIcon(":/Icons/oxygen/application-x-kgetlist.png")));
- else
- it->setData(NEWS_TITLE_COL, Qt::DecorationRole, QVariant(QIcon(":/Icons/oxygen/application-x-kgetlist-no.png")));
it->setText(NEWS_URL_COL, article->getParent()->getUrl());
if(article->isRead()){
it->setData(NEWS_TITLE_COL, Qt::ForegroundRole, QVariant(QColor("grey")));