window resizing
This commit is contained in:
		
							parent
							
								
									2c215ef0c6
								
							
						
					
					
						commit
						7a02ae3ef4
					
				
					 3 changed files with 50 additions and 28 deletions
				
			
		| 
						 | 
					@ -136,10 +136,10 @@ class StatusCircle(QtGui.QWidget):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class FileTransferItem(QtGui.QListWidget):
 | 
					class FileTransferItem(QtGui.QListWidget):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, file_name, size, time, user, friend_number, file_number, state, parent=None):
 | 
					    def __init__(self, file_name, size, time, user, friend_number, file_number, state, width, parent=None):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        QtGui.QListWidget.__init__(self, parent)
 | 
					        QtGui.QListWidget.__init__(self, parent)
 | 
				
			||||||
        self.resize(QtCore.QSize(620, 50))
 | 
					        self.resize(QtCore.QSize(width, 50))
 | 
				
			||||||
        if state != FILE_TRANSFER_MESSAGE_STATUS['CANCELLED']:
 | 
					        if state != FILE_TRANSFER_MESSAGE_STATUS['CANCELLED']:
 | 
				
			||||||
            self.setStyleSheet('QWidget { background-color: green; }')
 | 
					            self.setStyleSheet('QWidget { background-color: green; }')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
| 
						 | 
					@ -237,23 +237,24 @@ class FileTransferItem(QtGui.QListWidget):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class InlineImageItem(QtGui.QWidget):
 | 
					class InlineImageItem(QtGui.QWidget):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, data, parent=None):
 | 
					    def __init__(self, data, width, parent=None):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        QtGui.QWidget.__init__(self, parent)
 | 
					        QtGui.QWidget.__init__(self, parent)
 | 
				
			||||||
        self.resize(QtCore.QSize(620, 500))
 | 
					        self.resize(QtCore.QSize(width, 500))
 | 
				
			||||||
        self._image_label = QtGui.QLabel(self)
 | 
					        self._image_label = QtGui.QLabel(self)
 | 
				
			||||||
        self._image_label.raise_()
 | 
					        self._image_label.raise_()
 | 
				
			||||||
        self._image_label.setAutoFillBackground(True)
 | 
					        self._image_label.setAutoFillBackground(True)
 | 
				
			||||||
        self._image_label.setScaledContents(False)
 | 
					        self._image_label.setScaledContents(False)
 | 
				
			||||||
        self.pixmap = QtGui.QPixmap()
 | 
					        self.pixmap = QtGui.QPixmap()
 | 
				
			||||||
        self.pixmap.loadFromData(QtCore.QByteArray(data), "PNG")
 | 
					        self.pixmap.loadFromData(QtCore.QByteArray(data), "PNG")
 | 
				
			||||||
        if self.pixmap.width() <= 600:
 | 
					        max_size = width - 50
 | 
				
			||||||
 | 
					        if self.pixmap.width() <= max_size:
 | 
				
			||||||
            self._image_label.setPixmap(self.pixmap)
 | 
					            self._image_label.setPixmap(self.pixmap)
 | 
				
			||||||
            self.resize(QtCore.QSize(600, self.pixmap.height()))
 | 
					            self.resize(QtCore.QSize(max_size, self.pixmap.height()))
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            pixmap = self.pixmap.scaled(600, 600, QtCore.Qt.KeepAspectRatio)
 | 
					            pixmap = self.pixmap.scaled(max_size, max_size, QtCore.Qt.KeepAspectRatio)
 | 
				
			||||||
            self._image_label.setPixmap(pixmap)
 | 
					            self._image_label.setPixmap(pixmap)
 | 
				
			||||||
            self.resize(QtCore.QSize(600, pixmap.height()))
 | 
					            self.resize(QtCore.QSize(max_size, pixmap.height()))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -109,36 +109,37 @@ class MainWindow(QtGui.QMainWindow):
 | 
				
			||||||
        self.actionAbout_program.setText(QtGui.QApplication.translate("MainWindow", "About program", None, QtGui.QApplication.UnicodeUTF8))
 | 
					        self.actionAbout_program.setText(QtGui.QApplication.translate("MainWindow", "About program", None, QtGui.QApplication.UnicodeUTF8))
 | 
				
			||||||
        self.actionSettings.setText(QtGui.QApplication.translate("MainWindow", "Settings", None, QtGui.QApplication.UnicodeUTF8))
 | 
					        self.actionSettings.setText(QtGui.QApplication.translate("MainWindow", "Settings", None, QtGui.QApplication.UnicodeUTF8))
 | 
				
			||||||
        self.audioSettings.setText(QtGui.QApplication.translate("MainWindow", "Audio", None, QtGui.QApplication.UnicodeUTF8))
 | 
					        self.audioSettings.setText(QtGui.QApplication.translate("MainWindow", "Audio", None, QtGui.QApplication.UnicodeUTF8))
 | 
				
			||||||
 | 
					        self.contact_name.setPlaceholderText(QtGui.QApplication.translate("MainWindow", "Find contact", None, QtGui.QApplication.UnicodeUTF8))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def setup_right_bottom(self, Form):
 | 
					    def setup_right_bottom(self, Form):
 | 
				
			||||||
        Form.setObjectName("right_bottom")
 | 
					        Form.setObjectName("right_bottom")
 | 
				
			||||||
        Form.resize(650, 100)
 | 
					        Form.resize(650, 80)
 | 
				
			||||||
        self.messageEdit = MessageArea(Form, self)
 | 
					        self.messageEdit = MessageArea(Form, self)
 | 
				
			||||||
        self.messageEdit.setGeometry(QtCore.QRect(0, 10, 450, 110))
 | 
					        self.messageEdit.setGeometry(QtCore.QRect(0, 5, 450, 70))
 | 
				
			||||||
        self.messageEdit.setObjectName("messageEdit")
 | 
					        self.messageEdit.setObjectName("messageEdit")
 | 
				
			||||||
        self.screenshotButton = QtGui.QPushButton(Form)
 | 
					        self.screenshotButton = QtGui.QPushButton(Form)
 | 
				
			||||||
        self.screenshotButton.setGeometry(QtCore.QRect(460, 10, 90, 55))
 | 
					        self.screenshotButton.setGeometry(QtCore.QRect(455, 5, 55, 70))
 | 
				
			||||||
        self.screenshotButton.setObjectName("screenshotButton")
 | 
					        self.screenshotButton.setObjectName("screenshotButton")
 | 
				
			||||||
        self.fileTransferButton = QtGui.QPushButton(Form)
 | 
					        self.fileTransferButton = QtGui.QPushButton(Form)
 | 
				
			||||||
        self.fileTransferButton.setGeometry(QtCore.QRect(460, 65, 90, 55))
 | 
					        self.fileTransferButton.setGeometry(QtCore.QRect(510, 5, 55, 70))
 | 
				
			||||||
        self.fileTransferButton.setObjectName("fileTransferButton")
 | 
					        self.fileTransferButton.setObjectName("fileTransferButton")
 | 
				
			||||||
        self.sendMessageButton = QtGui.QPushButton(Form)
 | 
					        self.sendMessageButton = QtGui.QPushButton(Form)
 | 
				
			||||||
        self.sendMessageButton.setGeometry(QtCore.QRect(550, 10, 70, 110))
 | 
					        self.sendMessageButton.setGeometry(QtCore.QRect(565, 5, 55, 70))
 | 
				
			||||||
        self.sendMessageButton.setObjectName("sendMessageButton")
 | 
					        self.sendMessageButton.setObjectName("sendMessageButton")
 | 
				
			||||||
        self.sendMessageButton.clicked.connect(self.send_message)
 | 
					        self.sendMessageButton.clicked.connect(self.send_message)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        pixmap = QtGui.QPixmap(curr_directory() + '/images/send.png')
 | 
					        pixmap = QtGui.QPixmap(curr_directory() + '/images/send.png')
 | 
				
			||||||
        icon = QtGui.QIcon(pixmap)
 | 
					        icon = QtGui.QIcon(pixmap)
 | 
				
			||||||
        self.sendMessageButton.setIcon(icon)
 | 
					        self.sendMessageButton.setIcon(icon)
 | 
				
			||||||
        self.sendMessageButton.setIconSize(QtCore.QSize(50, 100))
 | 
					        self.sendMessageButton.setIconSize(QtCore.QSize(45, 60))
 | 
				
			||||||
        pixmap = QtGui.QPixmap(curr_directory() + '/images/file.png')
 | 
					        pixmap = QtGui.QPixmap(curr_directory() + '/images/file.png')
 | 
				
			||||||
        icon = QtGui.QIcon(pixmap)
 | 
					        icon = QtGui.QIcon(pixmap)
 | 
				
			||||||
        self.fileTransferButton.setIcon(icon)
 | 
					        self.fileTransferButton.setIcon(icon)
 | 
				
			||||||
        self.fileTransferButton.setIconSize(QtCore.QSize(90, 40))
 | 
					        self.fileTransferButton.setIconSize(QtCore.QSize(55, 70))
 | 
				
			||||||
        pixmap = QtGui.QPixmap(curr_directory() + '/images/screenshot.png')
 | 
					        pixmap = QtGui.QPixmap(curr_directory() + '/images/screenshot.png')
 | 
				
			||||||
        icon = QtGui.QIcon(pixmap)
 | 
					        icon = QtGui.QIcon(pixmap)
 | 
				
			||||||
        self.screenshotButton.setIcon(icon)
 | 
					        self.screenshotButton.setIcon(icon)
 | 
				
			||||||
        self.screenshotButton.setIconSize(QtCore.QSize(90, 40))
 | 
					        self.screenshotButton.setIconSize(QtCore.QSize(40, 60))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.fileTransferButton.clicked.connect(self.send_file)
 | 
					        self.fileTransferButton.clicked.connect(self.send_file)
 | 
				
			||||||
        self.screenshotButton.clicked.connect(self.send_screenshot)
 | 
					        self.screenshotButton.clicked.connect(self.send_screenshot)
 | 
				
			||||||
