diff --git a/src/tooltips.py b/src/tooltips.py
index 6894d1433..6d193abe7 100644
--- a/src/tooltips.py
+++ b/src/tooltips.py
@@ -200,6 +200,23 @@ class BaseTooltip:
status = formatted % ('#555753', status)
return status
+ @staticmethod
+ def colorize_affiliation(affiliation):
+ """
+ Color the affiliation of a MUC participant inside the tooltip by
+ it's semantics. Color palette is the Tango.
+ """
+ formatted = "%s"
+ if affiliation.startswith(Q_("?Group Chat Contact Affiliation:None")):
+ affiliation = formatted % ('#555753', affiliation)
+ elif affiliation.startswith(_("Member")):
+ affiliation = formatted % ('#73D216', affiliation)
+ elif affiliation.startswith(_("Administrator")):
+ affiliation = formatted % ('#F57900', affiliation)
+ elif affiliation.startswith(_("Owner")):
+ affiliation = formatted % ('#CC0000', affiliation)
+ return affiliation
+
class StatusTable:
"""
Contains methods for creating status table. This is used in Roster and
@@ -371,18 +388,20 @@ class GCTooltip(BaseTooltip):
show = self.colorize_status(show)
properties.append((show, None))
- if contact.jid.strip() != '':
- properties.append((_('Jabber ID: '), contact.jid))
+ if contact.jid.strip():
+ properties.append((_('Jabber ID: '), "%s" % contact.jid))
- if hasattr(contact, 'resource') and contact.resource.strip() != '':
+ if hasattr(contact, 'resource') and contact.resource.strip():
properties.append((_('Resource: '),
- gobject.markup_escape_text(contact.resource) ))
+ gobject.markup_escape_text(contact.resource)))
+
if contact.affiliation != 'none':
uf_affiliation = helpers.get_uf_affiliation(contact.affiliation)
- affiliation_str = \
+ uf_affiliation =\
_('%(owner_or_admin_or_member)s of this group chat') %\
{'owner_or_admin_or_member': uf_affiliation}
- properties.append((affiliation_str, None))
+ uf_affiliation = self.colorize_affiliation(uf_affiliation)
+ properties.append((uf_affiliation, None))
# Add avatar
puny_name = helpers.sanitize_filename(contact.name)
@@ -582,7 +601,7 @@ class RosterTooltip(NotificationAreaTooltip):
self._append_pep_info(contact, properties)
- properties.append((_('Jabber ID: '), "%s" % prim_contact.jid ))
+ properties.append((_('Jabber ID: '), "%s" % prim_contact.jid))
# contact has only one ressource
if num_resources == 1 and contact.resource: