Demo: remove unneeded locks.
[bertos.git] / wizard / BVersionPage.py
index 8ce6940399f94ed0cb77cd782c0d3495f1daeaad..d11d1ff8b219d808e9839ce3347376f95e427d84 100644 (file)
@@ -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,8 +185,8 @@ class BVersionPage(BWizardPage):
         versions = set([])
         if os.name == "nt":
             import winreg_importer
-            versions |= set(winreg_importer.getBertosDirs())
-        versions |= set(self.versions())
+            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("SOURCES_PATH")
         for directory in versions:
             item = self.insertListElement(directory)
@@ -215,6 +216,8 @@ class BVersionPage(BWizardPage):
         latest_version_item = None
         for index in range(self.pageContent.versionList.count()):
             item = self.pageContent.versionList.item(index)
+            if not latest_version_item:
+                latest_version_item = item
             version = item.text().split(" (")[0]
             latest = latest_version_item.text().split(" (")[0]
             if version != "UNKNOWN" and version > latest:
@@ -238,7 +241,10 @@ class BVersionPage(BWizardPage):
         Return the path of the selected version.
         """
         current = self.currentItem()
-        return qvariant_converter.getString(current.data(Qt.UserRole))
+        if current:
+            return qvariant_converter.getString(current.data(Qt.UserRole))
+        else:
+            return None
     
     def isDefaultVersion(self, version):
         """
@@ -248,4 +254,5 @@ class BVersionPage(BWizardPage):
             import winreg_importer
             if version in winreg_importer.getBertosDirs():
                 return True
-        return False
\ No newline at end of file
+        return False
+