From b7c7beafd96de0665581a7f4814c63468b24b482 Mon Sep 17 00:00:00 2001 From: Stephan Erb Date: Sun, 15 Nov 2009 17:00:39 +0100 Subject: [PATCH] Unify the PEP drawing methods in the RosterWindow. --- src/roster_window.py | 46 ++++++++++++-------------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/src/roster_window.py b/src/roster_window.py index 4206a2844..01be6b2cc 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -1276,53 +1276,31 @@ class RosterWindow: return False - def draw_mood(self, jid, account): - iters = self._get_contact_iter(jid, account, model=self.model) - if not iters or not gajim.config.get('show_mood_in_roster'): - return - jid = self.model[iters[0]][C_JID].decode('utf-8') - contact = gajim.contacts.get_contact(account, jid) - if 'mood' in contact.pep: - pixbuf = contact.pep['mood'].asPixbufIcon() - else: - pixbuf = None - for child_iter in iters: - self.model[child_iter][C_MOOD_PIXBUF] = pixbuf - return False - + if gajim.config.get('show_mood_in_roster'): + self._draw_pep(jid, account, 'tune', C_MOOD_PIXBUF) def draw_activity(self, jid, account): - iters = self._get_contact_iter(jid, account, model=self.model) - if not iters or not gajim.config.get('show_activity_in_roster'): - return - jid = self.model[iters[0]][C_JID] - jid = jid.decode('utf-8') - contact = gajim.contacts.get_contact(account, jid) - if 'activity' in contact.pep: - pixbuf = contact.pep['activity'].asPixbufIcon() - else: - pixbuf = None - for child_iter in iters: - self.model[child_iter][C_ACTIVITY_PIXBUF] = pixbuf - return False - + if gajim.config.get('show_activity_in_roster'): + self._draw_pep(jid, account, 'tune', C_ACTIVITY_PIXBUF) def draw_tune(self, jid, account): + if gajim.config.get('show_tunes_in_roster'): + self._draw_pep(jid, account, 'tune', C_TUNE_PIXBUF) + + def _draw_pep(self, jid, account, pep_type, model_column): iters = self._get_contact_iter(jid, account, model=self.model) - if not iters or not gajim.config.get('show_tunes_in_roster'): + if not iters: return jid = self.model[iters[0]][C_JID] jid = jid.decode('utf-8') contact = gajim.contacts.get_contact(account, jid) - if 'tune' in contact.pep: - pixbuf = contact.pep['tune'].asPixbufIcon() + if pep_type in contact.pep: + pixbuf = contact.pep[pep_type].asPixbufIcon() else: pixbuf = None for child_iter in iters: - self.model[child_iter][C_TUNE_PIXBUF] = pixbuf - return False - + self.model[child_iter][model_column] = pixbuf def draw_avatar(self, jid, account): iters = self._get_contact_iter(jid, account, model=self.model)