summaryrefslogtreecommitdiff
path: root/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@jolla.com>2026-02-18 21:37:05 +0100
committerAndrew Branson <andrew.branson@jolla.com>2026-02-18 21:37:05 +0100
commit60d8504a8b5b0d5e5fa40c4ab7df8e5f98c88e32 (patch)
tree79529799246d3affe713775abdf5577e1f08d907 /eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp
parent1ce97352a0aa2cea0be39fb7eb3a8333aadd2487 (diff)
Refactor
- Move common pieces to eventsview-extensions e.g. interaction menu - Expose and add useful API to libsocialcache
Diffstat (limited to 'eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp')
-rw-r--r--eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp51
1 files changed, 9 insertions, 42 deletions
diff --git a/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp b/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp
index aa98a95..fe61320 100644
--- a/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp
+++ b/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.cpp
@@ -17,31 +17,7 @@
*/
#include "mastodonpostsmodel.h"
-#include <QtCore/QVariantMap>
-
-namespace {
-
-static const char *URL_KEY = "url";
-static const char *TYPE_KEY = "type";
-static const char *TYPE_PHOTO = "photo";
-static const char *TYPE_VIDEO = "video";
-
-QVariantMap createImageData(const SocialPostImage::ConstPtr &image)
-{
- QVariantMap imageData;
- imageData.insert(QLatin1String(URL_KEY), image->url());
- switch (image->type()) {
- case SocialPostImage::Video:
- imageData.insert(QLatin1String(TYPE_KEY), QLatin1String(TYPE_VIDEO));
- break;
- default:
- imageData.insert(QLatin1String(TYPE_KEY), QLatin1String(TYPE_PHOTO));
- break;
- }
- return imageData;
-}
-
-}
+#include <socialcache/socialposthelpers.h>
MastodonPostsModel::MastodonPostsModel(QObject *parent)
: QAbstractListModel(parent)
@@ -123,13 +99,16 @@ void MastodonPostsModel::postsChanged()
const bool favourited = m_database.favourited(post);
const bool reblogged = m_database.reblogged(post);
- eventMap.insert(MastodonPostsModel::MastodonId, post->identifier());
- eventMap.insert(MastodonPostsModel::Name, post->name());
+ SocialPostHelpers::appendCommonPostFields(&eventMap, post,
+ MastodonPostsModel::MastodonId,
+ MastodonPostsModel::Name,
+ MastodonPostsModel::Body,
+ MastodonPostsModel::Timestamp,
+ MastodonPostsModel::Icon,
+ MastodonPostsModel::Images,
+ MastodonPostsModel::Accounts);
eventMap.insert(MastodonPostsModel::AccountName, accountName);
eventMap.insert(MastodonPostsModel::Acct, accountName);
- eventMap.insert(MastodonPostsModel::Body, post->body());
- eventMap.insert(MastodonPostsModel::Timestamp, post->timestamp());
- eventMap.insert(MastodonPostsModel::Icon, post->icon());
eventMap.insert(MastodonPostsModel::Url, postUrl);
eventMap.insert(MastodonPostsModel::Link, postUrl);
eventMap.insert(MastodonPostsModel::BoostedBy, boostedBy);
@@ -140,18 +119,6 @@ void MastodonPostsModel::postsChanged()
eventMap.insert(MastodonPostsModel::Favourited, favourited);
eventMap.insert(MastodonPostsModel::Reblogged, reblogged);
eventMap.insert(MastodonPostsModel::InstanceUrl, m_database.instanceUrl(post));
-
- QVariantList images;
- Q_FOREACH (const SocialPostImage::ConstPtr &image, post->images()) {
- images.append(createImageData(image));
- }
- eventMap.insert(MastodonPostsModel::Images, images);
-
- QVariantList accountsVariant;
- Q_FOREACH (int account, post->accounts()) {
- accountsVariant.append(account);
- }
- eventMap.insert(MastodonPostsModel::Accounts, accountsVariant);
data.append(eventMap);
}