diff options
author | Denis Fomin <fominde@gmail.com> | 2013-04-26 15:52:12 +0400 |
---|---|---|
committer | Denis Fomin <fominde@gmail.com> | 2013-04-26 15:52:12 +0400 |
commit | e0df92a45c8e1501a32420ab58b97d4e228835ef (patch) | |
tree | ca0a15b27bcd06ec6c4f5ce0b953ca611a103357 | |
parent | 854734f0e4ed94492e8c007839e050916454a962 (diff) |
ClientsIconsPlugin. Fix icon if contact in several groups
-rw-r--r-- | clients_icons/clients_icons.py | 21 | ||||
-rw-r--r-- | clients_icons/manifest.ini | 2 |
2 files changed, 13 insertions, 10 deletions
diff --git a/clients_icons/clients_icons.py b/clients_icons/clients_icons.py index 5264a6f..9e07b57 100644 --- a/clients_icons/clients_icons.py +++ b/clients_icons/clients_icons.py @@ -366,12 +366,13 @@ class ClientsIconsPlugin(GajimPlugin): roster.model) if not child_iters: return - if roster.model[child_iters[0]][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, - caps) + 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, iter_, self.renderer_num, + caps) @log_calls('ClientsIconsPlugin') def connect_with_groupchat_control(self, chat_control): @@ -505,8 +506,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) @@ -534,7 +536,8 @@ class ClientsIconsPlugin(GajimPlugin): if caps_from_jid: caps = caps_from_jid - self.set_icon(roster.model, iter_, self.renderer_num, caps) + for iter_ in iters: + self.set_icon(roster.model, iter_, self.renderer_num, caps) def gc_presence_received(self, iq_obj): if not self.config['show_in_groupchats']: diff --git a/clients_icons/manifest.ini b/clients_icons/manifest.ini index 23ab481..23eee79 100644 --- a/clients_icons/manifest.ini +++ b/clients_icons/manifest.ini @@ -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. |