Philipp Hörist pushed to branch mainwindow at gajim / gajim
Commits: 1c73a02e by lovetox at 2021-04-26T16:34:37+02:00 Fix bugs when joining mucs - - - - - 4 changed files: - gajim/common/modules/contacts.py - gajim/common/modules/muc.py - gajim/groupchat_control.py - gajim/gtk/search_view.py Changes: ===================================== gajim/common/modules/contacts.py ===================================== @@ -69,6 +69,7 @@ def add_contact(self, jid, groupchat=False): contact = GroupchatContact(self._log, jid, self._account) else: contact = BareContact(self._log, jid, self._account) + self._contacts[jid] = contact return contact @@ -154,6 +155,9 @@ def force_chatstate_update(self): for contact in self._resources.values(): contact.notify('chatstate-update') + def __repr__(self): + return f'{self.jid} ({self._account})' + class BareContact(CommonContact): def __init__(self, logger, jid, account): ===================================== gajim/common/modules/muc.py ===================================== @@ -214,6 +214,7 @@ def join(self, jid, nick=None, password=None, config=None): disco_info = app.storage.cache.get_last_disco_info(muc_data.jid, max_age=60) if disco_info is None: + self._set_muc_state(muc_data.jid, MUCJoinedState.JOINING) self._con.get_module('Discovery').disco_muc( muc_data.jid, callback=self._on_disco_result) ===================================== gajim/groupchat_control.py ===================================== @@ -964,7 +964,7 @@ def _set_control_inactive(self): self.update_actions() def rejoin(self): - self._client.get_module('MUC').join(self._muc_data) + self._client.get_module('MUC').join(self.room_jid) # def send_pm(self, nick, message=None): # ctrl = self._start_private_message(nick) @@ -1706,7 +1706,7 @@ def _on_subject_change_clicked(self, _button): def _on_password_set_clicked(self, _button): password = self.xml.password_entry.get_text() self._muc_data.password = password - self._client.get_module('MUC').join(self._muc_data) + self._client.get_module('MUC').join(self.room_jid) self._show_page('groupchat') def _on_password_changed(self, entry, _param): @@ -1763,7 +1763,7 @@ def _on_captcha_cancel_clicked(self, _button=None): self._close_control() def _on_captcha_try_again_clicked(self, _button=None): - self._client.get_module('MUC').join(self._muc_data) + self._client.get_module('MUC').join(self.room_jid) self._show_page('groupchat') def _on_remove_bookmark_button_clicked(self, _button=None): @@ -1771,7 +1771,7 @@ def _on_remove_bookmark_button_clicked(self, _button=None): self._close_control() def _on_retry_join_clicked(self, _button=None): - self._client.get_module('MUC').join(self._muc_data) + self._client.get_module('MUC').join(self.room_jid) self._show_page('groupchat') def _on_page_cancel_clicked(self, _button=None): @@ -1783,5 +1783,5 @@ def _on_page_close_clicked(self, _button=None): def _on_groupchat_state_abort_clicked(self, _button): app.window.lookup_action('disconnect-%s' % self.control_id).activate() - def _on_groupchat_state_join_clicked(self, groupchat_state): - pass + def _on_groupchat_state_join_clicked(self, _groupchat_state): + self._client.get_module('MUC').join(self.room_jid) ===================================== gajim/gtk/search_view.py ===================================== @@ -197,8 +197,6 @@ def __init__(self, msg, account, jid): self.time = msg.time self._client = app.get_client(account) - self.contact = self._client.get_module('Contacts').get_contact(jid) - self.log_line_id = msg.log_line_id self.timestamp = msg.time self.kind = msg.kind @@ -207,6 +205,9 @@ def __init__(self, msg, account, jid): if msg.kind == KindConstant.GC_MSG: self.type = 'groupchat' + self.contact = self._client.get_module('Contacts').get_contact( + jid, groupchat=self.type == 'groupchat') + self._ui = get_builder('search_view.ui') self.add(self._ui.result_row_grid) View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/1c73a02e55d6ee19fc68ef389c1f959f9655c996 -- View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/1c73a02e55d6ee19fc68ef389c1f959f9655c996 You're receiving this email because of your account on dev.gajim.org.
_______________________________________________ Commits mailing list Commits@gajim.org https://lists.gajim.org/cgi-bin/listinfo/commits