wrapper update and minor fixes
This commit is contained in:
parent
c7a83055b1
commit
25de4fa2ef
3 changed files with 24 additions and 14 deletions
|
@ -179,7 +179,11 @@ class ContactsManager(ToxSave):
|
|||
part2 = sorted(part2, key=key_lambda)
|
||||
self._contacts = part1 + part2
|
||||
elif sorting == 0:
|
||||
self._contacts = sorted(self._contacts, key=lambda x: x.number)
|
||||
contacts = sorted(self._contacts, key=lambda c: c.number)
|
||||
friends = filter(lambda c: type(c) is Friend, contacts)
|
||||
groups = filter(lambda c: type(c) is GroupChat, contacts)
|
||||
group_peers = filter(lambda c: type(c) is GroupPeerContact, contacts)
|
||||
self._contacts = list(friends) + list(groups) + list(group_peers)
|
||||
else:
|
||||
self._contacts = sorted(self._contacts, key=lambda x: x.name.lower())
|
||||
|
||||
|
@ -194,6 +198,7 @@ class ContactsManager(ToxSave):
|
|||
friend.visibility = (friend.status is not None or sorting not in (1, 4)) and filtered_by_name
|
||||
# show friend even if it's hidden when there any unread messages/actions
|
||||
friend.visibility = friend.visibility or friend.messages or friend.actions
|
||||
# TODO: calculate height
|
||||
if friend.visibility:
|
||||
self._screen.friends_list.item(index).setSizeHint(QtCore.QSize(250, self._friend_item_height))
|
||||
else:
|
||||
|
@ -542,10 +547,7 @@ class ContactsManager(ToxSave):
|
|||
remove(avatar_path)
|
||||
|
||||
def _delete_contact(self, num):
|
||||
if len(self._contacts) == 1:
|
||||
self.set_active(-1)
|
||||
else:
|
||||
self.set_active(0)
|
||||
self.set_active(-1 if len(self._contacts) == 1 else 0)
|
||||
|
||||
self._contact_provider.remove_contact_from_cache(self._contacts[num].tox_id)
|
||||
del self._contacts[num]
|
||||
|
|
|
@ -104,7 +104,7 @@ class GroupsService(tox_save.ToxSave):
|
|||
def set_group_topic(self, group):
|
||||
if not group.is_moderator_or_founder():
|
||||
return
|
||||
text = util_ui.tr('New topic for group {}:'.format(group.name))
|
||||
text = util_ui.tr('New topic for group "{}":'.format(group.name))
|
||||
title = util_ui.tr('Set group topic')
|
||||
topic, ok = util_ui.text_dialog(text, title, group.status_message)
|
||||
if not ok or not topic:
|
||||
|
@ -151,6 +151,7 @@ class GroupsService(tox_save.ToxSave):
|
|||
self_peer = group.get_self_peer()
|
||||
self_peer.name = name
|
||||
self_peer.status = status
|
||||
self.generate_peers_list()
|
||||
|
||||
# -----------------------------------------------------------------------------------------------------------------
|
||||
# Private methods
|
||||
|
|
|
@ -1940,6 +1940,13 @@ class Tox:
|
|||
result = Tox.libtoxcore.tox_group_get_number_groups(self._tox_pointer)
|
||||
return result
|
||||
|
||||
def groups_get_list(self):
|
||||
groups_list_size = self.group_get_number_groups()
|
||||
groups_list = create_string_buffer(sizeof(c_uint32) * groups_list_size)
|
||||
groups_list = POINTER(c_uint32)(groups_list)
|
||||
Tox.libtoxcore.tox_groups_get_list(self._tox_pointer, groups_list)
|
||||
return groups_list[0:groups_list_size]
|
||||
|
||||
def group_get_privacy_state(self, group_number):
|
||||
"""
|
||||
Return the privacy state of the group designated by the given group number. If group number
|
||||
|
@ -2461,7 +2468,7 @@ class Tox:
|
|||
create_string_buffer(sizeof(c_uint32) * self.group_ban_get_list_size(group_number)), byref(error)))
|
||||
return result
|
||||
|
||||
def group_ban_get_name_size(self, group_number, ban_id):
|
||||
def group_ban_get_target_size(self, group_number, ban_id):
|
||||
"""
|
||||
Return the length of the name for the ban list entry designated by ban_id, in the
|
||||
group designated by the given group number. If either group_number or ban_id is invalid,
|
||||
|
@ -2469,10 +2476,10 @@ class Tox:
|
|||
"""
|
||||
|
||||
error = c_int()
|
||||
result = Tox.libtoxcore.tox_group_ban_get_name_size(self._tox_pointer, group_number, ban_id, byref(error))
|
||||
result = Tox.libtoxcore.tox_group_ban_get_target_size(self._tox_pointer, group_number, ban_id, byref(error))
|
||||
return result
|
||||
|
||||
def group_ban_get_name(self, group_number, ban_id):
|
||||
def group_ban_get_target(self, group_number, ban_id):
|
||||
"""
|
||||
Write the name of the ban entry designated by ban_id in the group designated by the
|
||||
given group number to a byte array.
|
||||
|
@ -2483,12 +2490,12 @@ class Tox:
|
|||
"""
|
||||
|
||||
error = c_int()
|
||||
size = self.group_ban_get_name_size(group_number, ban_id)
|
||||
name = create_string_buffer()
|
||||
size = self.group_ban_get_target_size(group_number, ban_id)
|
||||
target = create_string_buffer(size)
|
||||
|
||||
result = Tox.libtoxcore.tox_group_ban_get_name(self._tox_pointer, group_number, ban_id,
|
||||
name, byref(error))
|
||||
return str(name[:size], 'utf-8')
|
||||
result = Tox.libtoxcore.tox_group_ban_get_target(self._tox_pointer, group_number, ban_id,
|
||||
target, byref(error))
|
||||
return str(target[:size], 'utf-8')
|
||||
|
||||
def group_ban_get_time_set(self, group_number, ban_id):
|
||||
"""
|
||||
|
|
Loading…
Reference in a new issue