aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_selector
diff options
context:
space:
mode:
authorfiaxh <git@mx.ax.lt>2017-11-11 21:29:13 +0100
committerfiaxh <git@mx.ax.lt>2017-11-16 17:43:00 +0100
commit3f531d6b91edab6c79fa232143db828bad13853c (patch)
tree1083046c94e0b4a43cf16ac4a388fcea8ef91e84 /main/src/ui/conversation_selector
parent1d0745177e7a116455811dfd26e07b848cb89b75 (diff)
downloaddino-3f531d6b91edab6c79fa232143db828bad13853c.tar.gz
dino-3f531d6b91edab6c79fa232143db828bad13853c.zip
Read+(write) stream async
Diffstat (limited to 'main/src/ui/conversation_selector')
-rw-r--r--main/src/ui/conversation_selector/conversation_row.vala7
-rw-r--r--main/src/ui/conversation_selector/list.vala38
2 files changed, 14 insertions, 31 deletions
diff --git a/main/src/ui/conversation_selector/conversation_row.vala b/main/src/ui/conversation_selector/conversation_row.vala
index 13f8a8f7..64b2aeaf 100644
--- a/main/src/ui/conversation_selector/conversation_row.vala
+++ b/main/src/ui/conversation_selector/conversation_row.vala
@@ -70,13 +70,10 @@ public abstract class ConversationRow : ListBoxRow {
bool counterpart_online = stream_interactor.get_module(PresenceManager.IDENTITY).get_full_jids(conversation.counterpart, conversation.account) != null;
bool greyscale = !self_online || !counterpart_online;
- Idle.add(() => {
- Pixbuf pixbuf = ((new AvatarGenerator(AVATAR_SIZE, AVATAR_SIZE, image.scale_factor))
+ Pixbuf pixbuf = ((new AvatarGenerator(AVATAR_SIZE, AVATAR_SIZE, image.scale_factor))
.set_greyscale(greyscale)
.draw_conversation(stream_interactor, conversation));
- Util.image_set_from_scaled_pixbuf(image, pixbuf, image.get_scale_factor());
- return false;
- });
+ Util.image_set_from_scaled_pixbuf(image, pixbuf, image.get_scale_factor());
}
protected void update_name_label(string? new_name = null) {
diff --git a/main/src/ui/conversation_selector/list.vala b/main/src/ui/conversation_selector/list.vala
index dbad72a8..08958cb5 100644
--- a/main/src/ui/conversation_selector/list.vala
+++ b/main/src/ui/conversation_selector/list.vala
@@ -22,35 +22,21 @@ public class List : ListBox {
set_header_func(header);
set_sort_func(sort);
- stream_interactor.get_module(ConversationManager.IDENTITY).conversation_activated.connect((conversation) => {
- Idle.add(() => { add_conversation(conversation); return false; });
- });
- stream_interactor.get_module(ConversationManager.IDENTITY).conversation_deactivated.connect((conversation) => {
- Idle.add(() => { remove_conversation(conversation); return false; });
- });
- stream_interactor.get_module(MessageProcessor.IDENTITY).message_received.connect((message, conversation) => {
- Idle.add(() => { on_message_received(message, conversation); return false; });
- });
- stream_interactor.get_module(MessageProcessor.IDENTITY).message_sent.connect((message, conversation) => {
- Idle.add(() => { on_message_received(message, conversation); return false; });
- });
+ stream_interactor.get_module(ConversationManager.IDENTITY).conversation_activated.connect(add_conversation);
+ stream_interactor.get_module(ConversationManager.IDENTITY).conversation_deactivated.connect(remove_conversation);
+ stream_interactor.get_module(MessageProcessor.IDENTITY).message_received.connect(on_message_received);
+ stream_interactor.get_module(MessageProcessor.IDENTITY).message_sent.connect(on_message_received);
stream_interactor.get_module(PresenceManager.IDENTITY).show_received.connect((show, jid, account) => {
- Idle.add(() => {
- foreach (Conversation conversation in stream_interactor.get_module(ConversationManager.IDENTITY).get_conversations_for_presence(show, account)) {
- if (rows.has_key(conversation)) rows[conversation].on_show_received(show);
- }
- return false;
- });
+ foreach (Conversation conversation in stream_interactor.get_module(ConversationManager.IDENTITY).get_conversations_for_presence(show, account)) {
+ if (rows.has_key(conversation)) rows[conversation].on_show_received(show);
+ }
});
stream_interactor.get_module(AvatarManager.IDENTITY).received_avatar.connect((avatar, jid, account) => {
- Idle.add(() => {
- Conversation? conversation = stream_interactor.get_module(ConversationManager.IDENTITY).get_conversation(jid, account);
- if (conversation != null && rows.has_key(conversation)) {
- ChatRow row = rows[conversation] as ChatRow;
- if (row != null) row.update_avatar();
- }
- return false;
- });
+ Conversation? conversation = stream_interactor.get_module(ConversationManager.IDENTITY).get_conversation(jid, account);
+ if (conversation != null && rows.has_key(conversation)) {
+ ChatRow row = rows[conversation] as ChatRow;
+ if (row != null) row.update_avatar();
+ }
});
Timeout.add_seconds(60, () => {
foreach (ConversationRow row in rows.values) row.update();