Philipp Hörist pushed to branch mainwindow at gajim / gajim
Commits:
01779713 by lovetox at 2021-07-22T08:42:43+02:00
Fix groupchat creation
- - - - -
3 changed files:
- gajim/common/modules/muc.py
- gajim/gtk/groupchat_creation.py
- gajim/gui_interface.py
Changes:
=====================================
gajim/common/modules/muc.py
=====================================
@@ -231,13 +231,15 @@ def join(self, jid, nick=None, password=None,
config=None):
else:
self._join(muc_data)
- def create(self, muc_data):
+ def create(self, jid, config):
if not app.account_is_available(self._account):
return
- self._mucs[muc_data.jid] = muc_data
+ self._con.get_module('Contacts').add_contact(jid, groupchat=True)
+ muc_data = self._create_muc_data(jid, None, None, config)
+ self._mucs[jid] = muc_data
self._create(muc_data)
- self._push_muc_added_event(muc_data.jid)
+ self._push_muc_added_event(jid)
def _push_muc_added_event(self, jid):
app.nec.push_incoming_event(
=====================================
gajim/gtk/groupchat_creation.py
=====================================
@@ -234,7 +234,7 @@ def _create_muc(self, room_jid):
app.interface.create_groupchat(
self._account,
str(room_jid),
- config=config)
+ config)
self.destroy()
=====================================
gajim/gui_interface.py
=====================================
@@ -1257,50 +1257,14 @@ def show_groupchat(self, account, room_jid):
return True
return False
- def create_groupchat_control(self, account, room_jid, muc_data,
- minimize=False):
- avatar_sha = app.storage.cache.get_avatar_sha(room_jid)
- contact = app.contacts.create_contact(jid=room_jid,
- account=account,
- groups=[_('Group chats')],
- sub='none',
- avatar_sha=avatar_sha,
- groupchat=True)
- app.contacts.add_contact(account, contact)
-
- if minimize:
- control = GroupchatControl(None, contact, muc_data, account)
- app.interface.minimized_controls[account][room_jid] = control
- self.roster.add_groupchat(room_jid, account)
-
- else:
- mw = self.msg_win_mgr.get_window(room_jid, account)
- if not mw:
- mw = self.msg_win_mgr.create_window(contact,
- account,
- ControlType.GROUPCHAT)
- control = GroupchatControl(mw, contact, muc_data, account)
- mw.new_tab(control)
- mw.set_active_tab(control)
-
- @staticmethod
- def _create_muc_data(account, room_jid, nick, password, config):
- if not nick:
- nick = get_group_chat_nick(account, room_jid)
+ def create_groupchat(self, account, room_jid, config):
+ if app.window.chat_exists(account, room_jid):
+ log.error('Trying to create groupchat '
+ 'which is already added as chat')
+ return
- # Fetch data from bookmarks
client = app.get_client(account)
- bookmark = client.get_module('Bookmarks').get_bookmark(room_jid)
- if bookmark is not None:
- if bookmark.password is not None:
- password = bookmark.password
-
- return MUCData(room_jid, nick, password, config)
-
- def create_groupchat(self, account, room_jid, config=None):
- muc_data = self._create_muc_data(account, room_jid, None, None, config)
- self.create_groupchat_control(account, room_jid, muc_data)
- app.connections[account].get_module('MUC').create(muc_data)
+ client.get_module('MUC').create(room_jid, config)
def show_add_join_groupchat(self, account, jid, nickname=None):
if not app.window.chat_exists(account, jid):
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/01779713ea762ae71374c1e6fbd6cbc6630458c1
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/01779713ea762ae71374c1e6fbd6cbc6630458c1
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