Add the path in the version label. Add check for empty strings returned by the QFileD...
[bertos.git] / wizard / BVersionPage.py
1 #!/usr/bin/env python
2 # encoding: utf-8
3 #
4 # Copyright 2008 Develer S.r.l. (http://www.develer.com/)
5 # All rights reserved.
6 #
7 # $Id:$
8 #
9 # Author: Lorenzo Berni <duplo@develer.com>
10 #
11
12 from PyQt4.QtGui import *
13 from BWizardPage import *
14 from libbertos import *
15
16 class BVersionPage(BWizardPage):
17     
18     def __init__(self):
19         BWizardPage.__init__(self, "bertos_versions.ui")
20         self._connectSignals()
21         self._setupUi()
22         self.setTitle(self.tr("Select the beRTOS version needed"))
23     
24     def _connectSignals(self):
25         self.connect(self.pageContent.versionList, SIGNAL("itemClicked(QListWidgetItem *)"), self.itemClicked)
26         self.connect(self.pageContent.addButton, SIGNAL("clicked()"), self.addVersion)
27         self.connect(self.pageContent.removeButton, SIGNAL("clicked()"), self.removeVersion)
28         # Fake signal connection for the update button
29         self.connect(self.pageContent.updateButton, SIGNAL("clicked()"), self.updateClicked)
30     
31     def _setupUi(self):
32         pass
33     
34     def addVersion(self):
35         directory = QFileDialog.getExistingDirectory(self, self.tr("Choose a directory"), QString(), QFileDialog.ShowDirsOnly | QFileDialog.DontResolveSymlinks)
36         if isBertosDir(directory):
37             version = bertosVersion(directory)
38             self.pageContent.versionList.addItem(QListWidgetItem(QIcon(":/images/ok.png"), version + " (\"" + directory + "\")"))
39         elif not directory.isEmpty():
40             version = "UNCHECKED"
41             self.pageContent.versionList.addItem(QListWidgetItem(QIcon(":/images/warning.png"), version + " (\"" + directory + "\")"))
42     
43     def removeVersion(self):
44         self.pageContent.versionList.takeItem(self.pageContent.versionList.currentRow())
45     
46     def updateClicked(self):
47         print "fake update checking"
48     
49     def itemClicked(self, item):
50         print "clicked", repr(item)
51