redraw chat buttons when we get caps information. Fixes #6114
This commit is contained in:
parent
e990f978f0
commit
241f666bc6
|
@ -1605,6 +1605,8 @@ class ChatControl(ChatControlBase):
|
||||||
self._nec_failed_decrypt)
|
self._nec_failed_decrypt)
|
||||||
gajim.ged.register_event_handler('chatstate-received', ged.GUI1,
|
gajim.ged.register_event_handler('chatstate-received', ged.GUI1,
|
||||||
self._nec_chatstate_received)
|
self._nec_chatstate_received)
|
||||||
|
gajim.ged.register_event_handler('caps-received', ged.GUI1,
|
||||||
|
self._nec_caps_received)
|
||||||
|
|
||||||
# PluginSystem: adding GUI extension point for this ChatControl
|
# PluginSystem: adding GUI extension point for this ChatControl
|
||||||
# instance object
|
# instance object
|
||||||
|
@ -2597,6 +2599,8 @@ class ChatControl(ChatControlBase):
|
||||||
self._nec_failed_decrypt)
|
self._nec_failed_decrypt)
|
||||||
gajim.ged.remove_event_handler('chatstate-received', ged.GUI1,
|
gajim.ged.remove_event_handler('chatstate-received', ged.GUI1,
|
||||||
self._nec_chatstate_received)
|
self._nec_chatstate_received)
|
||||||
|
gajim.ged.remove_event_handler('caps-received', ged.GUI1,
|
||||||
|
self._nec_caps_received)
|
||||||
|
|
||||||
self.send_chatstate('gone', self.contact)
|
self.send_chatstate('gone', self.contact)
|
||||||
self.contact.chatstate = None
|
self.contact.chatstate = None
|
||||||
|
@ -2673,6 +2677,11 @@ class ChatControl(ChatControlBase):
|
||||||
# update chatstate in tab for this chat
|
# update chatstate in tab for this chat
|
||||||
self.parent_win.redraw_tab(self, self.contact.chatstate)
|
self.parent_win.redraw_tab(self, self.contact.chatstate)
|
||||||
|
|
||||||
|
def _nec_caps_received(self, obj):
|
||||||
|
if obj.conn.name != self.account or obj.jid != self.contact.jid:
|
||||||
|
return
|
||||||
|
self.update_ui()
|
||||||
|
|
||||||
def set_control_active(self, state):
|
def set_control_active(self, state):
|
||||||
ChatControlBase.set_control_active(self, state)
|
ChatControlBase.set_control_active(self, state)
|
||||||
# send chatstate inactive to the one we're leaving
|
# send chatstate inactive to the one we're leaving
|
||||||
|
|
|
@ -149,18 +149,18 @@ class PrivateChatControl(ChatControl):
|
||||||
ChatControl.__init__(self, parent_win, contact, account, session)
|
ChatControl.__init__(self, parent_win, contact, account, session)
|
||||||
self.TYPE_ID = 'pm'
|
self.TYPE_ID = 'pm'
|
||||||
gajim.ged.register_event_handler('caps-received', ged.GUI1,
|
gajim.ged.register_event_handler('caps-received', ged.GUI1,
|
||||||
self._nec_caps_received)
|
self._nec_caps_received_pm)
|
||||||
gajim.ged.register_event_handler('gc-presence-received', ged.GUI1,
|
gajim.ged.register_event_handler('gc-presence-received', ged.GUI1,
|
||||||
self._nec_gc_presence_received)
|
self._nec_gc_presence_received)
|
||||||
|
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
super(PrivateChatControl, self).shutdown()
|
super(PrivateChatControl, self).shutdown()
|
||||||
gajim.ged.remove_event_handler('caps-received', ged.GUI1,
|
gajim.ged.remove_event_handler('caps-received', ged.GUI1,
|
||||||
self._nec_caps_received)
|
self._nec_caps_received_pm)
|
||||||
gajim.ged.remove_event_handler('gc-presence-received', ged.GUI1,
|
gajim.ged.remove_event_handler('gc-presence-received', ged.GUI1,
|
||||||
self._nec_gc_presence_received)
|
self._nec_gc_presence_received)
|
||||||
|
|
||||||
def _nec_caps_received(self, obj):
|
def _nec_caps_received_pm(self, obj):
|
||||||
if obj.conn.name != self.account or \
|
if obj.conn.name != self.account or \
|
||||||
obj.fjid != self.gc_contact.get_full_jid():
|
obj.fjid != self.gc_contact.get_full_jid():
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue