Exemplo n.º 1
0
 def setup_message_box_layout(self):
     container_layout = QtWidgets.QHBoxLayout()
     text_area_layout = QtWidgets.QVBoxLayout()
     if self.chat_window.user["username"] == self.username:
         text_area_layout.addWidget(self.messageBox)
         self.textArea.setLayout(text_area_layout)
         container_layout.addStretch()
         container_layout.addWidget(self.textArea)
     else:
         username_label = QtWidgets.QLabel(f"{self.username}")
         username_label.setContentsMargins(5, 5, 5, 0)
         label_font = QtGui.QFont()
         label_font.setBold(True)
         username_label.setFont(label_font)
         text_area_layout.addWidget(username_label)
         text_area_layout.addWidget(self.messageBox)
         self.textArea.setLayout(text_area_layout)
         container_layout.addWidget(self.textArea)
         container_layout.addStretch()
     for reply in self.replies:
         self.add_message_reply(reply)
     self.textArea.layout().setSpacing(0)
     self.textArea.layout().setContentsMargins(0, 0, 0, 0)
     container_layout.setSpacing(0)
     container_layout.setContentsMargins(5, 5, 5, 5)
     self.set_message_style()
     self.setLayout(container_layout)
Exemplo n.º 2
0
 def add_message_reply(self, reply):
     if self.replyArea is None:
         self.insert_reply_area()
     reply_username_label = QtWidgets.QLabel(f'{reply["username"]}:')
     label_font = QtGui.QFont()
     label_font.setBold(True)
     reply_username_label.setFont(label_font)
     reply_message_box = self.get_text_browser(reply["text"])
     self.replyArea.layout().addRow(reply_username_label, reply_message_box)
Exemplo n.º 3
0
 def setup_image_message_box(self):
     MAX_WIDTH = MAX_HEIGHT = 300
     self.messageBox = QtWidgets.QLabel()
     img_url = url_join(self.chat_window.mscolab_server_url,
                        self.attachment_path)
     data = requests.get(img_url).content
     image = QtGui.QImage()
     image.loadFromData(data)
     self.message_image = image
     width, height = image.size().width(), image.size().height()
     if width > height and width > MAX_WIDTH:
         image = image.scaledToWidth(MAX_WIDTH)
     elif height > width and height > MAX_HEIGHT:
         image = image.scaledToHeight(MAX_HEIGHT)
     self.messageBox.setPixmap(QtGui.QPixmap(image))
     self.messageBox.setContentsMargins(0, 5, 0, 5)
     self.messageBox.show()