aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_selector/groupchat_row.vala
diff options
context:
space:
mode:
authorfiaxh <git@mx.ax.lt>2017-09-01 12:42:14 +0200
committerfiaxh <git@mx.ax.lt>2017-09-01 13:26:31 +0200
commitaddd5a013fe2e957e228ec4c670359c701745184 (patch)
treeea77e2e50d398e06e4a5c6279cb5dd91ab30bfd0 /main/src/ui/conversation_selector/groupchat_row.vala
parentdc26841b9ea1e65dedbc916257f70e7f768f724b (diff)
downloaddino-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.vala38
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
+}