Browse Source

Add function to get other properties than values from all extruders

I've made sure that the behaviour of getAllExtruderValues remains the same, so that this function may still be used by other pieces of code. It is now just a special case of getAllExtruderSettings. Please suggest a better naming scheme, if you like.

Contributes to issue CURA-2823.
Ghostkeeper 8 years ago
parent
commit
d5ba89a026
1 changed files with 9 additions and 5 deletions
  1. 9 5
      cura/Settings/ExtruderManager.py

+ 9 - 5
cura/Settings/ExtruderManager.py

@@ -268,18 +268,22 @@ class ExtruderManager(QObject):
         container_registry.addContainer(container_stack)
 
     def getAllExtruderValues(self, setting_key):
+        return self.getAllExtruderSettings(setting_key, "value")
+
+    ##  Gets a
+    def getAllExtruderSettings(self, setting_key, property):
         global_container_stack = UM.Application.getInstance().getGlobalContainerStack()
-        multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1
-        if not multi_extrusion:
-            return [global_container_stack.getProperty(setting_key, "value")]
+        if global_container_stack.getProperty("machine_extruder_count", "value") <= 1:
+            return [global_container_stack.getProperty(setting_key, property)]
 
         result = []
         for index in self.extruderIds:
             extruder_stack_id = self.extruderIds[str(index)]
-            stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id=extruder_stack_id)[0]
-            result.append(stack.getProperty(setting_key, "value"))
+            stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id = extruder_stack_id)[0]
+            result.append(stack.getProperty(setting_key, property))
         return result
 
+
     ##  Removes the container stack and user profile for the extruders for a specific machine.
     #
     #   \param machine_id The machine to remove the extruders for.