ClientsIconsPlugin. Fix icon if contact in several groups
This commit is contained in:
@@ -371,11 +371,12 @@ class ClientsIconsPlugin(GajimPlugin):
|
||||
roster.model)
|
||||
if not child_iters:
|
||||
return
|
||||
if roster.model[child_iters[0]][self.renderer_num] is None:
|
||||
for iter_ in child_iters:
|
||||
if roster.model[iter_][self.renderer_num] is None:
|
||||
caps = contact.client_caps._node
|
||||
if not caps:
|
||||
caps = self.check_jid(jid)
|
||||
self.set_icon(roster.model, child_iters[0], self.renderer_num,
|
||||
self.set_icon(roster.model, iter_, self.renderer_num,
|
||||
caps)
|
||||
|
||||
@log_calls('ClientsIconsPlugin')
|
||||
@@ -510,8 +511,9 @@ class ClientsIconsPlugin(GajimPlugin):
|
||||
# zeroconf
|
||||
return
|
||||
|
||||
iter_ = roster._get_contact_iter(iq_obj.jid, iq_obj.conn.name, contact,
|
||||
roster.model)[0]
|
||||
iters = roster._get_contact_iter(iq_obj.jid, iq_obj.conn.name, contact,
|
||||
roster.model)
|
||||
iter_ = iters[0]
|
||||
|
||||
if contact.show == 'error':
|
||||
self.set_icon(roster.model, iter_, self.renderer_num, None)
|
||||
@@ -539,6 +541,7 @@ class ClientsIconsPlugin(GajimPlugin):
|
||||
if caps_from_jid:
|
||||
caps = caps_from_jid
|
||||
|
||||
for iter_ in iters:
|
||||
self.set_icon(roster.model, iter_, self.renderer_num, caps)
|
||||
|
||||
def gc_presence_received(self, iq_obj):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[info]
|
||||
name: Clients icons
|
||||
short_name: clients_icons
|
||||
version: 4.1
|
||||
version: 4.2
|
||||
description: Shows the client icons in the roster
|
||||
and in groupchats.
|
||||
For icons in tooltip support, you need to install Gajim r14117 or above.
|
||||
|
||||
Reference in New Issue
Block a user