| 
						 | 
					@ -146,13 +147,13 @@ class MainWindow(QtGui.QMainWindow):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def setup_left_bottom(self, Form):
 | 
					    def setup_left_bottom(self, Form):
 | 
				
			||||||
        Form.setObjectName("left_bottom")
 | 
					        Form.setObjectName("left_bottom")
 | 
				
			||||||
        Form.resize(500, 60)
 | 
					        Form.resize(270, 80)
 | 
				
			||||||
        self.online_contacts = QtGui.QCheckBox(Form)
 | 
					        self.online_contacts = QtGui.QCheckBox(Form)
 | 
				
			||||||
        self.online_contacts.setGeometry(QtCore.QRect(0, 0, 250, 20))
 | 
					        self.online_contacts.setGeometry(QtCore.QRect(0, 10, 250, 20))
 | 
				
			||||||
        self.online_contacts.setObjectName("online_contacts")
 | 
					        self.online_contacts.setObjectName("online_contacts")
 | 
				
			||||||
        self.online_contacts.clicked.connect(self.filtering)
 | 
					        self.online_contacts.clicked.connect(self.filtering)
 | 
				
			||||||
        self.contact_name = QtGui.QLineEdit(Form)
 | 
					        self.contact_name = QtGui.QLineEdit(Form)
 | 
				
			||||||
        self.contact_name.setGeometry(QtCore.QRect(0, 27, 270, 30))
 | 
					        self.contact_name.setGeometry(QtCore.QRect(0, 45, 270, 30))
 | 
				
			||||||
        self.contact_name.setObjectName("contact_name")
 | 
					        self.contact_name.setObjectName("contact_name")
 | 
				
			||||||
        self.contact_name.textChanged.connect(self.filtering)
 | 
					        self.contact_name.textChanged.connect(self.filtering)
 | 
				
			||||||
        QtCore.QMetaObject.connectSlotsByName(Form)
 | 
					        QtCore.QMetaObject.connectSlotsByName(Form)
 | 
				
			||||||
