Rename CLOCK_FREQ macro to CPU_FREQ: now clock frequency has to be set in the makefile.
[bertos.git] / wizard / BVersionPage.py
index 73e98614f74c039490c6f78d38c18c5e450f9a50..fc989a739b5a978bfe472dff402a42cc526c1355 100644 (file)
@@ -35,12 +35,12 @@ class BVersionPage(BWizardPage):
         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
     
@@ -48,13 +48,6 @@ class BVersionPage(BWizardPage):
     
     ## 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.
@@ -65,6 +58,14 @@ class BVersionPage(BWizardPage):
         # 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()
+    
     ####
     
     ## Slots ##
@@ -118,24 +119,42 @@ class BVersionPage(BWizardPage):
         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