1 # Authors: Amaury Medeiros and Paulo Ouriques
2 # Software License: GPL
4 from functools import partial
6 from PyQt4.QtCore import *
7 from PyQt4.QtGui import *
9 from pcsuiutils import *
10 from pcsdeviceinfo import *
12 class PcsDeviceWidget(QFrame):
14 def __init__(self, size):
15 super(PcsDeviceWidget, self).__init__()
16 self.layout = QGridLayout()
17 self.layout.setMargin(0)
18 self.gridLayout = QGridLayout()
19 self.hasDeviceName = False
22 self.deviceLabel = QLabel()
24 img = DEVICE_DISCONNECTED_BACKUP
26 img = DEVICE_DISCONNECTED
27 self.deviceLabel.setPixmap(QPixmap(img))
28 self.gridLayout.addWidget(self.deviceLabel, 0, 0, Qt.AlignCenter)
30 self.layout.addLayout(self.gridLayout, 0, 0, Qt.AlignCenter)
31 self.setLayout(self.layout)
34 devices = [(0, None, (None, None)),
35 (1, DEVICE_BACKUP_BORDER, (208, 205)),
36 (2, DEVICE_CHECKBOX_BORDER, (152, 154)),
37 (3, DEVICE_FILE_BORDER, (112, 125))]
39 name = devices[self.size][1]
40 self.borderLabel = QLabel()
41 self.borderLabel.setFixedSize(devices[self.size][2][0], devices[self.size][2][1])
42 self.borderLabel.setPixmap(QPixmap(name))
43 self.layout.addWidget(self.borderLabel, 0, 0, Qt.AlignCenter)
45 def addDeviceName(self):
46 devices = [(0, None, (None, None)),
47 (1, DEVICE_NAME_BORDER_BACKUP, (174, 23)),
48 (2, DEVICE_NAME_BORDER_CHECKBOX, (100, 23)),
49 (3, DEVICE_NAME_BORDER_FILE, (91, 23))]
51 name = devices[self.size][1]
52 self.hasDeviceName = True
53 self.nameLayout = QGridLayout()
54 self.nameLabel = QLabel("Connect a device ")
55 nameBorderLabel = QLabel()
56 nameBorderLabel.setFixedSize(devices[self.size][2][0], devices[self.size][2][1])
57 nameBorderLabel.setPixmap(QPixmap(name))
58 self.nameLayout.addWidget(self.nameLabel, 0, 0, Qt.AlignCenter)
59 self.nameLayout.addWidget(nameBorderLabel, 0, 0, Qt.AlignCenter)
61 self.gridLayout.addLayout(self.nameLayout, 1, 0, Qt.AlignCenter)
63 def setImage(self, path):
64 self.deviceLabel.setPixmap(QPixmap(path))
66 def setDeviceInfo(self, deviceInfo):
67 devices = [(0, N800_FILE, N810_FILE),
68 (1, N800_BACKUP, N810_BACKUP),
70 (3, N800_FILE, N810_FILE)]
71 if(deviceInfo != None):
72 if deviceInfo.name == "N800":
73 name = devices[self.size][1]
74 elif deviceInfo.name == "N810":
75 name = devices[self.size][2]
76 self.deviceLabel.setPixmap(QPixmap(name))
77 self.deviceLabel.repaint()
78 if self.hasDeviceName:
79 self.nameLabel.setText(deviceInfo.name)