From 761efa168199b18f36badce1cf8d96f594c4997e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Nov 2016 16:25:36 +0100 Subject: [PATCH] Unable to slice message now shows what settings are in error state CURA-2481 --- plugins/CuraEngineBackend/CuraEngineBackend.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 18f811467e..89b3ed7a82 100644 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -239,7 +239,20 @@ class CuraEngineBackend(Backend): if job.getResult() == StartSliceJob.StartJobResult.SettingError: if Application.getInstance().getPlatformActivity: - self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice with the current settings. Please check your settings for errors.")) + extruders = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())) + error_keys = [] + for extruder in extruders: + error_keys.extend(extruder.getErrorKeys()) + else: + error_keys = self._global_container_stack.getErrorKeys() + + error_labels = set() + definition_container = self._global_container_stack.getBottom() + for key in error_keys: + error_labels.add(definition_container.findDefinitions(key = key)[0].label) + + error_labels = ", ".join(error_labels) + self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice with the current settings. The following settings have errors: {0}".format(error_labels))) self._error_message.show() self.backendStateChange.emit(BackendState.Error) else: