X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBCpuPage.py;h=a1b06a50073f8e8b4924ce1136862a907c7b9f73;hb=57dfb183e24175bc782647d4e6aebe31063f3881;hp=463e333fa7c4954b394c15b0691fe55b92d943d7;hpb=019ad4b6e3fca2cbe5e739c94385aadd8dd16bfa;p=bertos.git diff --git a/wizard/BCpuPage.py b/wizard/BCpuPage.py index 463e333f..a1b06a50 100644 --- a/wizard/BCpuPage.py +++ b/wizard/BCpuPage.py @@ -28,7 +28,6 @@ # # Copyright 2008 Develer S.r.l. (http://www.develer.com/) # -# $Id$ # # Author: Lorenzo Berni # @@ -47,7 +46,7 @@ class BCpuPage(BWizardPage): def __init__(self): BWizardPage.__init__(self, UI_LOCATION + "/cpu_select.ui") - self.setTitle(self.tr("Select the CPU")) + self.setTitle(self.tr("Select the CPU on your board")) self.freq_modified = False ## Overloaded QWizardPage methods ## @@ -61,12 +60,14 @@ class BCpuPage(BWizardPage): self.pageContent.frequencySpinBox.setVisible(True) infos = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole)) for key, value in infos.items(): - if key in CPU_DEF: - 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) - else: + if key in CPU_DEF: + 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) + elif key.startswith(MK_PARAM_ID): + infos[key] = qvariant_converter.getString(value) + else: del infos[key] self.setProjectInfo("CPU_INFOS", infos) self.setProjectInfo("CPU_NAME", unicode(self.pageContent.cpuList.currentItem().text())) @@ -91,34 +92,37 @@ class BCpuPage(BWizardPage): Overload of the BWizardPage setupUi method. """ self.pageContent.cpuList.setSortingEnabled(True) - self.pageContent.descriptionLabel.setVisible(False) - self.pageContent.descriptionLabel.setText("") self.pageContent.frequencyLabel.setVisible(False) self.pageContent.frequencySpinBox.setVisible(False) + preset_advanced = self.projectInfo("PRESET_ADVANCED_CONFIG") + if preset_advanced: + self.pageContent.cpuList.setEnabled(False) def connectSignals(self): """ Overload of the BWizardPage connectSignals method. """ - self.connect(self.pageContent.cpuList, SIGNAL("itemSelectionChanged()"), self.rowChanged) + self.connect(self.pageContent.cpuList, SIGNAL("currentItemChanged(QListWidgetItem *, QListWidgetItem*)"), self.rowChanged) self.connect(self.pageContent.frequencySpinBox, SIGNAL("editingFinished()"), self.freqChanged) - def reloadData(self): + def reloadData(self, previous_id=None): """ Overload of the BWizardPage reloadData method. """ - QApplication.instance().setOverrideCursor(Qt.WaitCursor) - bertos_utils.loadSourceTree(self.project()) - self.populateCpuList() - cpu_name = self.projectInfo("CPU_NAME") - selected_freq = self.projectInfo("SELECTED_FREQ") - self.setupUi() - if cpu_name: - self.selectItem(cpu_name) - if selected_freq: - self.setFrequency(selected_freq) - self.freq_modified = True - QApplication.instance().restoreOverrideCursor() + try: + QApplication.instance().setOverrideCursor(Qt.WaitCursor) + self.project.loadSourceTree() + self.populateCpuList() + cpu_name = self.projectInfo("CPU_NAME") + selected_freq = self.projectInfo("SELECTED_FREQ") + self.setupUi() + if cpu_name: + self.selectItem(cpu_name) + if selected_freq: + self.setFrequency(selected_freq) + self.freq_modified = True + finally: + QApplication.instance().restoreOverrideCursor() self.emit(SIGNAL("completeChanged()")) #### @@ -129,17 +133,18 @@ class BCpuPage(BWizardPage): """ Slot called when the user select an entry from the cpu list. """ - description = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))["CPU_DESC"] - description = qvariant_converter.getStringList(description) - if not self.freq_modified: - # Retrieve the default cpu frequency when the value isn't already modified - current_freq = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))["CPU_DEFAULT_FREQ"] - current_freq = qvariant_converter.getString(current_freq) - current_freq = long(current_freq.replace("U", "").replace("L", "")) - self.pageContent.frequencySpinBox.setValue(long(current_freq)) - self.pageContent.descriptionLabel.setText("
".join(description)) - self.pageContent.descriptionLabel.setVisible(True) - self.emit(SIGNAL("completeChanged()")) + if self.pageContent.cpuList.currentItem(): + description = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))["CPU_DESC"] + description = qvariant_converter.getStringList(description) + if not self.freq_modified: + # Retrieve the default cpu frequency when the value isn't already modified + current_freq = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))["CPU_DEFAULT_FREQ"] + current_freq = qvariant_converter.getString(current_freq) + current_freq = long(current_freq.replace("U", "").replace("L", "")) + self.pageContent.frequencySpinBox.setValue(long(current_freq)) + self.pageContent.descriptionLabel.setText("
".join(description)) + self.pageContent.descriptionLabel.setVisible(True) + self.emit(SIGNAL("completeChanged()")) def freqChanged(self): """ @@ -156,7 +161,7 @@ class BCpuPage(BWizardPage): """ self.pageContent.cpuList.clear() self.pageContent.cpuList.setCurrentItem(None) - infos = bertos_utils.loadCpuInfos(self.project()) + infos = self.project.getCpuInfos() tag_list = bertos_utils.getTagSet(infos) # Create, fill and store the dict with the tags tag_dict = {}