CodeLite: add a small delay during the debugger initialization.
[bertos.git] / wizard / BProjectPresets.py
index 818f0fa75e7d7b79023a666b5918c3574426e9f5..200e676841101b9c005c0a6f0e823d672bcd8406 100644 (file)
@@ -87,13 +87,10 @@ class BProjectPresetsPage(QWidget):
         if self.selected:
             preset_path = qvariant_converter.getString(self.selected.data(Qt.UserRole))
             preset = self.preset_data["children"][preset_path]
-            self.pageContent.descriptionLabel.setText(preset["info"].get("description", ""))
-            image = os.path.join(preset["info"]["path"], const.PREDEFINED_BOARD_IMAGE_FILE)
-            if os.path.exists(image):
-                self.pageContent.imageLabel.setPixmap(QPixmap(image))
-                self.pageContent.imageLabel.setVisible(True)
-            else:
-                self.pageContent.imageLabel.setVisible(False)
+            description = preset["info"].get("description", "")
+            path = unicode(QUrl.fromLocalFile(preset_path).toString())
+            description = description.replace("$path", path)
+            self.pageContent.descriptionArea.setHtml(description)
     
     @property
     def selected(self):
@@ -111,17 +108,25 @@ class BProjectPresets(BWizardPage):
         if preset_path:
             self.setProjectInfo("PROJECT_PRESET", preset_path)
             self.setProjectInfo("BASE_MODE", not self.advanced)
-            # TODO: find a better place for preset loading...
-            try:
-                QApplication.instance().setOverrideCursor(Qt.WaitCursor)
-                self.project.loadProjectFromPreset(preset_path)
-            finally:
-                QApplication.instance().restoreOverrideCursor()            
             return True
         else:
             self.setProjectInfo("PROJECT_PRESET", None)
             return False
 
+    def validatePage(self):
+        """
+        This hack permits to load the preset once, when the user go press the
+        Next button.
+        """
+        preset_path = self.selected_path
+        try:
+            QApplication.instance().setOverrideCursor(Qt.WaitCursor)
+            self.project.loadProjectFromPreset(preset_path)
+        finally:
+            QApplication.instance().restoreOverrideCursor()
+        # Return always True, this is a fake validation.
+        return True
+
     def nextId(self):
         """
         Overload of the QWizardPage nextId method.