Initial commit (Vesion 0.1)
[tablet-suite] / src / ui / .svn / text-base / pcsdevicewidget.py.svn-base
1 # Authors: Amaury Medeiros and Paulo Ouriques
2 # Software License: GPL
3 import sys
4 from functools import partial
5
6 from PyQt4.QtCore import *
7 from PyQt4.QtGui import *
8
9 from pcsuiutils import *
10 from pcsdeviceinfo import *
11
12 class PcsDeviceWidget(QFrame):
13     
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
20         self.size = size
21         
22         self.deviceLabel = QLabel()
23         if size == 1:
24             img = DEVICE_DISCONNECTED_BACKUP
25         else:
26             img = DEVICE_DISCONNECTED
27         self.deviceLabel.setPixmap(QPixmap(img))
28         self.gridLayout.addWidget(self.deviceLabel, 0, 0, Qt.AlignCenter)
29         
30         self.layout.addLayout(self.gridLayout, 0, 0, Qt.AlignCenter)
31         self.setLayout(self.layout)
32
33     def addBorder(self):
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))]
38         
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)
44         
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))]
50         
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)
60         
61         self.gridLayout.addLayout(self.nameLayout, 1, 0, Qt.AlignCenter)
62     
63     def setImage(self, path):
64         self.deviceLabel.setPixmap(QPixmap(path))
65      
66     def setDeviceInfo(self, deviceInfo):
67         devices = [(0, N800_FILE, N810_FILE),
68                    (1, N800_BACKUP, N810_BACKUP),
69                    (2, N800, N810),
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)
80                 
81