- 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 remove these modules too?")
- message = message.arg(unselectedModule).arg(", ".join(unsatisfied))
- choice = QMessageBox.warning(self, self.tr("Dependency error"), message, QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
+ unsatisfied, unsatisfied_params = self.unselectDependencyCheck(unselectedModule)
+ if len(unsatisfied) > 0 or len(unsatisfied_params) > 0:
+ message = []
+ heading = self.tr("The module %1 is needed by").arg(unselectedModule)
+ message.append(heading)
+ module_list = ", ".join(unsatisfied)
+ param_list = ", ".join(["%s (%s)" %(param_name, module) for module, param_name in unsatisfied_params])
+ if module_list:
+ message.append(QString(module_list))
+ if module_list and param_list:
+ message.append(self.tr("and by"))
+ if param_list:
+ message.append(QString(param_list))
+ message_str = QStringList(message).join(" ")
+ message_str.append(self.tr("\n\nDo you want to automatically fix these conflicts?"))
+ choice = QMessageBox.warning(self, self.tr("Dependency error"), message_str, QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)