quick_frontend, primitivus (chat): pass a sorted list to Chat.setPresents

This commit is contained in:
souliane 2015-03-11 20:06:13 +01:00
commit b76d829249
2 changed files with 15 additions and 12 deletions

View file

@ -524,8 +524,11 @@ class QuickApp(object):
room_jid = jid.JID(room_jid_s)
chat_widget = self.widgets.getOrCreateWidget(quick_chat.QuickChat, room_jid, type_=C.CHAT_GROUP, profile=profile)
chat_widget.setUserNick(user_nick)
chat_widget.id = room_jid # FIXME: to be removed
chat_widget.setPresents(list(set([user_nick] + room_nicks)))
chat_widget.id = room_jid # FIXME: to be removed
room_nicks = [unicode(nick) for nick in room_nicks] # FIXME: should be done in DBus bridge / is that still needed?!
nicks = list(set([user_nick] + room_nicks))
nicks.sort()
chat_widget.setPresents(nicks)
self.contact_lists[profile].setSpecial(room_jid, C.CONTACT_SPECIAL_GROUP)
def roomLeftHandler(self, room_jid_s, profile):

View file

@ -93,13 +93,14 @@ class QuickChat(quick_widgets.QuickWidget):
return False
def setPresents(self, nicks):
"""Set the users presents in the contact list for a group chat
@param nicks: list of nicknames
"""Set the occupants of a group chat.
@param nicks (list[unicode]): sorted list of nicknames
"""
log.debug (_("Adding users %s to room") % nicks)
log.debug(_("Adding users %s to room") % nicks)
if self.type != C.CHAT_GROUP:
log.error (_("[INTERNAL] trying to set presents nicks for a non group chat window"))
raise Exception("INTERNAL ERROR") #TODO: raise proper Exception here
log.error(_("[INTERNAL] trying to set presents nicks for a non group chat window"))
raise Exception("INTERNAL ERROR") # TODO: raise proper Exception here
self.occupants.update(nicks)
def replaceUser(self, nick, show_info=True):