34 #include <QSharedDataPointer>
41 class QRegularExpression;
45 struct AutoDownloadRuleData;
89 bool matches(
const QVariantHash &articleData)
const;
90 bool accepts(
const QVariantHash &articleData);
107 bool matchesExpression(
const QString &articleTitle,
const QString &expression)
const;
108 QRegularExpression
cachedRegex(
const QString &expression,
bool isRegex =
true)
const;
void setTorrentContentLayout(std::optional< BitTorrent::TorrentContentLayout > contentLayout)
bool useSmartFilter() const
void setEpisodeFilter(const QString &e)
QStringList previouslyMatchedEpisodes() const
std::optional< BitTorrent::TorrentContentLayout > torrentContentLayout() const
bool accepts(const QVariantHash &articleData)
void setPreviouslyMatchedEpisodes(const QStringList &previouslyMatchedEpisodes)
QString assignedCategory() const
bool matchesEpisodeFilterExpression(const QString &articleTitle) const
QString mustContain() const
bool matchesSmartEpisodeFilter(const QString &articleTitle) const
void setEnabled(bool enable)
QJsonObject toJsonObject() const
void setLastMatch(const QDateTime &lastMatch)
bool operator==(const AutoDownloadRule &other) const
void setUseRegex(bool enabled)
void setMustContain(const QString &tokens)
static AutoDownloadRule fromJsonObject(const QJsonObject &jsonObj, const QString &name="")
QVariantHash toLegacyDict() const
void setSavePath(const QString &savePath)
AutoDownloadRule(const QString &name="")
QSharedDataPointer< AutoDownloadRuleData > m_dataPtr
std::optional< bool > addPaused() const
void setCategory(const QString &category)
AutoDownloadRule & operator=(const AutoDownloadRule &other)
QString mustNotContain() const
QDateTime lastMatch() const
void setIgnoreDays(int d)
void setUseSmartFilter(bool enabled)
static AutoDownloadRule fromLegacyDict(const QVariantHash &dict)
bool matchesMustNotContainExpression(const QString &articleTitle) const
void setFeedURLs(const QStringList &urls)
void setName(const QString &name)
QStringList feedURLs() const
bool matchesExpression(const QString &articleTitle, const QString &expression) const
bool operator!=(const AutoDownloadRule &other) const
bool matches(const QVariantHash &articleData) const
bool matchesMustContainExpression(const QString &articleTitle) const
QRegularExpression cachedRegex(const QString &expression, bool isRegex=true) const
QString episodeFilter() const
void setMustNotContain(const QString &tokens)
void setAddPaused(std::optional< bool > addPaused)