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):
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(cpu))
+ item.setData(Qt.UserRole, qvariant_converter.convertDict(cpu))
self.pageContent.cpuList.addItem(item)
def _connectSignals(self):
def isComplete(self):
if self.pageContent.cpuList.currentRow() != -1:
- self._projectInfoStore("CPU_INFOS", self.pageContent.cpuList.currentItem().data(Qt.UserRole).toMap())
+ 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).toMap()
- # I don't like to use QString as key in the dict, but the QVariant.toMap() return a dict<QString,QVariant>
- description = description[QString("CPU_DESC")].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("<br>".join(description))
self.pageContent.descriptionLabel.setVisible(True)
self.emit(SIGNAL("completeChanged()"))