contact list loading

This commit is contained in:
ingvar1995 2018-04-30 22:28:33 +03:00
parent c81d9a3696
commit ddf6cd8328
9 changed files with 310 additions and 287 deletions

View file

@ -8,11 +8,11 @@ class ItemsFactory:
self._smiley_loader, self._main_screen = smiley_loader, main_screen
def friend_item(self):
item = ContactItem()
elem = QtWidgets.QListWidgetItem(self._friends)
item = ContactItem(self._settings)
elem = QtWidgets.QListWidgetItem(self._main_screen.friends_list)
elem.setSizeHint(QtCore.QSize(250, item.height()))
self._friends.addItem(elem)
self._friends.setItemWidget(elem, item)
self._main_screen.friends_list.addItem(elem)
self._main_screen.friends_list.setItemWidget(elem, item)
return item
def message_item(self, text, time, name, sent, message_type, append, pixmap):

View file

@ -15,9 +15,9 @@ class ContactItem(QtWidgets.QWidget):
Contact in friends list
"""
def __init__(self, parent=None):
def __init__(self, settings, parent=None):
QtWidgets.QWidget.__init__(self, parent)
mode = settings.Settings.get_instance()['compact_mode']
mode = settings['compact_mode']
self.setBaseSize(QtCore.QSize(250, 40 if mode else 70))
self.avatar_label = QtWidgets.QLabel(self)
size = 32 if mode else 64
@ -27,7 +27,7 @@ class ContactItem(QtWidgets.QWidget):
self.name = DataLabel(self)
self.name.setGeometry(QtCore.QRect(50 if mode else 75, 3 if mode else 10, 150, 15 if mode else 25))
font = QtGui.QFont()
font.setFamily(settings.Settings.get_instance()['font'])
font.setFamily(settings['font'])
font.setPointSize(10 if mode else 12)
font.setBold(True)
self.name.setFont(font)
@ -38,7 +38,7 @@ class ContactItem(QtWidgets.QWidget):
self.status_message.setFont(font)
self.connection_status = StatusCircle(self)
self.connection_status.setGeometry(QtCore.QRect(230, -2 if mode else 5, 32, 32))
self.messages = UnreadMessagesCount(self)
self.messages = UnreadMessagesCount(settings, self)
self.messages.setGeometry(QtCore.QRect(20 if mode else 52, 20 if mode else 50, 30, 20))
@ -77,23 +77,24 @@ class StatusCircle(QtWidgets.QWidget):
class UnreadMessagesCount(QtWidgets.QWidget):
def __init__(self, parent=None):
super(UnreadMessagesCount, self).__init__(parent)
def __init__(self, settings, parent=None):
super().__init__(parent)
self._settings = settings
self.resize(30, 20)
self.label = QtWidgets.QLabel(self)
self.label.setGeometry(QtCore.QRect(0, 0, 30, 20))
self.label.setVisible(False)
font = QtGui.QFont()
font.setFamily(settings.Settings.get_instance()['font'])
font.setFamily(settings['font'])
font.setPointSize(12)
font.setBold(True)
self.label.setFont(font)
self.label.setAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter)
color = settings.Settings.get_instance()['unread_color']
color = settings['unread_color']
self.label.setStyleSheet('QLabel { color: white; background-color: ' + color + '; border-radius: 10; }')
def update(self, messages_count):
color = settings.Settings.get_instance()['unread_color']
color = self._settings['unread_color']
self.label.setStyleSheet('QLabel { color: white; background-color: ' + color + '; border-radius: 10; }')
if messages_count:
self.label.setVisible(True)