Mercurial > libervia-backend
diff frontends/primitivus/contact_list.py @ 124:961e0898271f
primitivus chat window
- management of one 2 one / group chat
- timestamp displayed
- added shortcuts for showing/hiding panels
- color used
- fixed vcard bug (contact displayed even if not from current profile if vcard changed/not in cache)
- added VerticalSeparator widget
- *List widgets can now use an other widget than SelectableText
- new UnselectableText widget
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 08 Jul 2010 19:47:54 +0800 |
parents | 03d8bcc67182 |
children | 8d611eb9ae48 |
line wrap: on
line diff
--- a/frontends/primitivus/contact_list.py Thu Jul 08 18:29:44 2010 +0800 +++ b/frontends/primitivus/contact_list.py Thu Jul 08 19:47:54 2010 +0800 @@ -21,7 +21,7 @@ import urwid from quick_frontend.quick_contact_list import QuickContactList -from custom_widgets import Password,List,InputDialog,ConfirmDialog,Alert,LabelLine,SurroundedText +import custom_widgets class ContactList(urwid.WidgetWrap, QuickContactList): @@ -30,13 +30,12 @@ def __init__(self, host, CM, on_click=None, on_change=None, user_data=None): self.host = host - self.list_wid = List([], style=['single','no_first_select'], align='left', on_click=self.__contactClicked, on_change=on_change) + self.list_wid = custom_widgets.GenericList([], style=['single','no_first_select'], align='left', on_click=self.__contactClicked, on_change=on_change) #we now build the widget - body_content = urwid.SimpleListWalker([self.list_wid]) - frame_body = urwid.ListBox(body_content) + frame_body = self.list_wid frame = urwid.Frame(frame_body) - self.main_widget = LabelLine(frame,SurroundedText(_("Contacts"))) + self.main_widget = custom_widgets.LabelLine(frame, custom_widgets.SurroundedText(_("Contacts"))) urwid.WidgetWrap.__init__(self, self.main_widget) if on_click: urwid.connect_signal(self, 'click', on_click, user_data) @@ -44,6 +43,10 @@ urwid.connect_signal(self, 'change', on_change, user_data) QuickContactList.__init__(self, CM) + def __contains__(self, jid): + contacts = self.list_wid.getAllValues() + return jid.short in contacts + def __contactClicked(self, list_wid): self._emit('click') @@ -66,7 +69,6 @@ def disconnect(self, jid): """mark a contact disconnected""" - #self.host.debug() self.remove(jid) def remove(self, jid):