# Authors: Amaury Medeiros and Paulo Ouriques # Software License: GPL import sys from functools import partial from PyQt4.QtCore import * from PyQt4.QtGui import * from pcsuiutils import * from pcsdeviceinfo import * class PcsDeviceWidget(QFrame): def __init__(self, size): super(PcsDeviceWidget, self).__init__() self.layout = QGridLayout() self.layout.setMargin(0) self.gridLayout = QGridLayout() self.hasDeviceName = False self.size = size self.deviceLabel = QLabel() if size == 1: img = DEVICE_DISCONNECTED_BACKUP else: img = DEVICE_DISCONNECTED self.deviceLabel.setPixmap(QPixmap(img)) self.gridLayout.addWidget(self.deviceLabel, 0, 0, Qt.AlignCenter) self.layout.addLayout(self.gridLayout, 0, 0, Qt.AlignCenter) self.setLayout(self.layout) def addBorder(self): devices = [(0, None, (None, None)), (1, DEVICE_BACKUP_BORDER, (208, 205)), (2, DEVICE_CHECKBOX_BORDER, (152, 154)), (3, DEVICE_FILE_BORDER, (112, 125))] name = devices[self.size][1] self.borderLabel = QLabel() self.borderLabel.setFixedSize(devices[self.size][2][0], devices[self.size][2][1]) self.borderLabel.setPixmap(QPixmap(name)) self.layout.addWidget(self.borderLabel, 0, 0, Qt.AlignCenter) def addDeviceName(self): devices = [(0, None, (None, None)), (1, DEVICE_NAME_BORDER_BACKUP, (174, 23)), (2, DEVICE_NAME_BORDER_CHECKBOX, (100, 23)), (3, DEVICE_NAME_BORDER_FILE, (91, 23))] name = devices[self.size][1] self.hasDeviceName = True self.nameLayout = QGridLayout() self.nameLabel = QLabel("Connect a device ") nameBorderLabel = QLabel() nameBorderLabel.setFixedSize(devices[self.size][2][0], devices[self.size][2][1]) nameBorderLabel.setPixmap(QPixmap(name)) self.nameLayout.addWidget(self.nameLabel, 0, 0, Qt.AlignCenter) self.nameLayout.addWidget(nameBorderLabel, 0, 0, Qt.AlignCenter) self.gridLayout.addLayout(self.nameLayout, 1, 0, Qt.AlignCenter) def setImage(self, path): self.deviceLabel.setPixmap(QPixmap(path)) def setDeviceInfo(self, deviceInfo): devices = [(0, N800_FILE, N810_FILE), (1, N800_BACKUP, N810_BACKUP), (2, N800, N810), (3, N800_FILE, N810_FILE)] if(deviceInfo != None): if deviceInfo.name == "N800": name = devices[self.size][1] elif deviceInfo.name == "N810": name = devices[self.size][2] self.deviceLabel.setPixmap(QPixmap(name)) self.deviceLabel.repaint() if self.hasDeviceName: self.nameLabel.setText(deviceInfo.name)