diff options
| author | frosty <frostinator33@airmail.cc> | 2026-10-26 10:21:57 -0400 |
|---|---|---|
| committer | frosty <frostinator33@airmail.cc> | 2026-10-26 10:21:57 -0400 |
| commit | 74aecd8b0986d07b50b7ce310d64e645b8b54e38 (patch) | |
| tree | 560e6434f183eb54cd779936f3a4c9575146a066 /main/src/ui/conversation_selector/conversation_selector.vala | |
| parent | 3d7e90d401da02d430a87db0ec7e1db3a6f1a68f (diff) | |
| parent | 4436001bb361ad4f9e4e05819214ecf0ea77c063 (diff) | |
Merge 'upstream/master'
Diffstat (limited to 'main/src/ui/conversation_selector/conversation_selector.vala')
| -rw-r--r-- | main/src/ui/conversation_selector/conversation_selector.vala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/main/src/ui/conversation_selector/conversation_selector.vala b/main/src/ui/conversation_selector/conversation_selector.vala index c11eea82..25ea1b1e 100644 --- a/main/src/ui/conversation_selector/conversation_selector.vala +++ b/main/src/ui/conversation_selector/conversation_selector.vala @@ -23,7 +23,7 @@ public class ConversationSelector : Widget { list_box.add_css_class("navigation-sidebar"); this.layout_manager = new BinLayout(); - stream_interactor.get_module(ConversationManager.IDENTITY).conversation_activated.connect(add_conversation); + stream_interactor.get_module(ConversationManager.IDENTITY).conversation_activated.connect(on_conversation_activated); stream_interactor.get_module(ConversationManager.IDENTITY).conversation_deactivated.connect(remove_conversation); stream_interactor.get_module(ContentItemStore.IDENTITY).new_item.connect(on_content_item_received); Timeout.add_seconds(60, () => { @@ -34,6 +34,7 @@ public class ConversationSelector : Widget { foreach (Conversation conversation in stream_interactor.get_module(ConversationManager.IDENTITY).get_active_conversations()) { add_conversation(conversation); } + list_box.invalidate_sort(); return this; } @@ -74,6 +75,7 @@ public class ConversationSelector : Widget { public void on_conversation_selected(Conversation conversation) { if (!rows.has_key(conversation)) { add_conversation(conversation); + list_box.invalidate_sort(); } list_box.select_row(rows[conversation]); } @@ -84,6 +86,11 @@ public class ConversationSelector : Widget { } } + private void on_conversation_activated(Conversation conversation) { + add_conversation(conversation); + list_box.invalidate_sort(); + } + private void add_conversation(Conversation conversation) { ConversationSelectorRow row; if (!rows.has_key(conversation)) { @@ -113,7 +120,6 @@ public class ConversationSelector : Widget { }); row.add_controller(drop_motion_controller); } - list_box.invalidate_sort(); } private void select_fallback_conversation(Conversation conversation) { |