| 
						 | 
					@ -240,10 +241,11 @@ class MainWindow(QtGui.QMainWindow):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def setup_right_center(self, widget):
 | 
					    def setup_right_center(self, widget):
 | 
				
			||||||
        self.messages = QtGui.QListWidget(widget)
 | 
					        self.messages = QtGui.QListWidget(widget)
 | 
				
			||||||
        self.messages.setGeometry(0, 0, 620, 250)
 | 
					        self.messages.setGeometry(0, 0, 620, 310)
 | 
				
			||||||
        self.messages.setObjectName("messages")
 | 
					        self.messages.setObjectName("messages")
 | 
				
			||||||
        self.messages.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
 | 
					        self.messages.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
 | 
				
			||||||
        self.messages.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
 | 
					        self.messages.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
 | 
				
			||||||
 | 
					        self.messages.setFocusPolicy(QtCore.Qt.NoFocus)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        def load(pos):
 | 
					        def load(pos):
 | 
				
			||||||
            if not pos:
 | 
					            if not pos:
 | 
				
			||||||
| 
						 | 
					@ -254,14 +256,14 @@ class MainWindow(QtGui.QMainWindow):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def initUI(self, tox):
 | 
					    def initUI(self, tox):
 | 
				
			||||||
        self.setMinimumSize(920, 500)
 | 
					        self.setMinimumSize(920, 500)
 | 
				
			||||||
        self.setMaximumSize(920, 500)
 | 
					        #self.setMaximumSize(920, 500)
 | 
				
			||||||
        self.setGeometry(400, 400, 920, 500)
 | 
					        self.setGeometry(400, 400, 920, 500)
 | 
				
			||||||
        self.setWindowTitle('Toxygen')
 | 
					        self.setWindowTitle('Toxygen')
 | 
				
			||||||
        main = QtGui.QWidget()
 | 
					        main = QtGui.QWidget()
 | 
				
			||||||
        grid = QtGui.QGridLayout()
 | 
					        grid = QtGui.QGridLayout()
 | 
				
			||||||
        search = QtGui.QWidget()
 | 
					        search = QtGui.QWidget()
 | 
				
			||||||
        self.setup_left_bottom(search)
 | 
					        self.setup_left_bottom(search)
 | 
				
			||||||
        grid.addWidget(search, 3, 0)
 | 
					        grid.addWidget(search, 2, 0)
 | 
				
			||||||
        name = QtGui.QWidget()
 | 
					        name = QtGui.QWidget()
 | 
				
			||||||
        self.setup_left_top(name)
 | 
					        self.setup_left_top(name)
 | 
				
			||||||
        grid.addWidget(name, 0, 0)
 | 
					        grid.addWidget(name, 0, 0)
 | 
				
			||||||
