summaryrefslogtreecommitdiff
path: root/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.h
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@jolla.com>2026-02-10 10:41:02 +0100
committerAndrew Branson <andrew.branson@jolla.com>2026-02-10 17:09:39 +0100
commit4351f4627ba9e71775438dd26c9acddd002c7e11 (patch)
tree3c72c980c5c81507109087bda67052b7ec8216b6 /eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.h
Initial commit
Diffstat (limited to 'eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.h')
-rw-r--r--eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.h b/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.h
new file mode 100644
index 0000000..9692729
--- /dev/null
+++ b/eventsview-plugins/eventsview-plugin-mastodon/mastodonpostsmodel.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2026 Open Mobile Platform LLC.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef MASTODONPOSTSMODEL_H
+#define MASTODONPOSTSMODEL_H
+
+#include "abstractsocialcachemodel.h"
+
+class MastodonPostsModelPrivate;
+
+class MastodonPostsModel: public AbstractSocialCacheModel
+{
+ Q_OBJECT
+ Q_PROPERTY(QVariantList accountIdFilter READ accountIdFilter WRITE setAccountIdFilter NOTIFY accountIdFilterChanged)
+
+public:
+ enum MastodonPostsRole {
+ MastodonId = 0,
+ Name,
+ AccountName,
+ Acct,
+ Body,
+ Timestamp,
+ Icon,
+ Images,
+ Url,
+ Link,
+ BoostedBy,
+ RebloggedBy,
+ InstanceUrl,
+ Accounts
+ };
+
+ explicit MastodonPostsModel(QObject *parent = 0);
+ QHash<int, QByteArray> roleNames() const;
+
+ QVariantList accountIdFilter() const;
+ void setAccountIdFilter(const QVariantList &accountIds);
+
+ void refresh();
+
+signals:
+ void accountIdFilterChanged();
+
+private slots:
+ void postsChanged();
+
+private:
+ Q_DECLARE_PRIVATE(MastodonPostsModel)
+};
+
+#endif // MASTODONPOSTSMODEL_H