Revamp "Automated RSS downloader" dialog

This commit is contained in:
Vladimir Golovnev (Glassez)
2023-04-11 12:17:48 +03:00
parent 0a87bb368f
commit 905f141657
9 changed files with 464 additions and 618 deletions

View File

@@ -1,6 +1,6 @@
/*
* Bittorrent Client using Qt and libtorrent.
* Copyright (C) 2017 Vladimir Golovnev <glassez@yandex.ru>
* Copyright (C) 2017, 2023 Vladimir Golovnev <glassez@yandex.ru>
* Copyright (C) 2010 Christophe Dumez <chris@qbittorrent.org>
*
* This program is free software; you can redistribute it and/or
@@ -51,6 +51,8 @@ namespace Ui
class AutomatedRssDownloader;
}
class AddTorrentParamsWidget;
class AutomatedRssDownloader : public QDialog
{
Q_OBJECT
@@ -61,13 +63,11 @@ public:
~AutomatedRssDownloader() override;
private slots:
void on_addRuleBtn_clicked();
void on_removeRuleBtn_clicked();
void on_addCategoryBtn_clicked();
void on_exportBtn_clicked();
void on_importBtn_clicked();
void on_renameRuleBtn_clicked();
void onAddRuleBtnClicked();
void onRemoveRuleBtnClicked();
void onExportBtnClicked();
void onImportBtnClicked();
void onRenameRuleBtnClicked();
void handleRuleCheckStateChange(QListWidgetItem *ruleItem);
void handleFeedCheckStateChange(QListWidgetItem *feedItem);
void displayRulesListMenu();
@@ -90,7 +90,6 @@ private:
void loadSettings();
void saveSettings();
void createRuleItem(const RSS::AutoDownloadRule &rule);
void initCategoryCombobox();
void clearRuleDefinitionBox();
void updateEditedRule();
void updateMatchingArticles();
@@ -103,6 +102,7 @@ private:
const QString m_formatFilterLegacy;
Ui::AutomatedRssDownloader *m_ui = nullptr;
AddTorrentParamsWidget *m_addTorrentParamsWidget = nullptr;
QListWidgetItem *m_currentRuleItem = nullptr;
QSet<std::pair<QString, QString>> m_treeListEntries;
RSS::AutoDownloadRule m_currentRule;
@@ -110,5 +110,6 @@ private:
QRegularExpression *m_episodeRegex = nullptr;
SettingValue<QSize> m_storeDialogSize;
SettingValue<QByteArray> m_storeHSplitterSize;
SettingValue<QByteArray> m_storeMainSplitterState;
SettingValue<QByteArray> m_storeRuleDefSplitterState;
};