X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBProjectPresets.py;h=200e676841101b9c005c0a6f0e823d672bcd8406;hb=1560ea69dbd5da833d13fa0af9d9afbf70db5beb;hp=818f0fa75e7d7b79023a666b5918c3574426e9f5;hpb=52c487b2edccff2f2eb2a9082b38f370be0e05d6;p=bertos.git diff --git a/wizard/BProjectPresets.py b/wizard/BProjectPresets.py index 818f0fa7..200e6768 100644 --- a/wizard/BProjectPresets.py +++ b/wizard/BProjectPresets.py @@ -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.