diff options
Diffstat (limited to 'main/src/ui')
-rw-r--r-- | main/src/ui/conversation_summary/conversation_view.vala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/main/src/ui/conversation_summary/conversation_view.vala b/main/src/ui/conversation_summary/conversation_view.vala index fac53b7d..87a2dd34 100644 --- a/main/src/ui/conversation_summary/conversation_view.vala +++ b/main/src/ui/conversation_summary/conversation_view.vala @@ -44,6 +44,8 @@ public class ConversationView : Box, Plugins.ConversationItemCollection { insert_item.connect(on_insert_item); remove_item.connect(on_remove_item); + add_meta_notification.connect(on_add_meta_notification); + remove_meta_notification.connect(on_remove_meta_notification); Application app = GLib.Application.get_default() as Application; app.plugin_registry.register_conversation_item_populator(new ChatStatePopulator(stream_interactor)); @@ -126,6 +128,18 @@ public class ConversationView : Box, Plugins.ConversationItemCollection { } } + public void on_add_meta_notification(Plugins.MetaConversationNotification notification) { + Widget? widget = (Widget) notification.get_widget(Plugins.WidgetType.GTK); + if(widget != null) + add_notification(widget); + } + + public void on_remove_meta_notification(Plugins.MetaConversationNotification notification){ + Widget? widget = (Widget) notification.get_widget(Plugins.WidgetType.GTK); + if(widget != null) + remove_notification(widget); + } + public void add_notification(Widget widget) { notifications.add(widget); Timeout.add(20, () => { |