From d0e86d0a8ebb6bbb254a0fb7474d09c58d8379e3 Mon Sep 17 00:00:00 2001 From: fiaxh Date: Thu, 31 Aug 2017 22:22:44 +0200 Subject: small fixes --- main/src/ui/conversation_summary/conversation_view.vala | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'main/src/ui/conversation_summary/conversation_view.vala') diff --git a/main/src/ui/conversation_summary/conversation_view.vala b/main/src/ui/conversation_summary/conversation_view.vala index 9379e8ba..3f5a85b6 100644 --- a/main/src/ui/conversation_summary/conversation_view.vala +++ b/main/src/ui/conversation_summary/conversation_view.vala @@ -16,7 +16,7 @@ public class ConversationView : Box, Plugins.ConversationItemCollection { [GtkChild] private Stack stack; private StreamInteractor stream_interactor; - private Gee.TreeSet meta_items = new TreeSet((a, b) => { return a.sort_time.compare(b.sort_time); }); + private Gee.TreeSet meta_items = new TreeSet(sort_meta_items); private Gee.Map> meta_after_items = new Gee.HashMap>(); private Gee.HashMap item_item_skeletons = new Gee.HashMap(); private Gee.HashMap widgets = new Gee.HashMap(); @@ -169,6 +169,15 @@ public class ConversationView : Box, Plugins.ConversationItemCollection { if (meta_items.size > 0) message_item_populator.populate_number(conversation, meta_items.first().sort_time, 20); } + private static int sort_meta_items(Plugins.MetaConversationItem a, Plugins.MetaConversationItem b) { + int res = a.sort_time.compare(b.sort_time); + if (res == 0) { + if (a.seccondary_sort_indicator < b.seccondary_sort_indicator) res = -1; + else if (a.seccondary_sort_indicator > b.seccondary_sort_indicator) res = 1; + } + return res; + } + // Workaround GTK TextView issues private void force_alloc_width(Widget widget, int width) { Allocation alloc = Allocation(); -- cgit v1.3