Bugfix RSS feed list and rules editor. Closes #3782, #6281.

--HG--
branch : magao-dev
This commit is contained in:
Tim Delaney
2017-01-22 15:36:27 +11:00
parent e4d9e9f63f
commit f96eb587ff
4 changed files with 237 additions and 88 deletions

View File

@@ -32,8 +32,13 @@
#define AUTOMATEDRSSDOWNLOADER_H
#include <QDialog>
#include <QHideEvent>
#include <QPair>
#include <QRegExpValidator>
#include <QSet>
#include <QShortcut>
#include <QShowEvent>
#include <QString>
#include <QWeakPointer>
#include "base/rss/rssdownloadrule.h"
@@ -64,17 +69,21 @@ public:
~AutomatedRssDownloader();
bool isRssDownloaderEnabled() const;
protected:
virtual void showEvent(QShowEvent *event) override;
virtual void hideEvent(QHideEvent *event) override;
protected slots:
void loadSettings();
void saveSettings();
void loadRulesList();
void handleRuleCheckStateChange(QListWidgetItem *rule_item);
void handleFeedCheckStateChange(QListWidgetItem *feed_item);
void updateRuleDefinitionBox();
void updateRuleDefinitionBox(QListWidgetItem *selected = 0);
void clearRuleDefinitionBox();
void saveEditedRule();
void loadFeedList();
void updateFeedList();
void updateFeedList(QListWidgetItem *selected = 0);
private slots:
void displayRulesListMenu(const QPoint &pos);
@@ -95,6 +104,8 @@ private:
Rss::DownloadRulePtr getCurrentRule() const;
void initCategoryCombobox();
void addFeedArticlesToTree(const Rss::FeedPtr &feed, const QStringList &articles);
void disconnectRuleFeedSlots();
void connectRuleFeedSlots();
private:
Ui::AutomatedRssDownloader *ui;
@@ -105,6 +116,7 @@ private:
QRegExp *m_episodeRegex;
QShortcut *editHotkey;
QShortcut *deleteHotkey;
QSet<QPair<QString, QString >> m_treeListEntries;
};
#endif // AUTOMATEDRSSDOWNLOADER_H