# 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 ##
"""
if self.pageContent.versionList.currentRow() != -1:
sources_path = qvariant_converter.getString(self.pageContent.versionList.currentItem().data(Qt.UserRole))
- ## Remove the trailing slash
+ # Remove the trailing slash
if sources_path.endswith(os.sep):
sources_path = sources_path[:-1]
self.setProjectInfo("SOURCES_PATH", sources_path)
"""
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 and returns the
"""
Fills the version list with all the BeRTOS versions founded in the QSettings.
"""
- versions = self.versions()
+ versions = set([])
+ if os.name == "nt":
+ import winreg_importer
+ versions |= set(winreg_importer.getBertosDirs())
+ versions |= set(self.versions())
selected = self.projectInfo("SOURCES_PATH")
for directory in versions:
item = self.insertListElement(directory)
- if not selected is None and selected == directory:
+ if selected and selected == directory:
self.setCurrentItem(item)
+ if not selected:
+ self.setCurrentItem(self.latestVersionItem())
+
+ def latestVersionItem(self):
+ """
+ Returns the latest BeRTOS version founded.
+ """
+ latest_version_item = QTableWidgetItem("")
+ for index in range(self.pageContent.versionList.count()):
+ item = self.pageContent.versionList.item(index)
+ version = item.text().split(" (")[0]
+ latest = latest_version_item.text().split(" (")[0]
+ if version != "UNKNOWN" and version > latest:
+ latest_version_item = item
+ return latest_version_item
def setCurrentItem(self, item):
"""