--- /dev/null
+# 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)
+
+