toxygen/toxygen/contacts/group_chat.py

48 lines
1.4 KiB
Python
Raw Normal View History

from contacts import contact
2018-05-10 19:47:34 +02:00
import utils.util as util
2017-07-17 20:53:35 +02:00
from PyQt5 import QtGui, QtCore
from wrapper import toxcore_enums_and_consts as constants
2017-07-16 21:51:20 +02:00
# TODO: ngc
2017-07-17 00:11:09 +02:00
class GroupChat(contact.Contact):
2017-07-16 21:51:20 +02:00
2018-04-18 22:55:51 +02:00
def __init__(self, profile_manager, name, status_message, widget, tox, group_number):
super().__init__(None, group_number, profile_manager, name, status_message, widget, None)
2017-07-16 21:51:20 +02:00
self._tox = tox
2017-07-18 20:36:14 +02:00
self.set_status(constants.TOX_USER_STATUS['NONE'])
2017-07-16 21:51:20 +02:00
def set_name(self, name):
self._tox.group_set_title(self._number, name)
super().set_name(name)
def send_message(self, message):
self._tox.group_message_send(self._number, message.encode('utf-8'))
def new_title(self, title):
2017-07-17 00:11:09 +02:00
super().set_name(title)
2017-07-17 20:53:35 +02:00
2018-04-18 22:55:51 +02:00
@staticmethod
2018-05-18 23:07:49 +02:00
def _get_default_avatar_path():
return util.join_path(util.get_images_directory(), 'group.png')
2017-07-17 20:53:35 +02:00
def remove_invalid_unsent_files(self):
pass
2017-07-18 20:36:14 +02:00
2017-07-18 22:36:40 +02:00
def get_names(self):
2017-07-18 20:36:14 +02:00
peers_count = self._tox.group_number_peers(self._number)
names = []
for i in range(peers_count):
name = self._tox.group_peername(self._number, i)
names.append(name)
names = sorted(names, key=lambda n: n.lower())
2017-07-18 22:36:40 +02:00
return names
def get_full_status(self):
names = self.get_names()
2017-07-18 20:36:14 +02:00
return '\n'.join(names)
2017-07-19 18:39:56 +02:00
def get_peer_name(self, peer_number):
return self._tox.group_peername(self._number, peer_number)