diff options
| author | Andrew Branson <andrew.branson@jolla.com> | 2026-02-11 17:10:58 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@jolla.com> | 2026-02-11 17:10:58 +0100 |
| commit | 22c763f1ffdc7dc845be03c05851d7b896081cb2 (patch) | |
| tree | eab1542f91f758c88d8b3cd43ed2f66276f78119 /common | |
| parent | d8ff92c1baf2c9714f21729e7d37c66f59c162ff (diff) | |
Add post metadata to events view and enhance notification handling
Diffstat (limited to 'common')
| -rw-r--r-- | common/mastodonpostsdatabase.cpp | 33 | ||||
| -rw-r--r-- | common/mastodonpostsdatabase.h | 4 |
2 files changed, 37 insertions, 0 deletions
diff --git a/common/mastodonpostsdatabase.cpp b/common/mastodonpostsdatabase.cpp index 08fc777..ee04327 100644 --- a/common/mastodonpostsdatabase.cpp +++ b/common/mastodonpostsdatabase.cpp @@ -22,6 +22,9 @@ static const char *DB_NAME = "mastodon.db"; static const char *ACCOUNT_NAME_KEY = "account_name"; static const char *URL_KEY = "url"; static const char *BOOSTED_BY_KEY = "boosted_by"; +static const char *REPLIES_COUNT_KEY = "replies_count"; +static const char *FAVOURITES_COUNT_KEY = "favourites_count"; +static const char *REBLOGS_COUNT_KEY = "reblogs_count"; static const char *INSTANCE_URL_KEY = "instance_url"; MastodonPostsDatabase::MastodonPostsDatabase() @@ -43,6 +46,9 @@ void MastodonPostsDatabase::addMastodonPost( const QList<QPair<QString, SocialPostImage::ImageType> > &images, const QString &url, const QString &boostedBy, + int repliesCount, + int favouritesCount, + int reblogsCount, const QString &instanceUrl, int account) { @@ -50,6 +56,9 @@ void MastodonPostsDatabase::addMastodonPost( extra.insert(ACCOUNT_NAME_KEY, accountName); extra.insert(URL_KEY, url); extra.insert(BOOSTED_BY_KEY, boostedBy); + extra.insert(REPLIES_COUNT_KEY, repliesCount); + extra.insert(FAVOURITES_COUNT_KEY, favouritesCount); + extra.insert(REBLOGS_COUNT_KEY, reblogsCount); extra.insert(INSTANCE_URL_KEY, instanceUrl); addPost(identifier, name, body, timestamp, icon, images, extra, account); } @@ -78,6 +87,30 @@ QString MastodonPostsDatabase::boostedBy(const SocialPost::ConstPtr &post) return post->extra().value(BOOSTED_BY_KEY).toString(); } +int MastodonPostsDatabase::repliesCount(const SocialPost::ConstPtr &post) +{ + if (post.isNull()) { + return 0; + } + return post->extra().value(REPLIES_COUNT_KEY).toInt(); +} + +int MastodonPostsDatabase::favouritesCount(const SocialPost::ConstPtr &post) +{ + if (post.isNull()) { + return 0; + } + return post->extra().value(FAVOURITES_COUNT_KEY).toInt(); +} + +int MastodonPostsDatabase::reblogsCount(const SocialPost::ConstPtr &post) +{ + if (post.isNull()) { + return 0; + } + return post->extra().value(REBLOGS_COUNT_KEY).toInt(); +} + QString MastodonPostsDatabase::instanceUrl(const SocialPost::ConstPtr &post) { if (post.isNull()) { diff --git a/common/mastodonpostsdatabase.h b/common/mastodonpostsdatabase.h index b27b626..66d3f09 100644 --- a/common/mastodonpostsdatabase.h +++ b/common/mastodonpostsdatabase.h @@ -34,12 +34,16 @@ public: const QString &icon, const QList<QPair<QString, SocialPostImage::ImageType> > &images, const QString &url, const QString &boostedBy, + int repliesCount, int favouritesCount, int reblogsCount, const QString &instanceUrl, int account); static QString accountName(const SocialPost::ConstPtr &post); static QString url(const SocialPost::ConstPtr &post); static QString boostedBy(const SocialPost::ConstPtr &post); + static int repliesCount(const SocialPost::ConstPtr &post); + static int favouritesCount(const SocialPost::ConstPtr &post); + static int reblogsCount(const SocialPost::ConstPtr &post); static QString instanceUrl(const SocialPost::ConstPtr &post); }; |
