X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBCpuPage.py;h=e329dbc866d279557cee07037aa8d92fb0a0415d;hb=ee276ea346d90090f039720664dbb18d50e6bf7b;hp=05657337d6c0004f7b535c2684dbc3a3f7d7e102;hpb=fc1ec20eecfc1c644205002f14a3fcbf83fe7c9c;p=bertos.git diff --git a/wizard/BCpuPage.py b/wizard/BCpuPage.py index 05657337..e329dbc8 100644 --- a/wizard/BCpuPage.py +++ b/wizard/BCpuPage.py @@ -12,6 +12,10 @@ from BWizardPage import * import bertos_utils +if PYQT_VERSION_STR > "4.4.3": + import qvariant_converter_new as qvariant_converter +else: + import qvariant_converter_old as qvariant_converter class BCpuPage(BWizardPage): @@ -23,12 +27,11 @@ class BCpuPage(BWizardPage): def _populateCpuList(self): self.pageContent.cpuList.clear() + self.pageContent.cpuList.setCurrentItem(None) infos = bertos_utils.loadCpuInfos(self._projectInfoRetrieve("SOURCES_PATH")) for cpu in infos: item = QListWidgetItem(cpu["CPU_NAME"]) - # The CPU_DESC field in the cpu definition is a list of string, so we need to - # store it as a QStringList in a QVariant - item.setData(Qt.UserRole, QVariant(QStringList(cpu["CPU_DESC"]))) + item.setData(Qt.UserRole, qvariant_converter.convertDict(cpu)) self.pageContent.cpuList.addItem(item) def _connectSignals(self): @@ -41,24 +44,26 @@ class BCpuPage(BWizardPage): def _setupUi(self): self.pageContent.descriptionLabel.setVisible(False) + self.pageContent.descriptionLabel.setText("") def reloadData(self): self._populateCpuList() cpuName = self._projectInfoRetrieve("CPU_NAME") + self._setupUi() if not cpuName is None: self._selectItem(cpuName) + self.emit(SIGNAL("completeChanged()")) def isComplete(self): if self.pageContent.cpuList.currentRow() != -1: - self._projectInfoStore("CPU_NAME", self.pageContent.cpuList.currentItem().text()) + self._projectInfoStore("CPU_INFOS", qvariant_converter.getStringDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))) return True else: return False def rowChanged(self): - description = self.pageContent.cpuList.currentItem().data(Qt.UserRole).toStringList() - # We need to convert the list of QString in a list of unicode - description = [unicode(line) for line in description] + description = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))["CPU_DESC"] + description = qvariant_converter.getStringList(description) self.pageContent.descriptionLabel.setText("
".join(description)) self.pageContent.descriptionLabel.setVisible(True) self.emit(SIGNAL("completeChanged()"))