summaryrefslogtreecommitdiff
path: root/src/windows.py
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2011-01-11 03:41:06 +0100
committerFlorent Le Coz <louiz@louiz.org>2011-01-11 03:41:06 +0100
commit6bb94cdf0b88671b2ac12eb67f70555da565f238 (patch)
tree6fb43bdcc79ba075c4d63963d7517761a4f4933f /src/windows.py
parentf7102ae33d0ab2cec6b414b61f39c4c2d9bae1b0 (diff)
downloadpoezio-6bb94cdf0b88671b2ac12eb67f70555da565f238.tar.gz
poezio-6bb94cdf0b88671b2ac12eb67f70555da565f238.tar.bz2
poezio-6bb94cdf0b88671b2ac12eb67f70555da565f238.tar.xz
poezio-6bb94cdf0b88671b2ac12eb67f70555da565f238.zip
Displays the subscription and Ask states in the roster
Diffstat (limited to 'src/windows.py')
-rw-r--r--src/windows.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/windows.py b/src/windows.py
index 0268bef0..4020e72b 100644
--- a/src/windows.py
+++ b/src/windows.py
@@ -1268,13 +1268,13 @@ class RosterWin(Win):
else:
presence = resource.get_presence()
folder = '[+]' if contact._folded else '[-]'
- nb = '(%s)' % (contact.get_nb_resources(),)
+ nb = ' (%s)' % (contact.get_nb_resources(),)
color = RosterWin.color_show[presence]
if contact.get_name():
- display_name = '%s (%s) %s' % (contact.get_name(),
+ display_name = '%s (%s)%s' % (contact.get_name(),
contact.get_bare_jid(), nb,)
else:
- display_name = '%s %s' % (contact.get_bare_jid(), nb,)
+ display_name = '%s%s' % (contact.get_bare_jid(), nb,)
self.addstr(y, 1, " ", curses.color_pair(color))
if resource:
self.addstr(y, 2, ' [+]' if contact._folded else ' [-]')
@@ -1283,6 +1283,8 @@ class RosterWin(Win):
self.addstr(display_name, curses.color_pair(14))
else:
self.addstr(display_name)
+ if contact.get_ask():
+ self.addstr('?', curses.color_pair(1))
def draw_resource_line(self, y, resource, colored):
"""
@@ -1305,17 +1307,24 @@ class ContactInfoWin(Win):
def resize(self, height, width, y, x, stdscr):
self._resize(height, width, y, x, stdscr)
- def draw_contact_info(self, resource, jid=None):
+ def draw_contact_info(self, contact):
"""
draw the contact information
"""
- jid = jid or resource.get_jid().full
+ if contact:
+ jid = contact.get_bare_jid()
+ else:
+ jid = jid or resource.get_jid().full
+ resource = contact.get_highest_priority_resource()
if resource:
presence = resource.get_presence()
else:
presence = 'unavailable'
self.addstr(0, 0, '%s (%s)'%(jid, presence,), curses.color_pair(theme.COLOR_INFORMATION_BAR))
self.finish_line(theme.COLOR_INFORMATION_BAR)
+ self.addstr(1, 0, 'Subscription: %s' % (contact.get_subscription(),))
+ if contact.get_ask():
+ self.addstr(' Ask: %s' % (contact.get_ask(),), curses.color_pair(1))
def draw_group_info(self, group):
"""
@@ -1330,10 +1339,9 @@ class ContactInfoWin(Win):
if isinstance(selected_row, RosterGroup):
self.draw_group_info(selected_row)
elif isinstance(selected_row, Contact):
- self.draw_contact_info(selected_row.get_highest_priority_resource(),
- selected_row.get_bare_jid())
- elif isinstance(selected_row, Resource):
self.draw_contact_info(selected_row)
+ # elif isinstance(selected_row, Resource):
+ # self.draw_contact_info(None, selected_row)
self._refresh()
class ListWin(Win):