toxygen/toxygen/group_chat.py

50 lines
1.6 KiB
Python
Raw Normal View History

2017-07-16 22:11:09 +00:00
import contact
2017-07-17 18:53:35 +00:00
import util
from PyQt5 import QtGui, QtCore
2017-07-18 18:36:14 +00:00
import toxcore_enums_and_consts as constants
2017-07-16 19:51:20 +00:00
2017-07-16 22:11:09 +00:00
class GroupChat(contact.Contact):
2017-07-16 19:51:20 +00:00
def __init__(self, name, status_message, widget, tox, group_number):
2017-07-16 22:11:09 +00:00
super().__init__(None, group_number, name, status_message, widget, None)
2017-07-16 19:51:20 +00:00
self._tox = tox
2017-07-18 18:36:14 +00:00
self.set_status(constants.TOX_USER_STATUS['NONE'])
2017-07-16 19:51:20 +00: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-16 22:11:09 +00:00
super().set_name(title)
2017-07-17 18:53:35 +00:00
def load_avatar(self):
path = util.curr_directory() + '/images/group.png'
width = self._widget.avatar_label.width()
pixmap = QtGui.QPixmap(path)
self._widget.avatar_label.setPixmap(pixmap.scaled(width, width, QtCore.Qt.KeepAspectRatio,
QtCore.Qt.SmoothTransformation))
self._widget.avatar_label.repaint()
def remove_invalid_unsent_files(self):
pass
2017-07-18 18:36:14 +00:00
2017-07-18 20:36:40 +00:00
def get_names(self):
2017-07-18 18:36:14 +00: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 20:36:40 +00:00
return names
def get_full_status(self):
names = self.get_names()
2017-07-18 18:36:14 +00:00
return '\n'.join(names)
2017-07-19 16:39:56 +00:00
def get_peer_name(self, peer_number):
return self._tox.group_peername(self._number, peer_number)