| 
						 | 
					@ -273,14 +275,17 @@ class MainWindow(QtGui.QMainWindow):
 | 
				
			||||||
        grid.addWidget(info, 0, 1)
 | 
					        grid.addWidget(info, 0, 1)
 | 
				
			||||||
        message_buttons = QtGui.QWidget()
 | 
					        message_buttons = QtGui.QWidget()
 | 
				
			||||||
        self.setup_right_bottom(message_buttons)
 | 
					        self.setup_right_bottom(message_buttons)
 | 
				
			||||||
        grid.addWidget(message_buttons, 2, 1, 2, 1)
 | 
					        grid.addWidget(message_buttons, 2, 1)
 | 
				
			||||||
        main_list = QtGui.QWidget()
 | 
					        main_list = QtGui.QWidget()
 | 
				
			||||||
        self.setup_left_center(main_list)
 | 
					        self.setup_left_center(main_list)
 | 
				
			||||||
        grid.addWidget(main_list, 1, 0, 2, 1)
 | 
					        grid.addWidget(main_list, 1, 0)
 | 
				
			||||||
        grid.setColumnMinimumWidth(1, 500)
 | 
					        grid.setColumnMinimumWidth(1, 500)
 | 
				
			||||||
        grid.setColumnMinimumWidth(0, 270)
 | 
					        grid.setColumnMinimumWidth(0, 270)
 | 
				
			||||||
        grid.setRowMinimumHeight(1, 250)
 | 
					        grid.setRowMinimumHeight(1, 250)
 | 
				
			||||||
        grid.setRowMinimumHeight(3, 50)
 | 
					        grid.setRowMinimumHeight(2, 75)
 | 
				
			||||||
 | 
					        grid.setColumnStretch(1, 1)
 | 
				
			||||||
 | 
					        grid.setRowStretch(1, 1)
 | 
				
			||||||
 | 
					        #grid.setRowStretch(2, 1)
 | 
				
			||||||
        main.setLayout(grid)
 | 
					        main.setLayout(grid)
 | 
				
			||||||
        self.setCentralWidget(main)
 | 
					        self.setCentralWidget(main)
 | 
				
			||||||
        self.setup_menu(self)
 | 
					        self.setup_menu(self)
 | 
				
			||||||
