mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-22 16:37:21 -06:00
Move base RSS names to Rss namespace.
This commit is contained in:
committed by
Vladimir Golovnev (qlassez)
parent
67758cb092
commit
6f7ae728eb
@@ -45,7 +45,7 @@
|
||||
#include "base/utils/fs.h"
|
||||
#include "base/utils/string.h"
|
||||
|
||||
AutomatedRssDownloader::AutomatedRssDownloader(const QWeakPointer<RssManager>& manager, QWidget *parent) :
|
||||
AutomatedRssDownloader::AutomatedRssDownloader(const QWeakPointer<Rss::Manager>& manager, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::AutomatedRssDownloader),
|
||||
m_manager(manager), m_editedRule(0)
|
||||
@@ -68,7 +68,7 @@ AutomatedRssDownloader::AutomatedRssDownloader(const QWeakPointer<RssManager>& m
|
||||
ok = connect(ui->listRules, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayRulesListMenu(const QPoint&)));
|
||||
Q_ASSERT(ok);
|
||||
m_ruleList = manager.toStrongRef()->downloadRules();
|
||||
m_editableRuleList = new RssDownloadRuleList; // Read rule list from disk
|
||||
m_editableRuleList = new Rss::DownloadRuleList; // Read rule list from disk
|
||||
m_episodeValidator = new QRegExpValidator(
|
||||
QRegExp("^(^[1-9]{1,1}\\d{0,3}x([1-9]{1,1}\\d{0,3}(-([1-9]{1,1}\\d{0,3})?)?;){1,}){1,1}",
|
||||
Qt::CaseInsensitive),
|
||||
@@ -199,7 +199,7 @@ void AutomatedRssDownloader::updateFeedList()
|
||||
const QString feed_url = item->data(Qt::UserRole).toString();
|
||||
bool all_enabled = false;
|
||||
foreach (const QListWidgetItem *ruleItem, ui->listRules->selectedItems()) {
|
||||
RssDownloadRulePtr rule = m_editableRuleList->getRule(ruleItem->text());
|
||||
Rss::DownloadRulePtr rule = m_editableRuleList->getRule(ruleItem->text());
|
||||
if (!rule) continue;
|
||||
qDebug() << "Rule" << rule->name() << "affects" << rule->rssFeeds().size() << "feeds.";
|
||||
foreach (QString test, rule->rssFeeds()) {
|
||||
@@ -238,7 +238,7 @@ void AutomatedRssDownloader::updateRuleDefinitionBox()
|
||||
const QList<QListWidgetItem*> selection = ui->listRules->selectedItems();
|
||||
if (selection.count() == 1) {
|
||||
m_editedRule = selection.first();
|
||||
RssDownloadRulePtr rule = getCurrentRule();
|
||||
Rss::DownloadRulePtr rule = getCurrentRule();
|
||||
if (rule) {
|
||||
ui->lineContains->setText(rule->mustContain());
|
||||
ui->lineNotContains->setText(rule->mustNotContain());
|
||||
@@ -300,12 +300,12 @@ void AutomatedRssDownloader::clearRuleDefinitionBox()
|
||||
updateMustNotLineValidity();
|
||||
}
|
||||
|
||||
RssDownloadRulePtr AutomatedRssDownloader::getCurrentRule() const
|
||||
Rss::DownloadRulePtr AutomatedRssDownloader::getCurrentRule() const
|
||||
{
|
||||
QListWidgetItem * current_item = ui->listRules->currentItem();
|
||||
if (current_item)
|
||||
return m_editableRuleList->getRule(current_item->text());
|
||||
return RssDownloadRulePtr();
|
||||
return Rss::DownloadRulePtr();
|
||||
}
|
||||
|
||||
void AutomatedRssDownloader::initLabelCombobox()
|
||||
@@ -326,9 +326,9 @@ void AutomatedRssDownloader::saveEditedRule()
|
||||
qDebug() << "Probably removed the item, no need to save it";
|
||||
return;
|
||||
}
|
||||
RssDownloadRulePtr rule = m_editableRuleList->getRule(m_editedRule->text());
|
||||
Rss::DownloadRulePtr rule = m_editableRuleList->getRule(m_editedRule->text());
|
||||
if (!rule) {
|
||||
rule = RssDownloadRulePtr(new RssDownloadRule);
|
||||
rule = Rss::DownloadRulePtr(new Rss::DownloadRule);
|
||||
rule->setName(m_editedRule->text());
|
||||
}
|
||||
if (m_editedRule->checkState() == Qt::Unchecked)
|
||||
@@ -344,7 +344,7 @@ void AutomatedRssDownloader::saveEditedRule()
|
||||
else
|
||||
rule->setSavePath("");
|
||||
rule->setLabel(ui->comboLabel->currentText());
|
||||
rule->setAddPaused(RssDownloadRule::AddPausedState(ui->comboAddPaused->currentIndex()));
|
||||
rule->setAddPaused(Rss::DownloadRule::AddPausedState(ui->comboAddPaused->currentIndex()));
|
||||
// Save new label
|
||||
if (!rule->label().isEmpty())
|
||||
Preferences::instance()->addTorrentLabelExternal(rule->label());
|
||||
@@ -498,7 +498,7 @@ void AutomatedRssDownloader::handleFeedCheckStateChange(QListWidgetItem *feed_it
|
||||
}
|
||||
const QString feed_url = feed_item->data(Qt::UserRole).toString();
|
||||
foreach (QListWidgetItem* rule_item, ui->listRules->selectedItems()) {
|
||||
RssDownloadRulePtr rule = m_editableRuleList->getRule(rule_item->text());
|
||||
Rss::DownloadRulePtr rule = m_editableRuleList->getRule(rule_item->text());
|
||||
Q_ASSERT(rule);
|
||||
QStringList affected_feeds = rule->rssFeeds();
|
||||
if (feed_item->checkState() == Qt::Checked) {
|
||||
@@ -521,19 +521,19 @@ void AutomatedRssDownloader::handleFeedCheckStateChange(QListWidgetItem *feed_it
|
||||
void AutomatedRssDownloader::updateMatchingArticles()
|
||||
{
|
||||
ui->treeMatchingArticles->clear();
|
||||
RssManagerPtr manager = m_manager.toStrongRef();
|
||||
Rss::ManagerPtr manager = m_manager.toStrongRef();
|
||||
if (!manager)
|
||||
return;
|
||||
const QHash<QString, RssFeedPtr> all_feeds = manager->getAllFeedsAsHash();
|
||||
const QHash<QString, Rss::FeedPtr> all_feeds = manager->getAllFeedsAsHash();
|
||||
|
||||
saveEditedRule();
|
||||
foreach (const QListWidgetItem *rule_item, ui->listRules->selectedItems()) {
|
||||
RssDownloadRulePtr rule = m_editableRuleList->getRule(rule_item->text());
|
||||
Rss::DownloadRulePtr rule = m_editableRuleList->getRule(rule_item->text());
|
||||
if (!rule) continue;
|
||||
foreach (const QString &feed_url, rule->rssFeeds()) {
|
||||
qDebug() << Q_FUNC_INFO << feed_url;
|
||||
if (!all_feeds.contains(feed_url)) continue; // Feed was removed
|
||||
RssFeedPtr feed = all_feeds.value(feed_url);
|
||||
Rss::FeedPtr feed = all_feeds.value(feed_url);
|
||||
Q_ASSERT(feed);
|
||||
if (!feed) continue;
|
||||
const QStringList matching_articles = rule->findMatchingArticles(feed);
|
||||
@@ -543,7 +543,7 @@ void AutomatedRssDownloader::updateMatchingArticles()
|
||||
}
|
||||
}
|
||||
|
||||
void AutomatedRssDownloader::addFeedArticlesToTree(const RssFeedPtr& feed, const QStringList &articles)
|
||||
void AutomatedRssDownloader::addFeedArticlesToTree(const Rss::FeedPtr& feed, const QStringList &articles)
|
||||
{
|
||||
// Check if this feed is already in the tree
|
||||
QTreeWidgetItem *treeFeedItem = 0;
|
||||
|
||||
@@ -44,8 +44,11 @@ class AutomatedRssDownloader;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class RssDownloadRuleList;
|
||||
class RssManager;
|
||||
namespace Rss
|
||||
{
|
||||
class DownloadRuleList;
|
||||
class Manager;
|
||||
}
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QListWidgetItem;
|
||||
@@ -56,7 +59,7 @@ class AutomatedRssDownloader : public QDialog
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AutomatedRssDownloader(const QWeakPointer<RssManager>& manager, QWidget *parent = 0);
|
||||
explicit AutomatedRssDownloader(const QWeakPointer<Rss::Manager>& manager, QWidget *parent = 0);
|
||||
~AutomatedRssDownloader();
|
||||
bool isRssDownloaderEnabled() const;
|
||||
|
||||
@@ -86,16 +89,16 @@ private slots:
|
||||
void onFinished(int result);
|
||||
|
||||
private:
|
||||
RssDownloadRulePtr getCurrentRule() const;
|
||||
Rss::DownloadRulePtr getCurrentRule() const;
|
||||
void initLabelCombobox();
|
||||
void addFeedArticlesToTree(const RssFeedPtr& feed, const QStringList& articles);
|
||||
void addFeedArticlesToTree(const Rss::FeedPtr& feed, const QStringList& articles);
|
||||
|
||||
private:
|
||||
Ui::AutomatedRssDownloader *ui;
|
||||
QWeakPointer<RssManager> m_manager;
|
||||
QWeakPointer<Rss::Manager> m_manager;
|
||||
QListWidgetItem* m_editedRule;
|
||||
RssDownloadRuleList *m_ruleList;
|
||||
RssDownloadRuleList *m_editableRuleList;
|
||||
Rss::DownloadRuleList *m_ruleList;
|
||||
Rss::DownloadRuleList *m_editableRuleList;
|
||||
QRegExpValidator *m_episodeValidator;
|
||||
QShortcut *editHotkey;
|
||||
QShortcut *deleteHotkey;
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "guiiconprovider.h"
|
||||
#include "feedlistwidget.h"
|
||||
|
||||
FeedListWidget::FeedListWidget(QWidget *parent, const RssManagerPtr& rssmanager): QTreeWidget(parent), m_rssManager(rssmanager) {
|
||||
FeedListWidget::FeedListWidget(QWidget *parent, const Rss::ManagerPtr& rssmanager): QTreeWidget(parent), m_rssManager(rssmanager) {
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
setDragDropMode(QAbstractItemView::InternalMove);
|
||||
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
@@ -51,20 +51,20 @@ FeedListWidget::~FeedListWidget() {
|
||||
delete m_unreadStickyItem;
|
||||
}
|
||||
|
||||
void FeedListWidget::itemAdded(QTreeWidgetItem *item, const RssFilePtr& file) {
|
||||
void FeedListWidget::itemAdded(QTreeWidgetItem *item, const Rss::FilePtr& file) {
|
||||
m_rssMapping[item] = file;
|
||||
if (RssFeedPtr feed = qSharedPointerDynamicCast<RssFeed>(file)) {
|
||||
if (Rss::FeedPtr feed = qSharedPointerDynamicCast<Rss::Feed>(file)) {
|
||||
m_feedsItems[feed->id()] = item;
|
||||
}
|
||||
}
|
||||
|
||||
void FeedListWidget::itemAboutToBeRemoved(QTreeWidgetItem *item) {
|
||||
RssFilePtr file = m_rssMapping.take(item);
|
||||
if (RssFeedPtr feed = qSharedPointerDynamicCast<RssFeed>(file)) {
|
||||
Rss::FilePtr file = m_rssMapping.take(item);
|
||||
if (Rss::FeedPtr feed = qSharedPointerDynamicCast<Rss::Feed>(file)) {
|
||||
m_feedsItems.remove(feed->id());
|
||||
} if (RssFolderPtr folder = qSharedPointerDynamicCast<RssFolder>(file)) {
|
||||
RssFeedList feeds = folder->getAllFeeds();
|
||||
foreach (const RssFeedPtr& feed, feeds) {
|
||||
} if (Rss::FolderPtr folder = qSharedPointerDynamicCast<Rss::Folder>(file)) {
|
||||
Rss::FeedList feeds = folder->getAllFeeds();
|
||||
foreach (const Rss::FeedPtr& feed, feeds) {
|
||||
m_feedsItems.remove(feed->id());
|
||||
}
|
||||
}
|
||||
@@ -131,18 +131,18 @@ QList<QTreeWidgetItem*> FeedListWidget::getAllFeedItems(QTreeWidgetItem* folder)
|
||||
return feeds;
|
||||
}
|
||||
|
||||
RssFilePtr FeedListWidget::getRSSItem(QTreeWidgetItem *item) const {
|
||||
return m_rssMapping.value(item, RssFilePtr());
|
||||
Rss::FilePtr FeedListWidget::getRSSItem(QTreeWidgetItem *item) const {
|
||||
return m_rssMapping.value(item, Rss::FilePtr());
|
||||
}
|
||||
|
||||
bool FeedListWidget::isFeed(QTreeWidgetItem *item) const
|
||||
{
|
||||
return (qSharedPointerDynamicCast<RssFeed>(m_rssMapping.value(item)) != NULL);
|
||||
return (qSharedPointerDynamicCast<Rss::Feed>(m_rssMapping.value(item)) != NULL);
|
||||
}
|
||||
|
||||
bool FeedListWidget::isFolder(QTreeWidgetItem *item) const
|
||||
{
|
||||
return (qSharedPointerDynamicCast<RssFolder>(m_rssMapping.value(item)) != NULL);
|
||||
return (qSharedPointerDynamicCast<Rss::Folder>(m_rssMapping.value(item)) != NULL);
|
||||
}
|
||||
|
||||
QString FeedListWidget::getItemID(QTreeWidgetItem *item) const {
|
||||
@@ -153,8 +153,8 @@ QTreeWidgetItem* FeedListWidget::getTreeItemFromUrl(const QString &url) const {
|
||||
return m_feedsItems.value(url, 0);
|
||||
}
|
||||
|
||||
RssFeedPtr FeedListWidget::getRSSItemFromUrl(const QString &url) const {
|
||||
return qSharedPointerDynamicCast<RssFeed>(getRSSItem(getTreeItemFromUrl(url)));
|
||||
Rss::FeedPtr FeedListWidget::getRSSItemFromUrl(const QString &url) const {
|
||||
return qSharedPointerDynamicCast<Rss::Feed>(getRSSItem(getTreeItemFromUrl(url)));
|
||||
}
|
||||
|
||||
QTreeWidgetItem* FeedListWidget::currentItem() const {
|
||||
@@ -197,9 +197,9 @@ void FeedListWidget::dropEvent(QDropEvent *event) {
|
||||
qDebug("dropEvent");
|
||||
QList<QTreeWidgetItem*> folders_altered;
|
||||
QTreeWidgetItem *dest_folder_item = itemAt(event->pos());
|
||||
RssFolderPtr dest_folder;
|
||||
Rss::FolderPtr dest_folder;
|
||||
if (dest_folder_item) {
|
||||
dest_folder = qSharedPointerCast<RssFolder>(getRSSItem(dest_folder_item));
|
||||
dest_folder = qSharedPointerCast<Rss::Folder>(getRSSItem(dest_folder_item));
|
||||
folders_altered << dest_folder_item;
|
||||
} else {
|
||||
dest_folder = m_rssManager;
|
||||
@@ -207,7 +207,7 @@ void FeedListWidget::dropEvent(QDropEvent *event) {
|
||||
QList<QTreeWidgetItem *> src_items = selectedItems();
|
||||
// Check if there is not going to overwrite another file
|
||||
foreach (QTreeWidgetItem *src_item, src_items) {
|
||||
RssFilePtr file = getRSSItem(src_item);
|
||||
Rss::FilePtr file = getRSSItem(src_item);
|
||||
if (dest_folder->hasChild(file->id())) {
|
||||
QTreeWidget::dropEvent(event);
|
||||
return;
|
||||
@@ -219,7 +219,7 @@ void FeedListWidget::dropEvent(QDropEvent *event) {
|
||||
if (parent_folder && !folders_altered.contains(parent_folder))
|
||||
folders_altered << parent_folder;
|
||||
// Actually move the file
|
||||
RssFilePtr file = getRSSItem(src_item);
|
||||
Rss::FilePtr file = getRSSItem(src_item);
|
||||
m_rssManager->moveFile(file, dest_folder);
|
||||
}
|
||||
QTreeWidget::dropEvent(event);
|
||||
|
||||
@@ -47,7 +47,7 @@ class FeedListWidget: public QTreeWidget {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
FeedListWidget(QWidget *parent, const RssManagerPtr& rssManager);
|
||||
FeedListWidget(QWidget *parent, const Rss::ManagerPtr& rssManager);
|
||||
~FeedListWidget();
|
||||
|
||||
bool hasFeed(const QString &url) const;
|
||||
@@ -56,17 +56,17 @@ public:
|
||||
QStringList getItemPath(QTreeWidgetItem* item) const;
|
||||
QList<QTreeWidgetItem*> getAllOpenFolders(QTreeWidgetItem *parent=0) const;
|
||||
QList<QTreeWidgetItem*> getAllFeedItems(QTreeWidgetItem* folder);
|
||||
RssFilePtr getRSSItem(QTreeWidgetItem *item) const;
|
||||
Rss::FilePtr getRSSItem(QTreeWidgetItem *item) const;
|
||||
bool isFeed(QTreeWidgetItem *item) const;
|
||||
bool isFolder(QTreeWidgetItem *item) const;
|
||||
QString getItemID(QTreeWidgetItem *item) const;
|
||||
QTreeWidgetItem* getTreeItemFromUrl(const QString &url) const;
|
||||
RssFeedPtr getRSSItemFromUrl(const QString &url) const;
|
||||
Rss::FeedPtr getRSSItemFromUrl(const QString &url) const;
|
||||
QTreeWidgetItem* currentItem() const;
|
||||
QTreeWidgetItem* currentFeed() const;
|
||||
|
||||
public slots:
|
||||
void itemAdded(QTreeWidgetItem *item, const RssFilePtr& file);
|
||||
void itemAdded(QTreeWidgetItem *item, const Rss::FilePtr& file);
|
||||
void itemAboutToBeRemoved(QTreeWidgetItem *item);
|
||||
|
||||
signals:
|
||||
@@ -80,8 +80,8 @@ protected:
|
||||
void dropEvent(QDropEvent *event);
|
||||
|
||||
private:
|
||||
RssManagerPtr m_rssManager;
|
||||
QHash<QTreeWidgetItem*, RssFilePtr> m_rssMapping;
|
||||
Rss::ManagerPtr m_rssManager;
|
||||
QHash<QTreeWidgetItem*, Rss::FilePtr> m_rssMapping;
|
||||
QHash<QString, QTreeWidgetItem*> m_feedsItems;
|
||||
QTreeWidgetItem* m_currentFeed;
|
||||
QTreeWidgetItem *m_unreadStickyItem;
|
||||
|
||||
@@ -119,9 +119,9 @@ void RSSImp::displayItemsListMenu(const QPoint&)
|
||||
bool hasLink = false;
|
||||
foreach (const QListWidgetItem* item, selectedItems) {
|
||||
if (!item) continue;
|
||||
RssFeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
Rss::FeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
if (!feed) continue;
|
||||
RssArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
Rss::ArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
if (!article) continue;
|
||||
|
||||
if (!article->torrentUrl().isEmpty())
|
||||
@@ -160,10 +160,10 @@ void RSSImp::on_actionManage_cookies_triggered()
|
||||
void RSSImp::askNewFolder()
|
||||
{
|
||||
QTreeWidgetItem* parent_item = 0;
|
||||
RssFolderPtr rss_parent;
|
||||
Rss::FolderPtr rss_parent;
|
||||
if (m_feedList->selectedItems().size() > 0) {
|
||||
parent_item = m_feedList->selectedItems().at(0);
|
||||
rss_parent = qSharedPointerDynamicCast<RssFolder>(m_feedList->getRSSItem(parent_item));
|
||||
rss_parent = qSharedPointerDynamicCast<Rss::Folder>(m_feedList->getRSSItem(parent_item));
|
||||
Q_ASSERT(rss_parent);
|
||||
}
|
||||
else {
|
||||
@@ -174,7 +174,7 @@ void RSSImp::askNewFolder()
|
||||
if (!ok)
|
||||
return;
|
||||
|
||||
RssFolderPtr newFolder = rss_parent->addFolder(new_name);
|
||||
Rss::FolderPtr newFolder = rss_parent->addFolder(new_name);
|
||||
QTreeWidgetItem* folderItem = createFolderListItem(newFolder);
|
||||
if (parent_item)
|
||||
parent_item->addChild(folderItem);
|
||||
@@ -203,9 +203,9 @@ void RSSImp::on_newFeedButton_clicked()
|
||||
if (!m_feedList->isFolder(parent_item))
|
||||
parent_item = parent_item->parent();
|
||||
}
|
||||
RssFolderPtr rss_parent;
|
||||
Rss::FolderPtr rss_parent;
|
||||
if (parent_item)
|
||||
rss_parent = qSharedPointerCast<RssFolder>(m_feedList->getRSSItem(parent_item));
|
||||
rss_parent = qSharedPointerCast<Rss::Folder>(m_feedList->getRSSItem(parent_item));
|
||||
else
|
||||
rss_parent = m_rssManager;
|
||||
// Ask for feed URL
|
||||
@@ -229,7 +229,7 @@ void RSSImp::on_newFeedButton_clicked()
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
}
|
||||
RssFeedPtr stream = rss_parent->addStream(m_rssManager.data(), newUrl);
|
||||
Rss::FeedPtr stream = rss_parent->addStream(m_rssManager.data(), newUrl);
|
||||
// Create TreeWidget item
|
||||
QTreeWidgetItem* item = createFolderListItem(stream);
|
||||
if (parent_item)
|
||||
@@ -260,7 +260,7 @@ void RSSImp::deleteSelectedItems()
|
||||
foreach (QTreeWidgetItem* item, selectedItems) {
|
||||
if (item == m_feedList->stickyUnreadItem())
|
||||
continue;
|
||||
RssFilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
Rss::FilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
QTreeWidgetItem* parent = item->parent();
|
||||
// Notify TreeWidget
|
||||
m_feedList->itemAboutToBeRemoved(item);
|
||||
@@ -273,7 +273,7 @@ void RSSImp::deleteSelectedItems()
|
||||
parent = parent->parent();
|
||||
}
|
||||
// Clear feed data from RSS parser (possible caching).
|
||||
RssFeed* rssFeed = dynamic_cast<RssFeed*>(rss_item.data());
|
||||
Rss::Feed* rssFeed = dynamic_cast<Rss::Feed*>(rss_item.data());
|
||||
if (rssFeed)
|
||||
m_rssManager->rssParser()->clearFeedData(rssFeed->url());
|
||||
}
|
||||
@@ -341,9 +341,9 @@ void RSSImp::downloadSelectedTorrents()
|
||||
return;
|
||||
foreach (QListWidgetItem* item, selected_items) {
|
||||
if (!item) continue;
|
||||
RssFeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
Rss::FeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
if (!feed) continue;
|
||||
RssArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
Rss::ArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
if (!article) continue;
|
||||
|
||||
// Mark as read
|
||||
@@ -371,9 +371,9 @@ void RSSImp::openSelectedArticlesUrls()
|
||||
return;
|
||||
foreach (QListWidgetItem* item, selected_items) {
|
||||
if (!item) continue;
|
||||
RssFeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
Rss::FeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
if (!feed) continue;
|
||||
RssArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
Rss::ArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
if (!article) continue;
|
||||
|
||||
// Mark as read
|
||||
@@ -399,7 +399,7 @@ void RSSImp::renameSelectedRssFile()
|
||||
QTreeWidgetItem* item = selectedItems.first();
|
||||
if (item == m_feedList->stickyUnreadItem())
|
||||
return;
|
||||
RssFilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
Rss::FilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
bool ok;
|
||||
QString newName;
|
||||
do {
|
||||
@@ -426,7 +426,7 @@ void RSSImp::refreshSelectedItems()
|
||||
{
|
||||
QList<QTreeWidgetItem*> selectedItems = m_feedList->selectedItems();
|
||||
foreach (QTreeWidgetItem* item, selectedItems) {
|
||||
RssFilePtr file = m_feedList->getRSSItem(item);
|
||||
Rss::FilePtr file = m_feedList->getRSSItem(item);
|
||||
// Update icons
|
||||
if (item == m_feedList->stickyUnreadItem()) {
|
||||
refreshAllFeeds();
|
||||
@@ -436,10 +436,10 @@ void RSSImp::refreshSelectedItems()
|
||||
if (!file->refresh())
|
||||
continue;
|
||||
// Update UI
|
||||
if (qSharedPointerDynamicCast<RssFeed>(file)) {
|
||||
if (qSharedPointerDynamicCast<Rss::Feed>(file)) {
|
||||
item->setData(0, Qt::DecorationRole, QVariant(QIcon(":/icons/loading.png")));
|
||||
}
|
||||
else if (qSharedPointerDynamicCast<RssFolder>(file)) {
|
||||
else if (qSharedPointerDynamicCast<Rss::Folder>(file)) {
|
||||
// Update feeds in the folder
|
||||
foreach (QTreeWidgetItem *feed, m_feedList->getAllFeedItems(item))
|
||||
feed->setData(0, Qt::DecorationRole, QVariant(QIcon(":/icons/loading.png")));
|
||||
@@ -463,7 +463,7 @@ void RSSImp::on_markReadButton_clicked()
|
||||
{
|
||||
QList<QTreeWidgetItem*> selectedItems = m_feedList->selectedItems();
|
||||
foreach (QTreeWidgetItem* item, selectedItems) {
|
||||
RssFilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
Rss::FilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
Q_ASSERT(rss_item);
|
||||
rss_item->markAsRead();
|
||||
updateItemInfos(item);
|
||||
@@ -473,7 +473,7 @@ void RSSImp::on_markReadButton_clicked()
|
||||
populateArticleList(m_feedList->currentItem());
|
||||
}
|
||||
|
||||
QTreeWidgetItem* RSSImp::createFolderListItem(const RssFilePtr& rssFile)
|
||||
QTreeWidgetItem* RSSImp::createFolderListItem(const Rss::FilePtr& rssFile)
|
||||
{
|
||||
Q_ASSERT(rssFile);
|
||||
QTreeWidgetItem* item = new QTreeWidgetItem;
|
||||
@@ -483,14 +483,14 @@ QTreeWidgetItem* RSSImp::createFolderListItem(const RssFilePtr& rssFile)
|
||||
return item;
|
||||
}
|
||||
|
||||
void RSSImp::fillFeedsList(QTreeWidgetItem* parent, const RssFolderPtr& rss_parent)
|
||||
void RSSImp::fillFeedsList(QTreeWidgetItem* parent, const Rss::FolderPtr& rss_parent)
|
||||
{
|
||||
QList<RssFilePtr> children;
|
||||
QList<Rss::FilePtr> children;
|
||||
if (parent)
|
||||
children = rss_parent->getContent();
|
||||
else
|
||||
children = m_rssManager->getContent();
|
||||
foreach (const RssFilePtr& rssFile, children) {
|
||||
foreach (const Rss::FilePtr& rssFile, children) {
|
||||
QTreeWidgetItem* item = createFolderListItem(rssFile);
|
||||
Q_ASSERT(item);
|
||||
if (parent)
|
||||
@@ -502,12 +502,12 @@ void RSSImp::fillFeedsList(QTreeWidgetItem* parent, const RssFolderPtr& rss_pare
|
||||
m_feedList->itemAdded(item, rssFile);
|
||||
|
||||
// Recursive call if this is a folder.
|
||||
if (RssFolderPtr folder = qSharedPointerDynamicCast<RssFolder>(rssFile))
|
||||
if (Rss::FolderPtr folder = qSharedPointerDynamicCast<Rss::Folder>(rssFile))
|
||||
fillFeedsList(item, folder);
|
||||
}
|
||||
}
|
||||
|
||||
QListWidgetItem* RSSImp::createArticleListItem(const RssArticlePtr& article)
|
||||
QListWidgetItem* RSSImp::createArticleListItem(const Rss::ArticlePtr& article)
|
||||
{
|
||||
Q_ASSERT(article);
|
||||
QListWidgetItem* item = new QListWidgetItem;
|
||||
@@ -535,7 +535,7 @@ void RSSImp::populateArticleList(QTreeWidgetItem* item)
|
||||
return;
|
||||
}
|
||||
|
||||
RssFilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
Rss::FilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
if (!rss_item)
|
||||
return;
|
||||
|
||||
@@ -545,14 +545,14 @@ void RSSImp::populateArticleList(QTreeWidgetItem* item)
|
||||
listArticles->clear();
|
||||
|
||||
qDebug("Getting the list of news");
|
||||
RssArticleList articles;
|
||||
Rss::ArticleList articles;
|
||||
if (rss_item == m_rssManager)
|
||||
articles = rss_item->unreadArticleListByDateDesc();
|
||||
else
|
||||
articles = rss_item->articleListByDateDesc();
|
||||
|
||||
qDebug("Got the list of news");
|
||||
foreach (const RssArticlePtr& article, articles) {
|
||||
foreach (const Rss::ArticlePtr& article, articles) {
|
||||
QListWidgetItem* articleItem = createArticleListItem(article);
|
||||
listArticles->addItem(articleItem);
|
||||
}
|
||||
@@ -569,9 +569,9 @@ void RSSImp::refreshTextBrowser()
|
||||
if (item == m_currentArticle) return;
|
||||
m_currentArticle = item;
|
||||
|
||||
RssFeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
Rss::FeedPtr feed = m_feedList->getRSSItemFromUrl(item->data(Article::FeedUrlRole).toString());
|
||||
if (!feed) return;
|
||||
RssArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
Rss::ArticlePtr article = feed->getItem(item->data(Article::IdRole).toString());
|
||||
if (!article) return;
|
||||
QString html;
|
||||
html += "<div style='border: 2px solid red; margin-left: 5px; margin-right: 5px; margin-bottom: 5px;'>";
|
||||
@@ -650,7 +650,7 @@ void RSSImp::updateItemsInfos(const QList<QTreeWidgetItem*>& items)
|
||||
|
||||
void RSSImp::updateItemInfos(QTreeWidgetItem *item)
|
||||
{
|
||||
RssFilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
Rss::FilePtr rss_item = m_feedList->getRSSItem(item);
|
||||
if (!rss_item)
|
||||
return;
|
||||
|
||||
@@ -677,7 +677,7 @@ void RSSImp::updateFeedInfos(const QString& url, const QString& display_name, ui
|
||||
{
|
||||
qDebug() << Q_FUNC_INFO << display_name;
|
||||
QTreeWidgetItem *item = m_feedList->getTreeItemFromUrl(url);
|
||||
RssFeedPtr stream = qSharedPointerCast<RssFeed>(m_feedList->getRSSItem(item));
|
||||
Rss::FeedPtr stream = qSharedPointerCast<Rss::Feed>(m_feedList->getRSSItem(item));
|
||||
item->setText(0, display_name + QString::fromUtf8(" (") + QString::number(nbUnread) + QString(")"));
|
||||
if (!stream->isLoading())
|
||||
item->setData(0, Qt::DecorationRole, QIcon(stream->iconPath()));
|
||||
@@ -707,7 +707,7 @@ void RSSImp::updateRefreshInterval(uint val)
|
||||
|
||||
RSSImp::RSSImp(QWidget *parent):
|
||||
QWidget(parent),
|
||||
m_rssManager(new RssManager)
|
||||
m_rssManager(new Rss::Manager)
|
||||
{
|
||||
setupUi(this);
|
||||
// Icons
|
||||
|
||||
@@ -78,7 +78,7 @@ private slots:
|
||||
void updateItemInfos(QTreeWidgetItem *item);
|
||||
void openSelectedArticlesUrls();
|
||||
void downloadSelectedTorrents();
|
||||
void fillFeedsList(QTreeWidgetItem *parent = 0, const RssFolderPtr& rss_parent = RssFolderPtr());
|
||||
void fillFeedsList(QTreeWidgetItem *parent = 0, const Rss::FolderPtr& rss_parent = Rss::FolderPtr());
|
||||
void saveSlidersPosition();
|
||||
void restoreSlidersPosition();
|
||||
void askNewFolder();
|
||||
@@ -89,11 +89,11 @@ private slots:
|
||||
void on_rssDownloaderBtn_clicked();
|
||||
|
||||
private:
|
||||
static QListWidgetItem* createArticleListItem(const RssArticlePtr& article);
|
||||
static QTreeWidgetItem* createFolderListItem(const RssFilePtr& rssFile);
|
||||
static QListWidgetItem* createArticleListItem(const Rss::ArticlePtr& article);
|
||||
static QTreeWidgetItem* createFolderListItem(const Rss::FilePtr& rssFile);
|
||||
|
||||
private:
|
||||
RssManagerPtr m_rssManager;
|
||||
Rss::ManagerPtr m_rssManager;
|
||||
FeedListWidget *m_feedList;
|
||||
QListWidgetItem* m_currentArticle;
|
||||
QShortcut *editHotkey;
|
||||
|
||||
Reference in New Issue
Block a user