X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBCpuPage.py;h=3fc339f25c37b37adda8b500381b5085a07df6c3;hb=ea62a2f8101c1fcc896892d2407f051ef3a9bc0b;hp=6289efd839f4701885421139482eaf166efd8d60;hpb=3443db30df3da92f9842fbc198e0090d55aee676;p=bertos.git diff --git a/wizard/BCpuPage.py b/wizard/BCpuPage.py index 6289efd8..3fc339f2 100644 --- a/wizard/BCpuPage.py +++ b/wizard/BCpuPage.py @@ -12,15 +12,14 @@ 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 +import qvariant_converter + +from const import * class BCpuPage(BWizardPage): def __init__(self): - BWizardPage.__init__(self, "cpu_select.ui") + BWizardPage.__init__(self, UI_LOCATION + "/cpu_select.ui") self.setTitle(self.tr("Select the CPU")) self._connectSignals() self._setupUi() @@ -28,7 +27,7 @@ class BCpuPage(BWizardPage): def _populateCpuList(self): self.pageContent.cpuList.clear() self.pageContent.cpuList.setCurrentItem(None) - infos = bertos_utils.loadCpuInfos(self._projectInfoRetrieve("SOURCES_PATH")) + infos = bertos_utils.loadCpuInfos(self._project()) for cpu in infos: item = QListWidgetItem(cpu["CPU_NAME"]) item.setData(Qt.UserRole, qvariant_converter.convertDict(cpu)) @@ -43,10 +42,12 @@ class BCpuPage(BWizardPage): self.pageContent.cpuList.setCurrentItem(elements[0]) def _setupUi(self): + self.pageContent.cpuList.setSortingEnabled(True) self.pageContent.descriptionLabel.setVisible(False) self.pageContent.descriptionLabel.setText("") def reloadData(self): + bertos_utils.loadSourceTree(self._project()) self._populateCpuList() cpuName = self._projectInfoRetrieve("CPU_NAME") self._setupUi() @@ -56,7 +57,14 @@ class BCpuPage(BWizardPage): def isComplete(self): if self.pageContent.cpuList.currentRow() != -1: - self._projectInfoStore("CPU_INFOS", qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))) + infos = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole)) + for key, value in infos.items(): + if type(CPU_DEF[key]) == list: + infos[key] = qvariant_converter.getStringList(value) + if type(CPU_DEF[key]) == str or type(CPU_DEF) == unicode: + infos[key] = qvariant_converter.getString(value) + self._projectInfoStore("CPU_INFOS", infos) + self._projectInfoStore("CPU_NAME", unicode(self.pageContent.cpuList.currentItem().text())) return True else: return False