ui updates: messages #3, friend's avatars and aliases
This commit is contained in:
parent
f4ba65b79d
commit
fca6a926b4
3 changed files with 55 additions and 34 deletions
|
|
@ -62,7 +62,7 @@ class Contact(object):
|
|||
widget.name.setText(name)
|
||||
widget.status_message.setText(status_message)
|
||||
self._tox_id = tox_id
|
||||
# self.load_avatar()
|
||||
self.load_avatar()
|
||||
|
||||
# -----------------------------------------------------------------------------------------------------------------
|
||||
# name - current name or alias of user
|
||||
|
|
@ -139,11 +139,23 @@ class Friend(Contact):
|
|||
self._number = number
|
||||
self._new_messages = False
|
||||
self._visible = True
|
||||
self._alias = False
|
||||
|
||||
def __del__(self):
|
||||
self.set_visibility(False)
|
||||
del self._widget
|
||||
|
||||
# -----------------------------------------------------------------------------------------------------------------
|
||||
# Alias support
|
||||
# -----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
def set_name(self, value):
|
||||
if not self._alias:
|
||||
super(self.__class__, self).set_name(value)
|
||||
|
||||
def set_alias(self, alias):
|
||||
self._alias = bool(alias)
|
||||
|
||||
# -----------------------------------------------------------------------------------------------------------------
|
||||
# Visibility in friends' list
|
||||
# -----------------------------------------------------------------------------------------------------------------
|
||||
|
|
@ -200,14 +212,22 @@ class Profile(Contact, Singleton):
|
|||
self._name = tox.self_get_name()
|
||||
self._status_message = tox.self_get_status_message()
|
||||
self._status = None
|
||||
settings = Settings.get_instance()
|
||||
self.show_online = Settings.get_instance()['show_online_friends']
|
||||
aliases = settings['friends_aliases']
|
||||
data = tox.self_get_friend_list()
|
||||
self._friends, num, self._active_friend = [], 0, -1
|
||||
for i in data:
|
||||
tox_id = tox.friend_get_public_key(i)
|
||||
name = tox.friend_get_name(i) or tox_id
|
||||
try:
|
||||
alias = filter(lambda x: x[0] == tox_id, aliases)[0][1]
|
||||
except:
|
||||
alias = ''
|
||||
name = alias or tox.friend_get_name(i) or tox_id
|
||||
status_message = tox.friend_get_status_message(i)
|
||||
self._friends.append(Friend(i, name, status_message, widgets[num], tox_id))
|
||||
friend = Friend(i, name, status_message, widgets[num], tox_id)
|
||||
friend.set_alias(alias)
|
||||
self._friends.append(friend)
|
||||
num += 1
|
||||
self.set_name(tox.self_get_name().encode('utf-8'))
|
||||
self.set_status_message(tox.self_get_status_message().encode('utf-8'))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue