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
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits