diff --git a/src/chat_control.py b/src/chat_control.py index 93489437a334538e24ad11fb43fbfbbf20b14d30..77ceca0ffb6b857c62420f28dfad2b825f07424b 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -1239,12 +1239,15 @@ def update_activity(self): if activity is not None: if activity in ACTIVITIES: - self._activity_image.set_from_pixbuf( - gtkgui_helpers.load_activity_icon(activity).get_pixbuf()) # Translate standard activities if subactivity in ACTIVITIES[activity]: - subactivity = ACTIVITIES[activity] \ - [subactivity] + self._activity_image.set_from_pixbuf( + gtkgui_helpers.load_activity_icon(activity, subactivity). \ + get_pixbuf()) + subactivity = ACTIVITIES[activity][subactivity] + else: + self._activity_image.set_from_pixbuf( + gtkgui_helpers.load_activity_icon(activity).get_pixbuf()) activity = ACTIVITIES[activity]['category'] else: self._activity_image.set_from_pixbuf( diff --git a/src/roster_window.py b/src/roster_window.py index d84cd04ad87ac8e34c1745d30bd3cab595a93a2e..81fb8ff6a4f9c69ded46d62c62e74e94a304a150 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -996,10 +996,19 @@ def draw_account(self, account): and 'activity' in gajim.connections[account].activity \ and gajim.connections[account].activity['activity'].strip() \ in ACTIVITIES: - self.model[child_iter][C_ACTIVITY_PIXBUF] = \ - gtkgui_helpers.load_activity_icon( - gajim.connections[account]. \ - activity['activity'].strip()).get_pixbuf() + if 'subactivity' in gajim.connections[account].activity \ + and gajim.connections[account].activity['subactivity'].strip() \ + in ACTIVITIES[gajim.connections[account].activity['activity'].strip()]: + self.model[child_iter][C_ACTIVITY_PIXBUF] = \ + gtkgui_helpers.load_activity_icon( + gajim.connections[account].activity['activity'].strip(), + gajim.connections[account].activity['subactivity'].strip()). \ + get_pixbuf() + else: + self.model[child_iter][C_ACTIVITY_PIXBUF] = \ + gtkgui_helpers.load_activity_icon( + gajim.connections[account].activity['activity'].strip()). \ + get_pixbuf() elif gajim.config.get('show_activity_in_roster') \ and 'activity' in gajim.connections[account].activity: self.model[child_iter][C_ACTIVITY_PIXBUF] = \ @@ -1247,8 +1256,15 @@ def draw_activity(self, jid, account): contact = gajim.contacts.get_contact(account, jid) if 'activity' in contact.activity \ and contact.activity['activity'].strip() in ACTIVITIES: - pixbuf = gtkgui_helpers.load_activity_icon( - contact.activity['activity'].strip()).get_pixbuf() + if 'subactivity' in contact.activity \ + and contact.activity['subactivity'].strip() in \ + ACTIVITIES[contact.activity['activity'].strip()]: + pixbuf = gtkgui_helpers.load_activity_icon( + contact.activity['activity'].strip(), + contact.activity['subactivity'].strip()).get_pixbuf() + else: + pixbuf = gtkgui_helpers.load_activity_icon( + contact.activity['activity'].strip()).get_pixbuf() elif 'activity' in contact.activity: pixbuf = gtkgui_helpers.load_activity_icon( 'unknown').get_pixbuf()