aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_summary/content_populator.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2020-02-21 02:49:53 +0100
committerfiaxh <git@lightrise.org>2020-02-22 02:58:36 +0100
commit4ed6204fc2879c52fe88caa5711dea37cd4ae201 (patch)
treeba6f0f8227694c95e53645a701ac4b4111b8698c /main/src/ui/conversation_summary/content_populator.vala
parent01698959feaa9005c8a5f3439478431ab5837792 (diff)
downloaddino-4ed6204fc2879c52fe88caa5711dea37cd4ae201.tar.gz
dino-4ed6204fc2879c52fe88caa5711dea37cd4ae201.zip
Rename folders/files conversation_summary -> conversation_content_view
Diffstat (limited to 'main/src/ui/conversation_summary/content_populator.vala')
-rw-r--r--main/src/ui/conversation_summary/content_populator.vala111
1 files changed, 0 insertions, 111 deletions
diff --git a/main/src/ui/conversation_summary/content_populator.vala b/main/src/ui/conversation_summary/content_populator.vala
deleted file mode 100644
index e8eee06c..00000000
--- a/main/src/ui/conversation_summary/content_populator.vala
+++ /dev/null
@@ -1,111 +0,0 @@
-using Gee;
-using Gtk;
-
-using Xmpp;
-using Dino.Entities;
-
-namespace Dino.Ui.ConversationSummary {
-
-public class ContentProvider : ContentItemCollection, Object {
-
- private StreamInteractor stream_interactor;
- private ContentItemWidgetFactory widget_factory;
- private Conversation? current_conversation;
- private Plugins.ConversationItemCollection? item_collection;
-
- public ContentProvider(StreamInteractor stream_interactor) {
- this.stream_interactor = stream_interactor;
- this.widget_factory = new ContentItemWidgetFactory(stream_interactor);
- }
-
- public void init(Plugins.ConversationItemCollection item_collection, Conversation conversation, Plugins.WidgetType type) {
- if (current_conversation != null) {
- stream_interactor.get_module(ContentItemStore.IDENTITY).uninit(current_conversation, this);
- }
- current_conversation = conversation;
- this.item_collection = item_collection;
- stream_interactor.get_module(ContentItemStore.IDENTITY).init(conversation, this);
- }
-
- public void insert_item(ContentItem item) {
- item_collection.insert_item(new ContentMetaItem(item, widget_factory));
- }
-
- public void remove_item(ContentItem item) { }
-
-
- public Gee.List<ContentMetaItem> populate_latest(Conversation conversation, int n) {
- Gee.List<ContentItem> items = stream_interactor.get_module(ContentItemStore.IDENTITY).get_n_latest(conversation, n);
- Gee.List<ContentMetaItem> ret = new ArrayList<ContentMetaItem>();
- foreach (ContentItem item in items) {
- ret.add(new ContentMetaItem(item, widget_factory));
- }
- return ret;
- }
-
- public Gee.List<ContentMetaItem> populate_before(Conversation conversation, ContentItem before_item, int n) {
- Gee.List<ContentMetaItem> ret = new ArrayList<ContentMetaItem>();
- Gee.List<ContentItem> items = stream_interactor.get_module(ContentItemStore.IDENTITY).get_before(conversation, before_item, n);
- foreach (ContentItem item in items) {
- ret.add(new ContentMetaItem(item, widget_factory));
- }
- return ret;
- }
-
- public Gee.List<ContentMetaItem> populate_after(Conversation conversation, ContentItem after_item, int n) {
- Gee.List<ContentMetaItem> ret = new ArrayList<ContentMetaItem>();
- Gee.List<ContentItem> items = stream_interactor.get_module(ContentItemStore.IDENTITY).get_after(conversation, after_item, n);
- foreach (ContentItem item in items) {
- ret.add(new ContentMetaItem(item, widget_factory));
- }
- return ret;
- }
-
- public ContentMetaItem get_content_meta_item(ContentItem content_item) {
- return new ContentMetaItem(content_item, widget_factory);
- }
-}
-
-public class ContentMetaItem : Plugins.MetaConversationItem {
- public override Jid? jid { get; set; }
- public override DateTime sort_time { get; set; }
- public override DateTime? display_time { get; set; }
- public override Encryption encryption { get; set; }
-
- public ContentItem content_item;
- private ContentItemWidgetFactory widget_factory;
-
- public ContentMetaItem(ContentItem content_item, ContentItemWidgetFactory widget_factory) {
- this.jid = content_item.jid;
- this.sort_time = content_item.sort_time;
- this.seccondary_sort_indicator = (long) content_item.display_time.to_unix();
- this.tertiary_sort_indicator = content_item.id;
- this.display_time = content_item.display_time;
- this.encryption = content_item.encryption;
- this.mark = content_item.mark;
-
- WeakRef weak_item = WeakRef(content_item);
- content_item.notify["mark"].connect(() => {
- ContentItem? ci = weak_item.get() as ContentItem;
- if (ci == null) return;
- this.mark = ci.mark;
- });
-
- this.can_merge = true;
- this.requires_avatar = true;
- this.requires_header = true;
-
- this.content_item = content_item;
- this.widget_factory = widget_factory;
- }
-
- public override bool can_merge { get; set; default=true; }
- public override bool requires_avatar { get; set; default=true; }
- public override bool requires_header { get; set; default=true; }
-
- public override Object? get_widget(Plugins.WidgetType type) {
- return widget_factory.get_widget(content_item);
- }
-}
-
-}