diff options
author | Denis Fomin <fominde@gmail.com> | 2010-10-21 11:58:56 +0400 |
---|---|---|
committer | Denis Fomin <fominde@gmail.com> | 2010-10-21 11:58:56 +0400 |
commit | 467cd5c18f738b32bef9426969ca87c2a6c4cbeb (patch) | |
tree | c6c9d4ead76a3c440b3d0c515f6eafb0b85dfa1c /clients_icons | |
parent | 3eda50f2880e875a0788837fa069f08dd944af38 (diff) |
clients_icons. fix metacontact. Changing the settings take effect without reconnect(roster icons.not in MUC)
Diffstat (limited to 'clients_icons')
-rw-r--r-- | clients_icons/clients_icons.py | 29 | ||||
-rw-r--r--[-rwxr-xr-x] | clients_icons/icons/coccinella.png | bin | 1130 -> 1130 bytes | |||
-rw-r--r--[-rwxr-xr-x] | clients_icons/icons/juick.png | bin | 1555 -> 1555 bytes | |||
-rw-r--r--[-rwxr-xr-x] | clients_icons/icons/pyicq-t.png | bin | 2280 -> 2280 bytes | |||
-rw-r--r-- | clients_icons/manifest.ini | 3 |
5 files changed, 29 insertions, 3 deletions
diff --git a/clients_icons/clients_icons.py b/clients_icons/clients_icons.py index 625312b..dbef054 100644 --- a/clients_icons/clients_icons.py +++ b/clients_icons/clients_icons.py @@ -91,7 +91,10 @@ class ClientsIconsPlugin(GajimPlugin): (ged.POSTGUI, self.gc_presence_received),} self.gui_extension_points = { 'groupchat_control' : (self.connect_with_groupchat_control, - self.disconnect_from_groupchat_control)} + self.disconnect_from_groupchat_control), + 'roster_draw_contact' : (self.connect_with_roster_draw_contact, + self.disconnect_from_roster_draw_contact) + } self.config_default_values = { 'show_in_roster': (True,''), 'show_in_groupchats': (True,''), @@ -104,6 +107,22 @@ class ClientsIconsPlugin(GajimPlugin): 16, 16) @log_calls('ClientsIconsPlugin') + def connect_with_roster_draw_contact(self, roster, jid, account, contact): + if not self.active: + return + if not self.config['show_in_roster']: + return + child_iters = roster._get_contact_iter(jid, account, contact, + 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 and jid == 'juick@juick.com': + caps = 'http://juick.com/caps' + self.set_icon(roster.model, child_iters[0], self.renderer_num, caps) + + @log_calls('ClientsIconsPlugin') def connect_with_groupchat_control(self, chat_control): chat_control.nb_ext_renderers += 1 chat_control.columns += [gtk.gdk.Pixbuf] @@ -139,6 +158,11 @@ class ClientsIconsPlugin(GajimPlugin): pass @log_calls('ClientsIconsPlugin') + def disconnect_from_roster_draw_contact(self, roster, jid, account, + contact): + pass + + @log_calls('ClientsIconsPlugin') def activate(self): roster = gajim.interface.roster col = gtk.TreeViewColumn() @@ -280,7 +304,8 @@ class ClientsIconsPluginConfigDialog(GajimPluginConfigDialog): self.combo.set_active(self.plugin.config['pos_in_list']) def on_hide(self, widget): - pass + self.plugin.deactivate() + self.plugin.activate() def on_run(self): self.xml.get_object('show_in_roster').set_active( diff --git a/clients_icons/icons/coccinella.png b/clients_icons/icons/coccinella.png Binary files differindex 48fdcf8..48fdcf8 100755..100644 --- a/clients_icons/icons/coccinella.png +++ b/clients_icons/icons/coccinella.png diff --git a/clients_icons/icons/juick.png b/clients_icons/icons/juick.png Binary files differindex 62d02cb..62d02cb 100755..100644 --- a/clients_icons/icons/juick.png +++ b/clients_icons/icons/juick.png diff --git a/clients_icons/icons/pyicq-t.png b/clients_icons/icons/pyicq-t.png Binary files differindex 1e2663c..1e2663c 100755..100644 --- a/clients_icons/icons/pyicq-t.png +++ b/clients_icons/icons/pyicq-t.png diff --git a/clients_icons/manifest.ini b/clients_icons/manifest.ini index 9eb86f5..cab3541 100644 --- a/clients_icons/manifest.ini +++ b/clients_icons/manifest.ini @@ -1,8 +1,9 @@ [info] name: Clients icons short_name: clients_icons -version: 0.3 +version: 0.4 description: Shows the client icons in the roster and in groupchats. + Depends: Gajim > r12506 authors = Denis Fomin <fominde@gmail.com> homepage = http://trac-plugins.gajim.org/wiki/ClientsIcons |