Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim-plugins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Fomin <fominde@gmail.com>2013-04-26 15:52:12 +0400
committerDenis Fomin <fominde@gmail.com>2013-04-26 15:52:12 +0400
commite0df92a45c8e1501a32420ab58b97d4e228835ef (patch)
treeca0a15b27bcd06ec6c4f5ce0b953ca611a103357
parent854734f0e4ed94492e8c007839e050916454a962 (diff)
ClientsIconsPlugin. Fix icon if contact in several groups
-rw-r--r--clients_icons/clients_icons.py21
-rw-r--r--clients_icons/manifest.ini2
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.