From 5bb5048dd221d92c2fa864be48f723862e40a1d4 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Tue, 16 Nov 2021 07:18:27 +0100 Subject: [PATCH] some files for reddit --- .../desktop/com.github.rssguard.appdata.xml | 2 +- src/librssguard/librssguard.pro | 4 +++ .../services/reddit/redditcategory.cpp | 20 ++++++++++++++ .../services/reddit/redditcategory.h | 27 +++++++++++++++++++ .../services/reddit/redditserviceroot.cpp | 3 ++- .../services/reddit/redditsubscription.cpp | 11 ++++++++ .../services/reddit/redditsubscription.h | 19 +++++++++++++ 7 files changed, 84 insertions(+), 2 deletions(-) create mode 100755 src/librssguard/services/reddit/redditcategory.cpp create mode 100755 src/librssguard/services/reddit/redditcategory.h create mode 100755 src/librssguard/services/reddit/redditsubscription.cpp create mode 100755 src/librssguard/services/reddit/redditsubscription.h diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml index a7349aec4..4c9c3d087 100644 --- a/resources/desktop/com.github.rssguard.appdata.xml +++ b/resources/desktop/com.github.rssguard.appdata.xml @@ -26,7 +26,7 @@ https://github.com/sponsors/martinrotter - + none diff --git a/src/librssguard/librssguard.pro b/src/librssguard/librssguard.pro index 0048fd149..f8d3d603a 100644 --- a/src/librssguard/librssguard.pro +++ b/src/librssguard/librssguard.pro @@ -195,9 +195,11 @@ HEADERS += core/feeddownloader.h \ services/reddit/definitions.h \ services/reddit/gui/formeditredditaccount.h \ services/reddit/gui/redditaccountdetails.h \ + services/reddit/redditcategory.h \ services/reddit/redditentrypoint.h \ services/reddit/redditnetworkfactory.h \ services/reddit/redditserviceroot.h \ + services/reddit/redditsubscription.h \ services/standard/atomparser.h \ services/standard/definitions.h \ services/standard/feedparser.h \ @@ -376,9 +378,11 @@ SOURCES += core/feeddownloader.cpp \ services/owncloud/owncloudserviceroot.cpp \ services/reddit/gui/formeditredditaccount.cpp \ services/reddit/gui/redditaccountdetails.cpp \ + services/reddit/redditcategory.cpp \ services/reddit/redditentrypoint.cpp \ services/reddit/redditnetworkfactory.cpp \ services/reddit/redditserviceroot.cpp \ + services/reddit/redditsubscription.cpp \ services/standard/atomparser.cpp \ services/standard/feedparser.cpp \ services/standard/gui/formeditstandardaccount.cpp \ diff --git a/src/librssguard/services/reddit/redditcategory.cpp b/src/librssguard/services/reddit/redditcategory.cpp new file mode 100755 index 000000000..901fb57da --- /dev/null +++ b/src/librssguard/services/reddit/redditcategory.cpp @@ -0,0 +1,20 @@ +// For license of this file, see /LICENSE.md. + +#include "services/reddit/redditcategory.h" + +RedditCategory::RedditCategory(Type type, RootItem* parent_item) + : Category(parent_item), m_type(type) { + updateTitle(); +} + +RedditCategory::Type RedditCategory::type() const { + return m_type; +} + +void RedditCategory::updateTitle() { + switch (m_type) { + case Type::Subscriptions: + setTitle(tr("Subscriptions")); + break; + } +} diff --git a/src/librssguard/services/reddit/redditcategory.h b/src/librssguard/services/reddit/redditcategory.h new file mode 100755 index 000000000..99d6bd64e --- /dev/null +++ b/src/librssguard/services/reddit/redditcategory.h @@ -0,0 +1,27 @@ +// For license of this file, see /LICENSE.md. + +#ifndef REDDITCATEGORY_H +#define REDDITCATEGORY_H + +#include "services/abstract/category.h" + +class RedditCategory : public Category { + Q_OBJECT + + public: + enum class Type { + Subscriptions = 1 + }; + + explicit RedditCategory(Type type = Type::Subscriptions, RootItem* parent_item = nullptr); + + Type type() const; + + private: + void updateTitle(); + + private: + Type m_type; +}; + +#endif // REDDITCATEGORY_H diff --git a/src/librssguard/services/reddit/redditserviceroot.cpp b/src/librssguard/services/reddit/redditserviceroot.cpp index 1953b8a63..3e6c921fc 100755 --- a/src/librssguard/services/reddit/redditserviceroot.cpp +++ b/src/librssguard/services/reddit/redditserviceroot.cpp @@ -11,6 +11,7 @@ #include "services/abstract/recyclebin.h" #include "services/reddit/definitions.h" #include "services/reddit/gui/formeditredditaccount.h" +#include "services/reddit/redditcategory.h" #include "services/reddit/redditentrypoint.h" #include "services/reddit/redditnetworkfactory.h" @@ -93,7 +94,7 @@ bool RedditServiceRoot::supportsCategoryAdding() const { void RedditServiceRoot::start(bool freshly_activated) { if (!freshly_activated) { - DatabaseQueries::loadFromDatabase(this); + DatabaseQueries::loadFromDatabase(this); loadCacheFromFile(); } diff --git a/src/librssguard/services/reddit/redditsubscription.cpp b/src/librssguard/services/reddit/redditsubscription.cpp new file mode 100755 index 000000000..04107ac12 --- /dev/null +++ b/src/librssguard/services/reddit/redditsubscription.cpp @@ -0,0 +1,11 @@ +// For license of this file, see /LICENSE.md. + +#include "services/reddit/redditsubscription.h" + +#include "services/reddit/redditserviceroot.h" + +RedditSubscription::RedditSubscription(RootItem* parent) : Feed(parent) {} + +RedditServiceRoot* RedditSubscription::serviceRoot() const { + return qobject_cast(getParentServiceRoot()); +} diff --git a/src/librssguard/services/reddit/redditsubscription.h b/src/librssguard/services/reddit/redditsubscription.h new file mode 100755 index 000000000..137e56ba2 --- /dev/null +++ b/src/librssguard/services/reddit/redditsubscription.h @@ -0,0 +1,19 @@ +// For license of this file, see /LICENSE.md. + +#ifndef REDDITSUBSCRIPTION_H +#define REDDITSUBSCRIPTION_H + +#include "services/abstract/feed.h" + +class RedditServiceRoot; + +class RedditSubscription : public Feed { + Q_OBJECT + + public: + explicit RedditSubscription(RootItem* parent = nullptr); + + RedditServiceRoot* serviceRoot() const; +}; + +#endif // REDDITSUBSCRIPTION_H