# Copyright 2008 Develer S.r.l. (http://www.develer.com/)
# All rights reserved.
#
-# $Id:$
+# $Id$
#
# Author: Lorenzo Berni <duplo@develer.com>
#
def __init__(self):
BWizardPage.__init__(self, UI_LOCATION + "/bertos_versions.ui")
- self.setTitle(self.tr("Select the BeRTOS version needed"))
+ self.setTitle(self.tr("Select the BeRTOS directory"))
+ self.setSubTitle(self.tr("The project created will be based on the BeRTOS version found"))
## Overloaded QWizardPage methods ##
Overload of the QWizardPage isComplete method.
"""
if self.pageContent.versionList.currentRow() != -1:
- # Remove trailing slash
- sources_path = qvariant_converter.getString(self.pageContent.versionList.currentItem().data(Qt.UserRole))
- if sources_path.endswith(os.sep):
- sources_path = sources_path[:-1]
+ sources_path = qvariant_converter.getString(self.pageContent.versionList.currentItem().data(Qt.UserRole))
+ # Remove the trailing slash
+ if sources_path.endswith(os.sep):
+ sources_path = sources_path[:-1]
self.setProjectInfo("SOURCES_PATH", sources_path)
- return True
+ return True
else:
return False
## Overloaded BWizardPage methods ##
- def setupUi(self):
- """
- Overload of the BWizardPage setupUi method.
- """
- self.fillVersionList()
- self.pageContent.versionList.setCurrentRow(-1)
-
def connectSignals(self):
"""
Overload of the BWizardPage connectSignals method.
# Fake signal connection for the update button
self.connect(self.pageContent.updateButton, SIGNAL("clicked()"), self.updateClicked)
+ def reloadData(self):
+ """
+ Overload of the BWizardPage reloadData method.
+ """
+ self.resetVersionList()
+ self.pageContent.versionList.setCurrentRow(-1)
+ self.fillVersionList()
+
+ def setupUi(self):
+ """
+ Overload of the BWizardPage setupUi method.
+ """
+ self.pageContent.updateButton.setVisible(False)
+
####
## Slots ##
versions = self.versions()
versions.remove(directory)
self.setVersions(versions)
-
+
+ def resetVersionList(self):
+ """
+ Remove all the version entries from the list.
+ """
+ self.pageContent.versionList.clear()
+
def insertListElement(self, directory):
"""
- Inserts the given directory in the version list.
+ Inserts the given directory in the version list and returns the
+ inserted item.
"""
if bertos_utils.isBertosDir(directory):
item = QListWidgetItem(QIcon(":/images/ok.png"), bertos_utils.bertosVersion(directory) + " (\"" + os.path.normpath(directory) + "\")")
item.setData(Qt.UserRole, qvariant_converter.convertString(directory))
self.pageContent.versionList.addItem(item)
+ return item
elif len(directory) > 0:
item = QListWidgetItem(QIcon(":/images/warning.png"), "UNKNOWN" + " (\"" + os.path.normpath(directory) + "\")")
item.setData(Qt.UserRole, qvariant_converter.convertString(directory))
self.pageContent.versionList.addItem(item)
+ return item
def fillVersionList(self):
"""
Fills the version list with all the BeRTOS versions founded in the QSettings.
"""
versions = self.versions()
+ selected = self.projectInfo("SOURCES_PATH")
for directory in versions:
- self.insertListElement(directory)
\ No newline at end of file
+ item = self.insertListElement(directory)
+ if not selected is None and selected == directory:
+ self.setCurrentItem(item)
+
+ def setCurrentItem(self, item):
+ """
+ Select the given item in the version list.
+ """
+ self.pageContent.versionList.setCurrentItem(item)
\ No newline at end of file