diff options
author | fiaxh <git@mx.ax.lt> | 2017-09-01 12:42:14 +0200 |
---|---|---|
committer | fiaxh <git@mx.ax.lt> | 2017-09-01 13:26:31 +0200 |
commit | addd5a013fe2e957e228ec4c670359c701745184 (patch) | |
tree | ea77e2e50d398e06e4a5c6279cb5dd91ab30bfd0 /main/src/ui/conversation_selector/groupchat_row.vala | |
parent | dc26841b9ea1e65dedbc916257f70e7f768f724b (diff) | |
download | dino-addd5a013fe2e957e228ec4c670359c701745184.tar.gz dino-addd5a013fe2e957e228ec4c670359c701745184.zip |
Show last message sender in conversation list
Diffstat (limited to 'main/src/ui/conversation_selector/groupchat_row.vala')
-rw-r--r-- | main/src/ui/conversation_selector/groupchat_row.vala | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/main/src/ui/conversation_selector/groupchat_row.vala b/main/src/ui/conversation_selector/groupchat_row.vala index 07dabf06..0dfdfe66 100644 --- a/main/src/ui/conversation_selector/groupchat_row.vala +++ b/main/src/ui/conversation_selector/groupchat_row.vala @@ -10,37 +10,19 @@ public class GroupchatRow : ConversationRow { set_tooltip_text(conversation.counterpart.bare_jid.to_string()); update_avatar(); - x_button.clicked.connect(on_x_button_clicked); - stream_interactor.get_module(MucManager.IDENTITY).left.connect(() => { - Idle.add(() => { - update_avatar(); - return false; - }); + closed.connect(() => { + stream_interactor.get_module(MucManager.IDENTITY).part(conversation.account, conversation.counterpart); }); + stream_interactor.get_module(MucManager.IDENTITY).left.connect(update_avatar); } - - public override void on_show_received(Show show) { - set_avatar((new AvatarGenerator(AVATAR_SIZE, AVATAR_SIZE, image.scale_factor)) - .draw_conversation(stream_interactor, conversation), image.scale_factor); - } - - public override void network_connection(bool connected) { - update_avatar(); - } - - private void on_x_button_clicked() { - stream_interactor.get_module(MucManager.IDENTITY).part(conversation.account, conversation.counterpart); - } - - private void update_avatar() { - ConnectionManager.ConnectionState connection_state = stream_interactor.connection_manager.get_state(conversation.account); - bool is_joined = stream_interactor.get_module(MucManager.IDENTITY).is_joined(conversation.counterpart, conversation.account); - - set_avatar((new AvatarGenerator(AVATAR_SIZE, AVATAR_SIZE, image.scale_factor)) - .set_greyscale(connection_state != ConnectionManager.ConnectionState.CONNECTED || !is_joined) - .draw_conversation(stream_interactor, conversation), image.scale_factor); + protected override void update_message_label() { + base.update_message_label(); + if (last_message != null) { + nick_label.visible = true; + nick_label.label = Util.get_message_display_name(stream_interactor, last_message, conversation.account) + ": "; + } } } -}
\ No newline at end of file +} |