diff --git a/briar-gtk/briar_gtk/containers/main_window.py b/briar-gtk/briar_gtk/containers/main_window.py index 6e39d744df0fc4cea8710ea0c05441b0548b595b..660bc88964aaa873499bf6122a2b0d41c2b88d57 100644 --- a/briar-gtk/briar_gtk/containers/main_window.py +++ b/briar-gtk/briar_gtk/containers/main_window.py @@ -150,7 +150,11 @@ class MainWindowContainer(Container): def _load_content(self): self._contacts = Contacts(APP().api) self._load_contacts() - self._contacts.watch_contacts(self._refresh_contacts_async) + # TODO: Disconnect if no more needed + APP().api.socket_listener.connect("ContactAddedEvent", + self._refresh_contacts_async) + APP().api.socket_listener.connect("ConversationMessageReceivedEvent", + self._refresh_contacts_async) def _load_contacts(self): self.contacts_list = self._contacts.get() @@ -158,10 +162,11 @@ class MainWindowContainer(Container): contact_row = ContactRowWidget(contact) self.contacts_list_box.add(contact_row) - def _refresh_contacts_async(self): + def _refresh_contacts_async(self, message): GLib.idle_add(self._refresh_contacts) def _refresh_contacts(self): + # TODO: Keep selected contact with open chat self._clear_contact_list() self._load_contacts() diff --git a/briar-gtk/briar_gtk/containers/private_chat.py b/briar-gtk/briar_gtk/containers/private_chat.py index af9062bf084b52eaeae752830f80989671505c21..9fe44a26c10cdf603b09a99e207f3f532f971904 100644 --- a/briar-gtk/briar_gtk/containers/private_chat.py +++ b/briar-gtk/briar_gtk/containers/private_chat.py @@ -80,7 +80,9 @@ class PrivateChatContainer(Container): # Abusing idle_add function here because otherwise the message box # is too small and scrolling cuts out messages GLib.idle_add(self._add_message, message) - private_chat.watch_messages(self._add_message_async) + # TODO: Disconnect if no more needed + APP().api.socket_listener.connect("ConversationMessageReceivedEvent", + self._add_message_async) def _add_message(self, message): message_widget = PrivateMessageWidget(self._contact_name, message)