| 
						 | 
					@ -294,6 +299,17 @@ class MainWindow(QtGui.QMainWindow):
 | 
				
			||||||
        self.profile.close()
 | 
					        self.profile.close()
 | 
				
			||||||
        QtGui.QApplication.closeAllWindows()
 | 
					        QtGui.QApplication.closeAllWindows()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def resizeEvent(self, *args, **kwargs):
 | 
				
			||||||
 | 
					        self.messages.setGeometry(0, 0, self.width() - 280, self.height() - 205)
 | 
				
			||||||
 | 
					        self.friends_list.setGeometry(0, 0, 270, self.height() - 205)
 | 
				
			||||||
 | 
					        self.callButton.setGeometry(QtCore.QRect(self.width() - 370, 30, 50, 50))
 | 
				
			||||||
 | 
					        self.typing.setGeometry(QtCore.QRect(self.width() - 420, 40, 50, 30))
 | 
				
			||||||
 | 
					        self.messageEdit.setGeometry(QtCore.QRect(0, 5, self.width() - 470, 70))
 | 
				
			||||||
 | 
					        self.screenshotButton.setGeometry(QtCore.QRect(self.width() - 465, 5, 55, 70))
 | 
				
			||||||
 | 
					        self.fileTransferButton.setGeometry(QtCore.QRect(self.width() - 410, 5, 55, 70))
 | 
				
			||||||
 | 
					        self.sendMessageButton.setGeometry(QtCore.QRect(self.width() - 355, 5, 55, 70))
 | 
				
			||||||
 | 
					        self.profile.update()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # -----------------------------------------------------------------------------------------------------------------
 | 
					    # -----------------------------------------------------------------------------------------------------------------
 | 
				
			||||||
    # Functions which called when user click in menu
 | 
					    # Functions which called when user click in menu
 | 
				
			||||||
    # -----------------------------------------------------------------------------------------------------------------
 | 
					    # -----------------------------------------------------------------------------------------------------------------
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -456,6 +456,10 @@ class Profile(Contact, Singleton):
 | 
				
			||||||
    def is_active_online(self):
 | 
					    def is_active_online(self):
 | 
				
			||||||
        return self._active_friend + 1 and self._friends[self._active_friend].status is not None
 | 
					        return self._active_friend + 1 and self._friends[self._active_friend].status is not None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def update(self):
 | 
				
			||||||
 | 
					        if self._active_friend + 1:
 | 
				
			||||||
 | 
					            self.set_active(self._active_friend)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # -----------------------------------------------------------------------------------------------------------------
 | 
					    # -----------------------------------------------------------------------------------------------------------------
 | 
				
			||||||
    # Typing notifications
 | 
					    # Typing notifications
 | 
				
			||||||
    # -----------------------------------------------------------------------------------------------------------------
 | 
					    # -----------------------------------------------------------------------------------------------------------------
 | 
				
			||||||
| 
						 | 
					@ -622,9 +626,10 @@ class Profile(Contact, Singleton):
 | 
				
			||||||
    def create_file_transfer_item(self, tm, append=True):
 | 
					    def create_file_transfer_item(self, tm, append=True):
 | 
				
			||||||
        data = list(tm.get_data())
 | 
					        data = list(tm.get_data())
 | 
				
			||||||
        data[3] = self.get_friend_by_number(data[4]).name if data[3] else self._name
 | 
					        data[3] = self.get_friend_by_number(data[4]).name if data[3] else self._name
 | 
				
			||||||
 | 
					        data.append(self._messages.width())
 | 
				
			||||||
        item = FileTransferItem(*data)
 | 
					        item = FileTransferItem(*data)
 | 
				
			||||||
        elem = QtGui.QListWidgetItem()
 | 
					        elem = QtGui.QListWidgetItem()
 | 
				
			||||||
        elem.setSizeHint(QtCore.QSize(600, 50))
 | 
					        elem.setSizeHint(QtCore.QSize(self._messages.width(), 50))
 | 
				
			||||||
        if append:
 | 
					        if append:
 | 
				
			||||||
            self._messages.addItem(elem)
 | 
					            self._messages.addItem(elem)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
| 
						 | 
					@ -633,9 +638,9 @@ class Profile(Contact, Singleton):
 | 
				
			||||||
        return item
 | 
					        return item
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def create_inline_item(self, data, append=True):
 | 
					    def create_inline_item(self, data, append=True):
 | 
				
			||||||
        item = InlineImageItem(data)
 | 
					        item = InlineImageItem(data, self._messages.width())
 | 
				
			||||||
        elem = QtGui.QListWidgetItem()
 | 
					        elem = QtGui.QListWidgetItem()
 | 
				
			||||||
        elem.setSizeHint(QtCore.QSize(600, item.height()))
 | 
					        elem.setSizeHint(QtCore.QSize(self._messages.width(), item.height()))
 | 
				
			||||||
        if append:
 | 
					        if append:
 | 
				
			||||||
            self._messages.addItem(elem)
 | 
					            self._messages.addItem(elem)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue