Refactor to use new protocol module and sipo.
[bertos.git] / wizard / BVersionPage.py
index beda4e952b6ac999d20781a5e5d3fe39a8705dc5..0f9173eede1e08acda7f01a727ce4185d1eaa62c 100644 (file)
@@ -28,7 +28,6 @@
 #
 # Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 #
-# $Id$
 #
 # Author: Lorenzo Berni <duplo@develer.com>
 #
@@ -48,10 +47,11 @@ class BVersionPage(BWizardPage):
     to use. This page show some pieces of information about the version.
     """
     
-    def __init__(self):
+    def __init__(self, edit=False):
+        self._edit = edit
         BWizardPage.__init__(self, UI_LOCATION + "/bertos_versions.ui")
-        self.setTitle(self.tr("Select the BeRTOS directory"))
-        self.setSubTitle(self.tr("The project created will be based on the BeRTOS version found"))
+        self.setTitle(self.tr("Select BeRTOS version"))
+        self.setSubTitle(self.tr("Your project will be created with the specified BeRTOS version"))
 
     ## Overloaded QWizardPage methods ##
     
@@ -64,7 +64,7 @@ class BVersionPage(BWizardPage):
             # Remove the trailing slash
             if sources_path.endswith(os.sep):
                 sources_path = sources_path[:-1]
-            self.setProjectInfo("SOURCES_PATH", sources_path)
+            self.setProjectInfo("BERTOS_PATH", sources_path)
             return True
         else:
             return False
@@ -77,13 +77,13 @@ class BVersionPage(BWizardPage):
         """
         Overload of the BWizardPage connectSignals method.
         """
-        self.connect(self.pageContent.versionList, SIGNAL("itemSelectionChanged()"), self.rowChanged)
+        self.connect(self.pageContent.versionList, SIGNAL("currentItemChanged(QListWidgetItem *, QListWidgetItem*)"), self.rowChanged)
         self.connect(self.pageContent.addButton, SIGNAL("clicked()"), self.addVersion)
         self.connect(self.pageContent.removeButton, SIGNAL("clicked()"), self.removeVersion)
         # Fake signal connection for the update button
         self.connect(self.pageContent.updateButton, SIGNAL("clicked()"), self.updateClicked)
     
-    def reloadData(self):
+    def reloadData(self, previous_id=None):
         """
         Overload of the BWizardPage reloadData method.
         """
@@ -117,7 +117,8 @@ class BVersionPage(BWizardPage):
         Slot called when the user remove a BeRTOS version.
         """
         item = self.pageContent.versionList.takeItem(self.pageContent.versionList.currentRow())
-        self.deleteVersion(qvariant_converter.getString(item.data(Qt.UserRole)))
+       if item:
+               self.deleteVersion(qvariant_converter.getString(item.data(Qt.UserRole)))
         self.emit(SIGNAL("completeChanged()"))
     
     def rowChanged(self):
@@ -151,8 +152,8 @@ class BVersionPage(BWizardPage):
         """
         Removes the given directory from the QSettings.
         """
-        versions = self.versions()
-        versions.remove(directory)
+        versions = [os.path.normpath(path) for path in self.versions()]
+        versions.remove(os.path.normpath(directory))
         self.setVersions(versions)
     
     def resetVersionList(self):
@@ -184,9 +185,9 @@ class BVersionPage(BWizardPage):
         versions = set([])
         if os.name == "nt":
             import winreg_importer
-            versions |= set(winreg_importer.getBertosDirs())
-        versions |= set(self.versions())
-        selected = self.projectInfo("SOURCES_PATH")
+            versions |= set([os.path.normpath(dir) for dir in winreg_importer.getBertosDirs()])
+        versions |= set([os.path.normpath(dir) for dir in self.versions()])
+        selected = self.projectInfo("BERTOS_PATH")
         for directory in versions:
             item = self.insertListElement(directory)
             if selected and selected == directory: