try:
bertos_utils.loadModuleData(self._project())
except ModuleDefineException, e:
- self._exceptionOccurred(self.tr("Error parsing module information in file %1").arg(e.path))
+ self._exceptionOccurred(self.tr("Error parsing line '%2' in file %1").arg(e.path).arg(e.line))
except EnumDefineException, e:
- self._exceptionOccurred(self.tr("Error parsing enum informations in file %1").arg(e.path))
+ self._exceptionOccurred(self.tr("Error parsing line '%2' in file %1").arg(e.path).arg(e.line))
except ConfigurationDefineException, e:
- self._exceptionOccurred(self.tr("Error parsing configuration informations in file %1, reading parameter %2").arg(e.path).arg(e.name))
+ self._exceptionOccurred(self.tr("Error parsing line '%2' in file %1").arg(e.path).arg(e.line))
def _fillModuleTable(self):
modules = self._projectInfoRetrieve("MODULES")
configurations = self._projectInfoRetrieve("CONFIGURATIONS")[configuration]
self.pageContent.propertyTable.setRowCount(len(configurations))
for index, property in enumerate(configurations):
- item = QTableWidgetItem(property)
+ item = QTableWidgetItem(configurations[property]["brief"])
item.setData(Qt.UserRole, qvariant_converter.convertString(property))
self.pageContent.propertyTable.setItem(index, 0, item)
if "type" in configurations[property]["informations"].keys() and configurations[property]["informations"]["type"] == "boolean":
def _resetPropertyDescription(self):
for index in range(self.pageContent.propertyTable.rowCount()):
propertyName = qvariant_converter.getString(self.pageContent.propertyTable.item(index, 0).data(Qt.UserRole))
- self.pageContent.propertyTable.item(index, 0).setText(propertyName)
+ # Awful solution! Needed because if the user change the module, the selection changed...
+ if propertyName not in self._currentModuleConfigurations().keys():
+ break
+ self.pageContent.propertyTable.item(index, 0).setText(self._currentModuleConfigurations()[propertyName]['brief'])
def _showPropertyDescription(self):
self._resetPropertyDescription()
configurations = self._currentModuleConfigurations()
if self._currentProperty() in configurations.keys():
- description = configurations[self._currentProperty()]["description"]
+ description = configurations[self._currentProperty()]["brief"]
name = self._currentProperty()
- self._currentPropertyItem().setText(name + "\n" + description)
+ self._currentPropertyItem().setText(description + "\n" + name)
def _setupUi(self):
self.pageContent.moduleTable.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
modules[selectedModule]["enabled"] = True
self._projectInfoStore("MODULES", modules)
depends = self._projectInfoRetrieve("MODULES")[selectedModule]["depends"]
- unsatisfied = self.selectDependencyCheck(selectedModule)
+ unsatisfied = []
+ if self.pageContent.automaticFix.isChecked():
+ unsatisfied = self.selectDependencyCheck(selectedModule)
if len(unsatisfied) > 0:
- message = self.tr("The module %1 needs the following modules:\n%2.\n\nDo you want to resolve automatically the problem?")
- message = message.arg(selectedModule).arg(", ".join(unsatisfied))
- choice = QMessageBox.warning(self, self.tr("Dependency error"), message, QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
- if choice == QMessageBox.Yes:
- for module in unsatisfied:
- modules = self._projectInfoRetrieve("MODULES")
- modules[module]["enabled"] = True
- for index in range(self.pageContent.moduleTable.rowCount()):
- if unicode(self.pageContent.moduleTable.item(index, 1).text()) in unsatisfied:
- self._buttonGroup.button(index).setChecked(True)
+ for module in unsatisfied:
+ modules = self._projectInfoRetrieve("MODULES")
+ modules[module]["enabled"] = True
+ for index in range(self.pageContent.moduleTable.rowCount()):
+ if unicode(self.pageContent.moduleTable.item(index, 1).text()) in unsatisfied:
+ self._buttonGroup.button(index).setChecked(True)
def _moduleUnselected(self, unselectedModule):
modules = self._projectInfoRetrieve("MODULES")
modules[unselectedModule]["enabled"] = False
self._projectInfoStore("MODULES", modules)
- unsatisfied = self.unselectDependencyCheck(unselectedModule)
+ unsatisfied = []
+ if self.pageContent.automaticFix.isChecked():
+ unsatisfied = self.unselectDependencyCheck(unselectedModule)
if len(unsatisfied) > 0:
message = self.tr("The module %1 is needed by the following modules:\n%2.\n\nDo you want to resolve automatically the problem?")
message = message.arg(unselectedModule).arg(", ".join(unsatisfied))